@viridial/shared 1.0.59 → 1.0.60
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/price-alert.service.d.ts +27 -0
- package/dist/api/price-alert.service.d.ts.map +1 -0
- package/dist/api/price-alert.service.js +40 -0
- package/dist/api/visit-appointment.service.d.ts +57 -0
- package/dist/api/visit-appointment.service.d.ts.map +1 -0
- package/dist/api/visit-appointment.service.js +83 -0
- package/dist/constants/api.constants.d.ts +20 -0
- package/dist/constants/api.constants.d.ts.map +1 -1
- package/dist/constants/api.constants.js +22 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/types/price-alert.types.d.ts +35 -0
- package/dist/types/price-alert.types.d.ts.map +1 -0
- package/dist/types/price-alert.types.js +10 -0
- package/dist/types/visit-appointment.types.d.ts +44 -0
- package/dist/types/visit-appointment.types.d.ts.map +1 -0
- package/dist/types/visit-appointment.types.js +11 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PriceAlert, PriceAlertCreate } from '../types/price-alert.types';
|
|
2
|
+
/**
|
|
3
|
+
* Service de gestion des alertes de prix
|
|
4
|
+
*/
|
|
5
|
+
export declare const priceAlertService: {
|
|
6
|
+
/**
|
|
7
|
+
* Créer une nouvelle alerte de prix
|
|
8
|
+
*/
|
|
9
|
+
create(data: PriceAlertCreate): Promise<PriceAlert>;
|
|
10
|
+
/**
|
|
11
|
+
* Récupérer toutes les alertes de l'utilisateur connecté
|
|
12
|
+
*/
|
|
13
|
+
getMyAlerts(): Promise<PriceAlert[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Récupérer toutes les alertes pour une propriété
|
|
16
|
+
*/
|
|
17
|
+
getByProperty(propertyId: number): Promise<PriceAlert[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Désactiver une alerte
|
|
20
|
+
*/
|
|
21
|
+
deactivate(id: number): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Supprimer une alerte
|
|
24
|
+
*/
|
|
25
|
+
delete(id: number): Promise<void>;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=price-alert.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-alert.service.d.ts","sourceRoot":"","sources":["../../api/price-alert.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE9E;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;iBACgB,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKzD;;OAEG;mBACkB,OAAO,CAAC,UAAU,EAAE,CAAC;IAK1C;;OAEG;8BAC6B,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAO9D;;OAEG;mBACkB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { httpClient } from './http.client';
|
|
2
|
+
import { API_ENDPOINTS } from '../constants/api.constants';
|
|
3
|
+
/**
|
|
4
|
+
* Service de gestion des alertes de prix
|
|
5
|
+
*/
|
|
6
|
+
export const priceAlertService = {
|
|
7
|
+
/**
|
|
8
|
+
* Créer une nouvelle alerte de prix
|
|
9
|
+
*/
|
|
10
|
+
async create(data) {
|
|
11
|
+
const response = await httpClient.post(API_ENDPOINTS.PRICE_ALERTS.BASE, data);
|
|
12
|
+
return response.data;
|
|
13
|
+
},
|
|
14
|
+
/**
|
|
15
|
+
* Récupérer toutes les alertes de l'utilisateur connecté
|
|
16
|
+
*/
|
|
17
|
+
async getMyAlerts() {
|
|
18
|
+
const response = await httpClient.get(API_ENDPOINTS.PRICE_ALERTS.MY_ALERTS);
|
|
19
|
+
return response.data;
|
|
20
|
+
},
|
|
21
|
+
/**
|
|
22
|
+
* Récupérer toutes les alertes pour une propriété
|
|
23
|
+
*/
|
|
24
|
+
async getByProperty(propertyId) {
|
|
25
|
+
const response = await httpClient.get(API_ENDPOINTS.PRICE_ALERTS.BY_PROPERTY(propertyId));
|
|
26
|
+
return response.data;
|
|
27
|
+
},
|
|
28
|
+
/**
|
|
29
|
+
* Désactiver une alerte
|
|
30
|
+
*/
|
|
31
|
+
async deactivate(id) {
|
|
32
|
+
await httpClient.put(API_ENDPOINTS.PRICE_ALERTS.DEACTIVATE(id));
|
|
33
|
+
},
|
|
34
|
+
/**
|
|
35
|
+
* Supprimer une alerte
|
|
36
|
+
*/
|
|
37
|
+
async delete(id) {
|
|
38
|
+
await httpClient.delete(API_ENDPOINTS.PRICE_ALERTS.BY_ID(id));
|
|
39
|
+
}
|
|
40
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { VisitAppointment, VisitAppointmentCreate } from '../types/visit-appointment.types';
|
|
2
|
+
/**
|
|
3
|
+
* Service de gestion des rendez-vous de visite
|
|
4
|
+
*/
|
|
5
|
+
export declare const visitAppointmentService: {
|
|
6
|
+
/**
|
|
7
|
+
* Créer un nouveau rendez-vous de visite
|
|
8
|
+
*/
|
|
9
|
+
create(data: VisitAppointmentCreate): Promise<VisitAppointment>;
|
|
10
|
+
/**
|
|
11
|
+
* Récupérer toutes les visites pour une propriété
|
|
12
|
+
*/
|
|
13
|
+
getByProperty(propertyId: number, params?: {
|
|
14
|
+
page?: number;
|
|
15
|
+
size?: number;
|
|
16
|
+
}): Promise<VisitAppointment[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Récupérer les visites à venir pour une propriété
|
|
19
|
+
*/
|
|
20
|
+
getUpcomingByProperty(propertyId: number): Promise<VisitAppointment[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Récupérer toutes les visites de l'utilisateur connecté
|
|
23
|
+
*/
|
|
24
|
+
getMyVisits(): Promise<VisitAppointment[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Récupérer toutes les visites pour un agent
|
|
27
|
+
*/
|
|
28
|
+
getByAgent(agentId: number, params?: {
|
|
29
|
+
page?: number;
|
|
30
|
+
size?: number;
|
|
31
|
+
}): Promise<VisitAppointment[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Récupérer les visites à venir pour un agent
|
|
34
|
+
*/
|
|
35
|
+
getUpcomingByAgent(agentId: number): Promise<VisitAppointment[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Vérifier la disponibilité d'un créneau pour un agent
|
|
38
|
+
*/
|
|
39
|
+
checkAvailability(agentId: number, startTime: string, durationMinutes?: number): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Confirmer un rendez-vous
|
|
42
|
+
*/
|
|
43
|
+
confirm(id: number): Promise<VisitAppointment>;
|
|
44
|
+
/**
|
|
45
|
+
* Annuler un rendez-vous
|
|
46
|
+
*/
|
|
47
|
+
cancel(id: number, reason?: string): Promise<VisitAppointment>;
|
|
48
|
+
/**
|
|
49
|
+
* Marquer une visite comme complétée
|
|
50
|
+
*/
|
|
51
|
+
complete(id: number, agentNotes?: string): Promise<VisitAppointment>;
|
|
52
|
+
/**
|
|
53
|
+
* Supprimer un rendez-vous
|
|
54
|
+
*/
|
|
55
|
+
delete(id: number): Promise<void>;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=visit-appointment.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visit-appointment.service.d.ts","sourceRoot":"","sources":["../../api/visit-appointment.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEhG;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC;;OAEG;iBACgB,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKrE;;OAEG;8BAC6B,MAAM,WAAW;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ/G;;OAEG;sCACqC,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAO5E;;OAEG;mBACkB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKhD;;OAEG;wBACuB,MAAM,WAAW;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQzG;;OAEG;gCAC+B,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOtE;;OAEG;+BAC8B,MAAM,aAAa,MAAM,oBAAmB,MAAM,GAAQ,OAAO,CAAC,OAAO,CAAC;IAQ3G;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKpD;;OAEG;eACc,MAAM,WAAW,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASpE;;OAEG;iBACgB,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS1E;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { httpClient } from './http.client';
|
|
2
|
+
import { API_ENDPOINTS } from '../constants/api.constants';
|
|
3
|
+
/**
|
|
4
|
+
* Service de gestion des rendez-vous de visite
|
|
5
|
+
*/
|
|
6
|
+
export const visitAppointmentService = {
|
|
7
|
+
/**
|
|
8
|
+
* Créer un nouveau rendez-vous de visite
|
|
9
|
+
*/
|
|
10
|
+
async create(data) {
|
|
11
|
+
const response = await httpClient.post(API_ENDPOINTS.VISITS.BASE, data);
|
|
12
|
+
return response.data;
|
|
13
|
+
},
|
|
14
|
+
/**
|
|
15
|
+
* Récupérer toutes les visites pour une propriété
|
|
16
|
+
*/
|
|
17
|
+
async getByProperty(propertyId, params) {
|
|
18
|
+
const response = await httpClient.get(API_ENDPOINTS.VISITS.BY_PROPERTY(propertyId), { params });
|
|
19
|
+
return response.data;
|
|
20
|
+
},
|
|
21
|
+
/**
|
|
22
|
+
* Récupérer les visites à venir pour une propriété
|
|
23
|
+
*/
|
|
24
|
+
async getUpcomingByProperty(propertyId) {
|
|
25
|
+
const response = await httpClient.get(API_ENDPOINTS.VISITS.BY_PROPERTY_UPCOMING(propertyId));
|
|
26
|
+
return response.data;
|
|
27
|
+
},
|
|
28
|
+
/**
|
|
29
|
+
* Récupérer toutes les visites de l'utilisateur connecté
|
|
30
|
+
*/
|
|
31
|
+
async getMyVisits() {
|
|
32
|
+
const response = await httpClient.get(API_ENDPOINTS.VISITS.MY_VISITS);
|
|
33
|
+
return response.data;
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Récupérer toutes les visites pour un agent
|
|
37
|
+
*/
|
|
38
|
+
async getByAgent(agentId, params) {
|
|
39
|
+
const response = await httpClient.get(API_ENDPOINTS.VISITS.BY_AGENT(agentId), { params });
|
|
40
|
+
return response.data;
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* Récupérer les visites à venir pour un agent
|
|
44
|
+
*/
|
|
45
|
+
async getUpcomingByAgent(agentId) {
|
|
46
|
+
const response = await httpClient.get(API_ENDPOINTS.VISITS.BY_AGENT_UPCOMING(agentId));
|
|
47
|
+
return response.data;
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* Vérifier la disponibilité d'un créneau pour un agent
|
|
51
|
+
*/
|
|
52
|
+
async checkAvailability(agentId, startTime, durationMinutes = 60) {
|
|
53
|
+
const response = await httpClient.get(API_ENDPOINTS.VISITS.CHECK_AVAILABILITY(agentId), { params: { startTime, durationMinutes } });
|
|
54
|
+
return response.data;
|
|
55
|
+
},
|
|
56
|
+
/**
|
|
57
|
+
* Confirmer un rendez-vous
|
|
58
|
+
*/
|
|
59
|
+
async confirm(id) {
|
|
60
|
+
const response = await httpClient.put(API_ENDPOINTS.VISITS.CONFIRM(id));
|
|
61
|
+
return response.data;
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* Annuler un rendez-vous
|
|
65
|
+
*/
|
|
66
|
+
async cancel(id, reason) {
|
|
67
|
+
const response = await httpClient.put(API_ENDPOINTS.VISITS.CANCEL(id), null, { params: reason ? { reason } : {} });
|
|
68
|
+
return response.data;
|
|
69
|
+
},
|
|
70
|
+
/**
|
|
71
|
+
* Marquer une visite comme complétée
|
|
72
|
+
*/
|
|
73
|
+
async complete(id, agentNotes) {
|
|
74
|
+
const response = await httpClient.put(API_ENDPOINTS.VISITS.COMPLETE(id), null, { params: agentNotes ? { agentNotes } : {} });
|
|
75
|
+
return response.data;
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* Supprimer un rendez-vous
|
|
79
|
+
*/
|
|
80
|
+
async delete(id) {
|
|
81
|
+
await httpClient.delete(API_ENDPOINTS.VISITS.BY_ID(id));
|
|
82
|
+
}
|
|
83
|
+
};
|
|
@@ -21,6 +21,26 @@ export declare const API_ENDPOINTS: {
|
|
|
21
21
|
readonly PRICE_HISTORY_STATS: (id: number) => string;
|
|
22
22
|
readonly PRICE_HISTORY_DELETE: (id: number) => string;
|
|
23
23
|
};
|
|
24
|
+
readonly PRICE_ALERTS: {
|
|
25
|
+
readonly BASE: "/api/price-alerts";
|
|
26
|
+
readonly BY_ID: (id: number) => string;
|
|
27
|
+
readonly MY_ALERTS: "/api/price-alerts/my-alerts";
|
|
28
|
+
readonly BY_PROPERTY: (propertyId: number) => string;
|
|
29
|
+
readonly DEACTIVATE: (id: number) => string;
|
|
30
|
+
};
|
|
31
|
+
readonly VISITS: {
|
|
32
|
+
readonly BASE: "/api/visits";
|
|
33
|
+
readonly BY_ID: (id: number) => string;
|
|
34
|
+
readonly BY_PROPERTY: (propertyId: number) => string;
|
|
35
|
+
readonly BY_PROPERTY_UPCOMING: (propertyId: number) => string;
|
|
36
|
+
readonly MY_VISITS: "/api/visits/my-visits";
|
|
37
|
+
readonly BY_AGENT: (agentId: number) => string;
|
|
38
|
+
readonly BY_AGENT_UPCOMING: (agentId: number) => string;
|
|
39
|
+
readonly CHECK_AVAILABILITY: (agentId: number) => string;
|
|
40
|
+
readonly CONFIRM: (id: number) => string;
|
|
41
|
+
readonly CANCEL: (id: number) => string;
|
|
42
|
+
readonly COMPLETE: (id: number) => string;
|
|
43
|
+
};
|
|
24
44
|
readonly USERS: {
|
|
25
45
|
readonly BASE: "/api/identity/users";
|
|
26
46
|
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;;;;;;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;;;;6BAKT,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"}
|
|
@@ -23,6 +23,28 @@ export const API_ENDPOINTS = {
|
|
|
23
23
|
PRICE_HISTORY_STATS: (id) => `/api/properties/${id}/price-history/stats`,
|
|
24
24
|
PRICE_HISTORY_DELETE: (id) => `/api/properties/price-history/${id}`
|
|
25
25
|
},
|
|
26
|
+
// Price Alerts
|
|
27
|
+
PRICE_ALERTS: {
|
|
28
|
+
BASE: '/api/price-alerts',
|
|
29
|
+
BY_ID: (id) => `/api/price-alerts/${id}`,
|
|
30
|
+
MY_ALERTS: '/api/price-alerts/my-alerts',
|
|
31
|
+
BY_PROPERTY: (propertyId) => `/api/price-alerts/property/${propertyId}`,
|
|
32
|
+
DEACTIVATE: (id) => `/api/price-alerts/${id}/deactivate`
|
|
33
|
+
},
|
|
34
|
+
// Visit Appointments
|
|
35
|
+
VISITS: {
|
|
36
|
+
BASE: '/api/visits',
|
|
37
|
+
BY_ID: (id) => `/api/visits/${id}`,
|
|
38
|
+
BY_PROPERTY: (propertyId) => `/api/visits/property/${propertyId}`,
|
|
39
|
+
BY_PROPERTY_UPCOMING: (propertyId) => `/api/visits/property/${propertyId}/upcoming`,
|
|
40
|
+
MY_VISITS: '/api/visits/my-visits',
|
|
41
|
+
BY_AGENT: (agentId) => `/api/visits/agent/${agentId}`,
|
|
42
|
+
BY_AGENT_UPCOMING: (agentId) => `/api/visits/agent/${agentId}/upcoming`,
|
|
43
|
+
CHECK_AVAILABILITY: (agentId) => `/api/visits/agent/${agentId}/availability`,
|
|
44
|
+
CONFIRM: (id) => `/api/visits/${id}/confirm`,
|
|
45
|
+
CANCEL: (id) => `/api/visits/${id}/cancel`,
|
|
46
|
+
COMPLETE: (id) => `/api/visits/${id}/complete`
|
|
47
|
+
},
|
|
26
48
|
// Users
|
|
27
49
|
USERS: {
|
|
28
50
|
BASE: '/api/identity/users',
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export { contactService } from './api/contact.service';
|
|
|
19
19
|
export type { PaginatedResponse } from './api/contact.service';
|
|
20
20
|
export { reviewService } from './api/review.service';
|
|
21
21
|
export { priceHistoryService } from './api/price-history.service';
|
|
22
|
+
export { priceAlertService } from './api/price-alert.service';
|
|
23
|
+
export { visitAppointmentService } from './api/visit-appointment.service';
|
|
22
24
|
export { TaskStatusEnum } from './types/workflow.types';
|
|
23
25
|
export type { Workflow, WorkflowCreate, WorkflowUpdate, WorkflowSearchParams, Task, TaskCreate, TaskUpdate, TaskSearchParams, TaskApproveParams, TaskRejectParams, TaskStatus } from './types/workflow.types';
|
|
24
26
|
export type { Organization, OrganizationCreate, OrganizationUpdate, OrganizationSearchParams, OrganizationSettings, Team, TeamCreate, TeamUpdate, OrganizationUser } from './api/organization.service';
|
|
@@ -40,6 +42,10 @@ export type * from './types/role.types';
|
|
|
40
42
|
export type * from './types/contact.types';
|
|
41
43
|
export type * from './types/review.types';
|
|
42
44
|
export type * from './types/price-history.types';
|
|
45
|
+
export type * from './types/price-alert.types';
|
|
46
|
+
export type * from './types/visit-appointment.types';
|
|
47
|
+
export type * from './types/price-alert.types';
|
|
48
|
+
export type * from './types/visit-appointment.types';
|
|
43
49
|
export { PropertyType, PropertyStatus } from './types/property.types';
|
|
44
50
|
export { tokenUtils } from './utils/token.utils';
|
|
45
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,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,8 @@ export { roleService } from './api/role.service';
|
|
|
18
18
|
export { contactService } from './api/contact.service';
|
|
19
19
|
export { reviewService } from './api/review.service';
|
|
20
20
|
export { priceHistoryService } from './api/price-history.service';
|
|
21
|
+
export { priceAlertService } from './api/price-alert.service';
|
|
22
|
+
export { visitAppointmentService } from './api/visit-appointment.service';
|
|
21
23
|
export { TaskStatusEnum } from './types/workflow.types';
|
|
22
24
|
// Stores
|
|
23
25
|
export { useAuthStore } from './stores/auth.store';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour les alertes de prix
|
|
3
|
+
*/
|
|
4
|
+
export interface PriceAlert {
|
|
5
|
+
id: number;
|
|
6
|
+
propertyId: number;
|
|
7
|
+
propertyTitle?: string;
|
|
8
|
+
userId: number;
|
|
9
|
+
alertType: PriceAlertType;
|
|
10
|
+
targetPrice?: number;
|
|
11
|
+
percentageThreshold?: number;
|
|
12
|
+
isPercentage: boolean;
|
|
13
|
+
notified: boolean;
|
|
14
|
+
notifiedAt?: string;
|
|
15
|
+
active: boolean;
|
|
16
|
+
emailNotification: boolean;
|
|
17
|
+
inAppNotification: boolean;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PriceAlertCreate {
|
|
22
|
+
propertyId: number;
|
|
23
|
+
alertType: PriceAlertType;
|
|
24
|
+
targetPrice?: number;
|
|
25
|
+
percentageThreshold?: number;
|
|
26
|
+
emailNotification?: boolean;
|
|
27
|
+
inAppNotification?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare enum PriceAlertType {
|
|
30
|
+
PRICE_DROP = "PRICE_DROP",
|
|
31
|
+
PRICE_INCREASE = "PRICE_INCREASE",
|
|
32
|
+
PERCENTAGE_DROP = "PERCENTAGE_DROP",
|
|
33
|
+
PERCENTAGE_INCREASE = "PERCENTAGE_INCREASE"
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=price-alert.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-alert.types.d.ts","sourceRoot":"","sources":["../../types/price-alert.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,cAAc,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,cAAc,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;CAC5C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour les alertes de prix
|
|
3
|
+
*/
|
|
4
|
+
export var PriceAlertType;
|
|
5
|
+
(function (PriceAlertType) {
|
|
6
|
+
PriceAlertType["PRICE_DROP"] = "PRICE_DROP";
|
|
7
|
+
PriceAlertType["PRICE_INCREASE"] = "PRICE_INCREASE";
|
|
8
|
+
PriceAlertType["PERCENTAGE_DROP"] = "PERCENTAGE_DROP";
|
|
9
|
+
PriceAlertType["PERCENTAGE_INCREASE"] = "PERCENTAGE_INCREASE";
|
|
10
|
+
})(PriceAlertType || (PriceAlertType = {}));
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour les rendez-vous de visite
|
|
3
|
+
*/
|
|
4
|
+
export interface VisitAppointment {
|
|
5
|
+
id: number;
|
|
6
|
+
propertyId: number;
|
|
7
|
+
propertyTitle?: string;
|
|
8
|
+
userId?: number;
|
|
9
|
+
agentId: number;
|
|
10
|
+
agentName?: string;
|
|
11
|
+
visitorName?: string;
|
|
12
|
+
visitorEmail?: string;
|
|
13
|
+
visitorPhone?: string;
|
|
14
|
+
appointmentDate: string;
|
|
15
|
+
durationMinutes: number;
|
|
16
|
+
status: VisitStatus;
|
|
17
|
+
notes?: string;
|
|
18
|
+
agentNotes?: string;
|
|
19
|
+
reminderSent: boolean;
|
|
20
|
+
reminderSentAt?: string;
|
|
21
|
+
confirmedAt?: string;
|
|
22
|
+
cancelledAt?: string;
|
|
23
|
+
cancellationReason?: string;
|
|
24
|
+
createdAt: string;
|
|
25
|
+
updatedAt?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface VisitAppointmentCreate {
|
|
28
|
+
propertyId: number;
|
|
29
|
+
agentId: number;
|
|
30
|
+
appointmentDate: string;
|
|
31
|
+
durationMinutes?: number;
|
|
32
|
+
visitorName?: string;
|
|
33
|
+
visitorEmail?: string;
|
|
34
|
+
visitorPhone?: string;
|
|
35
|
+
notes?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare enum VisitStatus {
|
|
38
|
+
PENDING = "PENDING",
|
|
39
|
+
CONFIRMED = "CONFIRMED",
|
|
40
|
+
CANCELLED = "CANCELLED",
|
|
41
|
+
COMPLETED = "COMPLETED",
|
|
42
|
+
NO_SHOW = "NO_SHOW"
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=visit-appointment.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visit-appointment.types.d.ts","sourceRoot":"","sources":["../../types/visit-appointment.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour les rendez-vous de visite
|
|
3
|
+
*/
|
|
4
|
+
export var VisitStatus;
|
|
5
|
+
(function (VisitStatus) {
|
|
6
|
+
VisitStatus["PENDING"] = "PENDING";
|
|
7
|
+
VisitStatus["CONFIRMED"] = "CONFIRMED";
|
|
8
|
+
VisitStatus["CANCELLED"] = "CANCELLED";
|
|
9
|
+
VisitStatus["COMPLETED"] = "COMPLETED";
|
|
10
|
+
VisitStatus["NO_SHOW"] = "NO_SHOW";
|
|
11
|
+
})(VisitStatus || (VisitStatus = {}));
|