@viridial/shared 1.0.68 → 1.0.70

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,55 @@
1
+ /**
2
+ * Service pour les messages de contact d'agences
3
+ */
4
+ import type { OrganizationContactMessage, OrganizationContactMessageCreate } from '../types/organization-contact.types';
5
+ export interface PaginatedResponse<T> {
6
+ content: T[];
7
+ totalElements: number;
8
+ totalPages: number;
9
+ size: number;
10
+ number: number;
11
+ }
12
+ export declare const organizationContactService: {
13
+ /**
14
+ * Créer un nouveau message de contact pour une agence
15
+ */
16
+ create(organizationId: number, data: OrganizationContactMessageCreate): Promise<OrganizationContactMessage>;
17
+ /**
18
+ * Récupérer tous les messages de contact (paginated) - Admin
19
+ */
20
+ getAll(params?: {
21
+ organizationId?: number;
22
+ status?: string;
23
+ page?: number;
24
+ size?: number;
25
+ }): Promise<PaginatedResponse<OrganizationContactMessage>>;
26
+ /**
27
+ * Récupérer un message par ID - Admin
28
+ */
29
+ getById(id: number): Promise<OrganizationContactMessage>;
30
+ /**
31
+ * Marquer un message comme lu - Admin
32
+ */
33
+ markAsRead(id: number, userId?: number): Promise<OrganizationContactMessage>;
34
+ /**
35
+ * Marquer un message comme répondu - Admin
36
+ */
37
+ markAsReplied(id: number, userId?: number): Promise<OrganizationContactMessage>;
38
+ /**
39
+ * Mettre à jour les notes d'un message - Admin
40
+ */
41
+ updateNotes(id: number, notes: string): Promise<OrganizationContactMessage>;
42
+ /**
43
+ * Archiver un message - Admin
44
+ */
45
+ archive(id: number): Promise<OrganizationContactMessage>;
46
+ /**
47
+ * Supprimer un message (soft delete) - Admin
48
+ */
49
+ delete(id: number): Promise<void>;
50
+ /**
51
+ * Obtenir le nombre de nouveaux messages - Admin
52
+ */
53
+ getNewMessagesCount(organizationId?: number): Promise<number>;
54
+ };
55
+ //# sourceMappingURL=organization-contact.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-contact.service.d.ts","sourceRoot":"","sources":["../../api/organization-contact.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,qCAAqC,CAAA;AAE5C,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,0BAA0B;IACrC;;OAEG;2BAC0B,MAAM,QAAQ,gCAAgC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQjH;;OAEG;oBACmB;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,GAAG,OAAO,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAa1D;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;OAEG;mBACkB,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQlF;;OAEG;sBACqB,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQrF;;OAEG;oBACmB,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQjF;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;yCACwC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOpE,CAAA"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Service pour les messages de contact d'agences
3
+ */
4
+ import { httpClient } from './http.client';
5
+ export const organizationContactService = {
6
+ /**
7
+ * Créer un nouveau message de contact pour une agence
8
+ */
9
+ async create(organizationId, data) {
10
+ const response = await httpClient.post(`/api/public/organizations/${organizationId}/contact`, data);
11
+ return response.data;
12
+ },
13
+ /**
14
+ * Récupérer tous les messages de contact (paginated) - Admin
15
+ */
16
+ async getAll(params) {
17
+ const queryParams = new URLSearchParams();
18
+ if (params?.organizationId)
19
+ queryParams.append('organizationId', params.organizationId.toString());
20
+ if (params?.status)
21
+ queryParams.append('status', params.status);
22
+ if (params?.page !== undefined)
23
+ queryParams.append('page', params.page.toString());
24
+ if (params?.size !== undefined)
25
+ queryParams.append('size', params.size.toString());
26
+ const response = await httpClient.get(`/api/identity/organization-contact-messages${queryParams.toString() ? `?${queryParams.toString()}` : ''}`);
27
+ return response.data;
28
+ },
29
+ /**
30
+ * Récupérer un message par ID - Admin
31
+ */
32
+ async getById(id) {
33
+ const response = await httpClient.get(`/api/identity/organization-contact-messages/${id}`);
34
+ return response.data;
35
+ },
36
+ /**
37
+ * Marquer un message comme lu - Admin
38
+ */
39
+ async markAsRead(id, userId) {
40
+ const queryParams = userId ? `?userId=${userId}` : '';
41
+ const response = await httpClient.put(`/api/identity/organization-contact-messages/${id}/read${queryParams}`);
42
+ return response.data;
43
+ },
44
+ /**
45
+ * Marquer un message comme répondu - Admin
46
+ */
47
+ async markAsReplied(id, userId) {
48
+ const queryParams = userId ? `?userId=${userId}` : '';
49
+ const response = await httpClient.put(`/api/identity/organization-contact-messages/${id}/replied${queryParams}`);
50
+ return response.data;
51
+ },
52
+ /**
53
+ * Mettre à jour les notes d'un message - Admin
54
+ */
55
+ async updateNotes(id, notes) {
56
+ const response = await httpClient.put(`/api/identity/organization-contact-messages/${id}/notes`, notes);
57
+ return response.data;
58
+ },
59
+ /**
60
+ * Archiver un message - Admin
61
+ */
62
+ async archive(id) {
63
+ const response = await httpClient.put(`/api/identity/organization-contact-messages/${id}/archive`);
64
+ return response.data;
65
+ },
66
+ /**
67
+ * Supprimer un message (soft delete) - Admin
68
+ */
69
+ async delete(id) {
70
+ await httpClient.delete(`/api/identity/organization-contact-messages/${id}`);
71
+ },
72
+ /**
73
+ * Obtenir le nombre de nouveaux messages - Admin
74
+ */
75
+ async getNewMessagesCount(organizationId) {
76
+ const queryParams = organizationId ? `?organizationId=${organizationId}` : '';
77
+ const response = await httpClient.get(`/api/identity/organization-contact-messages/stats/new-count${queryParams}`);
78
+ return response.data || 0;
79
+ }
80
+ };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Service pour les avis d'agences immobilières
3
3
  */
