@viridial/shared 1.0.65 → 1.0.67

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,39 @@
1
+ /**
2
+ * Service pour les avis d'agences immobilières
3
+ */
4
+ import type { OrganizationReview, OrganizationReviewCreate, OrganizationReviewStats, OrganizationWithReviews } from '../types/organization-review.types';
5
+ export declare const organizationReviewService: {
6
+ /**
7
+ * Rechercher des agences avec leurs statistiques d'avis
8
+ */
9
+ searchOrganizations(params?: {
10
+ city?: string;
11
+ postalCode?: string;
12
+ minRating?: number;
13
+ }): Promise<OrganizationWithReviews[]>;
14
+ /**
15
+ * Obtenir une agence spécifique avec ses statistiques d'avis
16
+ */
17
+ getOrganizationWithReviewsById(organizationId: number): Promise<OrganizationWithReviews | null>;
18
+ /**
19
+ * Obtenir les avis approuvés d'une agence
20
+ */
21
+ getApprovedReviews(organizationId: number, page?: number, size?: number): Promise<{
22
+ content: OrganizationReview[];
23
+ totalElements: number;
24
+ totalPages: number;
25
+ }>;
26
+ /**
27
+ * Obtenir les statistiques d'avis d'une agence
28
+ */
29
+ getReviewStats(organizationId: number): Promise<OrganizationReviewStats>;
30
+ /**
31
+ * Créer un avis pour une agence
32
+ */
33
+ createReview(organizationId: number, review: OrganizationReviewCreate): Promise<OrganizationReview>;
34
+ /**
35
+ * Marquer un avis comme utile
36
+ */
37
+ markAsHelpful(reviewId: number): Promise<void>;
38
+ };
39
+ //# sourceMappingURL=organization-review.service.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Service pour les avis d'agences immobilières
3
+ */
4
+ import { httpClient } from './http.client';
5
+ export const organizationReviewService = {
6
+ /**
7
+ * Rechercher des agences avec leurs statistiques d'avis
8
+ */
9
+ async searchOrganizations(params) {
10
+ const queryParams = new URLSearchParams();
11
+ if (params?.city)
12
+ queryParams.append('city', params.city);
13
+ if (params?.postalCode)
14
+ queryParams.append('postalCode', params.postalCode);
15
+ if (params?.minRating)
16
+ queryParams.append('minRating', params.minRating.toString());
17
+ const response = await httpClient.get(`/api/public/organizations/search${queryParams.toString() ? `?${queryParams.toString()}` : ''}`);
18
+ return response.data;
19
+ },
20
+ /**
21
+ * Obtenir une agence spécifique avec ses statistiques d'avis
22
+ */
23
+ async getOrganizationWithReviewsById(organizationId) {
24
+ try {
25
+ const response = await httpClient.get(`/api/public/organizations/${organizationId}`);
26
+ return response.data;
27
+ }
28
+ catch (error) {
29
+ if (error.status === 404) {
30
+ return null;
31
+ }
32
+ throw error;
33
+ }
34
+ },
35
+ /**
36
+ * Obtenir les avis approuvés d'une agence
37
+ */
38
+ async getApprovedReviews(organizationId, page = 0, size = 10) {
39
+ const response = await httpClient.get(`/api/public/organizations/${organizationId}/reviews?page=${page}&size=${size}`);
40
+ return response.data;
41
+ },
42
+ /**
43
+ * Obtenir les statistiques d'avis d'une agence
44
+ */
45
+ async getReviewStats(organizationId) {
46
+ const response = await httpClient.get(`/api/public/organizations/${organizationId}/reviews/stats`);
47
+ return response.data;
48
+ },
49
+ /**
50
+ * Créer un avis pour une agence
51
+ */
52
+ async createReview(organizationId, review) {
53
+ const response = await httpClient.post(`/api/public/organizations/${organizationId}/reviews`, review);
54
+ return response.data;
55
+ },
56
+ /**
57
+ * Marquer un avis comme utile
58
+ */
59
+ async markAsHelpful(reviewId) {
60
+ await httpClient.post(`/api/public/organizations/reviews/${reviewId}/helpful`);
61
+ }
62
+ };
@@ -153,6 +153,13 @@ export declare const API_ENDPOINTS: {
153
153
  readonly UPDATE_STATUS: (id: number) => string;
154
154
  readonly MARK_HELPFUL: (id: number) => string;
155
155
  };
