feat: login api
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
|
||||
import '../../common/api/api_failure.dart';
|
||||
|
||||
part 'failures/auth_failure.dart';
|
||||
part 'repositories/i_auth_repository.dart';
|
||||
part 'entities/auth_entity.dart';
|
||||
part 'entities/user_entity.dart';
|
||||
|
||||
part 'auth.freezed.dart';
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
part of '../auth.dart';
|
||||
|
||||
@freezed
|
||||
class Auth with _$Auth {
|
||||
const Auth._();
|
||||
const factory Auth({
|
||||
required String token,
|
||||
required DateTime expiresAt,
|
||||
required User user,
|
||||
}) = _Auth;
|
||||
|
||||
/// State kosong (misalnya untuk initial state di Bloc)
|
||||
factory Auth.empty() => Auth(
|
||||
token: '',
|
||||
expiresAt: DateTime.fromMillisecondsSinceEpoch(0),
|
||||
user: User.empty(),
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
part of '../auth.dart';
|
||||
|
||||
@freezed
|
||||
class User with _$User {
|
||||
const User._();
|
||||
|
||||
const factory User({
|
||||
required String id,
|
||||
required String organizationId,
|
||||
required String outletId,
|
||||
required String name,
|
||||
required String email,
|
||||
required String role,
|
||||
required Map<String, dynamic> permissions,
|
||||
required bool isActive,
|
||||
required DateTime createdAt,
|
||||
required DateTime updatedAt,
|
||||
}) = _User;
|
||||
|
||||
factory User.empty() => User(
|
||||
id: '',
|
||||
organizationId: '',
|
||||
outletId: '',
|
||||
name: '',
|
||||
email: '',
|
||||
role: '',
|
||||
permissions: {},
|
||||
isActive: false,
|
||||
createdAt: DateTime.now(),
|
||||
updatedAt: DateTime.now(),
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
part of '../auth.dart';
|
||||
|
||||
@freezed
|
||||
sealed class AuthFailure with _$AuthFailure {
|
||||
const factory AuthFailure.serverError(ApiFailure failure) = _ServerError;
|
||||
const factory AuthFailure.unexpectedError() = _UnexpectedError;
|
||||
const factory AuthFailure.dynamicErrorMessage(String erroMessage) =
|
||||
_DynamicErrorMessage;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
part of '../auth.dart';
|
||||
|
||||
abstract class IAuthRepository {
|
||||
Future<Either<AuthFailure, Auth>> login({
|
||||
required String email,
|
||||
required String password,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user