@viridial/shared 1.0.40 → 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.
@@ -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';
@@ -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;AAG3C,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"}
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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Types pour la gestion des rôles et permissions
3
+ */
4
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viridial/shared",
3
- "version": "1.0.40",
3
+ "version": "1.0.42",
4
4
  "type": "module",
5
5
  "description": "Shared modules for Real Estate frontend applications - Vue 3, TypeScript, Pinia, Axios",
6
6
  "main": "./dist/index.js",