@hszrdm/core 1.7.0 → 1.8.0
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/.medusa/server/src/admin/index.js +6223 -4784
- package/.medusa/server/src/admin/index.mjs +6224 -4785
- package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/arukereso/marketplace-preview/route.js +26 -0
- package/.medusa/server/src/api/admin/billingo/advance/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/billingo/advance/route.js +55 -0
- package/.medusa/server/src/api/admin/billingo/partial-credit/route.d.ts +8 -0
- package/.medusa/server/src/api/admin/billingo/partial-credit/route.js +69 -0
- package/.medusa/server/src/api/admin/documents/[id]/route.d.ts +22 -0
- package/.medusa/server/src/api/admin/documents/[id]/route.js +107 -0
- package/.medusa/server/src/api/admin/documents/route.d.ts +21 -0
- package/.medusa/server/src/api/admin/documents/route.js +117 -0
- package/.medusa/server/src/api/admin/google-ads/diagnostics/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-ads/diagnostics/route.js +26 -0
- package/.medusa/server/src/api/admin/google-ads/oauth/start/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-ads/oauth/start/route.js +27 -0
- package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/data-source/sync/route.js +69 -0
- package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/diagnostics/route.js +26 -0
- package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/google-merchant/oauth/start/route.js +25 -0
- package/.medusa/server/src/api/admin/orders/[id]/shipping/route.js +28 -28
- package/.medusa/server/src/api/admin/shipping/mpl/close/route.d.ts +1 -1
- package/.medusa/server/src/api/admin/shipping/mpl/close/route.js +48 -70
- package/.medusa/server/src/api/auth/google-ads/callback/route.d.ts +2 -0
- package/.medusa/server/src/api/auth/google-ads/callback/route.js +58 -0
- package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.d.ts +2 -0
- package/.medusa/server/src/api/feeds/arukereso-marketplace.xml/route.js +33 -0
- package/.medusa/server/src/api/feeds/google-merchant.xml/route.js +5 -3
- package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.d.ts +2 -0
- package/.medusa/server/src/api/hooks/arukereso/marketplace/order/route.js +211 -0
- package/.medusa/server/src/api/hooks/simplepay/ipn/route.js +113 -23
- package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.d.ts +2 -0
- package/.medusa/server/src/api/store/account/orders/[id]/reorder/route.js +113 -0
- package/.medusa/server/src/api/store/arukereso/backlink/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/backlink/route.js +73 -0
- package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/trusted-shop/[id]/route.js +84 -0
- package/.medusa/server/src/api/store/arukereso/widget/route.d.ts +2 -0
- package/.medusa/server/src/api/store/arukereso/widget/route.js +64 -0
- package/.medusa/server/src/api/store/documents/route.d.ts +2 -0
- package/.medusa/server/src/api/store/documents/route.js +84 -0
- package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.d.ts +2 -0
- package/.medusa/server/src/api/store/google-merchant/oauth/callback/route.js +50 -0
- package/.medusa/server/src/config.d.ts +3 -3
- package/.medusa/server/src/config.js +64 -87
- package/.medusa/server/src/core/documents.d.ts +31 -0
- package/.medusa/server/src/core/documents.js +47 -0
- package/.medusa/server/src/core/version.d.ts +2 -2
- package/.medusa/server/src/core/version.js +2 -2
- package/.medusa/server/src/lib/modules/arukereso/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/arukereso/index.js +2 -1
- package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.d.ts +19 -0
- package/.medusa/server/src/lib/modules/arukereso/marketplace-feed.js +100 -0
- package/.medusa/server/src/lib/modules/billingo/actions.js +42 -12
- package/.medusa/server/src/lib/modules/billingo/advance.d.ts +68 -0
- package/.medusa/server/src/lib/modules/billingo/advance.js +309 -0
- package/.medusa/server/src/lib/modules/billingo/automation.js +49 -9
- package/.medusa/server/src/lib/modules/billingo/client.d.ts +5 -1
- package/.medusa/server/src/lib/modules/billingo/client.js +12 -6
- package/.medusa/server/src/lib/modules/billingo/index.d.ts +2 -0
- package/.medusa/server/src/lib/modules/billingo/index.js +3 -1
- package/.medusa/server/src/lib/modules/billingo/mapper.d.ts +38 -1
- package/.medusa/server/src/lib/modules/billingo/mapper.js +32 -1
- package/.medusa/server/src/lib/modules/billingo/partial-credit.d.ts +55 -0
- package/.medusa/server/src/lib/modules/billingo/partial-credit.js +338 -0
- package/.medusa/server/src/lib/modules/billingo/types.d.ts +7 -2
- package/.medusa/server/src/lib/modules/google-ads/adjustments.d.ts +21 -0
- package/.medusa/server/src/lib/modules/google-ads/adjustments.js +146 -0
- package/.medusa/server/src/lib/modules/google-ads/api.d.ts +23 -0
- package/.medusa/server/src/lib/modules/google-ads/api.js +171 -0
- package/.medusa/server/src/lib/modules/google-ads/diagnostics.d.ts +47 -0
- package/.medusa/server/src/lib/modules/google-ads/diagnostics.js +164 -0
- package/.medusa/server/src/lib/modules/google-merchant/category-fields.d.ts +7 -0
- package/.medusa/server/src/lib/modules/google-merchant/category-fields.js +210 -0
- package/.medusa/server/src/lib/modules/google-merchant/data-source.d.ts +17 -0
- package/.medusa/server/src/lib/modules/google-merchant/data-source.js +132 -0
- package/.medusa/server/src/lib/modules/google-merchant/diagnostics.d.ts +33 -0
- package/.medusa/server/src/lib/modules/google-merchant/diagnostics.js +113 -0
- package/.medusa/server/src/lib/modules/google-merchant/index.d.ts +5 -0
- package/.medusa/server/src/lib/modules/google-merchant/index.js +6 -1
- package/.medusa/server/src/lib/modules/google-merchant/merchant-api.d.ts +18 -0
- package/.medusa/server/src/lib/modules/google-merchant/merchant-api.js +120 -0
- package/.medusa/server/src/lib/modules/google-merchant/shipping.d.ts +13 -0
- package/.medusa/server/src/lib/modules/google-merchant/shipping.js +97 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/api.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/api.js +3 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/index.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/index.js +3 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/sync.d.ts +1 -0
- package/.medusa/server/src/lib/modules/google-tag-manager/sync.js +3 -0
- package/.medusa/server/src/lib/modules/shipping/actions.js +163 -352
- package/.medusa/server/src/lib/modules/shipping/durable-create.d.ts +2 -1
- package/.medusa/server/src/lib/modules/shipping/durable-create.js +33 -5
- package/.medusa/server/src/lib/modules/shipping/idempotency.js +4 -2
- package/.medusa/server/src/lib/modules/shipping/types.d.ts +1 -1
- package/.medusa/server/src/modules/core-documents/index.d.ts +38 -0
- package/.medusa/server/src/modules/core-documents/index.js +18 -0
- package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.d.ts +5 -0
- package/.medusa/server/src/modules/core-documents/migrations/Migration20261102190000.js +22 -0
- package/.medusa/server/src/modules/core-documents/models/core-document-assignment.d.ts +9 -0
- package/.medusa/server/src/modules/core-documents/models/core-document-assignment.js +18 -0
- package/.medusa/server/src/modules/core-documents/models/core-document.d.ts +18 -0
- package/.medusa/server/src/modules/core-documents/models/core-document.js +27 -0
- package/.medusa/server/src/modules/core-documents/service.d.ts +38 -0
- package/.medusa/server/src/modules/core-documents/service.js +13 -0
- package/.medusa/server/src/modules/integration-operation/state.d.ts +1 -0
- package/.medusa/server/src/modules/integration-operation/state.js +11 -50
- package/.medusa/server/src/modules/integration-operation/types.d.ts +1 -1
- package/.medusa/server/src/modules/integration-settings/arukereso-registration.js +19 -2
- package/.medusa/server/src/modules/integration-settings/connection-test.js +14 -1
- package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.d.ts +2 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-definition.js +49 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/csomagpiac-registration.js +35 -0
- package/.medusa/server/src/modules/integration-settings/google-merchant-registration.js +23 -2
- package/.medusa/server/src/modules/integration-settings/hot-reload-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/hot-reload-registration.js +23 -0
- package/.medusa/server/src/modules/integration-settings/index.d.ts +4 -0
- package/.medusa/server/src/modules/integration-settings/index.js +5 -1
- package/.medusa/server/src/modules/integration-settings/manager.js +38 -4
- package/.medusa/server/src/modules/integration-settings/reloadable.d.ts +10 -0
- package/.medusa/server/src/modules/integration-settings/reloadable.js +58 -0
- package/.medusa/server/src/modules/integration-settings/runtime-snapshot.d.ts +9 -0
- package/.medusa/server/src/modules/integration-settings/runtime-snapshot.js +48 -3
- package/.medusa/server/src/modules/integration-settings/simplepay-registration.d.ts +1 -0
- package/.medusa/server/src/modules/integration-settings/simplepay-registration.js +18 -0
- package/.medusa/server/src/modules/integration-settings/storefront-public-registration.js +15 -5
- package/.medusa/server/src/providers/csomagpiac/client.d.ts +25 -0
- package/.medusa/server/src/providers/csomagpiac/client.js +144 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.d.ts +45 -0
- package/.medusa/server/src/providers/csomagpiac/fulfillment-provider.js +221 -0
- package/.medusa/server/src/providers/csomagpiac/index.d.ts +7 -0
- package/.medusa/server/src/providers/csomagpiac/index.js +30 -0
- package/.medusa/server/src/providers/csomagpiac/service.d.ts +46 -0
- package/.medusa/server/src/providers/csomagpiac/service.js +226 -0
- package/.medusa/server/src/providers/csomagpiac/types.d.ts +65 -0
- package/.medusa/server/src/providers/csomagpiac/types.js +27 -0
- package/.medusa/server/src/providers/dpd/fulfillment-provider.d.ts +2 -1
- package/.medusa/server/src/providers/dpd/fulfillment-provider.js +83 -25
- package/.medusa/server/src/providers/dpd/service.js +5 -3
- package/.medusa/server/src/providers/email/service.d.ts +7 -6
- package/.medusa/server/src/providers/email/service.js +51 -25
- package/.medusa/server/src/providers/foxpost/foxpost-service.js +5 -9
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/foxpost/fulfillment-provider.js +76 -66
- package/.medusa/server/src/providers/gls/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/gls/fulfillment-provider.js +76 -13
- package/.medusa/server/src/providers/gls/gls-service.d.ts +16 -0
- package/.medusa/server/src/providers/gls/gls-service.js +26 -65
- package/.medusa/server/src/providers/gls/types.d.ts +15 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/mpl/fulfillment-provider.js +61 -186
- package/.medusa/server/src/providers/mpl/index.d.ts +2 -0
- package/.medusa/server/src/providers/mpl/index.js +7 -2
- package/.medusa/server/src/providers/mpl/service.d.ts +35 -1
- package/.medusa/server/src/providers/mpl/service.js +82 -370
- package/.medusa/server/src/providers/mpl/types.d.ts +18 -0
- package/.medusa/server/src/providers/mpl/types.js +1 -1
- package/.medusa/server/src/providers/packeta/client.d.ts +2 -1
- package/.medusa/server/src/providers/packeta/client.js +24 -2
- package/.medusa/server/src/providers/packeta/fulfillment-provider.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/fulfillment-provider.js +73 -5
- package/.medusa/server/src/providers/packeta/service.d.ts +1 -0
- package/.medusa/server/src/providers/packeta/service.js +85 -22
- package/.medusa/server/src/providers/packeta/types.d.ts +26 -0
- package/.medusa/server/src/providers/packeta/types.js +1 -1
- package/.medusa/server/src/providers/resilient-stripe/index.d.ts +19 -1
- package/.medusa/server/src/providers/resilient-stripe/index.js +55 -3
- package/.medusa/server/src/providers/simplepay/config.js +11 -1
- package/.medusa/server/src/providers/simplepay/index.d.ts +2 -0
- package/.medusa/server/src/providers/simplepay/index.js +5 -3
- package/.medusa/server/src/providers/simplepay/runtime-service.d.ts +13 -0
- package/.medusa/server/src/providers/simplepay/runtime-service.js +55 -0
- package/.medusa/server/src/providers/simplepay/service.d.ts +2 -0
- package/.medusa/server/src/providers/simplepay/service.js +40 -5
- package/.medusa/server/src/subscribers/google-ads-order-canceled.d.ts +7 -0
- package/.medusa/server/src/subscribers/google-ads-order-canceled.js +50 -0
- package/.medusa/server/src/subscribers/google-ads-payment-refunded.d.ts +7 -0
- package/.medusa/server/src/subscribers/google-ads-payment-refunded.js +181 -0
- package/.medusa/server/src/subscribers/simplepay-paid-order-recovery.js +14 -1
- package/package.json +6 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const arukereso_1 = require("../../../../lib/modules/arukereso");
|
|
5
|
+
async function GET(req, res) {
|
|
6
|
+
try {
|
|
7
|
+
const result = await (0, arukereso_1.generateArukeresoMarketplaceFeed)(req.scope);
|
|
8
|
+
return res.json({
|
|
9
|
+
diagnostics: result.diagnostics,
|
|
10
|
+
source_diagnostics: result.sourceDiagnostics,
|
|
11
|
+
sample: result.items.slice(0, 20),
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
if (error instanceof arukereso_1.ArukeresoDisabledError ||
|
|
16
|
+
error instanceof arukereso_1.ArukeresoMarketplaceExportDisabledError) {
|
|
17
|
+
return res.status(409).json({ message: error.message });
|
|
18
|
+
}
|
|
19
|
+
return res.status(503).json({
|
|
20
|
+
message: error instanceof Error
|
|
21
|
+
? error.message
|
|
22
|
+
: "Az Árukereső Marketplace feed ellenőrzése nem sikerült.",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FydWtlcmVzby9tYXJrZXRwbGFjZS1wcmV2aWV3L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0Esa0JBc0JDO0FBNUJELGlFQUkwQztBQUVuQyxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLDRDQUFnQyxFQUFDLEdBQUcsQ0FBQyxLQUFjLENBQUMsQ0FBQTtRQUN6RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDZCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0Isa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtZQUM1QyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNsQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQ0UsS0FBSyxZQUFZLGtDQUFzQjtZQUN2QyxLQUFLLFlBQVksbURBQXVDLEVBQ3hELENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFDTCxLQUFLLFlBQVksS0FBSztnQkFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUNmLENBQUMsQ0FBQyx5REFBeUQ7U0FDaEUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
|
|
2
|
+
type Body = {
|
|
3
|
+
orderId?: unknown;
|
|
4
|
+
action?: unknown;
|
|
5
|
+
ratio?: unknown;
|
|
6
|
+
};
|
|
7
|
+
export declare function POST(req: MedusaRequest<Body>, res: MedusaResponse): Promise<MedusaResponse>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const billingo_1 = require("../../../../lib/modules/billingo");
|
|
5
|
+
const integration_operation_1 = require("../../../../modules/integration-operation");
|
|
6
|
+
async function POST(req, res) {
|
|
7
|
+
const orderId = typeof req.body?.orderId === "string" ? req.body.orderId.trim() : "";
|
|
8
|
+
if (!orderId)
|
|
9
|
+
return res.status(400).json({ message: "Hiányzik a rendelés azonosítója." });
|
|
10
|
+
const action = req.body?.action === "finalize" ? "finalize" : "create";
|
|
11
|
+
const orderService = req.scope.resolve("order");
|
|
12
|
+
const operationStore = req.scope.resolve(integration_operation_1.INTEGRATION_OPERATION_MODULE);
|
|
13
|
+
const actorId = req.auth_context?.actor_id;
|
|
14
|
+
try {
|
|
15
|
+
if (action === "finalize") {
|
|
16
|
+
const result = await (0, billingo_1.createBillingoFinalInvoiceFromAdvance)({
|
|
17
|
+
orderService,
|
|
18
|
+
operationStore,
|
|
19
|
+
orderId,
|
|
20
|
+
actorId,
|
|
21
|
+
});
|
|
22
|
+
if ("reconciliationRequired" in result && result.reconciliationRequired) {
|
|
23
|
+
return res.status(409).json({
|
|
24
|
+
message: "A Billingo végszámla korábbi létrehozási kísérlete bizonytalan; kézi egyeztetés szükséges.",
|
|
25
|
+
...result,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return res.status(result.alreadyExisted ? 200 : 201).json(result);
|
|
29
|
+
}
|
|
30
|
+
const ratio = req.body?.ratio == null ? 1 : Number(req.body.ratio);
|
|
31
|
+
if (!Number.isFinite(ratio) || ratio <= 0 || ratio > 1) {
|
|
32
|
+
return res.status(400).json({ message: "Az előleg aránya 0-nál nagyobb és legfeljebb 1 lehet." });
|
|
33
|
+
}
|
|
34
|
+
const result = await (0, billingo_1.createBillingoAdvanceInvoice)({
|
|
35
|
+
orderService,
|
|
36
|
+
operationStore,
|
|
37
|
+
orderId,
|
|
38
|
+
ratio,
|
|
39
|
+
actorId,
|
|
40
|
+
});
|
|
41
|
+
if ("reconciliationRequired" in result && result.reconciliationRequired) {
|
|
42
|
+
return res.status(409).json({
|
|
43
|
+
message: "A Billingo előlegszámla korábbi létrehozási kísérlete bizonytalan; kézi egyeztetés szükséges.",
|
|
44
|
+
...result,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return res.status(result.alreadyExisted ? 200 : 201).json(result);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return res.status(400).json({
|
|
51
|
+
message: error instanceof Error ? error.message : "A Billingo előleg/végszámla művelet nem sikerült.",
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2JpbGxpbmdvL2FkdmFuY2Uvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQkEsb0JBc0RDO0FBdEVELCtEQUl5QztBQUN6QyxxRkFHa0Q7QUFRM0MsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUF3QixFQUFFLEdBQW1CO0lBQ3RFLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ3BGLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLENBQUE7SUFFMUYsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUN0RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQW9DLENBQUE7SUFDbEYsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0RBQTRCLENBQWdDLENBQUE7SUFDckcsTUFBTSxPQUFPLEdBQUksR0FBMkQsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFBO0lBRW5HLElBQUksQ0FBQztRQUNILElBQUksTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxnREFBcUMsRUFBQztnQkFDekQsWUFBWTtnQkFDWixjQUFjO2dCQUNkLE9BQU87Z0JBQ1AsT0FBTzthQUNSLENBQUMsQ0FBQTtZQUVGLElBQUksd0JBQXdCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN4RSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMxQixPQUFPLEVBQUUsNEZBQTRGO29CQUNyRyxHQUFHLE1BQU07aUJBQ1YsQ0FBQyxDQUFBO1lBQ0osQ0FBQztZQUVELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNuRSxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsdURBQXVELEVBQUUsQ0FBQyxDQUFBO1FBQ25HLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsdUNBQTRCLEVBQUM7WUFDaEQsWUFBWTtZQUNaLGNBQWM7WUFDZCxPQUFPO1lBQ1AsS0FBSztZQUNMLE9BQU87U0FDUixDQUFDLENBQUE7UUFFRixJQUFJLHdCQUF3QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN4RSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixPQUFPLEVBQUUsK0ZBQStGO2dCQUN4RyxHQUFHLE1BQU07YUFDVixDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixPQUFPLEVBQUUsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbURBQW1EO1NBQ3RHLENBQUMsQ0FBQTtJQUNKLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
|
|
2
|
+
type Body = {
|
|
3
|
+
orderId?: unknown;
|
|
4
|
+
lines?: unknown;
|
|
5
|
+
shipping?: unknown;
|
|
6
|
+
};
|
|
7
|
+
export declare function POST(req: MedusaRequest<Body>, res: MedusaResponse): Promise<MedusaResponse | undefined>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const billingo_1 = require("../../../../lib/modules/billingo");
|
|
5
|
+
const integration_operation_1 = require("../../../../modules/integration-operation");
|
|
6
|
+
async function POST(req, res) {
|
|
7
|
+
const orderId = typeof req.body?.orderId === "string" ? req.body.orderId.trim() : "";
|
|
8
|
+
if (!orderId)
|
|
9
|
+
return res.status(400).json({ message: "Hiányzik a rendelés azonosítója." });
|
|
10
|
+
const lines = normalizeLines(req.body?.lines);
|
|
11
|
+
const shipping = normalizeShipping(req.body?.shipping);
|
|
12
|
+
if (!lines.length && !shipping.length) {
|
|
13
|
+
return res.status(400).json({ message: "Adj meg legalább egy jóváírandó tételt." });
|
|
14
|
+
}
|
|
15
|
+
const orderService = req.scope.resolve("order");
|
|
16
|
+
const operationStore = req.scope.resolve(integration_operation_1.INTEGRATION_OPERATION_MODULE);
|
|
17
|
+
const actorId = req.auth_context?.actor_id;
|
|
18
|
+
try {
|
|
19
|
+
const result = await (0, billingo_1.createBillingoPartialCreditNote)({
|
|
20
|
+
orderService,
|
|
21
|
+
operationStore,
|
|
22
|
+
orderId,
|
|
23
|
+
lines,
|
|
24
|
+
shipping,
|
|
25
|
+
actorId,
|
|
26
|
+
});
|
|
27
|
+
if ("reconciliationRequired" in result && result.reconciliationRequired) {
|
|
28
|
+
return res.status(409).json({
|
|
29
|
+
message: "A korábbi Billingo részleges jóváírás eredménye bizonytalan; kézi egyeztetés szükséges, újabb módosító bizonylat nem indult.",
|
|
30
|
+
...result,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
res.status(result.alreadyExisted ? 200 : 201).json(result);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
res.status(400).json({
|
|
37
|
+
message: error instanceof Error ? error.message : "A részleges Billingo jóváírás nem sikerült.",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function normalizeLines(value) {
|
|
42
|
+
if (!Array.isArray(value))
|
|
43
|
+
return [];
|
|
44
|
+
return value
|
|
45
|
+
.map((item) => {
|
|
46
|
+
if (!item || typeof item !== "object")
|
|
47
|
+
return null;
|
|
48
|
+
const row = item;
|
|
49
|
+
const lineId = typeof row.lineId === "string" ? row.lineId.trim() : "";
|
|
50
|
+
const quantity = Number(row.quantity);
|
|
51
|
+
return lineId && Number.isFinite(quantity) && quantity > 0
|
|
52
|
+
? { lineId, quantity }
|
|
53
|
+
: null;
|
|
54
|
+
})
|
|
55
|
+
.filter((item) => Boolean(item));
|
|
56
|
+
}
|
|
57
|
+
function normalizeShipping(value) {
|
|
58
|
+
if (!Array.isArray(value))
|
|
59
|
+
return [];
|
|
60
|
+
return value
|
|
61
|
+
.map((item) => {
|
|
62
|
+
if (!item || typeof item !== "object")
|
|
63
|
+
return null;
|
|
64
|
+
const index = Number(item.index);
|
|
65
|
+
return Number.isInteger(index) && index >= 0 ? { index } : null;
|
|
66
|
+
})
|
|
67
|
+
.filter((item) => Boolean(item));
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2JpbGxpbmdvL3BhcnRpYWwtY3JlZGl0L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLG9CQXFDQztBQXRERCwrREFLeUM7QUFDekMscUZBR2tEO0FBUTNDLEtBQUssVUFBVSxJQUFJLENBQUMsR0FBd0IsRUFBRSxHQUFtQjtJQUN0RSxNQUFNLE9BQU8sR0FBRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNwRixJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyxDQUFBO0lBRTFGLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzdDLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxDQUFDLENBQUE7SUFDckYsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBb0MsQ0FBQTtJQUNsRixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFD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
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
|
|
2
|
+
type DocumentBody = {
|
|
3
|
+
title?: unknown;
|
|
4
|
+
description?: unknown;
|
|
5
|
+
document_type?: unknown;
|
|
6
|
+
file_id?: unknown;
|
|
7
|
+
file_url?: unknown;
|
|
8
|
+
file_name?: unknown;
|
|
9
|
+
mime_type?: unknown;
|
|
10
|
+
file_size?: unknown;
|
|
11
|
+
locale?: unknown;
|
|
12
|
+
version?: unknown;
|
|
13
|
+
status?: unknown;
|
|
14
|
+
valid_from?: unknown;
|
|
15
|
+
valid_until?: unknown;
|
|
16
|
+
product_ids?: unknown;
|
|
17
|
+
category_ids?: unknown;
|
|
18
|
+
};
|
|
19
|
+
export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
|
|
20
|
+
export declare function POST(req: MedusaRequest<DocumentBody>, res: MedusaResponse): Promise<MedusaResponse>;
|
|
21
|
+
export declare function DELETE(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
exports.DELETE = DELETE;
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const documents_1 = require("../../../../core/documents");
|
|
8
|
+
const core_documents_1 = require("../../../../modules/core-documents");
|
|
9
|
+
async function GET(req, res) {
|
|
10
|
+
try {
|
|
11
|
+
const service = req.scope.resolve(core_documents_1.CORE_DOCUMENTS_MODULE);
|
|
12
|
+
const document = await service.retrieveCoreDocument(req.params.id);
|
|
13
|
+
const assignments = await service.listCoreDocumentAssignments({ document_id: document.id }, { take: 1000, order: { display_order: "ASC" } });
|
|
14
|
+
return res.json({ document: withAssignments(document, assignments) });
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return res.status(404).json({ message: errorMessage(error, "A dokumentum nem található.") });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async function POST(req, res) {
|
|
21
|
+
try {
|
|
22
|
+
const service = req.scope.resolve(core_documents_1.CORE_DOCUMENTS_MODULE);
|
|
23
|
+
const current = await service.retrieveCoreDocument(req.params.id);
|
|
24
|
+
const validFrom = req.body?.valid_from === undefined ? current.valid_from : (0, documents_1.nullableDate)(req.body.valid_from);
|
|
25
|
+
const validUntil = req.body?.valid_until === undefined ? current.valid_until : (0, documents_1.nullableDate)(req.body.valid_until);
|
|
26
|
+
if (validFrom && validUntil && new Date(validFrom).getTime() > new Date(validUntil).getTime()) {
|
|
27
|
+
return res.status(400).json({ message: "Az érvényesség kezdete nem lehet későbbi a végénél." });
|
|
28
|
+
}
|
|
29
|
+
const nextFileId = req.body?.file_id === undefined ? current.file_id : requiredText(req.body.file_id, 500, "A fájlazonosító kötelező.");
|
|
30
|
+
const updated = await service.updateCoreDocuments({
|
|
31
|
+
id: current.id,
|
|
32
|
+
title: req.body?.title === undefined ? current.title : requiredText(req.body.title, 240, "A dokumentum címe kötelező."),
|
|
33
|
+
description: req.body?.description === undefined ? current.description : nullableText(req.body.description, 4000),
|
|
34
|
+
document_type: req.body?.document_type === undefined ? current.document_type : (0, documents_1.normalizeCoreDocumentType)(req.body.document_type),
|
|
35
|
+
file_id: nextFileId,
|
|
36
|
+
file_url: req.body?.file_url === undefined ? current.file_url : requiredText(req.body.file_url, 4000, "A fájl URL-je kötelező."),
|
|
37
|
+
file_name: req.body?.file_name === undefined ? current.file_name : requiredText(req.body.file_name, 500, "A fájlnév kötelező."),
|
|
38
|
+
mime_type: req.body?.mime_type === undefined ? current.mime_type : nullableText(req.body.mime_type, 240),
|
|
39
|
+
file_size: req.body?.file_size === undefined ? current.file_size : nullableNumber(req.body.file_size),
|
|
40
|
+
locale: req.body?.locale === undefined ? current.locale : nullableText(req.body.locale, 40),
|
|
41
|
+
version: req.body?.version === undefined ? current.version : nullableText(req.body.version, 120),
|
|
42
|
+
status: req.body?.status === undefined ? current.status : (0, documents_1.normalizeCoreDocumentStatus)(req.body.status),
|
|
43
|
+
valid_from: validFrom,
|
|
44
|
+
valid_until: validUntil,
|
|
45
|
+
});
|
|
46
|
+
if (req.body?.product_ids !== undefined || req.body?.category_ids !== undefined) {
|
|
47
|
+
const previous = await service.listCoreDocumentAssignments({ document_id: current.id }, { take: 1000 });
|
|
48
|
+
if (previous.length)
|
|
49
|
+
await service.deleteCoreDocumentAssignments(previous.map((item) => String(item.id)));
|
|
50
|
+
const productIds = req.body?.product_ids === undefined
|
|
51
|
+
? previous.filter((item) => item.target_type === "product").map((item) => item.target_id)
|
|
52
|
+
: req.body.product_ids;
|
|
53
|
+
const categoryIds = req.body?.category_ids === undefined
|
|
54
|
+
? previous.filter((item) => item.target_type === "category").map((item) => item.target_id)
|
|
55
|
+
: req.body.category_ids;
|
|
56
|
+
const replacements = assignmentInputs(current.id, productIds, categoryIds);
|
|
57
|
+
if (replacements.length)
|
|
58
|
+
await service.createCoreDocumentAssignments(replacements);
|
|
59
|
+
}
|
|
60
|
+
if (nextFileId !== current.file_id) {
|
|
61
|
+
await (0, core_flows_1.deleteFilesWorkflow)(req.scope).run({ input: { ids: [String(current.file_id)] } }).catch(() => undefined);
|
|
62
|
+
}
|
|
63
|
+
const assignments = await service.listCoreDocumentAssignments({ document_id: current.id }, { take: 1000, order: { display_order: "ASC" } });
|
|
64
|
+
return res.json({ document: withAssignments(updated, assignments) });
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return res.status(400).json({ message: errorMessage(error, "A dokumentum nem frissíthető.") });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function DELETE(req, res) {
|
|
71
|
+
try {
|
|
72
|
+
const service = req.scope.resolve(core_documents_1.CORE_DOCUMENTS_MODULE);
|
|
73
|
+
const document = await service.retrieveCoreDocument(req.params.id);
|
|
74
|
+
const assignments = await service.listCoreDocumentAssignments({ document_id: document.id }, { take: 1000 });
|
|
75
|
+
if (assignments.length)
|
|
76
|
+
await service.deleteCoreDocumentAssignments(assignments.map((item) => String(item.id)));
|
|
77
|
+
await service.deleteCoreDocuments(document.id);
|
|
78
|
+
await (0, core_flows_1.deleteFilesWorkflow)(req.scope).run({ input: { ids: [String(document.file_id)] } }).catch(() => undefined);
|
|
79
|
+
return res.json({ id: document.id, deleted: true });
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
return res.status(400).json({ message: errorMessage(error, "A dokumentum nem törölhető.") });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function assignmentInputs(documentId, productIds, categoryIds) {
|
|
86
|
+
let displayOrder = 0;
|
|
87
|
+
return [
|
|
88
|
+
...(0, documents_1.normalizeCoreDocumentIds)(productIds).map((targetId) => ({ document_id: documentId, target_type: "product", target_id: targetId, display_order: displayOrder++ })),
|
|
89
|
+
...(0, documents_1.normalizeCoreDocumentIds)(categoryIds).map((targetId) => ({ document_id: documentId, target_type: "category", target_id: targetId, display_order: displayOrder++ })),
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
function withAssignments(document, assignments) {
|
|
93
|
+
return {
|
|
94
|
+
...document,
|
|
95
|
+
product_ids: assignments.filter((item) => item.target_type === "product").map((item) => String(item.target_id)),
|
|
96
|
+
category_ids: assignments.filter((item) => item.target_type === "category").map((item) => String(item.target_id)),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function requiredText(value, max, message) { const result = text(value, max); if (!result)
|
|
100
|
+
throw new Error(message); return result; }
|
|
101
|
+
function nullableText(value, max) { return text(value, max) || null; }
|
|
102
|
+
function text(value, max) { return typeof value === "string" ? value.trim().slice(0, max) : ""; }
|
|
103
|
+
function nullableNumber(value) { if (value == null || value === "")
|
|
104
|
+
return null; const number = Number(value); if (!Number.isFinite(number) || number < 0)
|
|
105
|
+
throw new Error("Érvénytelen fájlméret."); return number; }
|
|
106
|
+
function errorMessage(error, fallback) { return error instanceof Error ? error.message : fallback; }
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0JBLGtCQVlDO0FBRUQsb0JBd0RDO0FBRUQsd0JBWUM7QUFsSEQsNERBQWlFO0FBQ2pFLDBEQUttQztBQUNuQyx1RUFHMkM7QUFvQnBDLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQ0FBcUIsQ0FBeUIsQ0FBQTtRQUNoRixNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBbUMsQ0FBQTtRQUNwRyxNQUFNLFdBQVcsR0FBRyxNQUFNLE9BQU8sQ0FBQywyQkFBMkIsQ0FDM0QsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBVyxFQUNyQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFXLENBQ2hCLENBQUE7UUFDMUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzlGLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFnQyxFQUFFLEdB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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
|
|
2
|
+
type DocumentBody = {
|
|
3
|
+
title?: unknown;
|
|
4
|
+
description?: unknown;
|
|
5
|
+
document_type?: unknown;
|
|
6
|
+
file_id?: unknown;
|
|
7
|
+
file_url?: unknown;
|
|
8
|
+
file_name?: unknown;
|
|
9
|
+
mime_type?: unknown;
|
|
10
|
+
file_size?: unknown;
|
|
11
|
+
locale?: unknown;
|
|
12
|
+
version?: unknown;
|
|
13
|
+
status?: unknown;
|
|
14
|
+
valid_from?: unknown;
|
|
15
|
+
valid_until?: unknown;
|
|
16
|
+
product_ids?: unknown;
|
|
17
|
+
category_ids?: unknown;
|
|
18
|
+
};
|
|
19
|
+
export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<MedusaResponse>;
|
|
20
|
+
export declare function POST(req: MedusaRequest<DocumentBody>, res: MedusaResponse): Promise<MedusaResponse>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const documents_1 = require("../../../core/documents");
|
|
6
|
+
const core_documents_1 = require("../../../modules/core-documents");
|
|
7
|
+
async function GET(req, res) {
|
|
8
|
+
try {
|
|
9
|
+
const service = req.scope.resolve(core_documents_1.CORE_DOCUMENTS_MODULE);
|
|
10
|
+
const limit = clampInt(req.query?.limit, 100, 1, 500);
|
|
11
|
+
const offset = clampInt(req.query?.offset, 0, 0, 100000);
|
|
12
|
+
const filters = {};
|
|
13
|
+
const status = text(req.query?.status, 40);
|
|
14
|
+
const type = text(req.query?.document_type, 120);
|
|
15
|
+
if (status)
|
|
16
|
+
filters.status = status;
|
|
17
|
+
if (type)
|
|
18
|
+
filters.document_type = type;
|
|
19
|
+
const [documents, count] = await service.listAndCountCoreDocuments(filters, { take: limit, skip: offset, order: { created_at: "DESC" } });
|
|
20
|
+
const assignments = await service.listCoreDocumentAssignments({}, { take: 5000, order: { display_order: "ASC" } });
|
|
21
|
+
const productId = text(req.query?.product_id, 120);
|
|
22
|
+
const categoryId = text(req.query?.category_id, 120);
|
|
23
|
+
const enriched = documents
|
|
24
|
+
.map((document) => withAssignments(document, assignments))
|
|
25
|
+
.filter((document) => !productId || document.product_ids.includes(productId))
|
|
26
|
+
.filter((document) => !categoryId || document.category_ids.includes(categoryId));
|
|
27
|
+
return res.json({ documents: enriched, count: productId || categoryId ? enriched.length : count, limit, offset });
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return res.status(500).json({ message: errorMessage(error, "A dokumentumok nem tölthetők be.") });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function POST(req, res) {
|
|
34
|
+
try {
|
|
35
|
+
const service = req.scope.resolve(core_documents_1.CORE_DOCUMENTS_MODULE);
|
|
36
|
+
const title = requiredText(req.body?.title, 240, "A dokumentum címe kötelező.");
|
|
37
|
+
const fileId = requiredText(req.body?.file_id, 500, "A feltöltött fájl azonosítója kötelező.");
|
|
38
|
+
const fileUrl = requiredText(req.body?.file_url, 4000, "A feltöltött fájl URL-je kötelező.");
|
|
39
|
+
const fileName = requiredText(req.body?.file_name, 500, "A fájlnév kötelező.");
|
|
40
|
+
const validFrom = (0, documents_1.nullableDate)(req.body?.valid_from);
|
|
41
|
+
const validUntil = (0, documents_1.nullableDate)(req.body?.valid_until);
|
|
42
|
+
if (validFrom && validUntil && validFrom.getTime() > validUntil.getTime()) {
|
|
43
|
+
return res.status(400).json({ message: "Az érvényesség kezdete nem lehet későbbi a végénél." });
|
|
44
|
+
}
|
|
45
|
+
const document = await service.createCoreDocuments({
|
|
46
|
+
title,
|
|
47
|
+
description: nullableText(req.body?.description, 4000),
|
|
48
|
+
document_type: (0, documents_1.normalizeCoreDocumentType)(req.body?.document_type),
|
|
49
|
+
file_id: fileId,
|
|
50
|
+
file_url: fileUrl,
|
|
51
|
+
file_name: fileName,
|
|
52
|
+
mime_type: nullableText(req.body?.mime_type, 240),
|
|
53
|
+
file_size: nullableNumber(req.body?.file_size),
|
|
54
|
+
locale: nullableText(req.body?.locale, 40),
|
|
55
|
+
version: nullableText(req.body?.version, 120),
|
|
56
|
+
status: (0, documents_1.normalizeCoreDocumentStatus)(req.body?.status),
|
|
57
|
+
valid_from: validFrom,
|
|
58
|
+
valid_until: validUntil,
|
|
59
|
+
});
|
|
60
|
+
const assignments = assignmentInputs(document.id, req.body?.product_ids, req.body?.category_ids);
|
|
61
|
+
if (assignments.length) {
|
|
62
|
+
await service.createCoreDocumentAssignments(assignments);
|
|
63
|
+
}
|
|
64
|
+
const savedAssignments = await service.listCoreDocumentAssignments({ document_id: document.id }, { take: 1000, order: { display_order: "ASC" } });
|
|
65
|
+
return res.status(201).json({ document: withAssignments(document, savedAssignments) });
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return res.status(400).json({ message: errorMessage(error, "A dokumentum nem hozható létre.") });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function assignmentInputs(documentId, productIds, categoryIds) {
|
|
72
|
+
let displayOrder = 0;
|
|
73
|
+
return [
|
|
74
|
+
...(0, documents_1.normalizeCoreDocumentIds)(productIds).map((targetId) => ({
|
|
75
|
+
document_id: documentId,
|
|
76
|
+
target_type: "product",
|
|
77
|
+
target_id: targetId,
|
|
78
|
+
display_order: displayOrder++,
|
|
79
|
+
})),
|
|
80
|
+
...(0, documents_1.normalizeCoreDocumentIds)(categoryIds).map((targetId) => ({
|
|
81
|
+
document_id: documentId,
|
|
82
|
+
target_type: "category",
|
|
83
|
+
target_id: targetId,
|
|
84
|
+
display_order: displayOrder++,
|
|
85
|
+
})),
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
function withAssignments(document, assignments) {
|
|
89
|
+
const own = assignments.filter((item) => item.document_id === document.id);
|
|
90
|
+
return {
|
|
91
|
+
...document,
|
|
92
|
+
product_ids: own.filter((item) => item.target_type === "product").map((item) => String(item.target_id)),
|
|
93
|
+
category_ids: own.filter((item) => item.target_type === "category").map((item) => String(item.target_id)),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function requiredText(value, max, message) {
|
|
97
|
+
const result = text(value, max);
|
|
98
|
+
if (!result)
|
|
99
|
+
throw new Error(message);
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
function nullableText(value, max) { return text(value, max) || null; }
|
|
103
|
+
function text(value, max) { return typeof value === "string" ? value.trim().slice(0, max) : ""; }
|
|
104
|
+
function nullableNumber(value) {
|
|
105
|
+
if (value == null || value === "")
|
|
106
|
+
return null;
|
|
107
|
+
const number = Number(value);
|
|
108
|
+
if (!Number.isFinite(number) || number < 0)
|
|
109
|
+
throw new Error("Érvénytelen fájlméret.");
|
|
110
|
+
return number;
|
|
111
|
+
}
|
|
112
|
+
function clampInt(value, fallback, min, max) {
|
|
113
|
+
const number = Number(value);
|
|
114
|
+
return Number.isFinite(number) ? Math.max(min, Math.min(max, Math.trunc(number))) : fallback;
|
|
115
|
+
}
|
|
116
|
+
function errorMessage(error, fallback) { return error instanceof Error ? error.message : fallback; }
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSxrQkErQkM7QUFFRCxvQkEwQ0M7QUF4R0QsdURBS2dDO0FBQ2hDLG9FQUd3QztBQW9CakMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUF5QixDQUFBO1FBQ2hGLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3hELE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUE7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUNoRCxJQUFJLE1BQU07WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNuQyxJQUFJLElBQUk7WUFBRSxPQUFPLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtRQUV0QyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLHlCQUF5QixDQUNoRSxPQUFnQixFQUNoQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUs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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const integration_settings_1 = require("../../../../modules/integration-settings");
|
|
5
|
+
const diagnostics_1 = require("../../../../lib/modules/google-ads/diagnostics");
|
|
6
|
+
async function GET(req, res) {
|
|
7
|
+
try {
|
|
8
|
+
const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
|
|
9
|
+
const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(store, "google-ads");
|
|
10
|
+
if (!resolved.enabled || resolved.env.GOOGLE_ADS_API_ENABLED !== "true") {
|
|
11
|
+
return res.status(409).json({
|
|
12
|
+
message: "A Google Ads API kapcsolat nincs bekapcsolva.",
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const diagnostics = await (0, diagnostics_1.getGoogleAdsConversionDiagnostics)(resolved.env);
|
|
16
|
+
return res.json({ diagnostics });
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
return res.status(502).json({
|
|
20
|
+
message: error instanceof Error
|
|
21
|
+
? error.message
|
|
22
|
+
: "A Google Ads conversion diagnosztika nem kérhető le.",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2dvb2dsZS1hZHMvZGlhZ25vc3RpY3Mvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxrQkF1QkM7QUE5QkQsbUZBSWlEO0FBQ2pELGdGQUFrRztBQUUzRixLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGtEQUEyQixDQUNXLENBQUE7UUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFEQUE4QixFQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUUxRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3hFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSwrQ0FBK0M7YUFDekQsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwrQ0FBaUMsRUFBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDekUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsT0FBTyxFQUNMLEtBQUssWUFBWSxLQUFLO2dCQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQ2YsQ0FBQyxDQUFDLHNEQUFzRDtTQUM3RCxDQUFDLENBQUE7SUFDSixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const integration_settings_1 = require("../../../../../modules/integration-settings");
|
|
5
|
+
const api_1 = require("../../../../../lib/modules/google-ads/api");
|
|
6
|
+
async function POST(req, res) {
|
|
7
|
+
try {
|
|
8
|
+
const store = req.scope.resolve(integration_settings_1.INTEGRATION_SETTINGS_MODULE);
|
|
9
|
+
const resolved = await (0, integration_settings_1.resolvedIntegrationEnvironment)(store, "google-ads");
|
|
10
|
+
if (!resolved.enabled || resolved.env.GOOGLE_ADS_API_ENABLED !== "true") {
|
|
11
|
+
return res.status(400).json({ message: "A Google Ads API kapcsolat nincs bekapcsolva." });
|
|
12
|
+
}
|
|
13
|
+
const actorId = req
|
|
14
|
+
.auth_context?.actor_id;
|
|
15
|
+
const state = (0, api_1.createGoogleAdsOAuthState)({ actorId });
|
|
16
|
+
return res.json({
|
|
17
|
+
auth_url: (0, api_1.buildGoogleAdsAuthorizationUrl)(resolved.env, state),
|
|
18
|
+
scope: "https://www.googleapis.com/auth/adwords",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return res.status(400).json({
|
|
23
|
+
message: error instanceof Error ? error.message : "A Google Ads OAuth nem indítható el.",
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2dvb2dsZS1hZHMvb2F1dGgvc3RhcnQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxvQkFzQkM7QUFoQ0Qsc0ZBSW9EO0FBQ3BELG1FQUdrRDtBQUUzQyxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDaEUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdCLGtEQUEyQixDQUNXLENBQUE7UUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFEQUE4QixFQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3hFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsK0NBQStDLEVBQUUsQ0FBQyxDQUFBO1FBQzNGLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBSSxHQUEyRDthQUN6RSxZQUFZLEVBQUUsUUFBUSxDQUFBO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUEsK0JBQXlCLEVBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3BELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztZQUNkLFFBQVEsRUFBRSxJQUFBLG9DQUE4QixFQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO1lBQzdELEtBQUssRUFBRSx5Q0FBeUM7U0FDakQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7U0FDekYsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMifQ==
|