4
- import type { OrganizationReview, OrganizationReviewCreate, OrganizationReviewStats, OrganizationWithReviews } from '../types/organization-review.types';
4
+ import type { OrganizationPerformanceStats, OrganizationReview, OrganizationReviewCreate, OrganizationReviewStats, OrganizationWithReviews } from '../types/organization-review.types';
5
5
  export declare const organizationReviewService: {
6
6
  /**
7
7
  * Rechercher des agences avec leurs statistiques d'avis
@@ -35,5 +35,9 @@ export declare const organizationReviewService: {
35
35
  * Marquer un avis comme utile
36
36
  */
37
37
  markAsHelpful(reviewId: number): Promise<void>;
38
+ /**
39
+ * Obtenir les statistiques de performance d'une agence
40
+ */
41
+ getPerformanceStats(organizationId: number): Promise<OrganizationPerformanceStats>;
38
42
  };
39
43
  //# sourceMappingURL=organization-review.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"organization-review.service.d.ts","sourceRoot":"","sources":["../../api/organization-review.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,oCAAoC,CAAA;AAE3C,eAAO,MAAM,yBAAyB;IACpC;;OAEG;iCACgC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAYtC;;OAEG;mDACkD,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAcrG;;OAEG;uCAEe,MAAM,SAChB,MAAM,SACN,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IASxF;;OAEG;mCACkC,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAO9E;;OAEG;iCACgC,MAAM,UAAU,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQzG;;OAEG;4BAC2B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD,CAAA"}
