@viridial/shared 1.0.10 → 1.0.11

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.
@@ -1,4 +1,8 @@
1
1
  import type { User, UserCreate, UserUpdate, UserSearchParams, UserProfile, UserStats, UserActivity } from '../types/user.types';
2
+ /**
3
+ * Note: L'enrichissement avec organizationName n'est plus nécessaire
4
+ * car le backend retourne maintenant organizationName directement dans UserDTO
5
+ */
2
6
  /**
3
7
  * Service de gestion des utilisateurs SaaS
4
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../api/user.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAyG/H;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;oBACmB,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBlF;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC;;OAEG;kBACiB,OAAO,CAAC,WAAW,CAAC;IAKxC;;OAEG;iBACgB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C;;OAEG;eACc,MAAM,QAAQ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;wBACuB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAK3D;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;iBACgB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC;;OAEG;mBACkB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C;;OAEG;gBACe,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;sBACqB,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;OAEG;oCACmC,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF;;OAEG;uBACsB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;+BAC8B,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;gBACe,OAAO,CAAC,SAAS,CAAC;IAKpC;;OAEG;wBACuB,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ1E;;OAEG;kBACiB,MAAM,WAAW,gBAAgB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQvE;;OAEG;wBACuB,MAAM,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;wBACuB,MAAM,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlE,CAAA"}
1
+ {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../api/user.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAoE/H;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;oBACmB,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAclF;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC;;OAEG;kBACiB,OAAO,CAAC,WAAW,CAAC;IAKxC;;OAEG;iBACgB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C;;OAEG;eACc,MAAM,QAAQ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;wBACuB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAK3D;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;iBACgB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC;;OAEG;mBACkB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C;;OAEG;gBACe,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;sBACqB,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;OAEG;oCACmC,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF;;OAEG;uBACsB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;+BAC8B,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;gBACe,OAAO,CAAC,SAAS,CAAC;IAKpC;;OAEG;wBACuB,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ1E;;OAEG;kBACiB,MAAM,WAAW,gBAAgB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAOvE;;OAEG;wBACuB,MAAM,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;wBACuB,MAAM,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlE,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import { httpClient } from './http.client';
2
2
  import { API_ENDPOINTS } from '../constants/api.constants';
3
3
  import { UserStatus } from '../types/user.types';
4
- import { organizationService } from './organization.service';
5
4
  /**
6
5
  * Mapper les données du backend vers le format User du frontend
7
6
  */
@@ -40,37 +39,9 @@ function mapBackendUserToUser(backendUser) {
40
39
  };
41
40
  }
42
41
  /**
43
- * Enrichir les utilisateurs avec les noms d'organisation
42
+ * Note: L'enrichissement avec organizationName n'est plus nécessaire
43
+ * car le backend retourne maintenant organizationName directement dans UserDTO
44
44
  */
45
- async function enrichUsersWithOrganizationNames(users) {
46
- // Récupérer tous les organizationIds uniques
47
- const organizationIds = [...new Set(users.map(u => u.organizationId).filter(Boolean))];
48
- if (organizationIds.length === 0) {
49
- return users;
50
- }
51
- // Créer un cache des organisations
52
- const organizationCache = new Map();
53
- try {
54
- // Récupérer toutes les organisations en une seule requête
55
- const orgsResult = await organizationService.getAll({ size: 1000 });
56
- orgsResult.organizations.forEach(org => {
57
- organizationCache.set(org.id, org.name);
58
- });
59
- }
60
- catch (error) {
61
- console.warn('Failed to load organizations for user enrichment:', error);
62
- }
63
- // Enrichir les utilisateurs avec les noms d'organisation
64
- return users.map(user => {
65
- if (user.organizationId && organizationCache.has(user.organizationId)) {
66
- return {
67
- ...user,
68
- organizationName: organizationCache.get(user.organizationId)
69
- };
70
- }
71
- return user;
72
- });
73
- }
74
45
  /**
75
46
  * Service de gestion des utilisateurs SaaS
76
47
  */
