update api

This commit is contained in:
Phuoc Nguyen
2025-10-10 17:15:40 +07:00
parent b94c158004
commit 04f7042b8d
24 changed files with 3322 additions and 8 deletions

View 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];
}

View 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');
}