initial onboarding
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:weblibre/features/user/data/providers.dart';
|
||||
|
||||
part 'onboarding.g.dart';
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class OnboardingRepository extends _$OnboardingRepository {
|
||||
static const targetRevision = 1;
|
||||
|
||||
Future<int?> getCurrentRevision() {
|
||||
return ref
|
||||
.read(userDatabaseProvider)
|
||||
.onboardingDao
|
||||
.getLastRevision()
|
||||
.getSingleOrNull();
|
||||
}
|
||||
|
||||
Future<void> pushRevision(int revision) {
|
||||
return ref
|
||||
.read(userDatabaseProvider)
|
||||
.onboardingDao
|
||||
.pushRevision(revision, DateTime.now());
|
||||
}
|
||||
|
||||
Future<bool> isOutdated() async {
|
||||
final current = await getCurrentRevision();
|
||||
return current != targetRevision;
|
||||
}
|
||||
|
||||
@override
|
||||
void build() {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'onboarding.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$onboardingRepositoryHash() =>
|
||||
r'37b76aa313ae6dfed6ab5695b4df8c4a0cfe0483';
|
||||
|
||||
/// See also [OnboardingRepository].
|
||||
@ProviderFor(OnboardingRepository)
|
||||
final onboardingRepositoryProvider =
|
||||
NotifierProvider<OnboardingRepository, void>.internal(
|
||||
OnboardingRepository.new,
|
||||
name: r'onboardingRepositoryProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$onboardingRepositoryHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$OnboardingRepository = Notifier<void>;
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
|
||||
Reference in New Issue
Block a user