156
+ readonly ORGANIZATION_REVIEWS: {
157
+ readonly SEARCH: "/api/public/organizations/search";
158
+ readonly BY_ORGANIZATION: (id: number) => string;
159
+ readonly STATS: (id: number) => string;
160
+ readonly CREATE: (id: number) => string;
161
+ readonly MARK_HELPFUL: (id: number) => string;
162
+ };
156
163
  };
157
164
  /**
158
165
  * Get API base URL from environment
@@ -1 +1 @@
1
- {"version":3,"file":"api.constants.d.ts","sourceRoot":"","sources":["../../constants/api.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;6BAcV,MAAM;gCACH,MAAM;;;qCAGD,MAAM;2CACA,MAAM;4CACL,MAAM;;;;6BAKrB,MAAM;;2CAEQ,MAAM;kCACf,MAAM;;;;6BAKX,MAAM;2CACQ,MAAM;oDACG,MAAM;;qCAErB,MAAM;8CACG,MAAM;+CACL,MAAM;+BACtB,MAAM;8BACP,MAAM;gCACJ,MAAM;gCACN,MAAM;;;8CAIQ,MAAM;2CACT,MAAM;oDACG,MAAM;;;;6BAK7B,MAAM;;;;;;gCAMH,MAAM;;;;6BAKT,MAAM;;;;;;;6BAQN,MAAM;sCACG,MAAM;;sCAEN,MAAM;;;;;;6BAOf,MAAM;;gCAEH,MAAM;;;;;;;iCAQP,MAAM;uDACgB,MAAM;8DACC,MAAM;kCAClC,MAAM;iCACP,MAAM;;;;;iCAKN,MAAM;gDACS,MAAM;uDACC,MAAM;qCACxB,MAAM;yCACF,MAAM;;;;;iCAKd,MAAM;qCACF,MAAM;;;;;;6BAOZ,MAAM;;iCAEF,MAAM;qCACF,MAAM;;;;;6BAMd,MAAM;;;;;6BAMN,MAAM;;6BAEN,MAAM;;;iCAGJ,MAAM;mCACJ,MAAM;kCACP,MAAM;;;;;6BAMT,MAAM;2CACQ,MAAM;iCAChB,MAAM;oCACH,MAAM;oCACN,MAAM;+BACX,MAAM;;;;;6BAMR,MAAM;2CACQ,MAAM;+CACF,MAAM;iDACJ,MAAM;mCACpB,MAAM;qCACJ,MAAM;qCACN,MAAM;oCACP,MAAM;;CAEnB,CAAA;AAEV;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SAAS,CAAA"}
1
+ {"version":3,"file":"api.constants.d.ts","sourceRoot":"","sources":["../../constants/api.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;6BAcV,MAAM;gCACH,MAAM;;;qCAGD,MAAM;2CACA,MAAM;4CACL,MAAM;;;;6BAKrB,MAAM;;2CAEQ,MAAM;kCACf,MAAM;;;;6BAKX,MAAM;2CACQ,MAAM;oDACG,MAAM;;qCAErB,MAAM;8CACG,MAAM;+CACL,MAAM;+BACtB,MAAM;8BACP,MAAM;gCACJ,MAAM;gCACN,MAAM;;;8CAIQ,MAAM;2CACT,MAAM;oDACG,MAAM;;;;6BAK7B,MAAM;;;;;;gCAMH,MAAM;;;;6BAKT,MAAM;;;;;;;6BAQN,MAAM;sCACG,MAAM;;sCAEN,MAAM;;;;;;6BAOf,MAAM;;gCAEH,MAAM;;;;;;;iCAQP,MAAM;uDACgB,MAAM;8DACC,MAAM;kCAClC,MAAM;iCACP,MAAM;;;;;iCAKN,MAAM;gDACS,MAAM;uDACC,MAAM;qCACxB,MAAM;yCACF,MAAM;;;;;iCAKd,MAAM;qCACF,MAAM;;;;;;6BAOZ,MAAM;;iCAEF,MAAM;qCACF,MAAM;;;;;6BAMd,MAAM;;;;;6BAMN,MAAM;;6BAEN,MAAM;;;iCAGJ,MAAM;mCACJ,MAAM;kCACP,MAAM;;;;;6BAMT,MAAM;2CACQ,MAAM;iCAChB,MAAM;oCACH,MAAM;oCACN,MAAM;+BACX,MAAM;;;;;6BAMR,MAAM;2CACQ,MAAM;+CACF,MAAM;iDACJ,MAAM;mCACpB,MAAM;qCACJ,MAAM;qCACN,MAAM;oCACP,MAAM;;;;uCAKH,MAAM;6BAChB,MAAM;8BACL,MAAM;oCACA,MAAM;;CAEnB,CAAA;AAEV;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SAAS,CAAA"}
@@ -167,6 +167,14 @@ export const API_ENDPOINTS = {
167
167
  BY_STATUS: (status) => `/api/reviews/status/${status}`,
168
168
  UPDATE_STATUS: (id) => `/api/reviews/${id}/status`,
169
169
  MARK_HELPFUL: (id) => `/api/reviews/${id}/helpful`
170
+ },
171
+ // Organization Reviews
172
+ ORGANIZATION_REVIEWS: {
173
+ SEARCH: '/api/public/organizations/search',
174
+ BY_ORGANIZATION: (id) => `/api/public/organizations/${id}/reviews`,
175
+ STATS: (id) => `/api/public/organizations/${id}/reviews/stats`,
176
+ CREATE: (id) => `/api/public/organizations/${id}/reviews`,
177
+ MARK_HELPFUL: (id) => `/api/public/organizations/reviews/${id}/helpful`
170
178
  }
171
179
  };
172
180
  /**
package/dist/index.d.ts CHANGED
@@ -51,4 +51,6 @@ 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';
55
+ export { organizationReviewService } from './api/organization-review.service';
54
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -36,3 +36,4 @@ export { tokenUtils } from './utils/token.utils';
36
36
  export { API_ENDPOINTS, API_BASE_URL } from './constants/api.constants';
37
37
  // Enums
38
38
  export { UserStatus, UserRole } from './types/user.types';
39
+ export { organizationReviewService } from './api/organization-review.service';
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Types pour les avis d'agences immobilières
3
+ */
4
+ export interface OrganizationReview {
5
+ id: number;
6
+ organizationId: number;
7
+ userId?: number;
8
+ authorName?: string;
9
+ authorEmail?: string;
10
+ rating: number;
11
+ comment: string;
12
+ status: 'PENDING' | 'APPROVED' | 'REJECTED';
13
+ verifiedClient?: boolean;
14
+ helpfulCount: number;
15
+ transactionType?: 'SALE' | 'RENT';
16
+ createdAt: string;
17
+ updatedAt?: string;
18
+ }
19
+ export interface OrganizationReviewCreate {
20
+ organizationId: number;
21
+ userId?: number;
22
+ authorName?: string;
23
+ authorEmail?: string;
24
+ rating: number;
25
+ comment: string;
26
+ verifiedClient?: boolean;
27
+ transactionType?: 'SALE' | 'RENT';
28
+ }
29
+ export interface RatingDistribution {
30
+ fiveStars: number;
31
+ fourStars: number;
32
+ threeStars: number;
33
+ twoStars: number;
34
+ oneStar: number;
35
+ }
36
+ export interface OrganizationReviewStats {
37
+ averageRating: number;
38
+ totalReviews: number;
39
+ ratingDistribution: RatingDistribution;
40
+ verifiedClientPercentage: number;
41
+ }
42
+ export interface OrganizationWithReviews {
43
+ id: number;
44
+ name: string;
45
+ description?: string;
46
+ logoUrl?: string;
47
+ address?: string;
48
+ city?: string;
49
+ postalCode?: string;
50
+ country?: string;
51
+ phone?: string;
52
+ email?: string;
53
+ reviewStats: OrganizationReviewStats;
54
+ propertyCount: number;
55
+ }
56
+ //# sourceMappingURL=organization-review.types.d.ts.map
@@ -0,0 +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,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;CACtB"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Types pour les avis d'agences immobilières
3
+ */
4
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viridial/shared",
3
- "version": "1.0.65",
3
+ "version": "1.0.67",
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",