1
+ {"version":3,"file":"organization-review.service.d.ts","sourceRoot":"","sources":["../../api/organization-review.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,oCAAoC,CAAA;AAE3C,eAAO,MAAM,yBAAyB;IACpC;;OAEG;iCACgC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAYtC;;OAEG;mDACkD,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAcrG;;OAEG;uCAEe,MAAM,SAChB,MAAM,SACN,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IASxF;;OAEG;mCACkC,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAO9E;;OAEG;iCACgC,MAAM,UAAU,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQzG;;OAEG;4BAC2B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;wCACuC,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;CAMzF,CAAA"}
@@ -58,5 +58,12 @@ export const organizationReviewService = {
58
58
  */
59
59
  async markAsHelpful(reviewId) {
60
60
  await httpClient.post(`/api/public/organizations/reviews/${reviewId}/helpful`);
61
+ },
62
+ /**
63
+ * Obtenir les statistiques de performance d'une agence
64
+ */
65
+ async getPerformanceStats(organizationId) {
66
+ const response = await httpClient.get(`/api/public/organizations/${organizationId}/performance`);
67
+ return response.data;
61
68
  }
62
69
  };
package/dist/index.d.ts CHANGED
@@ -51,6 +51,8 @@ export { PropertyType, PropertyStatus } from './types/property.types';
51
51
  export { tokenUtils } from './utils/token.utils';
52
52
  export { API_ENDPOINTS, API_BASE_URL } from './constants/api.constants';
53
53
  export { UserStatus, UserRole } from './types/user.types';
54
- export type { OrganizationReview, OrganizationReviewCreate, OrganizationReviewStats, OrganizationWithReviews, RatingDistribution } from './types/organization-review.types';
54
+ export type { OrganizationReview, OrganizationReviewCreate, OrganizationReviewStats, OrganizationWithReviews, OrganizationPerformanceStats, RatingDistribution } from './types/organization-review.types';
55
55
  export { organizationReviewService } from './api/organization-review.service';
56
+ export type { OrganizationContactMessage, OrganizationContactMessageCreate } from './types/organization-contact.types';
57
+ export { organizationContactService } from './api/organization-contact.service';
56
58
  //# sourceMappingURL=index.d.ts.map
@@ -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,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,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,oBAAoB,EACpB,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;AACvC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,6BAA6B,CAAA;AAChD,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,iCAAiC,CAAA;AACpD,mBAAmB,2BAA2B,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAG3E,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;AAGzD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -37,3 +37,4 @@ export { API_ENDPOINTS, API_BASE_URL } from './constants/api.constants';
37
37
  // Enums
38
38
  export { UserStatus, UserRole } from './types/user.types';
39
39
  export { organizationReviewService } from './api/organization-review.service';
40
+ export { organizationContactService } from './api/organization-contact.service';
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Types pour les messages de contact d'agences
3
+ */
4
+ export interface OrganizationContactMessage {
5
+ id: number;
6
+ name: string;
7
+ email: string;
8
+ phone?: string;
9
+ subject: string;
10
+ message: string;
11
+ status: 'NEW' | 'READ' | 'REPLIED' | 'ARCHIVED';
12
+ organizationId: number;
13
+ organizationName?: string;
14
+ readAt?: string;
15
+ readBy?: number;
16
+ readByName?: string;
17
+ repliedAt?: string;
18
+ repliedBy?: number;
19
+ repliedByName?: string;
20
+ notes?: string;
21
+ active: boolean;
22
+ createdAt: string;
23
+ updatedAt?: string;
24
+ }
25
+ export interface OrganizationContactMessageCreate {
26
+ name: string;
27
+ email: string;
28
+ phone?: string;
29
+ subject: string;
30
+ message: string;
31
+ organizationId: number;
32
+ }
33
+ //# sourceMappingURL=organization-contact.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-contact.types.d.ts","sourceRoot":"","sources":["../../types/organization-contact.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;CACvB"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Types pour les messages de contact d'agences
3
+ */
4
+ export {};
@@ -55,4 +55,21 @@ export interface OrganizationWithReviews {
55
55
  reviewStats: OrganizationReviewStats;
56
56
  propertyCount: number;
57
57
  }
58
+ export interface OrganizationPerformanceStats {
59
+ totalProperties: number;
60
+ availableProperties: number;
61
+ soldProperties: number;
62
+ rentedProperties: number;
63
+ averagePrice: number;
64
+ minPrice: number;
65
+ maxPrice: number;
66
+ averageSurface: number;
67
+ newThisMonth: number;
68
+ newThisWeek: number;
69
+ byType: Record<string, number>;
70
+ byCity: Record<string, number>;
71
+ byStatus: Record<string, number>;
72
+ servedCities: string[];
73
+ propertyTypes: string[];
74
+ }
58
75
  //# sourceMappingURL=organization-review.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"organization-review.types.d.ts","sourceRoot":"","sources":["../../types/organization-review.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"organization-review.types.d.ts","sourceRoot":"","sources":["../../types/organization-review.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viridial/shared",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
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",