@greatapps/common 1.1.247 → 1.1.248
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/modules/subscriptions/actions/calculate-subscription.action.mjs +1 -18
- package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
- package/dist/modules/subscriptions/types/subscription.type.mjs +57 -0
- package/dist/modules/subscriptions/types/subscription.type.mjs.map +1 -0
- package/package.json +1 -1
- package/src/modules/subscriptions/actions/calculate-subscription.action.ts +1 -24
- package/src/modules/subscriptions/types/subscription.type.ts +67 -0
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
"use server";
|
|
2
2
|
import { safeServerAction } from "../../../utils/safeServerAction";
|
|
3
3
|
import { subscriptionsService } from "../services/subscriptions.service";
|
|
4
|
-
import { resolvePlanExtrasPrices } from "../utils/resolve-plan-extras-prices";
|
|
5
4
|
async function calculateSubscriptionAction(data) {
|
|
6
|
-
return safeServerAction(
|
|
7
|
-
if (data.plan_extras?.length) {
|
|
8
|
-
let subscriptionItems = [];
|
|
9
|
-
if (data.id_subscription) {
|
|
10
|
-
const { data: subscriptions } = await subscriptionsService.listSubscriptions({
|
|
11
|
-
active: true
|
|
12
|
-
});
|
|
13
|
-
const subscription = subscriptions.find((s) => String(s.id) === String(data.id_subscription)) ?? subscriptions[0];
|
|
14
|
-
subscriptionItems = subscription?.items ?? [];
|
|
15
|
-
}
|
|
16
|
-
data = {
|
|
17
|
-
...data,
|
|
18
|
-
plan_extras: resolvePlanExtrasPrices(data.plan_extras, subscriptionItems)
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
return subscriptionsService.calculateSubscription(data);
|
|
22
|
-
});
|
|
5
|
+
return safeServerAction(() => subscriptionsService.calculateSubscription(data));
|
|
23
6
|
}
|
|
24
7
|
export {
|
|
25
8
|
calculateSubscriptionAction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/modules/subscriptions/actions/calculate-subscription.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport type { CalculateSubscriptionRequest } from '../types/calculate-subscription.type';\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/subscriptions/actions/calculate-subscription.action.ts"],"sourcesContent":["'use server';\n\nimport { safeServerAction } from '../../../utils/safeServerAction';\nimport type { CalculateSubscriptionRequest } from '../types/calculate-subscription.type';\nimport { subscriptionsService } from '../services/subscriptions.service';\n\nexport async function calculateSubscriptionAction(data: CalculateSubscriptionRequest) {\n return safeServerAction(() => subscriptionsService.calculateSubscription(data));\n}\n"],"mappings":";AAEA,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AAErC,eAAsB,4BAA4B,MAAoC;AACpF,SAAO,iBAAiB,MAAM,qBAAqB,sBAAsB,IAAI,CAAC;AAChF;","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
const SubscriptionItemSchema = z.object({
|
|
3
|
+
id: z.union([z.number(), z.string()]),
|
|
4
|
+
deleted: z.number(),
|
|
5
|
+
datetime_alt: z.coerce.date().nullable().optional(),
|
|
6
|
+
datetime_del: z.coerce.date().nullable().optional(),
|
|
7
|
+
datetime_add: z.coerce.date(),
|
|
8
|
+
id_wl: z.number(),
|
|
9
|
+
id_subscription: z.union([z.number(), z.string()]),
|
|
10
|
+
id_addon: z.number().nullable(),
|
|
11
|
+
addon_name: z.string().optional(),
|
|
12
|
+
value: z.number(),
|
|
13
|
+
currency: z.string(),
|
|
14
|
+
quantity: z.number(),
|
|
15
|
+
payment_status: z.number(),
|
|
16
|
+
id_charge: z.union([z.number(), z.string()]).nullable(),
|
|
17
|
+
trial: z.boolean(),
|
|
18
|
+
trial_ends_at: z.coerce.date().nullable().optional()
|
|
19
|
+
});
|
|
20
|
+
const SubscriptionSchema = z.object({
|
|
21
|
+
id: z.union([z.number(), z.string()]),
|
|
22
|
+
deleted: z.number(),
|
|
23
|
+
datetime_alt: z.coerce.date().nullable().optional(),
|
|
24
|
+
datetime_del: z.coerce.date().nullable().optional(),
|
|
25
|
+
datetime_add: z.coerce.date(),
|
|
26
|
+
id_wl: z.number(),
|
|
27
|
+
id_account: z.union([z.number(), z.string()]),
|
|
28
|
+
id_card: z.union([z.number(), z.string()]).nullable(),
|
|
29
|
+
id_coupon: z.union([z.number(), z.string()]).nullable(),
|
|
30
|
+
type: z.string(),
|
|
31
|
+
payment_method: z.number().nullable(),
|
|
32
|
+
periodicity: z.union([z.number(), z.string()]).nullable(),
|
|
33
|
+
value: z.number().nullable(),
|
|
34
|
+
id_product: z.number(),
|
|
35
|
+
id_plan: z.number(),
|
|
36
|
+
plan_name: z.string().nullable().optional(),
|
|
37
|
+
id_gateway: z.union([z.number(), z.string()]).nullable(),
|
|
38
|
+
gateway_account: z.string().nullable(),
|
|
39
|
+
date_hiring: z.coerce.date().nullable(),
|
|
40
|
+
date_due: z.coerce.date(),
|
|
41
|
+
date_cancellation: z.coerce.date().nullable(),
|
|
42
|
+
date_verification: z.coerce.date().nullable(),
|
|
43
|
+
cancellation_reason: z.string().nullable(),
|
|
44
|
+
cancellation_description: z.string().nullable(),
|
|
45
|
+
active: z.boolean(),
|
|
46
|
+
charged: z.boolean(),
|
|
47
|
+
datetime_last_update_periodicity: z.coerce.date().nullable().optional(),
|
|
48
|
+
card_name: z.string().nullable().optional(),
|
|
49
|
+
card_brand: z.string().nullable().optional(),
|
|
50
|
+
card_number: z.string().nullable().optional(),
|
|
51
|
+
items: z.array(SubscriptionItemSchema)
|
|
52
|
+
});
|
|
53
|
+
export {
|
|
54
|
+
SubscriptionItemSchema,
|
|
55
|
+
SubscriptionSchema
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=subscription.type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/subscriptions/types/subscription.type.ts"],"sourcesContent":["import z from 'zod';\r\n\r\nexport const SubscriptionItemSchema = z.object({\r\n id: z.union([z.number(), z.string()]),\r\n deleted: z.number(),\r\n datetime_alt: z.coerce.date().nullable().optional(),\r\n datetime_del: z.coerce.date().nullable().optional(),\r\n datetime_add: z.coerce.date(),\r\n id_wl: z.number(),\r\n id_subscription: z.union([z.number(), z.string()]),\r\n id_addon: z.number().nullable(),\r\n addon_name: z.string().optional(),\r\n value: z.number(),\r\n currency: z.string(),\r\n quantity: z.number(),\r\n payment_status: z.number(),\r\n id_charge: z.union([z.number(), z.string()]).nullable(),\r\n trial: z.boolean(),\r\n trial_ends_at: z.coerce.date().nullable().optional(),\r\n});\r\n\r\nexport type SubscriptionItem = z.infer<typeof SubscriptionItemSchema>;\r\n\r\nexport const SubscriptionSchema = z.object({\r\n id: z.union([z.number(), z.string()]),\r\n deleted: z.number(),\r\n datetime_alt: z.coerce.date().nullable().optional(),\r\n datetime_del: z.coerce.date().nullable().optional(),\r\n datetime_add: z.coerce.date(),\r\n id_wl: z.number(),\r\n id_account: z.union([z.number(), z.string()]),\r\n id_card: z.union([z.number(), z.string()]).nullable(),\r\n id_coupon: z.union([z.number(), z.string()]).nullable(),\r\n type: z.string(),\r\n payment_method: z.number().nullable(),\r\n periodicity: z.union([z.number(), z.string()]).nullable(),\r\n value: z.number().nullable(),\r\n id_product: z.number(),\r\n id_plan: z.number(),\r\n plan_name: z.string().nullable().optional(),\r\n id_gateway: z.union([z.number(), z.string()]).nullable(),\r\n gateway_account: z.string().nullable(),\r\n date_hiring: z.coerce.date().nullable(),\r\n date_due: z.coerce.date(),\r\n date_cancellation: z.coerce.date().nullable(),\r\n date_verification: z.coerce.date().nullable(),\r\n cancellation_reason: z.string().nullable(),\r\n cancellation_description: z.string().nullable(),\r\n active: z.boolean(),\r\n charged: z.boolean(),\r\n datetime_last_update_periodicity: z.coerce.date().nullable().optional(),\r\n card_name: z.string().nullable().optional(),\r\n card_brand: z.string().nullable().optional(),\r\n card_number: z.string().nullable().optional(),\r\n items: z.array(SubscriptionItemSchema),\r\n});\r\n\r\nexport type Subscription = z.infer<typeof SubscriptionSchema>;\r\n\r\nexport interface FindSubscriptionsParams {\r\n active?: boolean;\r\n trial?: boolean;\r\n date_start?: string;\r\n date_end?: string;\r\n date_hiring_start?: string;\r\n date_hiring_end?: string;\r\n}\r\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -2,31 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
4
|
import type { CalculateSubscriptionRequest } from '../types/calculate-subscription.type';
|
|
5
|
-
import type { SubscriptionItem } from '../types';
|
|
6
5
|
import { subscriptionsService } from '../services/subscriptions.service';
|
|
7
|
-
import { resolvePlanExtrasPrices } from '../utils/resolve-plan-extras-prices';
|
|
8
6
|
|
|
9
7
|
export async function calculateSubscriptionAction(data: CalculateSubscriptionRequest) {
|
|
10
|
-
return safeServerAction(
|
|
11
|
-
if (data.plan_extras?.length) {
|
|
12
|
-
let subscriptionItems: SubscriptionItem[] = [];
|
|
13
|
-
|
|
14
|
-
if (data.id_subscription) {
|
|
15
|
-
const { data: subscriptions } = await subscriptionsService.listSubscriptions({
|
|
16
|
-
active: true,
|
|
17
|
-
});
|
|
18
|
-
const subscription =
|
|
19
|
-
subscriptions.find((s) => String(s.id) === String(data.id_subscription)) ??
|
|
20
|
-
subscriptions[0];
|
|
21
|
-
subscriptionItems = subscription?.items ?? [];
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
data = {
|
|
25
|
-
...data,
|
|
26
|
-
plan_extras: resolvePlanExtrasPrices(data.plan_extras, subscriptionItems),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return subscriptionsService.calculateSubscription(data);
|
|
31
|
-
});
|
|
8
|
+
return safeServerAction(() => subscriptionsService.calculateSubscription(data));
|
|
32
9
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
|
|
3
|
+
export const SubscriptionItemSchema = z.object({
|
|
4
|
+
id: z.union([z.number(), z.string()]),
|
|
5
|
+
deleted: z.number(),
|
|
6
|
+
datetime_alt: z.coerce.date().nullable().optional(),
|
|
7
|
+
datetime_del: z.coerce.date().nullable().optional(),
|
|
8
|
+
datetime_add: z.coerce.date(),
|
|
9
|
+
id_wl: z.number(),
|
|
10
|
+
id_subscription: z.union([z.number(), z.string()]),
|
|
11
|
+
id_addon: z.number().nullable(),
|
|
12
|
+
addon_name: z.string().optional(),
|
|
13
|
+
value: z.number(),
|
|
14
|
+
currency: z.string(),
|
|
15
|
+
quantity: z.number(),
|
|
16
|
+
payment_status: z.number(),
|
|
17
|
+
id_charge: z.union([z.number(), z.string()]).nullable(),
|
|
18
|
+
trial: z.boolean(),
|
|
19
|
+
trial_ends_at: z.coerce.date().nullable().optional(),
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export type SubscriptionItem = z.infer<typeof SubscriptionItemSchema>;
|
|
23
|
+
|
|
24
|
+
export const SubscriptionSchema = z.object({
|
|
25
|
+
id: z.union([z.number(), z.string()]),
|
|
26
|
+
deleted: z.number(),
|
|
27
|
+
datetime_alt: z.coerce.date().nullable().optional(),
|
|
28
|
+
datetime_del: z.coerce.date().nullable().optional(),
|
|
29
|
+
datetime_add: z.coerce.date(),
|
|
30
|
+
id_wl: z.number(),
|
|
31
|
+
id_account: z.union([z.number(), z.string()]),
|
|
32
|
+
id_card: z.union([z.number(), z.string()]).nullable(),
|
|
33
|
+
id_coupon: z.union([z.number(), z.string()]).nullable(),
|
|
34
|
+
type: z.string(),
|
|
35
|
+
payment_method: z.number().nullable(),
|
|
36
|
+
periodicity: z.union([z.number(), z.string()]).nullable(),
|
|
37
|
+
value: z.number().nullable(),
|
|
38
|
+
id_product: z.number(),
|
|
39
|
+
id_plan: z.number(),
|
|
40
|
+
plan_name: z.string().nullable().optional(),
|
|
41
|
+
id_gateway: z.union([z.number(), z.string()]).nullable(),
|
|
42
|
+
gateway_account: z.string().nullable(),
|
|
43
|
+
date_hiring: z.coerce.date().nullable(),
|
|
44
|
+
date_due: z.coerce.date(),
|
|
45
|
+
date_cancellation: z.coerce.date().nullable(),
|
|
46
|
+
date_verification: z.coerce.date().nullable(),
|
|
47
|
+
cancellation_reason: z.string().nullable(),
|
|
48
|
+
cancellation_description: z.string().nullable(),
|
|
49
|
+
active: z.boolean(),
|
|
50
|
+
charged: z.boolean(),
|
|
51
|
+
datetime_last_update_periodicity: z.coerce.date().nullable().optional(),
|
|
52
|
+
card_name: z.string().nullable().optional(),
|
|
53
|
+
card_brand: z.string().nullable().optional(),
|
|
54
|
+
card_number: z.string().nullable().optional(),
|
|
55
|
+
items: z.array(SubscriptionItemSchema),
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
export type Subscription = z.infer<typeof SubscriptionSchema>;
|
|
59
|
+
|
|
60
|
+
export interface FindSubscriptionsParams {
|
|
61
|
+
active?: boolean;
|
|
62
|
+
trial?: boolean;
|
|
63
|
+
date_start?: string;
|
|
64
|
+
date_end?: string;
|
|
65
|
+
date_hiring_start?: string;
|
|
66
|
+
date_hiring_end?: string;
|
|
67
|
+
}
|