@unchainedshop/api 4.0.0-rc.10 → 4.0.0-rc.12
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/lib/mcp/index.d.ts.map +1 -1
- package/lib/mcp/index.js +6 -0
- package/lib/mcp/index.js.map +1 -1
- package/lib/mcp/tools/delivery/createDeliveryProviderHandler.d.ts +44 -0
- package/lib/mcp/tools/delivery/createDeliveryProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/createDeliveryProviderHandler.js +50 -0
- package/lib/mcp/tools/delivery/createDeliveryProviderHandler.js.map +1 -0
- package/lib/mcp/tools/delivery/deliveryInterfacesHandler.d.ts +20 -0
- package/lib/mcp/tools/delivery/deliveryInterfacesHandler.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/deliveryInterfacesHandler.js +45 -0
- package/lib/mcp/tools/delivery/deliveryInterfacesHandler.js.map +1 -0
- package/lib/mcp/tools/delivery/deliveryProvider.d.ts +20 -0
- package/lib/mcp/tools/delivery/deliveryProvider.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/deliveryProvider.js +43 -0
- package/lib/mcp/tools/delivery/deliveryProvider.js.map +1 -0
- package/lib/mcp/tools/delivery/deliveryProvidersCountHandler.d.ts +20 -0
- package/lib/mcp/tools/delivery/deliveryProvidersCountHandler.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/deliveryProvidersCountHandler.js +36 -0
- package/lib/mcp/tools/delivery/deliveryProvidersCountHandler.js.map +1 -0
- package/lib/mcp/tools/delivery/deliveryProvidersListHandler.d.ts +24 -0
- package/lib/mcp/tools/delivery/deliveryProvidersListHandler.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/deliveryProvidersListHandler.js +44 -0
- package/lib/mcp/tools/delivery/deliveryProvidersListHandler.js.map +1 -0
- package/lib/mcp/tools/delivery/index.d.ts +4 -0
- package/lib/mcp/tools/delivery/index.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/index.js +17 -0
- package/lib/mcp/tools/delivery/index.js.map +1 -0
- package/lib/mcp/tools/delivery/removeDeliveryProviderHandler.d.ts +20 -0
- package/lib/mcp/tools/delivery/removeDeliveryProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/removeDeliveryProviderHandler.js +37 -0
- package/lib/mcp/tools/delivery/removeDeliveryProviderHandler.js.map +1 -0
- package/lib/mcp/tools/delivery/updateDeliveryProviderHandler.d.ts +96 -0
- package/lib/mcp/tools/delivery/updateDeliveryProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/delivery/updateDeliveryProviderHandler.js +54 -0
- package/lib/mcp/tools/delivery/updateDeliveryProviderHandler.js.map +1 -0
- package/lib/mcp/tools/order/getMonthlySalesBreakdownHandler.d.ts +36 -0
- package/lib/mcp/tools/order/getMonthlySalesBreakdownHandler.d.ts.map +1 -0
- package/lib/mcp/tools/order/getMonthlySalesBreakdownHandler.js +89 -0
- package/lib/mcp/tools/order/getMonthlySalesBreakdownHandler.js.map +1 -0
- package/lib/mcp/tools/order/getSalesSummaryHandler.d.ts +40 -0
- package/lib/mcp/tools/order/getSalesSummaryHandler.d.ts.map +1 -0
- package/lib/mcp/tools/order/getSalesSummaryHandler.js +90 -0
- package/lib/mcp/tools/order/getSalesSummaryHandler.js.map +1 -0
- package/lib/mcp/tools/order/getTopCustomersHandler.d.ts +52 -0
- package/lib/mcp/tools/order/getTopCustomersHandler.d.ts.map +1 -0
- package/lib/mcp/tools/order/getTopCustomersHandler.js +114 -0
- package/lib/mcp/tools/order/getTopCustomersHandler.js.map +1 -0
- package/lib/mcp/tools/order/getTopSellingProductsHandler.d.ts +28 -0
- package/lib/mcp/tools/order/getTopSellingProductsHandler.d.ts.map +1 -0
- package/lib/mcp/tools/order/getTopSellingProductsHandler.js +99 -0
- package/lib/mcp/tools/order/getTopSellingProductsHandler.js.map +1 -0
- package/lib/mcp/tools/order/index.d.ts +4 -0
- package/lib/mcp/tools/order/index.d.ts.map +1 -0
- package/lib/mcp/tools/order/index.js +13 -0
- package/lib/mcp/tools/order/index.js.map +1 -0
- package/lib/mcp/tools/order/ordersListHandler.d.ts +108 -0
- package/lib/mcp/tools/order/ordersListHandler.d.ts.map +1 -0
- package/lib/mcp/tools/order/ordersListHandler.js +91 -0
- package/lib/mcp/tools/order/ordersListHandler.js.map +1 -0
- package/lib/mcp/tools/payment/createPaymentProviderHandler.d.ts.map +1 -1
- package/lib/mcp/tools/payment/createPaymentProviderHandler.js +5 -2
- package/lib/mcp/tools/payment/createPaymentProviderHandler.js.map +1 -1
- package/lib/mcp/tools/payment/index.js +1 -1
- package/lib/mcp/tools/payment/index.js.map +1 -1
- package/lib/mcp/tools/payment/paymentInterfacesHandler.d.ts +2 -2
- package/lib/mcp/tools/payment/paymentInterfacesHandler.d.ts.map +1 -1
- package/lib/mcp/tools/payment/paymentInterfacesHandler.js +7 -5
- package/lib/mcp/tools/payment/paymentInterfacesHandler.js.map +1 -1
- package/lib/mcp/tools/payment/paymentProviderByIdHandler.js +1 -1
- package/lib/mcp/tools/payment/paymentProviderByIdHandler.js.map +1 -1
- package/lib/mcp/tools/payment/paymentProvidersListHandler.d.ts +4 -0
- package/lib/mcp/tools/payment/paymentProvidersListHandler.d.ts.map +1 -1
- package/lib/mcp/tools/payment/paymentProvidersListHandler.js +12 -3
- package/lib/mcp/tools/payment/paymentProvidersListHandler.js.map +1 -1
- package/lib/mcp/tools/payment/removePaymentProviderHandler.d.ts.map +1 -1
- package/lib/mcp/tools/payment/removePaymentProviderHandler.js +5 -4
- package/lib/mcp/tools/payment/removePaymentProviderHandler.js.map +1 -1
- package/lib/mcp/tools/payment/updatePaymentProviderHandler.d.ts +66 -10
- package/lib/mcp/tools/payment/updatePaymentProviderHandler.d.ts.map +1 -1
- package/lib/mcp/tools/payment/updatePaymentProviderHandler.js +18 -3
- package/lib/mcp/tools/payment/updatePaymentProviderHandler.js.map +1 -1
- package/lib/mcp/tools/warehousing/createWarehousingProviderHandler.d.ts +44 -0
- package/lib/mcp/tools/warehousing/createWarehousingProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/createWarehousingProviderHandler.js +48 -0
- package/lib/mcp/tools/warehousing/createWarehousingProviderHandler.js.map +1 -0
- package/lib/mcp/tools/warehousing/index.d.ts +4 -0
- package/lib/mcp/tools/warehousing/index.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/index.js +17 -0
- package/lib/mcp/tools/warehousing/index.js.map +1 -0
- package/lib/mcp/tools/warehousing/removeWarehousingProviderHandler.d.ts +20 -0
- package/lib/mcp/tools/warehousing/removeWarehousingProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/removeWarehousingProviderHandler.js +39 -0
- package/lib/mcp/tools/warehousing/removeWarehousingProviderHandler.js.map +1 -0
- package/lib/mcp/tools/warehousing/updateWarehousingProviderHandler.d.ts +96 -0
- package/lib/mcp/tools/warehousing/updateWarehousingProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/updateWarehousingProviderHandler.js +58 -0
- package/lib/mcp/tools/warehousing/updateWarehousingProviderHandler.js.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingInterfacesHandler.d.ts +20 -0
- package/lib/mcp/tools/warehousing/warehousingInterfacesHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingInterfacesHandler.js +45 -0
- package/lib/mcp/tools/warehousing/warehousingInterfacesHandler.js.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingProviderHandler.d.ts +20 -0
- package/lib/mcp/tools/warehousing/warehousingProviderHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingProviderHandler.js +45 -0
- package/lib/mcp/tools/warehousing/warehousingProviderHandler.js.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersCountHandler.d.ts +20 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersCountHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersCountHandler.js +36 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersCountHandler.js.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersListHandler.d.ts +24 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersListHandler.d.ts.map +1 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersListHandler.js +44 -0
- package/lib/mcp/tools/warehousing/warehousingProvidersListHandler.js.map +1 -0
- package/lib/mcp/utils/orderFilters.d.ts +22 -0
- package/lib/mcp/utils/orderFilters.d.ts.map +1 -0
- package/lib/mcp/utils/orderFilters.js +34 -0
- package/lib/mcp/utils/orderFilters.js.map +1 -0
- package/lib/mcp/utils/sharedSchemas.d.ts +11 -0
- package/lib/mcp/utils/sharedSchemas.d.ts.map +1 -0
- package/lib/mcp/utils/sharedSchemas.js +11 -0
- package/lib/mcp/utils/sharedSchemas.js.map +1 -0
- package/lib/resolvers/queries/delivery/deliveryInterfaces.d.ts +2 -2
- package/lib/resolvers/queries/delivery/deliveryInterfaces.d.ts.map +1 -1
- package/lib/resolvers/queries/delivery/deliveryInterfaces.js +6 -4
- package/lib/resolvers/queries/delivery/deliveryInterfaces.js.map +1 -1
- package/lib/resolvers/queries/orders/orders.d.ts.map +1 -1
- package/lib/resolvers/queries/orders/orders.js +21 -4
- package/lib/resolvers/queries/orders/orders.js.map +1 -1
- package/lib/resolvers/queries/orders/ordersCount.d.ts.map +1 -1
- package/lib/resolvers/queries/orders/ordersCount.js +17 -1
- package/lib/resolvers/queries/orders/ordersCount.js.map +1 -1
- package/lib/resolvers/queries/payment/paymentInterfaces.d.ts.map +1 -1
- package/lib/resolvers/queries/payment/paymentInterfaces.js +5 -3
- package/lib/resolvers/queries/payment/paymentInterfaces.js.map +1 -1
- package/lib/resolvers/queries/warehousing/warehousingInterfaces.d.ts.map +1 -1
- package/lib/resolvers/queries/warehousing/warehousingInterfaces.js +5 -3
- package/lib/resolvers/queries/warehousing/warehousingInterfaces.js.map +1 -1
- package/lib/schema/query.d.ts.map +1 -1
- package/lib/schema/query.js +14 -4
- package/lib/schema/query.js.map +1 -1
- package/package.json +1 -1
- package/src/mcp/index.ts +6 -1
- package/src/mcp/tools/delivery/createDeliveryProviderHandler.ts +62 -0
- package/src/mcp/tools/delivery/deliveryInterfacesHandler.ts +56 -0
- package/src/mcp/tools/delivery/deliveryProvider.ts +51 -0
- package/src/mcp/tools/delivery/deliveryProvidersCountHandler.ts +46 -0
- package/src/mcp/tools/delivery/deliveryProvidersListHandler.ts +54 -0
- package/src/mcp/tools/delivery/index.ts +74 -0
- package/src/mcp/tools/delivery/removeDeliveryProviderHandler.ts +45 -0
- package/src/mcp/tools/delivery/updateDeliveryProviderHandler.ts +68 -0
- package/src/mcp/tools/order/getMonthlySalesBreakdownHandler.ts +106 -0
- package/src/mcp/tools/order/getSalesSummaryHandler.ts +103 -0
- package/src/mcp/tools/order/getTopCustomersHandler.ts +124 -0
- package/src/mcp/tools/order/getTopSellingProductsHandler.ts +112 -0
- package/src/mcp/tools/order/index.ts +50 -0
- package/src/mcp/tools/order/ordersListHandler.ts +119 -0
- package/src/mcp/tools/payment/createPaymentProviderHandler.ts +7 -2
- package/src/mcp/tools/payment/index.ts +1 -1
- package/src/mcp/tools/payment/paymentInterfacesHandler.ts +13 -10
- package/src/mcp/tools/payment/paymentProviderByIdHandler.ts +1 -1
- package/src/mcp/tools/payment/paymentProvidersListHandler.ts +14 -4
- package/src/mcp/tools/payment/removePaymentProviderHandler.ts +6 -8
- package/src/mcp/tools/payment/updatePaymentProviderHandler.ts +23 -4
- package/src/mcp/tools/warehousing/createWarehousingProviderHandler.ts +61 -0
- package/src/mcp/tools/warehousing/index.ts +81 -0
- package/src/mcp/tools/warehousing/removeWarehousingProviderHandler.ts +46 -0
- package/src/mcp/tools/warehousing/updateWarehousingProviderHandler.ts +72 -0
- package/src/mcp/tools/warehousing/warehousingInterfacesHandler.ts +58 -0
- package/src/mcp/tools/warehousing/warehousingProviderHandler.ts +55 -0
- package/src/mcp/tools/warehousing/warehousingProvidersCountHandler.ts +46 -0
- package/src/mcp/tools/warehousing/warehousingProvidersListHandler.ts +55 -0
- package/src/mcp/utils/orderFilters.ts +52 -0
- package/src/mcp/utils/sharedSchemas.ts +12 -0
- package/src/resolvers/queries/delivery/deliveryInterfaces.ts +8 -4
- package/src/resolvers/queries/orders/orders.ts +25 -5
- package/src/resolvers/queries/orders/ordersCount.ts +21 -1
- package/src/resolvers/queries/payment/paymentInterfaces.ts +11 -7
- package/src/resolvers/queries/warehousing/warehousingInterfaces.ts +5 -3
- package/src/schema/query.ts +14 -4
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Context } from '../../../context.js';
|
|
3
|
+
export declare const WarehousingProvidersListSchema: {
|
|
4
|
+
type: z.ZodOptional<z.ZodEnum<["PHYSICAL", "VIRTUAL"]>>;
|
|
5
|
+
queryString: z.ZodOptional<z.ZodString>;
|
|
6
|
+
};
|
|
7
|
+
export declare const WarehousingProvidersListZodSchema: z.ZodObject<{
|
|
8
|
+
type: z.ZodOptional<z.ZodEnum<["PHYSICAL", "VIRTUAL"]>>;
|
|
9
|
+
queryString: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
type?: "PHYSICAL" | "VIRTUAL";
|
|
12
|
+
queryString?: string;
|
|
13
|
+
}, {
|
|
14
|
+
type?: "PHYSICAL" | "VIRTUAL";
|
|
15
|
+
queryString?: string;
|
|
16
|
+
}>;
|
|
17
|
+
export type WarehousingProvidersListParams = z.infer<typeof WarehousingProvidersListZodSchema>;
|
|
18
|
+
export declare function warehousingProvidersListHandler(context: Context, params: WarehousingProvidersListParams): Promise<{
|
|
19
|
+
content: {
|
|
20
|
+
type: "text";
|
|
21
|
+
text: string;
|
|
22
|
+
}[];
|
|
23
|
+
}>;
|
|
24
|
+
//# sourceMappingURL=warehousingProvidersListHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warehousingProvidersListHandler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/warehousing/warehousingProvidersListHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO9C,eAAO,MAAM,8BAA8B;;;CAG1C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;EAA2C,CAAC;AAC1F,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE/F,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,8BAA8B;;;;;GAoCvC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { log } from '@unchainedshop/logger';
|
|
3
|
+
const WarehousingProviderTypeEnum = z
|
|
4
|
+
.enum(['PHYSICAL', 'VIRTUAL'])
|
|
5
|
+
.describe('Warehousing provider type');
|
|
6
|
+
export const WarehousingProvidersListSchema = {
|
|
7
|
+
type: WarehousingProviderTypeEnum.optional().describe('Optional filter by provider type'),
|
|
8
|
+
queryString: z.string().min(1).optional().describe('Search by _id or adapterKey (partial match)'),
|
|
9
|
+
};
|
|
10
|
+
export const WarehousingProvidersListZodSchema = z.object(WarehousingProvidersListSchema);
|
|
11
|
+
export async function warehousingProvidersListHandler(context, params) {
|
|
12
|
+
const { modules, userId } = context;
|
|
13
|
+
const { type, queryString } = params;
|
|
14
|
+
try {
|
|
15
|
+
log('handler warehousingProvidersListHandler', { userId, type, queryString });
|
|
16
|
+
const selector = {};
|
|
17
|
+
if (type)
|
|
18
|
+
selector.type = type;
|
|
19
|
+
if (queryString) {
|
|
20
|
+
const regex = new RegExp(queryString, 'i');
|
|
21
|
+
selector.$or = [{ _id: regex }, { adapterKey: regex }];
|
|
22
|
+
}
|
|
23
|
+
const providers = await modules.warehousing.findProviders(selector);
|
|
24
|
+
return {
|
|
25
|
+
content: [
|
|
26
|
+
{
|
|
27
|
+
type: 'text',
|
|
28
|
+
text: JSON.stringify({ providers }),
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return {
|
|
35
|
+
content: [
|
|
36
|
+
{
|
|
37
|
+
type: 'text',
|
|
38
|
+
text: `Error fetching warehousing providers: ${error.message}`,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=warehousingProvidersListHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warehousingProvidersListHandler.js","sourceRoot":"","sources":["../../../../src/mcp/tools/warehousing/warehousingProvidersListHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,2BAA2B,GAAG,CAAC;KAClC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;KAC7B,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,2BAA2B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAClG,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAG1F,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAgB,EAChB,MAAsC;IAEtC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAErC,IAAI,CAAC;QACH,GAAG,CAAC,yCAAyC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,IAAI,IAAI;YAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAE/B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC3C,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;iBACpC;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,yCAA0C,KAAe,CAAC,OAAO,EAAE;iBAC1E;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Context } from '../../context.js';
|
|
2
|
+
export declare const resolveOrderFilters: (modules: Context["modules"], { paymentProviderIds, deliveryProviderIds, }: {
|
|
3
|
+
paymentProviderIds?: string[];
|
|
4
|
+
deliveryProviderIds?: string[];
|
|
5
|
+
}) => Promise<{
|
|
6
|
+
paymentIds: any[];
|
|
7
|
+
deliveryIds: any[];
|
|
8
|
+
}>;
|
|
9
|
+
export declare const formatSummaryMap: (map: Map<string, {
|
|
10
|
+
sales: number;
|
|
11
|
+
orders: number;
|
|
12
|
+
}>) => {
|
|
13
|
+
date: string;
|
|
14
|
+
sales: number;
|
|
15
|
+
orders: number;
|
|
16
|
+
avgOrderValue: number;
|
|
17
|
+
}[];
|
|
18
|
+
export declare const resolveDateRange: (from?: string, to?: string, fallbackDays?: number) => {
|
|
19
|
+
startDate: Date;
|
|
20
|
+
endDate: Date;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=orderFilters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderFilters.d.ts","sourceRoot":"","sources":["../../../src/mcp/utils/orderFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,eAAO,MAAM,mBAAmB,GAC9B,SAAS,OAAO,CAAC,SAAS,CAAC,EAC3B,8CAGG;IACD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;;;EAsBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,KAClD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EASxE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,qBAAiB;;;CAI7E,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const resolveOrderFilters = async (modules, { paymentProviderIds, deliveryProviderIds, }) => {
|
|
2
|
+
const [orderPayments, orderDeliveries] = await Promise.all([
|
|
3
|
+
paymentProviderIds?.length
|
|
4
|
+
? modules.orders.payments.findOrderPaymentsByProviderIds({ paymentProviderIds })
|
|
5
|
+
: [],
|
|
6
|
+
deliveryProviderIds?.length
|
|
7
|
+
? modules.orders.deliveries.findDeliveryByProvidersId({ deliveryProviderIds })
|
|
8
|
+
: [],
|
|
9
|
+
]);
|
|
10
|
+
if ((paymentProviderIds?.length && !orderPayments.length) ||
|
|
11
|
+
(deliveryProviderIds?.length && !orderDeliveries.length)) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
paymentIds: orderPayments.map((p) => p._id),
|
|
16
|
+
deliveryIds: orderDeliveries.map((d) => d._id),
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export const formatSummaryMap = (map) => {
|
|
20
|
+
return Array.from(map.entries())
|
|
21
|
+
.reverse()
|
|
22
|
+
.map(([date, { sales, orders }]) => ({
|
|
23
|
+
date,
|
|
24
|
+
sales: Number(sales.toFixed(2)),
|
|
25
|
+
orders,
|
|
26
|
+
avgOrderValue: orders > 0 ? Math.round(sales / orders) : 0,
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
export const resolveDateRange = (from, to, fallbackDays = 30) => {
|
|
30
|
+
const endDate = to ? new Date(to) : new Date();
|
|
31
|
+
const startDate = from ? new Date(from) : new Date(endDate.getTime() - (fallbackDays - 1) * 86400000);
|
|
32
|
+
return { startDate, endDate };
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=orderFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderFilters.js","sourceRoot":"","sources":["../../../src/mcp/utils/orderFilters.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAA2B,EAC3B,EACE,kBAAkB,EAClB,mBAAmB,GAIpB,EACD,EAAE;IACF,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,kBAAkB,EAAE,MAAM;YACxB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,kBAAkB,EAAE,CAAC;YAChF,CAAC,CAAC,EAAE;QACN,mBAAmB,EAAE,MAAM;YACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,mBAAmB,EAAE,CAAC;YAC9E,CAAC,CAAC,EAAE;KACP,CAAC,CAAC;IAEH,IACE,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACrD,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;KAC/C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAmD,EACuB,EAAE;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SAC7B,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI;QACJ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM;QACN,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3D,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAW,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE;IAChF,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const OrderFilterSchema: {
|
|
3
|
+
paymentProviderIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4
|
+
deliveryProviderIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
5
|
+
status: z.ZodOptional<z.ZodArray<z.ZodEnum<["PENDING", "CONFIRMED", "SHIPPED", "DELIVERED", "CANCELLED"]>, "many">>;
|
|
6
|
+
};
|
|
7
|
+
export declare const DateRangeSchema: {
|
|
8
|
+
from: z.ZodOptional<z.ZodString>;
|
|
9
|
+
to: z.ZodOptional<z.ZodString>;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=sharedSchemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSchemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/utils/sharedSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const OrderFilterSchema = {
|
|
3
|
+
paymentProviderIds: z.array(z.string()).optional(),
|
|
4
|
+
deliveryProviderIds: z.array(z.string()).optional(),
|
|
5
|
+
status: z.array(z.enum(['PENDING', 'CONFIRMED', 'SHIPPED', 'DELIVERED', 'CANCELLED'])).optional(),
|
|
6
|
+
};
|
|
7
|
+
export const DateRangeSchema = {
|
|
8
|
+
from: z.string().datetime().optional(),
|
|
9
|
+
to: z.string().datetime().optional(),
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=sharedSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSchemas.js","sourceRoot":"","sources":["../../../src/mcp/utils/sharedSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClD,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClG,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC"}
|
|
@@ -2,9 +2,9 @@ import { Context } from '../../../context.js';
|
|
|
2
2
|
import { DeliveryProviderType } from '@unchainedshop/core-delivery';
|
|
3
3
|
export default function deliveryInterfaces(root: never, { type }: {
|
|
4
4
|
type: DeliveryProviderType;
|
|
5
|
-
}, { userId }: Context): {
|
|
5
|
+
}, { userId }: Context): Promise<{
|
|
6
6
|
_id: string;
|
|
7
7
|
label: string;
|
|
8
8
|
version: string;
|
|
9
|
-
}[]
|
|
9
|
+
}[]>;
|
|
10
10
|
//# sourceMappingURL=deliveryInterfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/delivery/deliveryInterfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,
|
|
1
|
+
{"version":3,"file":"deliveryInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/delivery/deliveryInterfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,wBAA8B,kBAAkB,CAC9C,IAAI,EAAE,KAAK,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,EACxC,EAAE,MAAM,EAAE,EAAE,OAAO;;;;KAepB"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { DeliveryDirector } from '@unchainedshop/core';
|
|
2
2
|
import { log } from '@unchainedshop/logger';
|
|
3
|
-
export default function deliveryInterfaces(root, { type }, { userId }) {
|
|
3
|
+
export default async function deliveryInterfaces(root, { type }, { userId }) {
|
|
4
4
|
log(`query deliveryInterfaces ${type}`, { userId });
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const allAdapters = await DeliveryDirector.getAdapters();
|
|
6
|
+
const filteredAdapters = type
|
|
7
|
+
? allAdapters.filter((Adapter) => Adapter.typeSupported(type))
|
|
8
|
+
: allAdapters;
|
|
9
|
+
return filteredAdapters.map((Adapter) => ({
|
|
8
10
|
_id: Adapter.key,
|
|
9
11
|
label: Adapter.label,
|
|
10
12
|
version: Adapter.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryInterfaces.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/delivery/deliveryInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"deliveryInterfaces.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/delivery/deliveryInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAC9C,IAAW,EACX,EAAE,IAAI,EAAkC,EACxC,EAAE,MAAM,EAAW;IAEnB,GAAG,CAAC,4BAA4B,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAEzD,MAAM,gBAAgB,GAAG,IAAI;QAC3B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAA4B,CAAC,CAAC;QACtF,CAAC,CAAC,WAAW,CAAC;IAEhB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/orders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,wBAA8B,MAAM,CAClC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,EAC7E,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/orders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,wBAA8B,MAAM,CAClC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,EAC7E,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,yDA6B7B"}
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
export default async function orders(root, params, { modules, userId }) {
|
|
3
|
-
const {
|
|
4
|
-
log(`query orders: ${limit} ${offset}
|
|
5
|
-
|
|
3
|
+
const { limit, offset, paymentProviderIds, deliveryProviderIds, ...restParams } = params;
|
|
4
|
+
log(`query orders: ${limit} ${offset} ${restParams?.queryString || ''}`, { userId });
|
|
5
|
+
const promises = [];
|
|
6
|
+
await Promise.all(promises);
|
|
7
|
+
const [orderPayments, orderDeliveries] = await Promise.all([
|
|
8
|
+
paymentProviderIds?.length
|
|
9
|
+
? modules.orders.payments.findOrderPaymentsByProviderIds({ paymentProviderIds })
|
|
10
|
+
: [],
|
|
11
|
+
deliveryProviderIds?.length
|
|
12
|
+
? modules.orders.deliveries.findDeliveryByProvidersId({ deliveryProviderIds })
|
|
13
|
+
: [],
|
|
14
|
+
]);
|
|
15
|
+
if ((paymentProviderIds?.length && !orderPayments.length) ||
|
|
16
|
+
(deliveryProviderIds?.length && !orderDeliveries.length))
|
|
17
|
+
return [];
|
|
18
|
+
const paymentIds = orderPayments.map((p) => p._id);
|
|
19
|
+
const deliveryIds = orderDeliveries.map((d) => d._id);
|
|
20
|
+
return modules.orders.findOrders({
|
|
21
|
+
...restParams,
|
|
22
|
+
paymentIds,
|
|
23
|
+
deliveryIds,
|
|
6
24
|
});
|
|
7
|
-
return modules.orders.findOrders(params);
|
|
8
25
|
}
|
|
9
26
|
//# sourceMappingURL=orders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAK5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAClC,IAAW,EACX,MAA6E,EAC7E,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAK5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAClC,IAAW,EACX,MAA6E,EAC7E,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;IACzF,GAAG,CAAC,iBAAiB,KAAK,IAAI,MAAM,KAAK,UAAU,EAAE,WAAW,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtF,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,kBAAkB,EAAE,MAAM;YACxB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,kBAAkB,EAAE,CAAC;YAChF,CAAC,CAAC,EAAE;QACN,mBAAmB,EAAE,MAAM;YACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,mBAAmB,EAAE,CAAC;YAC9E,CAAC,CAAC,EAAE;KACP,CAAC,CAAC;IACH,IACE,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACrD,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAExD,OAAO,EAAE,CAAC;IACZ,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/B,GAAG,UAAU;QACb,UAAU;QACV,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ordersCount.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/ordersCount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,wBAA8B,WAAW,CACvC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,UAAU,EAClB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"ordersCount.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/ordersCount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,wBAA8B,WAAW,CACvC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,UAAU,EAClB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,mBAyB7B"}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
export default async function ordersCount(root, params, { modules, userId }) {
|
|
3
|
+
const { paymentProviderIds, deliveryProviderIds, ...restParams } = params;
|
|
3
4
|
log(`query ordersCount: ${params.includeCarts ? 'includeCart' : ''}`, { userId });
|
|
4
|
-
|
|
5
|
+
const promises = [];
|
|
6
|
+
await Promise.all(promises);
|
|
7
|
+
const [orderPayments, orderDeliveries] = await Promise.all([
|
|
8
|
+
paymentProviderIds?.length
|
|
9
|
+
? modules.orders.payments.findOrderPaymentsByProviderIds({ paymentProviderIds })
|
|
10
|
+
: [],
|
|
11
|
+
deliveryProviderIds?.length
|
|
12
|
+
? modules.orders.deliveries.findDeliveryByProvidersId({ deliveryProviderIds })
|
|
13
|
+
: [],
|
|
14
|
+
]);
|
|
15
|
+
if ((paymentProviderIds?.length && !orderPayments.length) ||
|
|
16
|
+
(deliveryProviderIds?.length && !orderDeliveries.length))
|
|
17
|
+
return 0;
|
|
18
|
+
const paymentIds = orderPayments.map((p) => p._id);
|
|
19
|
+
const deliveryIds = orderDeliveries.map((d) => d._id);
|
|
20
|
+
return modules.orders.count({ ...restParams, paymentIds, deliveryIds });
|
|
5
21
|
}
|
|
6
22
|
//# sourceMappingURL=ordersCount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ordersCount.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/ordersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,IAAW,EACX,MAAkB,EAClB,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,sBAAsB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAElF,OAAO,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"ordersCount.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/orders/ordersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAI5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,IAAW,EACX,MAAkB,EAClB,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;IAC1E,GAAG,CAAC,sBAAsB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAElF,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,kBAAkB,EAAE,MAAM;YACxB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,kBAAkB,EAAE,CAAC;YAChF,CAAC,CAAC,EAAE;QACN,mBAAmB,EAAE,MAAM;YACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,mBAAmB,EAAE,CAAC;YAC9E,CAAC,CAAC,EAAE;KACP,CAAC,CAAC;IACH,IACE,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACrD,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAExD,OAAO,CAAC,CAAC;IACX,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/payment/paymentInterfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,wBAA8B,iBAAiB,CAC7C,IAAI,EAAE,KAAK,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,EACvC,EAAE,MAAM,EAAE,EAAE,OAAO;;;;
|
|
1
|
+
{"version":3,"file":"paymentInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/payment/paymentInterfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,wBAA8B,iBAAiB,CAC7C,IAAI,EAAE,KAAK,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,EACvC,EAAE,MAAM,EAAE,EAAE,OAAO;;;;KAepB"}
|
|
@@ -2,9 +2,11 @@ import { log } from '@unchainedshop/logger';
|
|
|
2
2
|
import { PaymentDirector } from '@unchainedshop/core';
|
|
3
3
|
export default async function paymentInterfaces(root, { type }, { userId }) {
|
|
4
4
|
log(`query paymentInterfaces ${type}`, { userId });
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
.
|
|
5
|
+
const allAdapters = await PaymentDirector.getAdapters();
|
|
6
|
+
const filteredAdapters = type
|
|
7
|
+
? allAdapters.filter((Adapter) => Adapter.typeSupported(type))
|
|
8
|
+
: allAdapters;
|
|
9
|
+
return filteredAdapters.map((Adapter) => ({
|
|
8
10
|
_id: Adapter.key,
|
|
9
11
|
label: Adapter.label,
|
|
10
12
|
version: Adapter.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentInterfaces.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/payment/paymentInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,IAAW,EACX,EAAE,IAAI,EAAiC,EACvC,EAAE,MAAM,EAAW;IAEnB,GAAG,CAAC,2BAA2B,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnD,
|
|
1
|
+
{"version":3,"file":"paymentInterfaces.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/payment/paymentInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,IAAW,EACX,EAAE,IAAI,EAAiC,EACvC,EAAE,MAAM,EAAW;IAEnB,GAAG,CAAC,2BAA2B,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC;IAExD,MAAM,gBAAgB,GAAG,IAAI;QAC3B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAA2B,CAAC,CAAC;QACrF,CAAC,CAAC,WAAW,CAAC;IAEhB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehousingInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/warehousing/warehousingInterfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,wBAA8B,qBAAqB,CACjD,IAAI,EAAE,KAAK,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,uBAAuB,CAAA;CAAE,EAC3C,EAAE,MAAM,EAAE,EAAE,OAAO;;;;
|
|
1
|
+
{"version":3,"file":"warehousingInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/queries/warehousing/warehousingInterfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,wBAA8B,qBAAqB,CACjD,IAAI,EAAE,KAAK,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,uBAAuB,CAAA;CAAE,EAC3C,EAAE,MAAM,EAAE,EAAE,OAAO;;;;KAapB"}
|
|
@@ -2,9 +2,11 @@ import { WarehousingDirector } from '@unchainedshop/core';
|
|
|
2
2
|
import { log } from '@unchainedshop/logger';
|
|
3
3
|
export default async function warehousingInterfaces(root, { type }, { userId }) {
|
|
4
4
|
log(`query warehousingInterfaces ${type}`, { userId });
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const allAdapters = await WarehousingDirector.getAdapters();
|
|
6
|
+
const filteredAdapters = type
|
|
7
|
+
? allAdapters.filter((Adapter) => Adapter.typeSupported(type))
|
|
8
|
+
: allAdapters;
|
|
9
|
+
return filteredAdapters.map((Adapter) => ({
|
|
8
10
|
_id: Adapter.key,
|
|
9
11
|
label: Adapter.label,
|
|
10
12
|
version: Adapter.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehousingInterfaces.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/warehousing/warehousingInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,qBAAqB,CACjD,IAAW,EACX,EAAE,IAAI,EAAqC,EAC3C,EAAE,MAAM,EAAW;IAEnB,GAAG,CAAC,+BAA+B,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"warehousingInterfaces.js","sourceRoot":"","sources":["../../../../src/resolvers/queries/warehousing/warehousingInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,qBAAqB,CACjD,IAAW,EACX,EAAE,IAAI,EAAqC,EAC3C,EAAE,MAAM,EAAW;IAEnB,GAAG,CAAC,+BAA+B,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC;IAC5D,MAAM,gBAAgB,GAAG,IAAI;QAC3B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAA+B,CAAC,CAAC;QACzF,CAAC,CAAC,WAAW,CAAC;IAEhB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/schema/query.ts"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/schema/query.ts"],"names":[],"mappings":";AAAA,wBAmgBE"}
|
package/lib/schema/query.js
CHANGED
|
@@ -181,7 +181,7 @@ export default [
|
|
|
181
181
|
"""
|
|
182
182
|
Get all delivery interfaces filtered by type
|
|
183
183
|
"""
|
|
184
|
-
deliveryInterfaces(type: DeliveryProviderType
|
|
184
|
+
deliveryInterfaces(type: DeliveryProviderType): [DeliveryInterface!]!
|
|
185
185
|
@cacheControl(scope: PRIVATE, maxAge: 0)
|
|
186
186
|
|
|
187
187
|
"""
|
|
@@ -205,7 +205,7 @@ export default [
|
|
|
205
205
|
"""
|
|
206
206
|
Get all warehousing interfaces filtered by type
|
|
207
207
|
"""
|
|
208
|
-
warehousingInterfaces(type: WarehousingProviderType
|
|
208
|
+
warehousingInterfaces(type: WarehousingProviderType): [WarehousingInterface!]!
|
|
209
209
|
@cacheControl(scope: PRIVATE, maxAge: 0)
|
|
210
210
|
|
|
211
211
|
"""
|
|
@@ -242,13 +242,20 @@ export default [
|
|
|
242
242
|
"""
|
|
243
243
|
Get all payment interfaces filtered by type
|
|
244
244
|
"""
|
|
245
|
-
paymentInterfaces(type: PaymentProviderType
|
|
245
|
+
paymentInterfaces(type: PaymentProviderType): [PaymentInterface!]!
|
|
246
246
|
@cacheControl(scope: PRIVATE, maxAge: 0)
|
|
247
247
|
|
|
248
248
|
"""
|
|
249
249
|
Returns total number of orders
|
|
250
250
|
"""
|
|
251
|
-
ordersCount(
|
|
251
|
+
ordersCount(
|
|
252
|
+
includeCarts: Boolean = false
|
|
253
|
+
queryString: String
|
|
254
|
+
paymentProviderIds: [String!]
|
|
255
|
+
deliveryProviderIds: [String!]
|
|
256
|
+
dateRange: DateFilterInput
|
|
257
|
+
status: [OrderStatus!]
|
|
258
|
+
): Int!
|
|
252
259
|
|
|
253
260
|
"""
|
|
254
261
|
Get all orders, by default sorted by creation date (descending)
|
|
@@ -260,6 +267,9 @@ export default [
|
|
|
260
267
|
queryString: String
|
|
261
268
|
status: [OrderStatus!]
|
|
262
269
|
sort: [SortOptionInput!]
|
|
270
|
+
paymentProviderIds: [String!]
|
|
271
|
+
deliveryProviderIds: [String!]
|
|
272
|
+
dateRange: DateFilterInput
|
|
263
273
|
): [Order!]!
|
|
264
274
|
|
|
265
275
|
"""
|
package/lib/schema/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/schema/query.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/schema/query.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAigBb;CACF,CAAC"}
|
package/package.json
CHANGED
package/src/mcp/index.ts
CHANGED
|
@@ -8,6 +8,9 @@ import { registerCurrencyTools } from './tools/currency/index.js';
|
|
|
8
8
|
import { registerCountryTools } from './tools/country/index.js';
|
|
9
9
|
import { registerLanguageTools } from './tools/language/index.js';
|
|
10
10
|
import { registerPaymentProviderTools } from './tools/payment/index.js';
|
|
11
|
+
import { registerDeliveryProviderTools } from './tools/delivery/index.js';
|
|
12
|
+
import { registerWarehousingProviderTools } from './tools/warehousing/index.js';
|
|
13
|
+
import { registerOrderTools } from './tools/order/index.js';
|
|
11
14
|
|
|
12
15
|
export default function createMcpServer(context: Context, roles) {
|
|
13
16
|
const server = new McpServer({
|
|
@@ -26,6 +29,8 @@ export default function createMcpServer(context: Context, roles) {
|
|
|
26
29
|
registerLanguageTools(server, context);
|
|
27
30
|
registerOtherTools(server, context);
|
|
28
31
|
registerPaymentProviderTools(server, context);
|
|
29
|
-
|
|
32
|
+
registerDeliveryProviderTools(server, context);
|
|
33
|
+
registerWarehousingProviderTools(server, context);
|
|
34
|
+
registerOrderTools(server, context);
|
|
30
35
|
return server;
|
|
31
36
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Context } from '../../../context.js';
|
|
3
|
+
import { log } from '@unchainedshop/logger';
|
|
4
|
+
import { DeliveryDirector } from '@unchainedshop/core';
|
|
5
|
+
import { ProviderConfigurationInvalid } from '../../../errors.js';
|
|
6
|
+
|
|
7
|
+
const DeliveryProviderTypeEnum = z.enum(['PICKUP', 'SHIPPING', 'LOCAL']);
|
|
8
|
+
|
|
9
|
+
export const CreateDeliveryProviderSchema = {
|
|
10
|
+
deliveryProvider: z.object({
|
|
11
|
+
type: DeliveryProviderTypeEnum.describe('Type of delivery provider'),
|
|
12
|
+
adapterKey: z
|
|
13
|
+
.string()
|
|
14
|
+
.min(1)
|
|
15
|
+
.describe(
|
|
16
|
+
'Adapter key for the delivery provider, this value should be valid interface found in delivery provider interfaces',
|
|
17
|
+
),
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const CreateDeliveryProviderZodSchema = z.object(CreateDeliveryProviderSchema);
|
|
22
|
+
export type CreateDeliveryProviderParams = z.infer<typeof CreateDeliveryProviderZodSchema>;
|
|
23
|
+
|
|
24
|
+
export async function createDeliveryProviderHandler(
|
|
25
|
+
context: Context,
|
|
26
|
+
params: CreateDeliveryProviderParams,
|
|
27
|
+
) {
|
|
28
|
+
const { modules, userId } = context;
|
|
29
|
+
const { deliveryProvider } = params;
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
log('handler createDeliveryProviderHandler', { userId, deliveryProvider });
|
|
33
|
+
|
|
34
|
+
const Adapter = DeliveryDirector.getAdapter(deliveryProvider.adapterKey);
|
|
35
|
+
if (!Adapter) return null;
|
|
36
|
+
|
|
37
|
+
const provider = await modules.delivery.create({
|
|
38
|
+
configuration: Adapter.initialConfiguration,
|
|
39
|
+
...deliveryProvider,
|
|
40
|
+
} as any);
|
|
41
|
+
|
|
42
|
+
if (!provider) throw new ProviderConfigurationInvalid(deliveryProvider);
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
content: [
|
|
46
|
+
{
|
|
47
|
+
type: 'text' as const,
|
|
48
|
+
text: JSON.stringify({ provider }),
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
} catch (error) {
|
|
53
|
+
return {
|
|
54
|
+
content: [
|
|
55
|
+
{
|
|
56
|
+
type: 'text' as const,
|
|
57
|
+
text: `Error creating delivery provider: ${(error as Error).message}`,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
import { Context } from '../../../context.js';
|
|
4
|
+
import { log } from '@unchainedshop/logger';
|
|
5
|
+
import { DeliveryDirector } from '@unchainedshop/core';
|
|
6
|
+
import { DeliveryProviderType } from '@unchainedshop/core-delivery';
|
|
7
|
+
|
|
8
|
+
const DeliveryProviderTypeEnum = z
|
|
9
|
+
.enum(['PICKUP', 'SHIPPING', 'LOCAL'])
|
|
10
|
+
.describe('Delivery provider type');
|
|
11
|
+
|
|
12
|
+
export const DeliveryInterfacesSchema = {
|
|
13
|
+
type: DeliveryProviderTypeEnum.optional().describe('Optional filter by delivery provider type'),
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const DeliveryInterfacesZodSchema = z.object(DeliveryInterfacesSchema);
|
|
17
|
+
export type DeliveryInterfacesParams = z.infer<typeof DeliveryInterfacesZodSchema>;
|
|
18
|
+
|
|
19
|
+
export async function deliveryInterfacesHandler(context: Context, params: DeliveryInterfacesParams) {
|
|
20
|
+
const { userId } = context;
|
|
21
|
+
const { type } = params;
|
|
22
|
+
|
|
23
|
+
try {
|
|
24
|
+
log('handler deliveryInterfacesHandler', { userId, type });
|
|
25
|
+
|
|
26
|
+
const allAdapters = await DeliveryDirector.getAdapters();
|
|
27
|
+
|
|
28
|
+
const filteredAdapters = type
|
|
29
|
+
? allAdapters.filter((Adapter) => Adapter.typeSupported(type as DeliveryProviderType))
|
|
30
|
+
: allAdapters;
|
|
31
|
+
|
|
32
|
+
const interfaces = filteredAdapters.map((Adapter) => ({
|
|
33
|
+
_id: Adapter.key,
|
|
34
|
+
label: Adapter.label,
|
|
35
|
+
version: Adapter.version,
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
content: [
|
|
40
|
+
{
|
|
41
|
+
type: 'text' as const,
|
|
42
|
+
text: JSON.stringify({ interfaces }),
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
} catch (error) {
|
|
47
|
+
return {
|
|
48
|
+
content: [
|
|
49
|
+
{
|
|
50
|
+
type: 'text' as const,
|
|
51
|
+
text: `Error fetching delivery interfaces: ${(error as Error).message}`,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export const DeliveryProviderByIdSchema = {
|
|
4
|
+
deliveryProviderId: z.string().min(1).describe('ID of the delivery provider'),
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export const DeliveryProviderByIdZodSchema = z.object(DeliveryProviderByIdSchema);
|
|
8
|
+
export type DeliveryProviderByIdParams = z.infer<typeof DeliveryProviderByIdZodSchema>;
|
|
9
|
+
|
|
10
|
+
import { Context } from '../../../context.js';
|
|
11
|
+
import { log } from '@unchainedshop/logger';
|
|
12
|
+
|
|
13
|
+
export async function deliveryProviderHandler(context: Context, params: DeliveryProviderByIdParams) {
|
|
14
|
+
const { modules, userId } = context;
|
|
15
|
+
const { deliveryProviderId } = params;
|
|
16
|
+
|
|
17
|
+
try {
|
|
18
|
+
log('handler deliveryProviderByIdHandler', { userId, deliveryProviderId });
|
|
19
|
+
|
|
20
|
+
const provider = await modules.delivery.findProvider({ deliveryProviderId });
|
|
21
|
+
|
|
22
|
+
if (!provider) {
|
|
23
|
+
return {
|
|
24
|
+
content: [
|
|
25
|
+
{
|
|
26
|
+
type: 'text' as const,
|
|
27
|
+
text: `Delivery provider not found for ID: ${deliveryProviderId}`,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
content: [
|
|
35
|
+
{
|
|
36
|
+
type: 'text' as const,
|
|
37
|
+
text: JSON.stringify({ provider }),
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
} catch (error) {
|
|
42
|
+
return {
|
|
43
|
+
content: [
|
|
44
|
+
{
|
|
45
|
+
type: 'text' as const,
|
|
46
|
+
text: `Error fetching delivery provider: ${(error as Error).message}`,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|