53 lines
1.6 KiB
Dart
53 lines
1.6 KiB
Dart
import 'package:meta/meta.dart';
|
|
import 'package:satu/core/models/auth/auth_response.dart';
|
|
import 'package:satu/core/models/dictionary/contragent/contragent_response_entity.dart';
|
|
|
|
@immutable
|
|
class UserState {
|
|
factory UserState.initial(UserState? payload) => UserState(
|
|
isLoading: false,
|
|
isError: false,
|
|
auth: payload?.auth ?? (AuthResponse()..operation = false),
|
|
defaultContragent:
|
|
payload?.defaultContragent ?? ContragentResponseEntity(),
|
|
);
|
|
|
|
UserState({this.isError, this.isLoading, this.auth, this.defaultContragent});
|
|
|
|
final bool? isError;
|
|
final bool? isLoading;
|
|
final AuthResponse? auth;
|
|
final ContragentResponseEntity? defaultContragent;
|
|
|
|
UserState copyWith(
|
|
{required bool? isError,
|
|
required bool? isLoading,
|
|
required AuthResponse? auth,
|
|
required ContragentResponseEntity? defaultContragent}) {
|
|
return UserState(
|
|
isError: isError ?? this.isError,
|
|
isLoading: isLoading ?? this.isLoading,
|
|
auth: auth ?? this.auth,
|
|
defaultContragent: defaultContragent ?? this.defaultContragent);
|
|
}
|
|
|
|
static UserState? fromJson(dynamic json) {
|
|
return json != null
|
|
? UserState(
|
|
auth: AuthResponse.fromMap(json['auth']),
|
|
defaultContragent: json['defaultContragent'] == null
|
|
? null
|
|
: ContragentResponseEntity.fromJson(json['defaultContragent']),
|
|
)
|
|
: null;
|
|
}
|
|
|
|
dynamic toJson() {
|
|
return {
|
|
'auth': auth != null ? auth!.toJson() : null,
|
|
'defaultContragent':
|
|
defaultContragent != null ? defaultContragent!.toJson() : null,
|
|
};
|
|
}
|
|
}
|