initial onboarding

This commit is contained in:
Fabian Freund
2025-06-14 23:33:24 +02:00
parent 11a1e8e5f5
commit bce9f0b3a5
26 changed files with 918 additions and 12 deletions
@@ -0,0 +1,28 @@
import 'package:drift/drift.dart';
import 'package:weblibre/features/user/data/database/database.dart';
part 'onboarding.g.dart';
@DriftAccessor()
class OnboardingDao extends DatabaseAccessor<UserDatabase>
with _$OnboardingDaoMixin {
OnboardingDao(super.attachedDatabase);
SingleOrNullSelectable<int?> getLastRevision() {
final maxRevision = db.onboarding.revision.max();
final query = selectOnly(db.onboarding)..addColumns([maxRevision]);
return query.map((row) => row.read(maxRevision));
}
Future<void> pushRevision(int revision, DateTime completionDate) {
return db.onboarding.insertOne(
OnboardingCompanion.insert(
revision: revision,
completionDate: completionDate,
),
mode: InsertMode.insertOrReplace,
);
}
}
@@ -0,0 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'onboarding.dart';
// ignore_for_file: type=lint
mixin _$OnboardingDaoMixin on DatabaseAccessor<UserDatabase> {}