@viridial/shared 1.0.61 → 1.0.63
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/market-data.service.d.ts +19 -0
- package/dist/api/market-data.service.d.ts.map +1 -0
- package/dist/api/market-data.service.js +41 -0
- package/dist/constants/api.constants.d.ts +5 -0
- package/dist/constants/api.constants.d.ts.map +1 -1
- package/dist/constants/api.constants.js +6 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/types/market-data.types.d.ts +42 -0
- package/dist/types/market-data.types.d.ts.map +1 -0
- package/dist/types/market-data.types.js +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service pour les données de marché immobilier (DVF)
|
|
3
|
+
*/
|
|
4
|
+
import type { MarketData, DVFTransaction } from '../types/market-data.types';
|
|
5
|
+
export declare const marketDataService: {
|
|
6
|
+
/**
|
|
7
|
+
* Obtenir les données de marché pour un code postal
|
|
8
|
+
*/
|
|
9
|
+
getMarketDataByPostalCode(codePostal: string, propertyType?: string, startDate?: string, endDate?: string): Promise<MarketData>;
|
|
10
|
+
/**
|
|
11
|
+
* Obtenir les données de marché pour une propriété avec comparaison
|
|
12
|
+
*/
|
|
13
|
+
getMarketDataForProperty(propertyId: number, startDate?: string, endDate?: string): Promise<MarketData>;
|
|
14
|
+
/**
|
|
15
|
+
* Trouver des transactions similaires
|
|
16
|
+
*/
|
|
17
|
+
findSimilarTransactions(propertyId: number, limit?: number): Promise<DVFTransaction[]>;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=market-data.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-data.service.d.ts","sourceRoot":"","sources":["../../api/market-data.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE5E,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;0CAEW,MAAM,iBACJ,MAAM,cACR,MAAM,YACR,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAatB;;OAEG;yCAEW,MAAM,cACN,MAAM,YACR,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAUtB;;OAEG;wCACuC,MAAM,UAAS,MAAM,GAAQ,OAAO,CAAC,cAAc,EAAE,CAAC;CAMjG,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service pour les données de marché immobilier (DVF)
|
|
3
|
+
*/
|
|
4
|
+
import { httpClient } from './http.client';
|
|
5
|
+
import { API_ENDPOINTS } from '../constants/api.constants';
|
|
6
|
+
export const marketDataService = {
|
|
7
|
+
/**
|
|
8
|
+
* Obtenir les données de marché pour un code postal
|
|
9
|
+
*/
|
|
10
|
+
async getMarketDataByPostalCode(codePostal, propertyType = 'APARTMENT', startDate, endDate) {
|
|
11
|
+
const params = new URLSearchParams({
|
|
12
|
+
propertyType
|
|
13
|
+
});
|
|
14
|
+
if (startDate)
|
|
15
|
+
params.append('startDate', startDate);
|
|
16
|
+
if (endDate)
|
|
17
|
+
params.append('endDate', endDate);
|
|
18
|
+
const response = await httpClient.get(`${API_ENDPOINTS.MARKET_DATA.BY_POSTAL_CODE(codePostal)}?${params.toString()}`);
|
|
19
|
+
return response.data;
|
|
20
|
+
},
|
|
21
|
+
/**
|
|
22
|
+
* Obtenir les données de marché pour une propriété avec comparaison
|
|
23
|
+
*/
|
|
24
|
+
async getMarketDataForProperty(propertyId, startDate, endDate) {
|
|
25
|
+
const params = new URLSearchParams();
|
|
26
|
+
if (startDate)
|
|
27
|
+
params.append('startDate', startDate);
|
|
28
|
+
if (endDate)
|
|
29
|
+
params.append('endDate', endDate);
|
|
30
|
+
const url = `${API_ENDPOINTS.MARKET_DATA.BY_PROPERTY(propertyId)}${params.toString() ? `?${params.toString()}` : ''}`;
|
|
31
|
+
const response = await httpClient.get(url);
|
|
32
|
+
return response.data;
|
|
33
|
+
},
|
|
34
|
+
/**
|
|
35
|
+
* Trouver des transactions similaires
|
|
36
|
+
*/
|
|
37
|
+
async findSimilarTransactions(propertyId, limit = 10) {
|
|
38
|
+
const response = await httpClient.get(`${API_ENDPOINTS.MARKET_DATA.SIMILAR_TRANSACTIONS(propertyId)}?limit=${limit}`);
|
|
39
|
+
return response.data;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
@@ -42,6 +42,11 @@ export declare const API_ENDPOINTS: {
|
|
|
42
42
|
readonly COMPLETE: (id: number) => string;
|
|
43
43
|
readonly EXCHANGE: (id: number) => string;
|
|
44
44
|
};
|
|
45
|
+
readonly MARKET_DATA: {
|
|
46
|
+
readonly BY_POSTAL_CODE: (codePostal: string) => string;
|
|
47
|
+
readonly BY_PROPERTY: (propertyId: number) => string;
|
|
48
|
+
readonly SIMILAR_TRANSACTIONS: (propertyId: number) => string;
|
|
49
|
+
};
|
|
45
50
|
readonly USERS: {
|
|
46
51
|
readonly BASE: "/api/identity/users";
|
|
47
52
|
readonly BY_ID: (id: number) => string;
|
|
@@ -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;;;;
|
|
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"}
|
|
@@ -46,6 +46,12 @@ export const API_ENDPOINTS = {
|
|
|
46
46
|
COMPLETE: (id) => `/api/visits/${id}/complete`,
|
|
47
47
|
EXCHANGE: (id) => `/api/visits/${id}/exchange`
|
|
48
48
|
},
|
|
49
|
+
// Market Data (DVF)
|
|
50
|
+
MARKET_DATA: {
|
|
51
|
+
BY_POSTAL_CODE: (codePostal) => `/api/market-data/postal-code/${codePostal}`,
|
|
52
|
+
BY_PROPERTY: (propertyId) => `/api/market-data/property/${propertyId}`,
|
|
53
|
+
SIMILAR_TRANSACTIONS: (propertyId) => `/api/market-data/property/${propertyId}/similar`
|
|
54
|
+
},
|
|
49
55
|
// Users
|
|
50
56
|
USERS: {
|
|
51
57
|
BASE: '/api/identity/users',
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export { reviewService } from './api/review.service';
|
|
|
21
21
|
export { priceHistoryService } from './api/price-history.service';
|
|
22
22
|
export { priceAlertService } from './api/price-alert.service';
|
|
23
23
|
export { visitAppointmentService } from './api/visit-appointment.service';
|
|
24
|
+
export { marketDataService } from './api/market-data.service';
|
|
24
25
|
export { TaskStatusEnum } from './types/workflow.types';
|
|
25
26
|
export type { Workflow, WorkflowCreate, WorkflowUpdate, WorkflowSearchParams, Task, TaskCreate, TaskUpdate, TaskSearchParams, TaskApproveParams, TaskRejectParams, TaskStatus } from './types/workflow.types';
|
|
26
27
|
export type { Organization, OrganizationCreate, OrganizationUpdate, OrganizationSearchParams, OrganizationSettings, Team, TeamCreate, TeamUpdate, OrganizationUser } from './api/organization.service';
|
|
@@ -44,8 +45,7 @@ export type * from './types/review.types';
|
|
|
44
45
|
export type * from './types/price-history.types';
|
|
45
46
|
export type * from './types/price-alert.types';
|
|
46
47
|
export type * from './types/visit-appointment.types';
|
|
47
|
-
export type * from './types/
|
|
48
|
-
export type * from './types/visit-appointment.types';
|
|
48
|
+
export type * from './types/market-data.types';
|
|
49
49
|
export { PropertyType, PropertyStatus } from './types/property.types';
|
|
50
50
|
export { tokenUtils } from './utils/token.utils';
|
|
51
51
|
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,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,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ export { reviewService } from './api/review.service';
|
|
|
20
20
|
export { priceHistoryService } from './api/price-history.service';
|
|
21
21
|
export { priceAlertService } from './api/price-alert.service';
|
|
22
22
|
export { visitAppointmentService } from './api/visit-appointment.service';
|
|
23
|
+
export { marketDataService } from './api/market-data.service';
|
|
23
24
|
export { TaskStatusEnum } from './types/workflow.types';
|
|
24
25
|
// Stores
|
|
25
26
|
export { useAuthStore } from './stores/auth.store';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour les données de marché immobilier (DVF)
|
|
3
|
+
*/
|
|
4
|
+
export interface MarketData {
|
|
5
|
+
location: string;
|
|
6
|
+
propertyType: string;
|
|
7
|
+
averagePricePerSquareMeter?: number;
|
|
8
|
+
medianPricePerSquareMeter?: number;
|
|
9
|
+
minPricePerSquareMeter?: number;
|
|
10
|
+
maxPricePerSquareMeter?: number;
|
|
11
|
+
transactionCount?: number;
|
|
12
|
+
periodStart: string;
|
|
13
|
+
periodEnd: string;
|
|
14
|
+
priceEvolution?: PriceEvolution[];
|
|
15
|
+
comparison?: PropertyComparison;
|
|
16
|
+
}
|
|
17
|
+
export interface PriceEvolution {
|
|
18
|
+
period: string;
|
|
19
|
+
averagePrice?: number;
|
|
20
|
+
count?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface PropertyComparison {
|
|
23
|
+
propertyPricePerSquareMeter?: number;
|
|
24
|
+
priceDifferencePercent?: number;
|
|
25
|
+
priceEvaluation?: 'SURESTIMÉ' | 'SOUS-ESTIMÉ' | 'CORRECT';
|
|
26
|
+
recommendation?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface DVFTransaction {
|
|
29
|
+
id: number;
|
|
30
|
+
mutationDate: string;
|
|
31
|
+
natureMutation?: string;
|
|
32
|
+
valeurFonciere?: number;
|
|
33
|
+
typeLocal?: string;
|
|
34
|
+
surfaceReelleBati?: number;
|
|
35
|
+
nombrePiecesPrincipales?: number;
|
|
36
|
+
codePostal?: string;
|
|
37
|
+
commune?: string;
|
|
38
|
+
prixMetreCarre?: number;
|
|
39
|
+
latitude?: number;
|
|
40
|
+
longitude?: number;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=market-data.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-data.types.d.ts","sourceRoot":"","sources":["../../types/market-data.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAA;IACjC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,eAAe,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;IACzD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
|