feat(types): add authentication type definitions

- Add Permission, Role, AdminUser interfaces
- Add LoginRequest, LoginResponse, AuthState types
- Update main types index with auth exports
This commit is contained in:
hosseintaromi 2025-07-18 13:06:03 +03:30
parent b15c0ac5ab
commit 2ea8d19c87
2 changed files with 55 additions and 0 deletions

53
src/types/auth.ts Normal file
View File

@ -0,0 +1,53 @@
export interface Permission {
id: number;
title: string;
description: string;
created_at: string;
updated_at: string;
}
export interface Role {
id: number;
title: string;
description: string;
permissions: Permission[];
created_at: string;
updated_at: string;
}
export interface AdminUser {
id: number;
username: string;
first_name: string;
last_name: string;
status: "active" | "inactive";
permissions: Permission[];
roles: Role[];
created_at: string;
updated_at: string;
}
export interface Tokens {
access_token: string;
refresh_token: string;
}
export interface LoginResponse {
admin_user: AdminUser;
permissions: Permission[];
tokens: Tokens;
}
export interface LoginRequest {
username: string;
password: string;
}
export interface AuthState {
isAuthenticated: boolean;
user: AdminUser | null;
permissions: Permission[];
allPermissions: Permission[];
token: string | null;
refreshToken: string | null;
}

View File

@ -1,3 +1,5 @@
export * from "./auth";
export interface User { export interface User {
id: string; id: string;
name: string; name: string;