aman-satu-flutter/lib/core/redux/state/user_state.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,
};
}
}