From e5818952466777119848e1e21d8ff264dc5969ce Mon Sep 17 00:00:00 2001 From: aitorarana Date: Mon, 16 Feb 2026 08:54:15 +0100 Subject: [PATCH] Refactor UserEntity to legacy_shared package --- .../datasource/account_remote_datasource.dart | 4 +- .../account_remote_datasource_impl.dart | 31 +- .../data/models/entities/user_entity.dart | 23 -- .../models/entities/user_entity.freezed.dart | 310 ------------------ .../models/get_app_users_response_model.dart | 2 +- .../get_logged_user_response_model.dart | 2 +- .../repositories/account_repository_impl.dart | 7 +- .../repositories/account_repository.dart | 4 +- .../domain/get_app_users_use_case.dart | 2 +- .../domain/get_app_users_use_case_impl.dart | 2 +- .../presentation/app_users_screen.dart | 2 +- .../state/app_users_view_model.dart | 15 +- .../state/app_users_view_state.dart | 2 +- .../state/linked_devices_view_model.dart | 13 +- .../state/linked_devices_view_state.dart | 2 +- .../domain/get_logged_user_use_case.dart | 5 - .../domain/get_logged_user_use_case_impl.dart | 13 - .../get_logged_user_use_case_provider.dart | 9 - .../state/personal_data_view_model.dart | 8 +- .../state/personal_data_view_state.dart | 3 +- .../src/providers/logged_user_provider.dart | 4 +- 21 files changed, 27 insertions(+), 436 deletions(-) delete mode 100644 modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.dart delete mode 100644 modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.freezed.dart delete mode 100644 modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case.dart delete mode 100644 modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case_impl.dart delete mode 100644 modules/legacy/modules/account/lib/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart diff --git a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart b/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart index c91a7b51..17ed7634 100644 --- a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart +++ b/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource.dart @@ -1,11 +1,9 @@ import 'package:account/src/features/linked_devices/domain/entities/device_entity.dart'; import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart'; -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; abstract class AccountRemoteDatasource { - Future getLoggedUser({required String token}); - Future> getLinkedDevices({required String userId}); Future deleteDevice({required String userId, required String deviceId}); diff --git a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart b/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart index 204b8dea..18596472 100644 --- a/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart +++ b/modules/legacy/modules/account/lib/src/core/data/datasource/account_remote_datasource_impl.dart @@ -3,13 +3,12 @@ import 'dart:convert'; import 'package:account/src/core/data/datasource/account_remote_datasource.dart'; import 'package:account/src/core/data/models/get_app_users_response_model.dart'; import 'package:account/src/core/data/models/get_linked_devices_response_model.dart'; -import 'package:account/src/core/data/models/get_logged_user_response_model.dart'; import 'package:account/src/core/data/models/update_device_request_model.dart'; import 'package:account/src/core/data/models/update_user_request_model.dart'; import 'package:account/src/features/linked_devices/domain/entities/device_entity.dart'; import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart'; -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:dio/dio.dart'; // import 'package:flutter/material.dart'; import 'package:sf_infrastructure/sf_infrastructure.dart'; @@ -50,33 +49,6 @@ class AccountRemoteDatasourceImpl implements AccountRemoteDatasource { } } - @override - Future getLoggedUser({required String token}) async { - try { - final response = await _repository.get>( - '/users/api/auth/me', - ); - final data = response.data!['item']; - if (data == null || data.isEmpty) { - throw Exception('Empty response from /auth/me'); - } - - final model = GetLoggedUserResponseModel.fromJson(data); - /*final model = GetLoggedUserResponseModel(item: - GetLoggedUserItemResponseModel( - id: '1111', - firstName: 'Juan', - email: 'juan@test.com', - phone: '111111111'));*/ - return model.toEntity(); - } on DioException catch (error) { - throw _mapDioError( - error, - defaultMessage: error.message ?? 'Error getting logged user', - ); - } - } - @override Future deleteDevice({required String userId, required String deviceId}) async { try { @@ -117,7 +89,6 @@ class AccountRemoteDatasourceImpl implements AccountRemoteDatasource { @override Future> getAppUsers({required String userId}) async { - throw UnimplementedError(); try { final response = await _repository.get>( '/$userId/devices', diff --git a/modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.dart b/modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.dart deleted file mode 100644 index ccea2ef5..00000000 --- a/modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:freezed_annotation/freezed_annotation.dart'; - -part 'user_entity.freezed.dart'; - -@freezed -abstract class UserEntity with _$UserEntity { - const factory UserEntity({ - required String id, - required String delegationId, - required String email, - required String createdAt, - required String updatedAt, - required String status, - required String role, - required String lastLogin, - required String currentLogin, - required String language, - required String firstName, - required String lastName, - required String hasApiKey, - required String phone, - }) = _UserEntity; -} diff --git a/modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.freezed.dart b/modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.freezed.dart deleted file mode 100644 index 5b9e7aee..00000000 --- a/modules/legacy/modules/account/lib/src/core/data/models/entities/user_entity.freezed.dart +++ /dev/null @@ -1,310 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND -// coverage:ignore-file -// ignore_for_file: type=lint -// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark - -part of 'user_entity.dart'; - -// ************************************************************************** -// FreezedGenerator -// ************************************************************************** - -// dart format off -T _$identity(T value) => value; -/// @nodoc -mixin _$UserEntity { - - String get id; String get delegationId; String get email; String get createdAt; String get updatedAt; String get status; String get role; String get lastLogin; String get currentLogin; String get language; String get firstName; String get lastName; String get hasApiKey; String get phone; -/// Create a copy of UserEntity -/// with the given fields replaced by the non-null parameter values. -@JsonKey(includeFromJson: false, includeToJson: false) -@pragma('vm:prefer-inline') -$UserEntityCopyWith get copyWith => _$UserEntityCopyWithImpl(this as UserEntity, _$identity); - - - -@override -bool operator ==(Object other) { - return identical(this, other) || (other.runtimeType == runtimeType&&other is UserEntity&&(identical(other.id, id) || other.id == id)&&(identical(other.delegationId, delegationId) || other.delegationId == delegationId)&&(identical(other.email, email) || other.email == email)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.status, status) || other.status == status)&&(identical(other.role, role) || other.role == role)&&(identical(other.lastLogin, lastLogin) || other.lastLogin == lastLogin)&&(identical(other.currentLogin, currentLogin) || other.currentLogin == currentLogin)&&(identical(other.language, language) || other.language == language)&&(identical(other.firstName, firstName) || other.firstName == firstName)&&(identical(other.lastName, lastName) || other.lastName == lastName)&&(identical(other.hasApiKey, hasApiKey) || other.hasApiKey == hasApiKey)&&(identical(other.phone, phone) || other.phone == phone)); -} - - -@override -int get hashCode => Object.hash(runtimeType,id,delegationId,email,createdAt,updatedAt,status,role,lastLogin,currentLogin,language,firstName,lastName,hasApiKey,phone); - -@override -String toString() { - return 'UserEntity(id: $id, delegationId: $delegationId, email: $email, createdAt: $createdAt, updatedAt: $updatedAt, status: $status, role: $role, lastLogin: $lastLogin, currentLogin: $currentLogin, language: $language, firstName: $firstName, lastName: $lastName, hasApiKey: $hasApiKey, phone: $phone)'; -} - - -} - -/// @nodoc -abstract mixin class $UserEntityCopyWith<$Res> { - factory $UserEntityCopyWith(UserEntity value, $Res Function(UserEntity) _then) = _$UserEntityCopyWithImpl; -@useResult -$Res call({ - String id, String delegationId, String email, String createdAt, String updatedAt, String status, String role, String lastLogin, String currentLogin, String language, String firstName, String lastName, String hasApiKey, String phone -}); - - - - -} -/// @nodoc -class _$UserEntityCopyWithImpl<$Res> - implements $UserEntityCopyWith<$Res> { - _$UserEntityCopyWithImpl(this._self, this._then); - - final UserEntity _self; - final $Res Function(UserEntity) _then; - -/// Create a copy of UserEntity -/// with the given fields replaced by the non-null parameter values. -@pragma('vm:prefer-inline') @override $Res call({Object? id = null,Object? delegationId = null,Object? email = null,Object? createdAt = null,Object? updatedAt = null,Object? status = null,Object? role = null,Object? lastLogin = null,Object? currentLogin = null,Object? language = null,Object? firstName = null,Object? lastName = null,Object? hasApiKey = null,Object? phone = null,}) { - return _then(_self.copyWith( -id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable -as String,delegationId: null == delegationId ? _self.delegationId : delegationId // ignore: cast_nullable_to_non_nullable -as String,email: null == email ? _self.email : email // ignore: cast_nullable_to_non_nullable -as String,createdAt: null == createdAt ? _self.createdAt : createdAt // ignore: cast_nullable_to_non_nullable -as String,updatedAt: null == updatedAt ? _self.updatedAt : updatedAt // ignore: cast_nullable_to_non_nullable -as String,status: null == status ? _self.status : status // ignore: cast_nullable_to_non_nullable -as String,role: null == role ? _self.role : role // ignore: cast_nullable_to_non_nullable -as String,lastLogin: null == lastLogin ? _self.lastLogin : lastLogin // ignore: cast_nullable_to_non_nullable -as String,currentLogin: null == currentLogin ? _self.currentLogin : currentLogin // ignore: cast_nullable_to_non_nullable -as String,language: null == language ? _self.language : language // ignore: cast_nullable_to_non_nullable -as String,firstName: null == firstName ? _self.firstName : firstName // ignore: cast_nullable_to_non_nullable -as String,lastName: null == lastName ? _self.lastName : lastName // ignore: cast_nullable_to_non_nullable -as String,hasApiKey: null == hasApiKey ? _self.hasApiKey : hasApiKey // ignore: cast_nullable_to_non_nullable -as String,phone: null == phone ? _self.phone : phone // ignore: cast_nullable_to_non_nullable -as String, - )); -} - -} - - -/// Adds pattern-matching-related methods to [UserEntity]. -extension UserEntityPatterns on UserEntity { -/// A variant of `map` that fallback to returning `orElse`. -/// -/// It is equivalent to doing: -/// ```dart -/// switch (sealedClass) { -/// case final Subclass value: -/// return ...; -/// case _: -/// return orElse(); -/// } -/// ``` - -@optionalTypeArgs TResult maybeMap(TResult Function( _UserEntity value)? $default,{required TResult orElse(),}){ -final _that = this; -switch (_that) { -case _UserEntity() when $default != null: -return $default(_that);case _: - return orElse(); - -} -} -/// A `switch`-like method, using callbacks. -/// -/// Callbacks receives the raw object, upcasted. -/// It is equivalent to doing: -/// ```dart -/// switch (sealedClass) { -/// case final Subclass value: -/// return ...; -/// case final Subclass2 value: -/// return ...; -/// } -/// ``` - -@optionalTypeArgs TResult map(TResult Function( _UserEntity value) $default,){ -final _that = this; -switch (_that) { -case _UserEntity(): -return $default(_that);case _: - throw StateError('Unexpected subclass'); - -} -} -/// A variant of `map` that fallback to returning `null`. -/// -/// It is equivalent to doing: -/// ```dart -/// switch (sealedClass) { -/// case final Subclass value: -/// return ...; -/// case _: -/// return null; -/// } -/// ``` - -@optionalTypeArgs TResult? mapOrNull(TResult? Function( _UserEntity value)? $default,){ -final _that = this; -switch (_that) { -case _UserEntity() when $default != null: -return $default(_that);case _: - return null; - -} -} -/// A variant of `when` that fallback to an `orElse` callback. -/// -/// It is equivalent to doing: -/// ```dart -/// switch (sealedClass) { -/// case Subclass(:final field): -/// return ...; -/// case _: -/// return orElse(); -/// } -/// ``` - -@optionalTypeArgs TResult maybeWhen(TResult Function( String id, String delegationId, String email, String createdAt, String updatedAt, String status, String role, String lastLogin, String currentLogin, String language, String firstName, String lastName, String hasApiKey, String phone)? $default,{required TResult orElse(),}) {final _that = this; -switch (_that) { -case _UserEntity() when $default != null: -return $default(_that.id,_that.delegationId,_that.email,_that.createdAt,_that.updatedAt,_that.status,_that.role,_that.lastLogin,_that.currentLogin,_that.language,_that.firstName,_that.lastName,_that.hasApiKey,_that.phone);case _: - return orElse(); - -} -} -/// A `switch`-like method, using callbacks. -/// -/// As opposed to `map`, this offers destructuring. -/// It is equivalent to doing: -/// ```dart -/// switch (sealedClass) { -/// case Subclass(:final field): -/// return ...; -/// case Subclass2(:final field2): -/// return ...; -/// } -/// ``` - -@optionalTypeArgs TResult when(TResult Function( String id, String delegationId, String email, String createdAt, String updatedAt, String status, String role, String lastLogin, String currentLogin, String language, String firstName, String lastName, String hasApiKey, String phone) $default,) {final _that = this; -switch (_that) { -case _UserEntity(): -return $default(_that.id,_that.delegationId,_that.email,_that.createdAt,_that.updatedAt,_that.status,_that.role,_that.lastLogin,_that.currentLogin,_that.language,_that.firstName,_that.lastName,_that.hasApiKey,_that.phone);case _: - throw StateError('Unexpected subclass'); - -} -} -/// A variant of `when` that fallback to returning `null` -/// -/// It is equivalent to doing: -/// ```dart -/// switch (sealedClass) { -/// case Subclass(:final field): -/// return ...; -/// case _: -/// return null; -/// } -/// ``` - -@optionalTypeArgs TResult? whenOrNull(TResult? Function( String id, String delegationId, String email, String createdAt, String updatedAt, String status, String role, String lastLogin, String currentLogin, String language, String firstName, String lastName, String hasApiKey, String phone)? $default,) {final _that = this; -switch (_that) { -case _UserEntity() when $default != null: -return $default(_that.id,_that.delegationId,_that.email,_that.createdAt,_that.updatedAt,_that.status,_that.role,_that.lastLogin,_that.currentLogin,_that.language,_that.firstName,_that.lastName,_that.hasApiKey,_that.phone);case _: - return null; - -} -} - -} - -/// @nodoc - - -class _UserEntity implements UserEntity { - const _UserEntity({required this.id, required this.delegationId, required this.email, required this.createdAt, required this.updatedAt, required this.status, required this.role, required this.lastLogin, required this.currentLogin, required this.language, required this.firstName, required this.lastName, required this.hasApiKey, required this.phone}); - - -@override final String id; -@override final String delegationId; -@override final String email; -@override final String createdAt; -@override final String updatedAt; -@override final String status; -@override final String role; -@override final String lastLogin; -@override final String currentLogin; -@override final String language; -@override final String firstName; -@override final String lastName; -@override final String hasApiKey; -@override final String phone; - -/// Create a copy of UserEntity -/// with the given fields replaced by the non-null parameter values. -@override @JsonKey(includeFromJson: false, includeToJson: false) -@pragma('vm:prefer-inline') -_$UserEntityCopyWith<_UserEntity> get copyWith => __$UserEntityCopyWithImpl<_UserEntity>(this, _$identity); - - - -@override -bool operator ==(Object other) { - return identical(this, other) || (other.runtimeType == runtimeType&&other is _UserEntity&&(identical(other.id, id) || other.id == id)&&(identical(other.delegationId, delegationId) || other.delegationId == delegationId)&&(identical(other.email, email) || other.email == email)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.status, status) || other.status == status)&&(identical(other.role, role) || other.role == role)&&(identical(other.lastLogin, lastLogin) || other.lastLogin == lastLogin)&&(identical(other.currentLogin, currentLogin) || other.currentLogin == currentLogin)&&(identical(other.language, language) || other.language == language)&&(identical(other.firstName, firstName) || other.firstName == firstName)&&(identical(other.lastName, lastName) || other.lastName == lastName)&&(identical(other.hasApiKey, hasApiKey) || other.hasApiKey == hasApiKey)&&(identical(other.phone, phone) || other.phone == phone)); -} - - -@override -int get hashCode => Object.hash(runtimeType,id,delegationId,email,createdAt,updatedAt,status,role,lastLogin,currentLogin,language,firstName,lastName,hasApiKey,phone); - -@override -String toString() { - return 'UserEntity(id: $id, delegationId: $delegationId, email: $email, createdAt: $createdAt, updatedAt: $updatedAt, status: $status, role: $role, lastLogin: $lastLogin, currentLogin: $currentLogin, language: $language, firstName: $firstName, lastName: $lastName, hasApiKey: $hasApiKey, phone: $phone)'; -} - - -} - -/// @nodoc -abstract mixin class _$UserEntityCopyWith<$Res> implements $UserEntityCopyWith<$Res> { - factory _$UserEntityCopyWith(_UserEntity value, $Res Function(_UserEntity) _then) = __$UserEntityCopyWithImpl; -@override @useResult -$Res call({ - String id, String delegationId, String email, String createdAt, String updatedAt, String status, String role, String lastLogin, String currentLogin, String language, String firstName, String lastName, String hasApiKey, String phone -}); - - - - -} -/// @nodoc -class __$UserEntityCopyWithImpl<$Res> - implements _$UserEntityCopyWith<$Res> { - __$UserEntityCopyWithImpl(this._self, this._then); - - final _UserEntity _self; - final $Res Function(_UserEntity) _then; - -/// Create a copy of UserEntity -/// with the given fields replaced by the non-null parameter values. -@override @pragma('vm:prefer-inline') $Res call({Object? id = null,Object? delegationId = null,Object? email = null,Object? createdAt = null,Object? updatedAt = null,Object? status = null,Object? role = null,Object? lastLogin = null,Object? currentLogin = null,Object? language = null,Object? firstName = null,Object? lastName = null,Object? hasApiKey = null,Object? phone = null,}) { - return _then(_UserEntity( -id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable -as String,delegationId: null == delegationId ? _self.delegationId : delegationId // ignore: cast_nullable_to_non_nullable -as String,email: null == email ? _self.email : email // ignore: cast_nullable_to_non_nullable -as String,createdAt: null == createdAt ? _self.createdAt : createdAt // ignore: cast_nullable_to_non_nullable -as String,updatedAt: null == updatedAt ? _self.updatedAt : updatedAt // ignore: cast_nullable_to_non_nullable -as String,status: null == status ? _self.status : status // ignore: cast_nullable_to_non_nullable -as String,role: null == role ? _self.role : role // ignore: cast_nullable_to_non_nullable -as String,lastLogin: null == lastLogin ? _self.lastLogin : lastLogin // ignore: cast_nullable_to_non_nullable -as String,currentLogin: null == currentLogin ? _self.currentLogin : currentLogin // ignore: cast_nullable_to_non_nullable -as String,language: null == language ? _self.language : language // ignore: cast_nullable_to_non_nullable -as String,firstName: null == firstName ? _self.firstName : firstName // ignore: cast_nullable_to_non_nullable -as String,lastName: null == lastName ? _self.lastName : lastName // ignore: cast_nullable_to_non_nullable -as String,hasApiKey: null == hasApiKey ? _self.hasApiKey : hasApiKey // ignore: cast_nullable_to_non_nullable -as String,phone: null == phone ? _self.phone : phone // ignore: cast_nullable_to_non_nullable -as String, - )); -} - - -} - -// dart format on diff --git a/modules/legacy/modules/account/lib/src/core/data/models/get_app_users_response_model.dart b/modules/legacy/modules/account/lib/src/core/data/models/get_app_users_response_model.dart index dd5c5772..15f84333 100644 --- a/modules/legacy/modules/account/lib/src/core/data/models/get_app_users_response_model.dart +++ b/modules/legacy/modules/account/lib/src/core/data/models/get_app_users_response_model.dart @@ -1,4 +1,4 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'get_app_users_response_model.freezed.dart'; diff --git a/modules/legacy/modules/account/lib/src/core/data/models/get_logged_user_response_model.dart b/modules/legacy/modules/account/lib/src/core/data/models/get_logged_user_response_model.dart index 7ba4f44a..5f2b81f5 100644 --- a/modules/legacy/modules/account/lib/src/core/data/models/get_logged_user_response_model.dart +++ b/modules/legacy/modules/account/lib/src/core/data/models/get_logged_user_response_model.dart @@ -1,4 +1,4 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'get_logged_user_response_model.freezed.dart'; diff --git a/modules/legacy/modules/account/lib/src/core/data/repositories/account_repository_impl.dart b/modules/legacy/modules/account/lib/src/core/data/repositories/account_repository_impl.dart index 031b5742..d414e245 100644 --- a/modules/legacy/modules/account/lib/src/core/data/repositories/account_repository_impl.dart +++ b/modules/legacy/modules/account/lib/src/core/data/repositories/account_repository_impl.dart @@ -3,7 +3,7 @@ import 'package:account/src/core/domain/repositories/account_repository.dart'; import 'package:account/src/features/linked_devices/domain/entities/device_entity.dart'; import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart'; -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; class AccountRepositoryImpl implements AccountRepository { const AccountRepositoryImpl(this._remote); @@ -25,11 +25,6 @@ class AccountRepositoryImpl implements AccountRepository { return _remote.updateDevice(userId: userId, deviceId: deviceId, request: request); } - @override - Future getLoggedUser({required String token}) { - return _remote.getLoggedUser(token: token); - } - @override Future updateUser({required String userId, required UpdateUserRequestEntity request}) { return _remote.updateUser(userId: userId, request: request); diff --git a/modules/legacy/modules/account/lib/src/core/domain/repositories/account_repository.dart b/modules/legacy/modules/account/lib/src/core/domain/repositories/account_repository.dart index e6c4d87a..49b3d70e 100644 --- a/modules/legacy/modules/account/lib/src/core/domain/repositories/account_repository.dart +++ b/modules/legacy/modules/account/lib/src/core/domain/repositories/account_repository.dart @@ -1,7 +1,7 @@ import 'package:account/src/features/linked_devices/domain/entities/device_entity.dart'; import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart'; -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; abstract class AccountRepository { Future> getLinkedDevices({required String userId}); @@ -10,8 +10,6 @@ abstract class AccountRepository { Future updateDevice({required String userId, required String deviceId, required UpdateDeviceRequestEntity request}); - Future getLoggedUser({required String token}); - Future updateUser({required String userId, required UpdateUserRequestEntity request}); Future> getAppUsers({required String userId}); diff --git a/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case.dart b/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case.dart index 42d0896d..88bcc31e 100644 --- a/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case.dart +++ b/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case.dart @@ -1,4 +1,4 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; abstract class GetAppUsersUseCase { Future> getAppUsers({required String userId}); diff --git a/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case_impl.dart b/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case_impl.dart index d446e24b..c1d3d277 100644 --- a/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case_impl.dart +++ b/modules/legacy/modules/account/lib/src/features/app_users/domain/get_app_users_use_case_impl.dart @@ -1,4 +1,4 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:account/src/core/domain/repositories/account_repository.dart'; import 'package:account/src/features/app_users/domain/get_app_users_use_case.dart'; diff --git a/modules/legacy/modules/account/lib/src/features/app_users/presentation/app_users_screen.dart b/modules/legacy/modules/account/lib/src/features/app_users/presentation/app_users_screen.dart index 48bf1a18..41c1698b 100644 --- a/modules/legacy/modules/account/lib/src/features/app_users/presentation/app_users_screen.dart +++ b/modules/legacy/modules/account/lib/src/features/app_users/presentation/app_users_screen.dart @@ -1,8 +1,8 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; import 'package:account/src/features/app_users/presentation/state/app_users_view_model.dart'; import 'package:design_system/design_system.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:navigation/navigation.dart'; import 'package:sf_localizations/sf_localizations.dart'; import 'package:utils/utils.dart'; diff --git a/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_model.dart b/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_model.dart index 990a985b..06b6eda5 100644 --- a/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_model.dart +++ b/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_model.dart @@ -1,11 +1,9 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:account/src/features/app_users/domain/delete_app_user_use_case.dart'; import 'package:account/src/features/app_users/domain/get_app_users_use_case.dart'; import 'package:account/src/features/app_users/presentation/providers/delete_app_user_use_case_provider.dart'; import 'package:account/src/features/app_users/presentation/providers/get_app_users_use_case_provider.dart'; import 'package:account/src/features/app_users/presentation/state/app_users_view_state.dart'; -import 'package:account/src/features/personal_data/domain/get_logged_user_use_case.dart'; -import 'package:account/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; // import 'package:sf_localizations/sf_localizations.dart'; @@ -15,20 +13,19 @@ NotifierProvider.autoDispose( ); class AppUsersViewModel extends Notifier { - late final GetLoggedUserUseCase _getLoggedUserUseCase; late final GetAppUsersUseCase _getAppUsersUseCase; late final DeleteAppUserUseCase _deleteAppUserUseCase; @override AppUsersViewState build() { - _getLoggedUserUseCase = ref.read(getLoggedUserUseCaseProvider); _getAppUsersUseCase = ref.read(getAppUsersUseCaseProvider); _deleteAppUserUseCase = ref.read(deleteAppUserUseCaseProvider); - _getLoggedUserUseCase.getLoggedUser(token: 'test').then((user){ - setUser(user); - return _getAppUsersUseCase.getAppUsers(userId: user.id); - }).then(setAppUsers); + ref.watch(loggedUserProvider.future) + .then((user){ + setUser(user); + return _getAppUsersUseCase.getAppUsers(userId: user.id); + }).then(setAppUsers); return const AppUsersViewState(); } diff --git a/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_state.dart b/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_state.dart index a6e74fff..af3c856e 100644 --- a/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_state.dart +++ b/modules/legacy/modules/account/lib/src/features/app_users/presentation/state/app_users_view_state.dart @@ -1,4 +1,4 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; +import 'package:legacy_shared/legacy_shared.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'app_users_view_state.freezed.dart'; diff --git a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart index 42fdaf8c..14432580 100644 --- a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart +++ b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_model.dart @@ -1,4 +1,3 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; import 'package:account/src/features/linked_devices/domain/delete_device_use_case.dart'; import 'package:account/src/features/linked_devices/domain/entities/device_entity.dart'; import 'package:account/src/features/linked_devices/domain/entities/update_device_request_entity.dart'; @@ -8,10 +7,9 @@ import 'package:account/src/features/linked_devices/presentation/providers/delet import 'package:account/src/features/linked_devices/presentation/providers/get_linked_devices_use_case_provider.dart'; import 'package:account/src/features/linked_devices/presentation/providers/update_device_use_case_provider.dart'; import 'package:account/src/features/linked_devices/presentation/state/linked_devices_view_state.dart'; -import 'package:account/src/features/personal_data/domain/get_logged_user_use_case.dart'; -import 'package:account/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:legacy_shared/legacy_shared.dart'; // import 'package:sf_localizations/sf_localizations.dart'; final linkedDevicesViewModelProvider = @@ -20,7 +18,6 @@ NotifierProvider.autoDispose( ); class LinkedDevicesViewModel extends Notifier { - late final GetLoggedUserUseCase _getLoggedUserUseCase; late final GetLinkedDevicesUseCase _getLinkedDevicesUseCase; late final UpdateDeviceUseCase _updateDeviceUseCase; late final DeleteDeviceUseCase _deleteDeviceUseCase; @@ -29,7 +26,6 @@ class LinkedDevicesViewModel extends Notifier { @override LinkedDevicesViewState build() { - _getLoggedUserUseCase = ref.read(getLoggedUserUseCaseProvider); _getLinkedDevicesUseCase = ref.read(getLinkedDevicesUseCaseProvider); _updateDeviceUseCase = ref.read(updateDeviceUseCaseProvider); _deleteDeviceUseCase = ref.read(deleteDeviceUseCaseProvider); @@ -37,12 +33,11 @@ class LinkedDevicesViewModel extends Notifier { deviceNameController = TextEditingController(); deviceNameController.addListener(_onDeviceNameChanged); - _getLoggedUserUseCase.getLoggedUser(token: 'test') - .then((UserEntity user){ + ref.watch(loggedUserProvider.future) + .then((user){ setUser(user); return _getLinkedDevicesUseCase.getLinkedDevices(userId: user.id); - }) - .then(setLinkedDevices); + }).then(setLinkedDevices); ref.onDispose(disposeControllers); diff --git a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_state.dart b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_state.dart index e76f5a0c..26a091f8 100644 --- a/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_state.dart +++ b/modules/legacy/modules/account/lib/src/features/linked_devices/presentation/state/linked_devices_view_state.dart @@ -1,6 +1,6 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; import 'package:account/src/features/linked_devices/domain/entities/device_entity.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:legacy_shared/legacy_shared.dart'; part 'linked_devices_view_state.freezed.dart'; diff --git a/modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case.dart b/modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case.dart deleted file mode 100644 index 155dbc19..00000000 --- a/modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; - -abstract class GetLoggedUserUseCase { - Future getLoggedUser({required String token}); -} \ No newline at end of file diff --git a/modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case_impl.dart b/modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case_impl.dart deleted file mode 100644 index 72794bfe..00000000 --- a/modules/legacy/modules/account/lib/src/features/personal_data/domain/get_logged_user_use_case_impl.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:account/src/core/domain/repositories/account_repository.dart'; -import 'package:account/src/core/data/models/entities/user_entity.dart'; -import 'package:account/src/features/personal_data/domain/get_logged_user_use_case.dart'; - -class GetLoggedUserUseCaseImpl implements GetLoggedUserUseCase { - GetLoggedUserUseCaseImpl(this._repository); - - final AccountRepository _repository; - @override - Future getLoggedUser({required String token}) { - return _repository.getLoggedUser(token: token); - } -} diff --git a/modules/legacy/modules/account/lib/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart b/modules/legacy/modules/account/lib/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart deleted file mode 100644 index eb501024..00000000 --- a/modules/legacy/modules/account/lib/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart +++ /dev/null @@ -1,9 +0,0 @@ -import 'package:account/src/core/providers/account_repository_provider.dart'; -import 'package:account/src/features/personal_data/domain/get_logged_user_use_case.dart'; -import 'package:account/src/features/personal_data/domain/get_logged_user_use_case_impl.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; - -final getLoggedUserUseCaseProvider = Provider.autoDispose((ref) { - final authRepository = ref.read(accountRepositoryProvider); - return GetLoggedUserUseCaseImpl(authRepository); -}); diff --git a/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_model.dart b/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_model.dart index 75fc5e30..3404a946 100644 --- a/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_model.dart +++ b/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_model.dart @@ -1,12 +1,10 @@ import 'package:account/src/features/personal_data/domain/entities/update_user_request_entity.dart'; -import 'package:account/src/core/data/models/entities/user_entity.dart'; -import 'package:account/src/features/personal_data/domain/get_logged_user_use_case.dart'; import 'package:account/src/features/personal_data/domain/update_user_use_case.dart'; -import 'package:account/src/features/personal_data/presentation/providers/get_logged_user_use_case_provider.dart'; import 'package:account/src/features/personal_data/presentation/providers/update_user_use_case_provider.dart'; import 'package:account/src/features/personal_data/presentation/state/personal_data_view_state.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:legacy_shared/legacy_shared.dart'; // import 'package:sf_localizations/sf_localizations.dart'; final personalDataViewModelProvider = @@ -15,7 +13,6 @@ NotifierProvider.autoDispose( ); class PersonalDataViewModel extends Notifier { - late final GetLoggedUserUseCase _getUserUseCase; late final UpdateUserUseCase _updateUserUseCase; late final TextEditingController nameController; @@ -25,7 +22,6 @@ class PersonalDataViewModel extends Notifier { @override PersonalDataViewState build() { - _getUserUseCase = ref.read(getLoggedUserUseCaseProvider); _updateUserUseCase = ref.read(updateUserUseCaseProvider); nameController = TextEditingController(); @@ -40,7 +36,7 @@ class PersonalDataViewModel extends Notifier { passwordController = TextEditingController(); passwordController.addListener(_onPasswordChanged); - _getUserUseCase.getLoggedUser(token: 'test') + ref.watch(loggedUserProvider.future) .then(setUser); ref.onDispose(disposeControllers); diff --git a/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_state.dart b/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_state.dart index 2e278ef8..49e1c174 100644 --- a/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_state.dart +++ b/modules/legacy/modules/account/lib/src/features/personal_data/presentation/state/personal_data_view_state.dart @@ -1,5 +1,6 @@ -import 'package:account/src/core/data/models/entities/user_entity.dart'; + import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:legacy_shared/legacy_shared.dart'; part 'personal_data_view_state.freezed.dart'; diff --git a/modules/legacy/packages/legacy_shared/lib/src/providers/logged_user_provider.dart b/modules/legacy/packages/legacy_shared/lib/src/providers/logged_user_provider.dart index 9b8a5fee..dde1f9ca 100644 --- a/modules/legacy/packages/legacy_shared/lib/src/providers/logged_user_provider.dart +++ b/modules/legacy/packages/legacy_shared/lib/src/providers/logged_user_provider.dart @@ -5,7 +5,7 @@ import 'package:legacy_shared/src/data/models/entities/user_entity.dart'; import 'legacy_shared_repository_provider.dart'; -final loggedUserProvider = AsyncNotifierProvider.autoDispose( +final loggedUserProvider = AsyncNotifierProvider( LoggedUserNotifier.new, ); @@ -13,7 +13,7 @@ class LoggedUserNotifier extends AsyncNotifier { late final legacySharedRepository; @override - FutureOr build() { + Future build() { legacySharedRepository = ref.read(legacySharedRepositoryProvider); return legacySharedRepository.getLoggedUser(token: ''); }