@viridial/shared 1.0.41 → 1.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/role.service.d.ts +44 -0
- package/dist/api/role.service.d.ts.map +1 -0
- package/dist/api/role.service.js +61 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/types/role.types.d.ts +55 -0
- package/dist/types/role.types.d.ts.map +1 -0
- package/dist/types/role.types.js +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Role, RoleCreate, RoleUpdate, Permission, UserRoleAssignment, RoleSearchParams, RoleStats } from '../types/role.types';
|
|
2
|
+
interface PageResponse<T> {
|
|
3
|
+
content: T[];
|
|
4
|
+
totalElements: number;
|
|
5
|
+
totalPages?: number;
|
|
6
|
+
size?: number;
|
|
7
|
+
number?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const roleService: {
|
|
10
|
+
/**
|
|
11
|
+
* Récupérer tous les rôles
|
|
12
|
+
*/
|
|
13
|
+
getAll(params?: RoleSearchParams): Promise<PageResponse<Role>>;
|
|
14
|
+
/**
|
|
15
|
+
* Récupérer un rôle par ID
|
|
16
|
+
*/
|
|
17
|
+
getById(id: number): Promise<Role>;
|
|
18
|
+
/**
|
|
19
|
+
* Créer un nouveau rôle
|
|
20
|
+
*/
|
|
21
|
+
create(data: RoleCreate): Promise<Role>;
|
|
22
|
+
/**
|
|
23
|
+
* Mettre à jour un rôle
|
|
24
|
+
*/
|
|
25
|
+
update(id: number, data: RoleUpdate): Promise<Role>;
|
|
26
|
+
/**
|
|
27
|
+
* Supprimer un rôle
|
|
28
|
+
*/
|
|
29
|
+
delete(id: number): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Récupérer toutes les permissions
|
|
32
|
+
*/
|
|
33
|
+
getPermissions(): Promise<Permission[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Affecter des rôles à un utilisateur
|
|
36
|
+
*/
|
|
37
|
+
assignRolesToUser(data: UserRoleAssignment): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Récupérer les statistiques des rôles
|
|
40
|
+
*/
|
|
41
|
+
getStats(): Promise<RoleStats>;
|
|
42
|
+
};
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=role.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../api/role.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACV,MAAM,qBAAqB,CAAA;AAG5B,UAAU,YAAY,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,WAAW;IACtB;;OAEG;oBACmB,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAKpE;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC;;OAEG;iBACgB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C;;OAEG;eACc,MAAM,QAAQ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;sBACqB,OAAO,CAAC,UAAU,EAAE,CAAC;IAK7C;;OAEG;4BAC2B,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;OAEG;gBACe,OAAO,CAAC,SAAS,CAAC;CAIrC,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service API pour la gestion des rôles et permissions
|
|
3
|
+
*/
|
|
4
|
+
import { httpClient } from './http.client';
|
|
5
|
+
const BASE_URL = '/api/identity/roles';
|
|
6
|
+
export const roleService = {
|
|
7
|
+
/**
|
|
8
|
+
* Récupérer tous les rôles
|
|
9
|
+
*/
|
|
10
|
+
async getAll(params) {
|
|
11
|
+
const response = await httpClient.get(BASE_URL, { params });
|
|
12
|
+
return response.data;
|
|
13
|
+
},
|
|
14
|
+
/**
|
|
15
|
+
* Récupérer un rôle par ID
|
|
16
|
+
*/
|
|
17
|
+
async getById(id) {
|
|
18
|
+
const response = await httpClient.get(`${BASE_URL}/${id}`);
|
|
19
|
+
return response.data;
|
|
20
|
+
},
|
|
21
|
+
/**
|
|
22
|
+
* Créer un nouveau rôle
|
|
23
|
+
*/
|
|
24
|
+
async create(data) {
|
|
25
|
+
const response = await httpClient.post(BASE_URL, data);
|
|
26
|
+
return response.data;
|
|
27
|
+
},
|
|
28
|
+
/**
|
|
29
|
+
* Mettre à jour un rôle
|
|
30
|
+
*/
|
|
31
|
+
async update(id, data) {
|
|
32
|
+
const response = await httpClient.put(`${BASE_URL}/${id}`, data);
|
|
33
|
+
return response.data;
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Supprimer un rôle
|
|
37
|
+
*/
|
|
38
|
+
async delete(id) {
|
|
39
|
+
await httpClient.delete(`${BASE_URL}/${id}`);
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* Récupérer toutes les permissions
|
|
43
|
+
*/
|
|
44
|
+
async getPermissions() {
|
|
45
|
+
const response = await httpClient.get('/api/identity/permissions');
|
|
46
|
+
return response.data;
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* Affecter des rôles à un utilisateur
|
|
50
|
+
*/
|
|
51
|
+
async assignRolesToUser(data) {
|
|
52
|
+
await httpClient.post('/api/identity/users/assign-roles', data);
|
|
53
|
+
},
|
|
54
|
+
/**
|
|
55
|
+
* Récupérer les statistiques des rôles
|
|
56
|
+
*/
|
|
57
|
+
async getStats() {
|
|
58
|
+
const response = await httpClient.get(`${BASE_URL}/stats`);
|
|
59
|
+
return response.data;
|
|
60
|
+
}
|
|
61
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { notificationService } from './api/notification.service';
|
|
|
14
14
|
export { auditService } from './api/audit.service';
|
|
15
15
|
export type { AuditLog, AuditLogSearchParams, AuditLogPage } from './api/audit.service';
|
|
16
16
|
export { workflowService } from './api/workflow.service';
|
|
17
|
+
export { roleService } from './api/role.service';
|
|
17
18
|
export { TaskStatusEnum } from './types/workflow.types';
|
|
18
19
|
export type { Workflow, WorkflowCreate, WorkflowUpdate, WorkflowSearchParams, Task, TaskCreate, TaskUpdate, TaskSearchParams, TaskApproveParams, TaskRejectParams, TaskStatus } from './types/workflow.types';
|
|
19
20
|
export type { Organization, OrganizationCreate, OrganizationUpdate, OrganizationSearchParams, Team, TeamCreate, TeamUpdate, OrganizationUser } from './api/organization.service';
|
|
@@ -31,6 +32,7 @@ export type * from './types/stats.types';
|
|
|
31
32
|
export type * from './types/billing.types';
|
|
32
33
|
export type * from './types/notification.types';
|
|
33
34
|
export type * from './types/workflow.types';
|
|
35
|
+
export type * from './types/role.types';
|
|
34
36
|
export { PropertyType, PropertyStatus } from './types/property.types';
|
|
35
37
|
export { tokenUtils } from './utils/token.utils';
|
|
36
38
|
export { API_ENDPOINTS, API_BASE_URL } from './constants/api.constants';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACX,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACX,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,oBAAoB,CAAA;AAGvC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGvE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { planService } from './api/plan.service';
|
|
|
14
14
|
export { notificationService } from './api/notification.service';
|
|
15
15
|
export { auditService } from './api/audit.service';
|
|
16
16
|
export { workflowService } from './api/workflow.service';
|
|
17
|
+
export { roleService } from './api/role.service';
|
|
17
18
|
export { TaskStatusEnum } from './types/workflow.types';
|
|
18
19
|
// Stores
|
|
19
20
|
export { useAuthStore } from './stores/auth.store';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour la gestion des rôles et permissions
|
|
3
|
+
*/
|
|
4
|
+
export interface Role {
|
|
5
|
+
id: number;
|
|
6
|
+
name: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
isSystem?: boolean;
|
|
9
|
+
permissions: Permission[];
|
|
10
|
+
userCount?: number;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
updatedAt: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RoleCreate {
|
|
15
|
+
name: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
permissionIds?: number[];
|
|
18
|
+
}
|
|
19
|
+
export interface RoleUpdate {
|
|
20
|
+
name?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
permissionIds?: number[];
|
|
23
|
+
}
|
|
24
|
+
export interface Permission {
|
|
25
|
+
id: number;
|
|
26
|
+
name: string;
|
|
27
|
+
resource: string;
|
|
28
|
+
action: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
createdAt: string;
|
|
31
|
+
updatedAt: string;
|
|
32
|
+
}
|
|
33
|
+
export interface RolePermission {
|
|
34
|
+
roleId: number;
|
|
35
|
+
permissionId: number;
|
|
36
|
+
}
|
|
37
|
+
export interface UserRoleAssignment {
|
|
38
|
+
userId: number;
|
|
39
|
+
roleIds: number[];
|
|
40
|
+
organizationId?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface RoleSearchParams {
|
|
43
|
+
search?: string;
|
|
44
|
+
isSystem?: boolean;
|
|
45
|
+
page?: number;
|
|
46
|
+
size?: number;
|
|
47
|
+
sort?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface RoleStats {
|
|
50
|
+
totalRoles: number;
|
|
51
|
+
systemRoles: number;
|
|
52
|
+
customRoles: number;
|
|
53
|
+
rolesByPermission: Record<string, number>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=role.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.types.d.ts","sourceRoot":"","sources":["../../types/role.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C"}
|