urca non ci credo, potrebbe già funzionare

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-26 16:29:31 +02:00
parent 1d3a685368
commit 6cbf0479a1
9 changed files with 297 additions and 101 deletions

View File

@@ -13,11 +13,13 @@ class OnboardingCubit extends Cubit<OnboardingState> {
final SessionCubit _sessionCubit;
OnboardingCubit(this._sessionCubit, this._repository)
: super(OnboardingState(
step: _sessionCubit.state.onboardingStep,
companyId: _sessionCubit.state.company?.id,
storeId: _sessionCubit.state.currentStore?.id,
));
: super(
OnboardingState(
step: _sessionCubit.state.onboardingStep,
companyId: _sessionCubit.state.company?.id,
storeId: _sessionCubit.state.currentStore?.id,
),
);
// --- STEP 1: REGISTRAZIONE AZIENDA ---
Future<void> saveCompany(String companyName) async {
@@ -86,11 +88,17 @@ class OnboardingCubit extends Cubit<OnboardingState> {
// PARANOIA MODE: Forziamo i legami e il ruolo di sistema 'admin'
final staffToSave = staff.copyWith(
companyId: state.companyId!,
userId: _sessionCubit.state.user!.id, // Dall'utente loggato in Supabase
systemRole: SystemRole.admin, // Blindato!
userId: _sessionCubit.state.user!.id,
systemRole: SystemRole.admin,
);
await _repository.createStaffMember(staffToSave);
// 1. Salviamo lo staff e CI FACCIAMO RESTITUIRE IL MODELLO (con l'id generato!)
final savedStaff = await _repository.createStaffMember(staffToSave);
// 2. LA MAGIA: Colleghiamo il Paziente Zero al Negozio appena creato!
if (state.storeId != null && savedStaff.id != null) {
await _repository.assignStaffToStore(savedStaff.id!, state.storeId!);
}
emit(state.copyWith(isLoading: false, step: OnboardingStep.completed));