import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../core/api/api_client.dart'; import '../core/auth/auth_state.dart'; import '../models/number_rule.dart'; import '../repositories/number_rule_repository.dart'; final numberRuleRepositoryProvider = Provider((ref) { return NumberRuleRepository(ref.watch(apiClientProvider)); }); final numberRuleListProvider = AsyncNotifierProvider>( NumberRuleListNotifier.new, ); class NumberRuleListNotifier extends AsyncNotifier> { @override Future> build() { ref.watch(authStateProvider.select((s) => s.user?.shopId)); return ref.read(numberRuleRepositoryProvider).list(); } Future reload() async { state = const AsyncValue.loading(); state = await AsyncValue.guard( () => ref.read(numberRuleRepositoryProvider).list()); } Future updateRule(int id, Map data) async { await ref.read(numberRuleRepositoryProvider).update(id, data); await reload(); } }