Refactor UserEntity to legacy_shared package
This commit is contained in:
@@ -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<UserEntity> getLoggedUser({required String token});
|
||||
|
||||
Future<List<DeviceEntity>> getLinkedDevices({required String userId});
|
||||
|
||||
Future<void> deleteDevice({required String userId, required String deviceId});
|
||||
|
||||
@@ -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<UserEntity> getLoggedUser({required String token}) async {
|
||||
try {
|
||||
final response = await _repository.get<Map<String, dynamic>>(
|
||||
'/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<void> deleteDevice({required String userId, required String deviceId}) async {
|
||||
try {
|
||||
@@ -117,7 +89,6 @@ class AccountRemoteDatasourceImpl implements AccountRemoteDatasource {
|
||||
|
||||
@override
|
||||
Future<List<UserEntity>> getAppUsers({required String userId}) async {
|
||||
throw UnimplementedError();
|
||||
try {
|
||||
final response = await _repository.get<Map<String, dynamic>>(
|
||||
'/$userId/devices',
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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>(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<UserEntity> get copyWith => _$UserEntityCopyWithImpl<UserEntity>(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 extends Object?>(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 extends Object?>(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 extends Object?>(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 extends Object?>(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 extends Object?>(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 extends Object?>(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
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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<UserEntity> getLoggedUser({required String token}) {
|
||||
return _remote.getLoggedUser(token: token);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> updateUser({required String userId, required UpdateUserRequestEntity request}) {
|
||||
return _remote.updateUser(userId: userId, request: request);
|
||||
|
||||
@@ -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<List<DeviceEntity>> getLinkedDevices({required String userId});
|
||||
@@ -10,8 +10,6 @@ abstract class AccountRepository {
|
||||
|
||||
Future<void> updateDevice({required String userId, required String deviceId, required UpdateDeviceRequestEntity request});
|
||||
|
||||
Future<UserEntity> getLoggedUser({required String token});
|
||||
|
||||
Future<void> updateUser({required String userId, required UpdateUserRequestEntity request});
|
||||
|
||||
Future<List<UserEntity>> getAppUsers({required String userId});
|
||||
|
||||
@@ -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<List<UserEntity>> getAppUsers({required String userId});
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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,17 +13,16 @@ NotifierProvider.autoDispose<AppUsersViewModel, AppUsersViewState>(
|
||||
);
|
||||
|
||||
class AppUsersViewModel extends Notifier<AppUsersViewState> {
|
||||
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){
|
||||
ref.watch(loggedUserProvider.future)
|
||||
.then((user){
|
||||
setUser(user);
|
||||
return _getAppUsersUseCase.getAppUsers(userId: user.id);
|
||||
}).then(setAppUsers);
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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<LinkedDevicesViewModel, LinkedDevicesViewState>(
|
||||
);
|
||||
|
||||
class LinkedDevicesViewModel extends Notifier<LinkedDevicesViewState> {
|
||||
late final GetLoggedUserUseCase _getLoggedUserUseCase;
|
||||
late final GetLinkedDevicesUseCase _getLinkedDevicesUseCase;
|
||||
late final UpdateDeviceUseCase _updateDeviceUseCase;
|
||||
late final DeleteDeviceUseCase _deleteDeviceUseCase;
|
||||
@@ -29,7 +26,6 @@ class LinkedDevicesViewModel extends Notifier<LinkedDevicesViewState> {
|
||||
|
||||
@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<LinkedDevicesViewState> {
|
||||
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);
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import 'package:account/src/core/data/models/entities/user_entity.dart';
|
||||
|
||||
abstract class GetLoggedUserUseCase {
|
||||
Future<UserEntity> getLoggedUser({required String token});
|
||||
}
|
||||
@@ -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<UserEntity> getLoggedUser({required String token}) {
|
||||
return _repository.getLoggedUser(token: token);
|
||||
}
|
||||
}
|
||||
@@ -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<GetLoggedUserUseCase>((ref) {
|
||||
final authRepository = ref.read(accountRepositoryProvider);
|
||||
return GetLoggedUserUseCaseImpl(authRepository);
|
||||
});
|
||||
@@ -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<PersonalDataViewModel, PersonalDataViewState>(
|
||||
);
|
||||
|
||||
class PersonalDataViewModel extends Notifier<PersonalDataViewState> {
|
||||
late final GetLoggedUserUseCase _getUserUseCase;
|
||||
late final UpdateUserUseCase _updateUserUseCase;
|
||||
|
||||
late final TextEditingController nameController;
|
||||
@@ -25,7 +22,6 @@ class PersonalDataViewModel extends Notifier<PersonalDataViewState> {
|
||||
|
||||
@override
|
||||
PersonalDataViewState build() {
|
||||
_getUserUseCase = ref.read(getLoggedUserUseCaseProvider);
|
||||
_updateUserUseCase = ref.read(updateUserUseCaseProvider);
|
||||
|
||||
nameController = TextEditingController();
|
||||
@@ -40,7 +36,7 @@ class PersonalDataViewModel extends Notifier<PersonalDataViewState> {
|
||||
passwordController = TextEditingController();
|
||||
passwordController.addListener(_onPasswordChanged);
|
||||
|
||||
_getUserUseCase.getLoggedUser(token: 'test')
|
||||
ref.watch(loggedUserProvider.future)
|
||||
.then(setUser);
|
||||
|
||||
ref.onDispose(disposeControllers);
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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<LoggedUserNotifier, UserEntity>(
|
||||
final loggedUserProvider = AsyncNotifierProvider<LoggedUserNotifier, UserEntity>(
|
||||
LoggedUserNotifier.new,
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ class LoggedUserNotifier extends AsyncNotifier<UserEntity> {
|
||||
late final legacySharedRepository;
|
||||
|
||||
@override
|
||||
FutureOr<UserEntity> build() {
|
||||
Future<UserEntity> build() {
|
||||
legacySharedRepository = ref.read(legacySharedRepositoryProvider);
|
||||
return legacySharedRepository.getLoggedUser(token: '');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user