aman-satu-flutter/lib/core/redux/state/user_state.dart

52 lines
991 B
Dart

import 'package:meta/meta.dart';
import 'package:satu/core/models/auth/auth_response.dart';
@immutable
class UserState {
final bool isError;
final bool isLoading;
final AuthResponse auth;
UserState(
{this.isError,
this.isLoading,
this.auth,
});
factory UserState.initial(UserState payload) => UserState(
isLoading: false,
isError: false,
auth: payload?.auth ?? AuthResponse(),
);
UserState copyWith({
@required bool isError,
@required bool isLoading,
@required AuthResponse auth
}) {
return UserState(
isError: isError ?? this.isError,
isLoading: isLoading ?? this.isLoading,
auth: auth ?? this.auth,
);
}
static UserState fromJson(dynamic json) {
return json != null
? UserState(
auth: AuthResponse.fromMap(json['auth']),
)
: null;
}
dynamic toJson() {
return {
"auth": auth != null ? auth.toJson() : null,
};
}
}