@viridial/shared 1.0.37 → 1.0.39
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/plan.service.d.ts +35 -0
- package/dist/api/plan.service.d.ts.map +1 -0
- package/dist/api/plan.service.js +70 -0
- package/dist/types/billing.types.d.ts +33 -2
- package/dist/types/billing.types.d.ts.map +1 -1
- package/dist/types/workflow.types.d.ts +2 -0
- package/dist/types/workflow.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Plan, PlanCreate, PlanUpdate } from '../types/billing.types';
|
|
2
|
+
/**
|
|
3
|
+
* Service de gestion des plans d'abonnement
|
|
4
|
+
*/
|
|
5
|
+
export declare const planService: {
|
|
6
|
+
/**
|
|
7
|
+
* Récupérer tous les plans
|
|
8
|
+
*/
|
|
9
|
+
getAll(activeOnly?: boolean): Promise<Plan[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Récupérer un plan par ID
|
|
12
|
+
*/
|
|
13
|
+
getById(id: number): Promise<Plan>;
|
|
14
|
+
/**
|
|
15
|
+
* Récupérer un plan par nom
|
|
16
|
+
*/
|
|
17
|
+
getByName(name: string): Promise<Plan>;
|
|
18
|
+
/**
|
|
19
|
+
* Récupérer le plan par défaut
|
|
20
|
+
*/
|
|
21
|
+
getDefault(): Promise<Plan>;
|
|
22
|
+
/**
|
|
23
|
+
* Créer un plan
|
|
24
|
+
*/
|
|
25
|
+
create(data: PlanCreate): Promise<Plan>;
|
|
26
|
+
/**
|
|
27
|
+
* Mettre à jour un plan
|
|
28
|
+
*/
|
|
29
|
+
update(id: number, data: PlanUpdate): Promise<Plan>;
|
|
30
|
+
/**
|
|
31
|
+
* Supprimer un plan
|
|
32
|
+
*/
|
|
33
|
+
delete(id: number): Promise<void>;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=plan.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.service.d.ts","sourceRoot":"","sources":["../../api/plan.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;wBACuB,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAYnD;;OAEG;gBACe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC;;OAEG;oBACmB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;kBACiB,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;iBACgB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C;;OAEG;eACc,MAAM,QAAQ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzD;;OAEG;eACc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { httpClient } from './http.client';
|
|
2
|
+
import { API_ENDPOINTS } from '../constants/api.constants';
|
|
3
|
+
/**
|
|
4
|
+
* Service de gestion des plans d'abonnement
|
|
5
|
+
*/
|
|
6
|
+
export const planService = {
|
|
7
|
+
/**
|
|
8
|
+
* Récupérer tous les plans
|
|
9
|
+
*/
|
|
10
|
+
async getAll(activeOnly) {
|
|
11
|
+
const response = await httpClient.get(API_ENDPOINTS.BILLING.PLANS.BASE);
|
|
12
|
+
let plans = response.data || [];
|
|
13
|
+
// Filtrer par actif si demandé
|
|
14
|
+
if (activeOnly) {
|
|
15
|
+
plans = plans.filter(plan => plan.active);
|
|
16
|
+
}
|
|
17
|
+
return plans;
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* Récupérer un plan par ID
|
|
21
|
+
*/
|
|
22
|
+
async getById(id) {
|
|
23
|
+
const response = await httpClient.get(API_ENDPOINTS.BILLING.PLANS.BY_ID(id));
|
|
24
|
+
return response.data;
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Récupérer un plan par nom
|
|
28
|
+
*/
|
|
29
|
+
async getByName(name) {
|
|
30
|
+
const response = await httpClient.get(API_ENDPOINTS.BILLING.PLANS.BY_NAME(name));
|
|
31
|
+
return response.data;
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* Récupérer le plan par défaut
|
|
35
|
+
*/
|
|
36
|
+
async getDefault() {
|
|
37
|
+
const response = await httpClient.get(API_ENDPOINTS.BILLING.PLANS.DEFAULT);
|
|
38
|
+
return response.data;
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* Créer un plan
|
|
42
|
+
*/
|
|
43
|
+
async create(data) {
|
|
44
|
+
// Convertir features en JSON string si c'est un tableau
|
|
45
|
+
const planData = { ...data };
|
|
46
|
+
if (Array.isArray(planData.features)) {
|
|
47
|
+
planData.features = JSON.stringify(planData.features);
|
|
48
|
+
}
|
|
49
|
+
const response = await httpClient.post(API_ENDPOINTS.BILLING.PLANS.BASE, planData);
|
|
50
|
+
return response.data;
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* Mettre à jour un plan
|
|
54
|
+
*/
|
|
55
|
+
async update(id, data) {
|
|
56
|
+
// Convertir features en JSON string si c'est un tableau
|
|
57
|
+
const planData = { ...data };
|
|
58
|
+
if (Array.isArray(planData.features)) {
|
|
59
|
+
planData.features = JSON.stringify(planData.features);
|
|
60
|
+
}
|
|
61
|
+
const response = await httpClient.put(API_ENDPOINTS.BILLING.PLANS.BY_ID(id), planData);
|
|
62
|
+
return response.data;
|
|
63
|
+
},
|
|
64
|
+
/**
|
|
65
|
+
* Supprimer un plan
|
|
66
|
+
*/
|
|
67
|
+
async delete(id) {
|
|
68
|
+
await httpClient.delete(API_ENDPOINTS.BILLING.PLANS.BY_ID(id));
|
|
69
|
+
}
|
|
70
|
+
};
|
|
@@ -39,10 +39,41 @@ export interface Plan {
|
|
|
39
39
|
description?: string;
|
|
40
40
|
price: number;
|
|
41
41
|
currency: string;
|
|
42
|
-
|
|
42
|
+
billingPeriod: 'MONTHLY' | 'YEARLY';
|
|
43
|
+
maxProperties?: number;
|
|
44
|
+
maxUsers?: number;
|
|
45
|
+
maxStorageGb?: number;
|
|
43
46
|
features?: string[] | string;
|
|
44
|
-
quotas?: Record<string, number>;
|
|
45
47
|
active: boolean;
|
|
48
|
+
isDefault?: boolean;
|
|
49
|
+
createdAt?: string;
|
|
50
|
+
updatedAt?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface PlanCreate {
|
|
53
|
+
name: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
price: number;
|
|
56
|
+
currency?: string;
|
|
57
|
+
billingPeriod?: 'MONTHLY' | 'YEARLY';
|
|
58
|
+
maxProperties?: number;
|
|
59
|
+
maxUsers?: number;
|
|
60
|
+
maxStorageGb?: number;
|
|
61
|
+
features?: string[] | string;
|
|
62
|
+
active?: boolean;
|
|
63
|
+
isDefault?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface PlanUpdate {
|
|
66
|
+
name?: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
price?: number;
|
|
69
|
+
currency?: string;
|
|
70
|
+
billingPeriod?: 'MONTHLY' | 'YEARLY';
|
|
71
|
+
maxProperties?: number;
|
|
72
|
+
maxUsers?: number;
|
|
73
|
+
maxStorageGb?: number;
|
|
74
|
+
features?: string[] | string;
|
|
75
|
+
active?: boolean;
|
|
76
|
+
isDefault?: boolean;
|
|
46
77
|
}
|
|
47
78
|
export interface BillingStats {
|
|
48
79
|
activeSubscriptions: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.types.d.ts","sourceRoot":"","sources":["../../types/billing.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;IACtD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"billing.types.d.ts","sourceRoot":"","sources":["../../types/billing.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export interface Workflow {
|
|
|
13
13
|
requiredRoles?: string;
|
|
14
14
|
active: boolean;
|
|
15
15
|
isDefault: boolean;
|
|
16
|
+
status?: string;
|
|
16
17
|
createdAt: string;
|
|
17
18
|
updatedAt?: string;
|
|
18
19
|
}
|
|
@@ -38,6 +39,7 @@ export interface WorkflowUpdate {
|
|
|
38
39
|
requiredRoles?: string;
|
|
39
40
|
active?: boolean;
|
|
40
41
|
isDefault?: boolean;
|
|
42
|
+
status?: string;
|
|
41
43
|
}
|
|
42
44
|
export interface WorkflowSearchParams {
|
|
43
45
|
organizationId?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.types.d.ts","sourceRoot":"","sources":["../../types/workflow.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"workflow.types.d.ts","sourceRoot":"","sources":["../../types/workflow.types.ts"],"names":[],"mappings":"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"}
|