@@ -82,10 +53,8 @@ export const userService = {
82
53
  const response = await httpClient.get(API_ENDPOINTS.USERS.BASE, { params });
83
54
  const backendUsers = response.data?.content || response.data || [];
84
55
  const users = backendUsers.map(mapBackendUserToUser);
85
- // Enrichir avec les noms d'organisation
86
- const enrichedUsers = await enrichUsersWithOrganizationNames(users);
87
56
  return {
88
- users: enrichedUsers,
57
+ users,
89
58
  total: response.data?.totalElements || 0
90
59
  };
91
60
  },
@@ -94,9 +63,7 @@ export const userService = {
94
63
  */
95
64
  async getById(id) {
96
65
  const response = await httpClient.get(API_ENDPOINTS.USERS.BY_ID(id));
97
- const user = mapBackendUserToUser(response.data);
98
- const enrichedUsers = await enrichUsersWithOrganizationNames([user]);
99
- return enrichedUsers[0];
66
+ return mapBackendUserToUser(response.data);
100
67
  },
101
68
  /**
102
69
  * Récupérer le profil de l'utilisateur connecté
@@ -201,8 +168,7 @@ export const userService = {
201
168
  const response = await httpClient.get(`${API_ENDPOINTS.USERS.BASE}/search`, {
202
169
  params: { q: query, ...params }
203
170
  });
204
- const users = (response.data || []).map(mapBackendUserToUser);
205
- return await enrichUsersWithOrganizationNames(users);
171
+ return (response.data || []).map(mapBackendUserToUser);
206
172
  },
207
173
  /**
208
174
  * Assigner des rôles à un utilisateur
@@ -9,6 +9,7 @@ export declare function useAuth(): {
9
9
  name: string;
10
10
  roles?: string[] | undefined;
11
11
  organizationId?: number | undefined;
12
+ organizationName?: string | undefined;
12
13
  } | null>;
13
14
  isAuthenticated: import("vue").ComputedRef<boolean>;
14
15
  isLoading: import("vue").ComputedRef<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../composables/useAuth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;GAEG;AACH,wBAAgB,OAAO;;;;;;;;;;;;yBAUa,YAAY;;;EA8B/C"}
1
+ {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../composables/useAuth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;GAEG;AACH,wBAAgB,OAAO;;;;;;;;;;;;;yBAUa,YAAY;;;EA8B/C"}
@@ -9,12 +9,14 @@ export declare const useAuthStore: import("pinia").StoreDefinition<"auth", Pick<
9
9
  name: string;
10
10
  roles?: string[] | undefined;
11
11
  organizationId?: number | undefined;
12
+ organizationName?: string | undefined;
12
13
  } | null, UserInfo | {
13
14
  id: number;
14
15
  email: string;
15
16
  name: string;
16
17
  roles?: string[] | undefined;
17
18
  organizationId?: number | undefined;
19
+ organizationName?: string | undefined;
18
20
  } | null>;
19
21
  isAuthenticated: import("vue").Ref<boolean, boolean>;
20
22
  loading: import("vue").Ref<boolean, boolean>;
@@ -32,12 +34,14 @@ export declare const useAuthStore: import("pinia").StoreDefinition<"auth", Pick<
32
34
  name: string;
33
35
  roles?: string[] | undefined;
34
36
  organizationId?: number | undefined;
37
+ organizationName?: string | undefined;
35
38
  } | null, UserInfo | {
36
39
  id: number;
37
40
  email: string;
38
41
  name: string;
39
42
  roles?: string[] | undefined;
40
43
  organizationId?: number | undefined;
44
+ organizationName?: string | undefined;
41
45
  } | null>;
42
46
  isAuthenticated: import("vue").Ref<boolean, boolean>;
43
47
  loading: import("vue").Ref<boolean, boolean>;
@@ -55,12 +59,14 @@ export declare const useAuthStore: import("pinia").StoreDefinition<"auth", Pick<
55
59
  name: string;
56
60
  roles?: string[] | undefined;
57
61
  organizationId?: number | undefined;
62
+ organizationName?: string | undefined;
58
63
  } | null, UserInfo | {
59
64
  id: number;
60
65
  email: string;
61
66
  name: string;
62
67
  roles?: string[] | undefined;
63
68
  organizationId?: number | undefined;
69
+ organizationName?: string | undefined;
64
70
  } | null>;
65
71
  isAuthenticated: import("vue").Ref<boolean, boolean>;
66
72
  loading: import("vue").Ref<boolean, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.store.d.ts","sourceRoot":"","sources":["../../stores/auth.store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKjE;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;yBAmBW,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;kBAqDrC,OAAO,CAAC,IAAI,CAAC;qBASV,OAAO,CAAC,IAAI,CAAC;wBA4Cd,QAAQ,KAAG,IAAI;;;;;;;;;;;;;;;;;;;;yBA1GR,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;kBAqDrC,OAAO,CAAC,IAAI,CAAC;qBASV,OAAO,CAAC,IAAI,CAAC;wBA4Cd,QAAQ,KAAG,IAAI;;;;;;;;;;;;;;;;;;;;yBA1GR,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;kBAqDrC,OAAO,CAAC,IAAI,CAAC;qBASV,OAAO,CAAC,IAAI,CAAC;wBA4Cd,QAAQ,KAAG,IAAI;iDAoB1C,CAAA"}
1
+ {"version":3,"file":"auth.store.d.ts","sourceRoot":"","sources":["../../stores/auth.store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKjE;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;yBAmBW,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;kBAsDrC,OAAO,CAAC,IAAI,CAAC;qBASV,OAAO,CAAC,IAAI,CAAC;wBA4Cd,QAAQ,KAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;yBA3GR,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;kBAsDrC,OAAO,CAAC,IAAI,CAAC;qBASV,OAAO,CAAC,IAAI,CAAC;wBA4Cd,QAAQ,KAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;yBA3GR,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;kBAsDrC,OAAO,CAAC,IAAI,CAAC;qBASV,OAAO,CAAC,IAAI,CAAC;wBA4Cd,QAAQ,KAAG,IAAI;iDAoB1C,CAAA"}
@@ -47,7 +47,8 @@ export const useAuthStore = defineStore('auth', () => {
47
47
  ? `${profile.firstName} ${profile.lastName}`
48
48
  : profile.name || profile.email,
49
49
  roles: rolesArray,
50
- organizationId: profile.organizationId
50
+ organizationId: profile.organizationId,
51
+ organizationName: profile.organizationName
51
52
  };
52
53
  }
53
54
  catch (profileError) {
@@ -250,7 +250,7 @@ export declare const useUserStore: import("pinia").StoreDefinition<"user", Pick<
250
250
  setPageSize: (size: number) => void;
251
251
  clearUsers: () => void;
252
252
  setSelectedUser: (user: User | null) => void;
253
- }, "total" | "users" | "loading" | "currentUser" | "selectedUser" | "stats" | "currentPage" | "pageSize">, Pick<{
253
+ }, "users" | "total" | "loading" | "currentUser" | "selectedUser" | "stats" | "currentPage" | "pageSize">, Pick<{
254
254
  users: import("vue").Ref<{
255
255
  id: number;
256
256
  email: string;
@@ -37,5 +37,6 @@ export interface UserInfo {
37
37
  name: string;
38
38
  roles?: string[];
39
39
  organizationId?: number;
40
+ organizationName?: string;
40
41
  }
41
42
  //# sourceMappingURL=auth.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../types/auth.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
1
+ {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../types/auth.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viridial/shared",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
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",