| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import 'package:drift/drift.dart';
- import '../database/daos/agenti_dao.dart';
- import '../database/daos/parametri_dao.dart';
- import '../database/database.dart';
- import '../database/tables/parametri.dart';
- import '../core/constants.dart';
- import 'api_service.dart';
- class AuthService {
- final AgentiDao _agentiDao;
- final ApiService _apiService;
- final ParametriDao _parametriDao;
- AuthService(this._agentiDao, this._apiService, this._parametriDao);
- Future<Agente?> login(String code, String password) async {
- return _agentiDao.authenticate(code, password);
- }
- Future<bool> checkRemoteAgent(String code) async {
- try {
- final resp = await _apiService.get('/rest/agente/esisteNew/$code');
- return resp['status'] == 0;
- } catch (_) {
- return false;
- }
- }
- Future<void> initializeAgent({
- required String codAgente,
- required String pwd,
- String? ragioneSociale,
- required String url,
- }) async {
- await _parametriDao.set(AppConstants.kUrlParam, url);
- await _agentiDao.insertAgente(AgentiCompanion(
- codAgente: Value(codAgente),
- pwd: Value(pwd),
- ragioneSociale: Value(ragioneSociale ?? codAgente),
- attivo: const Value(1),
- ));
- }
- Future<String?> getSavedUrl() => _parametriDao.read(AppConstants.kUrlParam);
- Future<bool> isInitialized() async {
- final count = await _agentiDao.countAgenti();
- final url = await _parametriDao.read(AppConstants.kUrlParam);
- return count > 0 && url != null && url.isNotEmpty;
- }
- }
|