update api
This commit is contained in:
16
lib/features/auth/domain/entities/auth_response.dart
Normal file
16
lib/features/auth/domain/entities/auth_response.dart
Normal file
@@ -0,0 +1,16 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'user.dart';
|
||||
|
||||
/// Authentication response entity
|
||||
class AuthResponse extends Equatable {
|
||||
final String accessToken;
|
||||
final User user;
|
||||
|
||||
const AuthResponse({
|
||||
required this.accessToken,
|
||||
required this.user,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [accessToken, user];
|
||||
}
|
||||
45
lib/features/auth/domain/entities/user.dart
Normal file
45
lib/features/auth/domain/entities/user.dart
Normal file
@@ -0,0 +1,45 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
/// User entity representing a user in the system
|
||||
class User extends Equatable {
|
||||
final String id;
|
||||
final String name;
|
||||
final String email;
|
||||
final List<String> roles;
|
||||
final bool isActive;
|
||||
final DateTime createdAt;
|
||||
final DateTime updatedAt;
|
||||
|
||||
const User({
|
||||
required this.id,
|
||||
required this.name,
|
||||
required this.email,
|
||||
required this.roles,
|
||||
required this.isActive,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
id,
|
||||
name,
|
||||
email,
|
||||
roles,
|
||||
isActive,
|
||||
createdAt,
|
||||
updatedAt,
|
||||
];
|
||||
|
||||
/// Check if user has a specific role
|
||||
bool hasRole(String role) => roles.contains(role);
|
||||
|
||||
/// Check if user is admin
|
||||
bool get isAdmin => hasRole('admin');
|
||||
|
||||
/// Check if user is manager
|
||||
bool get isManager => hasRole('manager');
|
||||
|
||||
/// Check if user is cashier
|
||||
bool get isCashier => hasRole('cashier');
|
||||
}
|
||||
Reference in New Issue
Block a user