Files
lab-app/lib/features/auth/onboarding_repository.dart
T
2026-06-20 18:24:40 +03:00

43 lines
1.1 KiB
Dart

import 'package:pocketbase/pocketbase.dart';
import '../../core/api/pocketbase_client.dart';
import '../../core/auth/auth_repository.dart';
class OnboardingRepository {
OnboardingRepository._();
static final instance = OnboardingRepository._();
PocketBase get _pb => PocketBaseClient.instance.pb;
Future<AuthResult> createTenantAndJoin({
required String kind,
required String companyName,
String? companyAddress,
String? city,
String? district,
double? latitude,
double? longitude,
}) async {
final userId = _pb.authStore.record!.id;
final tenant = await _pb.collection('tenants').create(body: {
'kind': kind,
'company_name': companyName,
'company_address': companyAddress,
'city': city,
'district': district,
'latitude': latitude,
'longitude': longitude,
'status': 'active',
'default_currency': 'TRY',
});
await _pb.collection('tenant_members').create(body: {
'tenant_id': tenant.id,
'user_id': userId,
'role': 'owner',
});
return AuthRepository.instance.refreshSession();
}
}