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, }; } }