medusa-plugin-tracing 0.1.1
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/medusa-config.d.ts +1 -0
- package/.medusa/server/medusa-config.js +23 -0
- package/.medusa/server/src/admin/index.js +6576 -0
- package/.medusa/server/src/admin/index.mjs +6574 -0
- package/.medusa/server/src/api/admin/invalidation-reasons/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/invalidation-reasons/[id]/route.js +34 -0
- package/.medusa/server/src/api/admin/invalidation-reasons/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/invalidation-reasons/route.js +37 -0
- package/.medusa/server/src/api/admin/serial-numbers/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/serial-numbers/[id]/route.js +34 -0
- package/.medusa/server/src/api/admin/serial-numbers/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/serial-numbers/route.js +40 -0
- package/.medusa/server/src/api/admin/stock-lots/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/stock-lots/[id]/route.js +39 -0
- package/.medusa/server/src/api/admin/stock-lots/[id]/serial-numbers/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/stock-lots/[id]/serial-numbers/route.js +21 -0
- package/.medusa/server/src/api/admin/stock-lots/disable/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/stock-lots/disable/route.js +16 -0
- package/.medusa/server/src/api/admin/stock-lots/enable/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/stock-lots/enable/route.js +16 -0
- package/.medusa/server/src/api/admin/stock-lots/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/stock-lots/route.js +43 -0
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +149 -0
- package/.medusa/server/src/api/validators.d.ts +316 -0
- package/.medusa/server/src/api/validators.js +128 -0
- package/.medusa/server/src/links/inventory-item-stock-lot.d.ts +2 -0
- package/.medusa/server/src/links/inventory-item-stock-lot.js +18 -0
- package/.medusa/server/src/links/order-serial-number.d.ts +2 -0
- package/.medusa/server/src/links/order-serial-number.js +18 -0
- package/.medusa/server/src/links/serial-number-order.d.ts +2 -0
- package/.medusa/server/src/links/serial-number-order.js +15 -0
- package/.medusa/server/src/links/stock-location-stock-lot.d.ts +2 -0
- package/.medusa/server/src/links/stock-location-stock-lot.js +18 -0
- package/.medusa/server/src/links/stock-lot-inventory-item.d.ts +2 -0
- package/.medusa/server/src/links/stock-lot-inventory-item.js +15 -0
- package/.medusa/server/src/links/stock-lot-stock-location.d.ts +2 -0
- package/.medusa/server/src/links/stock-lot-stock-location.js +15 -0
- package/.medusa/server/src/modules/tracing/index.d.ts +50 -0
- package/.medusa/server/src/modules/tracing/index.js +25 -0
- package/.medusa/server/src/modules/tracing/migrations/Migration20260409171919.d.ts +5 -0
- package/.medusa/server/src/modules/tracing/migrations/Migration20260409171919.js +29 -0
- package/.medusa/server/src/modules/tracing/models/invalidation-reason.d.ts +25 -0
- package/.medusa/server/src/modules/tracing/models/invalidation-reason.js +14 -0
- package/.medusa/server/src/modules/tracing/models/serial-number.d.ts +30 -0
- package/.medusa/server/src/modules/tracing/models/serial-number.js +23 -0
- package/.medusa/server/src/modules/tracing/models/stock-lot-activity.d.ts +1 -0
- package/.medusa/server/src/modules/tracing/models/stock-lot-activity.js +3 -0
- package/.medusa/server/src/modules/tracing/models/stock-lot.d.ts +30 -0
- package/.medusa/server/src/modules/tracing/models/stock-lot.js +20 -0
- package/.medusa/server/src/modules/tracing/service.d.ts +109 -0
- package/.medusa/server/src/modules/tracing/service.js +52 -0
- package/.medusa/server/src/subscribers/fulfillment-created.d.ts +8 -0
- package/.medusa/server/src/subscribers/fulfillment-created.js +52 -0
- package/.medusa/server/src/workflows/tracing/adjust-stock-order.d.ts +7 -0
- package/.medusa/server/src/workflows/tracing/adjust-stock-order.js +47 -0
- package/.medusa/server/src/workflows/tracing/create-stock-lot.d.ts +45 -0
- package/.medusa/server/src/workflows/tracing/create-stock-lot.js +34 -0
- package/.medusa/server/src/workflows/tracing/delete-stock-lot.d.ts +38 -0
- package/.medusa/server/src/workflows/tracing/delete-stock-lot.js +36 -0
- package/.medusa/server/src/workflows/tracing/steps/assign-from-stock-lot.d.ts +1 -0
- package/.medusa/server/src/workflows/tracing/steps/assign-from-stock-lot.js +48 -0
- package/.medusa/server/src/workflows/tracing/steps/assign-serial-number.d.ts +1 -0
- package/.medusa/server/src/workflows/tracing/steps/assign-serial-number.js +3 -0
- package/.medusa/server/src/workflows/tracing/steps/invalidate-serial-number.d.ts +1 -0
- package/.medusa/server/src/workflows/tracing/steps/invalidate-serial-number.js +3 -0
- package/.medusa/server/src/workflows/tracing/steps/return-to-stock-lot.d.ts +1 -0
- package/.medusa/server/src/workflows/tracing/steps/return-to-stock-lot.js +3 -0
- package/.medusa/server/src/workflows/tracing/update-stock-lot.d.ts +46 -0
- package/.medusa/server/src/workflows/tracing/update-stock-lot.js +42 -0
- package/LICENSE +21 -0
- package/README.md +52 -0
- package/package.json +89 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetInvalidationReasonType, AdminUpdateInvalidationReasonType } from '../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetInvalidationReasonType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateInvalidationReasonType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const tracing_1 = require("../../../../modules/tracing");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const { data: [invalidationReason] } = await query.graph({
|
|
10
|
+
entity: 'invalidation_reason',
|
|
11
|
+
fields: req.queryConfig.fields,
|
|
12
|
+
filters: { id }
|
|
13
|
+
}, { throwIfKeyNotFound: true });
|
|
14
|
+
res.json({ invalidation_reason: invalidationReason });
|
|
15
|
+
};
|
|
16
|
+
exports.GET = GET;
|
|
17
|
+
const POST = async (req, res) => {
|
|
18
|
+
const { id } = req.params;
|
|
19
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
20
|
+
const invalidationReason = await tracingService.updateInvalidationReasons({
|
|
21
|
+
id,
|
|
22
|
+
...req.validatedBody
|
|
23
|
+
});
|
|
24
|
+
res.json({ invalidation_reason: invalidationReason });
|
|
25
|
+
};
|
|
26
|
+
exports.POST = POST;
|
|
27
|
+
const DELETE = async (req, res) => {
|
|
28
|
+
const { id } = req.params;
|
|
29
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
30
|
+
await tracingService.deleteInvalidationReasons([id]);
|
|
31
|
+
res.json({ deleted: [id] });
|
|
32
|
+
};
|
|
33
|
+
exports.DELETE = DELETE;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2ludmFsaWRhdGlvbi1yZWFzb25zL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXFFO0FBS3JFLHlEQUE0RDtBQUdyRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3ZCLEdBQStELEVBQy9ELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQ0wsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFDMUIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ3BCO1FBQ0MsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO1FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtLQUNmLEVBQ0QsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQTtJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUE7QUFDdEQsQ0FBQyxDQUFBO0FBbkJZLFFBQUEsR0FBRyxPQW1CZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDeEIsR0FBa0UsRUFDbEUsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sY0FBYyxHQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUE7SUFDeEUsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQztRQUN6RSxFQUFFO1FBQ0YsR0FBRyxHQUFHLENBQUMsYUFBYTtLQUNwQixDQUFDLENBQUE7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELENBQUMsQ0FBQTtBQVhZLFFBQUEsSUFBSSxRQVdoQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUErQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNwRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGNBQWMsR0FBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNwRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVCLENBQUMsQ0FBQTtBQUxZLFFBQUEsTUFBTSxVQUtsQiJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminCreateInvalidationReasonType, AdminDeleteInvalidationReasonsType, AdminGetInvalidationReasonsType } from '../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetInvalidationReasonsType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateInvalidationReasonType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest<AdminDeleteInvalidationReasonsType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const tracing_1 = require("../../../modules/tracing");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { q } = req.validatedQuery;
|
|
9
|
+
const { data: invalidationReasons, metadata } = await query.graph({
|
|
10
|
+
entity: 'invalidation_reason',
|
|
11
|
+
...req.queryConfig,
|
|
12
|
+
filters: {
|
|
13
|
+
...(q ? { value: { $ilike: `%${q}%` } } : {})
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
res.json({
|
|
17
|
+
invalidation_reasons: invalidationReasons,
|
|
18
|
+
count: metadata?.count,
|
|
19
|
+
limit: metadata?.take,
|
|
20
|
+
offset: metadata?.skip
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
exports.GET = GET;
|
|
24
|
+
const POST = async (req, res) => {
|
|
25
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
26
|
+
const invalidationReason = await tracingService.createInvalidationReasons(req.validatedBody);
|
|
27
|
+
res.json({ invalidation_reason: invalidationReason });
|
|
28
|
+
};
|
|
29
|
+
exports.POST = POST;
|
|
30
|
+
const DELETE = async (req, res) => {
|
|
31
|
+
const { ids } = req.validatedBody;
|
|
32
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
33
|
+
await tracingService.deleteInvalidationReasons(ids);
|
|
34
|
+
res.json({ deleted: ids });
|
|
35
|
+
};
|
|
36
|
+
exports.DELETE = DELETE;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2ludmFsaWRhdGlvbi1yZWFzb25zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFxRTtBQU1yRSxzREFBeUQ7QUFHbEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUFnRSxFQUNoRSxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUVqQixDQUFBO0lBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakUsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRTtZQUNSLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDN0M7S0FDRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1Isb0JBQW9CLEVBQUUsbUJBQW1CO1FBQ3pDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSztRQUN0QixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7UUFDckIsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJO0tBQ3RCLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQXhCWSxRQUFBLEdBQUcsT0F3QmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3hCLEdBQWtFLEVBQ2xFLEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLGNBQWMsR0FBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxjQUFjLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUE7QUFDdEQsQ0FBQyxDQUFBO0FBUFksUUFBQSxJQUFJLFFBT2hCO0FBRU0sTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUMxQixHQUFtRSxFQUNuRSxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDakMsTUFBTSxjQUFjLEdBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHdCQUFjLENBQUMsQ0FBQTtJQUN4RSxNQUFNLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNuRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDM0IsQ0FBQyxDQUFBO0FBUlksUUFBQSxNQUFNLFVBUWxCIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetSerialNumberType, AdminUpdateSerialNumberType } from '../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetSerialNumberType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateSerialNumberType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const tracing_1 = require("../../../../modules/tracing");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const { data: [serialNumber] } = await query.graph({
|
|
10
|
+
entity: 'serial_number',
|
|
11
|
+
fields: req.queryConfig.fields,
|
|
12
|
+
filters: { id }
|
|
13
|
+
}, { throwIfKeyNotFound: true });
|
|
14
|
+
res.json({ serial_number: serialNumber });
|
|
15
|
+
};
|
|
16
|
+
exports.GET = GET;
|
|
17
|
+
const POST = async (req, res) => {
|
|
18
|
+
const { id } = req.params;
|
|
19
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
20
|
+
const serialNumber = await tracingService.updateSerialNumbers({
|
|
21
|
+
id,
|
|
22
|
+
...req.validatedBody
|
|
23
|
+
});
|
|
24
|
+
res.json({ serial_number: serialNumber });
|
|
25
|
+
};
|
|
26
|
+
exports.POST = POST;
|
|
27
|
+
const DELETE = async (req, res) => {
|
|
28
|
+
const { id } = req.params;
|
|
29
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
30
|
+
await tracingService.deleteSerialNumbers([id]);
|
|
31
|
+
res.json({ deleted: [id] });
|
|
32
|
+
};
|
|
33
|
+
exports.DELETE = DELETE;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NlcmlhbC1udW1iZXJzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXFFO0FBRXJFLHlEQUE0RDtBQUdyRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3ZCLEdBQXlELEVBQ3pELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQ0wsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQ3BCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNwQjtRQUNDLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2YsRUFDRCxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFBO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQW5CWSxRQUFBLEdBQUcsT0FtQmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3hCLEdBQTRELEVBQzVELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGNBQWMsR0FBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLG1CQUFtQixDQUFDO1FBQzdELEVBQUU7UUFDRixHQUFHLEdBQUcsQ0FBQyxhQUFhO0tBQ3BCLENBQUMsQ0FBQTtJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtBQUMxQyxDQUFDLENBQUE7QUFYWSxRQUFBLElBQUksUUFXaEI7QUFFTSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBK0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDcEYsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDekIsTUFBTSxjQUFjLEdBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHdCQUFjLENBQUMsQ0FBQTtJQUN4RSxNQUFNLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM1QixDQUFDLENBQUE7QUFMWSxRQUFBLE1BQU0sVUFLbEIifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetSerialNumbersType, AdminCreateSerialNumberType, AdminDeleteSerialNumbersType } from '../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetSerialNumbersType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateSerialNumberType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest<AdminDeleteSerialNumbersType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const tracing_1 = require("../../../modules/tracing");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { stock_lot_id, order_id, invalidated, q } = req.validatedQuery;
|
|
9
|
+
const { data: serialNumbers, metadata } = await query.graph({
|
|
10
|
+
entity: 'serial_number',
|
|
11
|
+
...req.queryConfig,
|
|
12
|
+
filters: {
|
|
13
|
+
...(stock_lot_id ? { stock_lot_id } : {}),
|
|
14
|
+
...(order_id ? { order_id } : {}),
|
|
15
|
+
...(invalidated != null ? { invalidated } : {}),
|
|
16
|
+
...(q ? { value: { $ilike: `%${q}%` } } : {})
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
res.json({
|
|
20
|
+
serial_numbers: serialNumbers,
|
|
21
|
+
count: metadata?.count,
|
|
22
|
+
limit: metadata?.take,
|
|
23
|
+
offset: metadata?.skip
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
exports.GET = GET;
|
|
27
|
+
const POST = async (req, res) => {
|
|
28
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
29
|
+
const serialNumber = await tracingService.createSerialNumbers(req.validatedBody);
|
|
30
|
+
res.json({ serial_number: serialNumber });
|
|
31
|
+
};
|
|
32
|
+
exports.POST = POST;
|
|
33
|
+
const DELETE = async (req, res) => {
|
|
34
|
+
const { ids } = req.validatedBody;
|
|
35
|
+
const tracingService = req.scope.resolve(tracing_1.TRACING_MODULE);
|
|
36
|
+
await tracingService.deleteSerialNumbers(ids);
|
|
37
|
+
res.json({ deleted: ids });
|
|
38
|
+
};
|
|
39
|
+
exports.DELETE = DELETE;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3NlcmlhbC1udW1iZXJzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFxRTtBQU1yRSxzREFBeUQ7QUFHbEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUEwRCxFQUMxRCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUE7SUFFckUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLEdBQUcsR0FBRyxDQUFDLFdBQVc7UUFDbEIsT0FBTyxFQUFFO1lBQ1IsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9DLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDN0M7S0FDRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1IsY0FBYyxFQUFFLGFBQWE7UUFDN0IsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLO1FBQ3RCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtRQUNyQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUk7S0FDdEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBekJZLFFBQUEsR0FBRyxPQXlCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDeEIsR0FBNEQsRUFDNUQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sY0FBYyxHQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUE7SUFDeEUsTUFBTSxZQUFZLEdBQUcsTUFBTSxjQUFjLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ2hGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtBQUMxQyxDQUFDLENBQUE7QUFQWSxRQUFBLElBQUksUUFPaEI7QUFFTSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQzFCLEdBQTZELEVBQzdELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUNqQyxNQUFNLGNBQWMsR0FBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUMzQixDQUFDLENBQUE7QUFSWSxRQUFBLE1BQU0sVUFRbEIifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetStockLotType, AdminUpdateStockLotType } from '../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetStockLotType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateStockLotType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const update_stock_lot_1 = require("../../../../workflows/tracing/update-stock-lot");
|
|
6
|
+
const delete_stock_lot_1 = require("../../../../workflows/tracing/delete-stock-lot");
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const { id } = req.params;
|
|
10
|
+
const { data: [stockLot] } = await query.graph({
|
|
11
|
+
entity: 'stock_lot',
|
|
12
|
+
fields: req.queryConfig.fields,
|
|
13
|
+
filters: { id }
|
|
14
|
+
}, { throwIfKeyNotFound: true });
|
|
15
|
+
res.json({ stock_lot: stockLot });
|
|
16
|
+
};
|
|
17
|
+
exports.GET = GET;
|
|
18
|
+
const POST = async (req, res) => {
|
|
19
|
+
const { id } = req.params;
|
|
20
|
+
const { result } = await (0, update_stock_lot_1.updateStockLotWorkflow)(req.scope).run({
|
|
21
|
+
input: {
|
|
22
|
+
id,
|
|
23
|
+
...req.validatedBody
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
res.json({ stock_lot: result });
|
|
27
|
+
};
|
|
28
|
+
exports.POST = POST;
|
|
29
|
+
const DELETE = async (req, res) => {
|
|
30
|
+
const { id } = req.params;
|
|
31
|
+
const { result } = await (0, delete_stock_lot_1.deleteStockLotWorkflow)(req.scope).run({
|
|
32
|
+
input: {
|
|
33
|
+
id
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
res.json({ stock_lot: result });
|
|
37
|
+
};
|
|
38
|
+
exports.DELETE = DELETE;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3N0b2NrLWxvdHMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFFckUscUZBQXVGO0FBQ3ZGLHFGQUF1RjtBQUVoRixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3ZCLEdBQXFELEVBQ3JELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQ0wsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ2hCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNwQjtRQUNDLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2YsRUFDRCxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFBO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0FBQ2xDLENBQUMsQ0FBQTtBQW5CWSxRQUFBLEdBQUcsT0FtQmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3hCLEdBQXdELEVBQ3hELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLHlDQUFzQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDOUQsS0FBSyxFQUFFO1lBQ04sRUFBRTtZQUNGLEdBQUcsR0FBRyxDQUFDLGFBQWE7U0FDcEI7S0FDRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBZFksUUFBQSxJQUFJLFFBY2hCO0FBRU0sTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQStCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3BGLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQXNCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5RCxLQUFLLEVBQUU7WUFDTixFQUFFO1NBQ0Y7S0FDRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBVlksUUFBQSxNQUFNLFVBVWxCIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
+
const { id } = req.params;
|
|
8
|
+
const { data: serialNumbers, metadata } = await query.graph({
|
|
9
|
+
entity: 'serial_number',
|
|
10
|
+
...req.queryConfig,
|
|
11
|
+
filters: { stock_lot: { id } }
|
|
12
|
+
});
|
|
13
|
+
res.json({
|
|
14
|
+
serial_numbers: serialNumbers,
|
|
15
|
+
count: metadata?.count,
|
|
16
|
+
limit: metadata?.take,
|
|
17
|
+
offset: metadata?.skip
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.GET = GET;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3N0b2NrLWxvdHMvW2lkXS9zZXJpYWwtbnVtYmVycy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFFOUQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQStCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ2pGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzRCxNQUFNLEVBQUUsZUFBZTtRQUN2QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQzlCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUixjQUFjLEVBQUUsYUFBYTtRQUM3QixLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSTtLQUN0QixDQUFDLENBQUE7QUFDSCxDQUFDLENBQUE7QUFoQlksUUFBQSxHQUFHLE9BZ0JmIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminDeleteStockLotsType } from '../../../validators';
|
|
3
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminDeleteStockLotsType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const update_stock_lot_1 = require("../../../../workflows/tracing/update-stock-lot");
|
|
5
|
+
const POST = async (req, res) => {
|
|
6
|
+
const { ids } = req.validatedBody;
|
|
7
|
+
await Promise.all(ids.map(id => (0, update_stock_lot_1.updateStockLotWorkflow)(req.scope).run({
|
|
8
|
+
input: {
|
|
9
|
+
id,
|
|
10
|
+
enabled: false
|
|
11
|
+
}
|
|
12
|
+
})));
|
|
13
|
+
res.json({ disabled: ids });
|
|
14
|
+
};
|
|
15
|
+
exports.POST = POST;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3N0b2NrLWxvdHMvZGlzYWJsZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxRkFBdUY7QUFFaEYsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUF5RCxFQUN6RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDakMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNoQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ1osSUFBQSx5Q0FBc0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3JDLEtBQUssRUFBRTtZQUNOLEVBQUU7WUFDRixPQUFPLEVBQUUsS0FBSztTQUNkO0tBQ0QsQ0FBQyxDQUNGLENBQ0QsQ0FBQTtJQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUM1QixDQUFDLENBQUE7QUFoQlksUUFBQSxJQUFJLFFBZ0JoQiJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminDeleteStockLotsType } from '../../../validators';
|
|
3
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminDeleteStockLotsType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const update_stock_lot_1 = require("../../../../workflows/tracing/update-stock-lot");
|
|
5
|
+
const POST = async (req, res) => {
|
|
6
|
+
const { ids } = req.validatedBody;
|
|
7
|
+
await Promise.all(ids.map(id => (0, update_stock_lot_1.updateStockLotWorkflow)(req.scope).run({
|
|
8
|
+
input: {
|
|
9
|
+
id,
|
|
10
|
+
enabled: true
|
|
11
|
+
}
|
|
12
|
+
})));
|
|
13
|
+
res.json({ enabled: ids });
|
|
14
|
+
};
|
|
15
|
+
exports.POST = POST;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3N0b2NrLWxvdHMvZW5hYmxlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHFGQUF1RjtBQUVoRixNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3hCLEdBQXlELEVBQ3pELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUNqQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDWixJQUFBLHlDQUFzQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDckMsS0FBSyxFQUFFO1lBQ04sRUFBRTtZQUNGLE9BQU8sRUFBRSxJQUFJO1NBQ2I7S0FDRCxDQUFDLENBQ0YsQ0FDRCxDQUFBO0lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQzNCLENBQUMsQ0FBQTtBQWhCWSxRQUFBLElBQUksUUFnQmhCIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminCreateStockLotType, AdminDeleteStockLotsType, AdminGetStockLotsType } from '../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetStockLotsType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateStockLotType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest<AdminDeleteStockLotsType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const create_stock_lot_1 = require("../../../workflows/tracing/create-stock-lot");
|
|
6
|
+
const delete_stock_lot_1 = require("../../../workflows/tracing/delete-stock-lot");
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const { inventory_item_id, location_id, enabled, q } = req.validatedQuery;
|
|
10
|
+
const { data: stockLots, metadata } = await query.graph({
|
|
11
|
+
entity: 'stock_lot',
|
|
12
|
+
...req.queryConfig,
|
|
13
|
+
filters: {
|
|
14
|
+
...(inventory_item_id ? { inventory_item_id } : {}),
|
|
15
|
+
...(location_id ? { location_id } : {}),
|
|
16
|
+
...(enabled !== undefined ? { enabled } : {}),
|
|
17
|
+
...(q ? { lot_number: { $ilike: `%${q}%` } } : {}) // search by lot_number
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
res.json({
|
|
21
|
+
stock_lots: stockLots,
|
|
22
|
+
count: metadata?.count,
|
|
23
|
+
limit: metadata?.take,
|
|
24
|
+
offset: metadata?.skip
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
exports.GET = GET;
|
|
28
|
+
const POST = async (req, res) => {
|
|
29
|
+
const { result } = await (0, create_stock_lot_1.createStockLotWorkflow)(req.scope).run({
|
|
30
|
+
input: req.validatedBody
|
|
31
|
+
});
|
|
32
|
+
res.json({ stock_lot: result });
|
|
33
|
+
};
|
|
34
|
+
exports.POST = POST;
|
|
35
|
+
const DELETE = async (req, res) => {
|
|
36
|
+
const { ids } = req.validatedBody;
|
|
37
|
+
await Promise.all(ids.map(id => (0, delete_stock_lot_1.deleteStockLotWorkflow)(req.scope).run({
|
|
38
|
+
input: { id }
|
|
39
|
+
})));
|
|
40
|
+
res.json({ deleted: ids });
|
|
41
|
+
};
|
|
42
|
+
exports.DELETE = DELETE;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3N0b2NrLWxvdHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXFFO0FBTXJFLGtGQUFvRjtBQUNwRixrRkFBb0Y7QUFFN0UsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUFzRCxFQUN0RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBSzFELENBQUE7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDdkQsTUFBTSxFQUFFLFdBQVc7UUFDbkIsR0FBRyxHQUFHLENBQUMsV0FBVztRQUNsQixPQUFPLEVBQUU7WUFDUixHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25ELEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxHQUFHLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyx1QkFBdUI7U0FDMUU7S0FDRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1IsVUFBVSxFQUFFLFNBQVM7UUFDckIsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLO1FBQ3RCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtRQUNyQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUk7S0FDdEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBOUJZLFFBQUEsR0FBRyxPQThCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDeEIsR0FBd0QsRUFDeEQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQXNCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5RCxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWE7S0FDeEIsQ0FBQyxDQUFBO0lBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQ2hDLENBQUMsQ0FBQTtBQVJZLFFBQUEsSUFBSSxRQVFoQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFDMUIsR0FBeUQsRUFDekQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBQ2pDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNaLElBQUEseUNBQXNCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7S0FDYixDQUFDLENBQ0YsQ0FDRCxDQUFBO0lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQzNCLENBQUMsQ0FBQTtBQWJZLFFBQUEsTUFBTSxVQWFsQiJ9
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@medusajs/framework/http");
|
|
4
|
+
const validators_1 = require("@medusajs/medusa/api/utils/validators");
|
|
5
|
+
const validators_2 = require("./validators");
|
|
6
|
+
exports.default = (0, http_1.defineMiddlewares)([
|
|
7
|
+
{
|
|
8
|
+
matcher: '/admin/stock-lots',
|
|
9
|
+
method: ['GET'],
|
|
10
|
+
middlewares: [
|
|
11
|
+
(0, http_1.validateAndTransformQuery)(validators_2.AdminGetStockLots, {
|
|
12
|
+
defaults: [
|
|
13
|
+
'id', 'inventory_item_id', 'stock_location_id', 'lot_number',
|
|
14
|
+
'description', 'enabled', 'stocked_quantity', 'created_at', 'updated_at'
|
|
15
|
+
],
|
|
16
|
+
isList: true,
|
|
17
|
+
defaultLimit: 20
|
|
18
|
+
})
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
matcher: '/admin/stock-lots',
|
|
23
|
+
method: ['POST'],
|
|
24
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminCreateStockLot)]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
matcher: '/admin/stock-lots',
|
|
28
|
+
method: ['DELETE'],
|
|
29
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminDeleteStockLots)]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
matcher: '/admin/stock-lots/enable',
|
|
33
|
+
method: ['POST'],
|
|
34
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminDeleteStockLots)]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
matcher: '/admin/stock-lots/disable',
|
|
38
|
+
method: ['POST'],
|
|
39
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminDeleteStockLots)]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
matcher: '/admin/stock-lots/:id',
|
|
43
|
+
method: ['GET'],
|
|
44
|
+
middlewares: [
|
|
45
|
+
(0, http_1.validateAndTransformQuery)(validators_2.AdminGetStockLot, {
|
|
46
|
+
defaults: [
|
|
47
|
+
'id', 'inventory_item_id', 'stock_location_id', 'lot_number',
|
|
48
|
+
'description', 'enabled', 'stocked_quantity', 'created_at', 'updated_at',
|
|
49
|
+
'inventory_item.*', 'stock_location.*'
|
|
50
|
+
],
|
|
51
|
+
isList: false
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
matcher: '/admin/stock-lots/:id',
|
|
57
|
+
method: ['POST'],
|
|
58
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminUpdateStockLot)]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
matcher: '/admin/stock-lots/:id/serial-numbers',
|
|
62
|
+
method: ['GET'],
|
|
63
|
+
middlewares: [
|
|
64
|
+
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
|
|
65
|
+
defaults: ['id', 'value', 'order_id', 'created_at', 'updated_at'],
|
|
66
|
+
isList: true,
|
|
67
|
+
defaultLimit: 10
|
|
68
|
+
})
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
matcher: '/admin/serial-numbers',
|
|
73
|
+
method: ['GET'],
|
|
74
|
+
middlewares: [
|
|
75
|
+
(0, http_1.validateAndTransformQuery)(validators_2.AdminGetSerialNumbers, {
|
|
76
|
+
defaults: [
|
|
77
|
+
'id', 'stock_lot_id', 'order_id', 'value', 'invalidated', 'created_at', 'updated_at'
|
|
78
|
+
],
|
|
79
|
+
isList: true,
|
|
80
|
+
defaultLimit: 20
|
|
81
|
+
})
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
matcher: '/admin/serial-numbers',
|
|
86
|
+
method: ['POST'],
|
|
87
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminCreateSerialNumber)]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
matcher: '/admin/serial-numbers',
|
|
91
|
+
method: ['DELETE'],
|
|
92
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminDeleteSerialNumbers)]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
matcher: '/admin/serial-numbers/:id',
|
|
96
|
+
method: ['GET'],
|
|
97
|
+
middlewares: [
|
|
98
|
+
(0, http_1.validateAndTransformQuery)(validators_2.AdminGetSerialNumber, {
|
|
99
|
+
defaults: [
|
|
100
|
+
'id', 'stock_lot_id', 'order_id', 'value', 'invalidated',
|
|
101
|
+
'created_at', 'updated_at', 'stock_lot.*', 'order.*'
|
|
102
|
+
],
|
|
103
|
+
isList: false
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
matcher: '/admin/serial-numbers/:id',
|
|
109
|
+
method: ['POST'],
|
|
110
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminUpdateSerialNumber)]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
matcher: '/admin/invalidation-reasons',
|
|
114
|
+
method: ['GET'],
|
|
115
|
+
middlewares: [
|
|
116
|
+
(0, http_1.validateAndTransformQuery)(validators_2.AdminGetInvalidationReasons, {
|
|
117
|
+
defaults: ['id', 'value', 'created_at', 'updated_at'],
|
|
118
|
+
isList: true,
|
|
119
|
+
defaultLimit: 20
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
matcher: '/admin/invalidation-reasons',
|
|
125
|
+
method: ['POST'],
|
|
126
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminCreateInvalidationReason)]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
matcher: '/admin/invalidation-reasons',
|
|
130
|
+
method: ['DELETE'],
|
|
131
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminDeleteInvalidationReasons)]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
matcher: '/admin/invalidation-reasons/:id',
|
|
135
|
+
method: ['GET'],
|
|
136
|
+
middlewares: [
|
|
137
|
+
(0, http_1.validateAndTransformQuery)(validators_2.AdminGetInvalidationReason, {
|
|
138
|
+
defaults: ['id', 'value', 'created_at', 'updated_at'],
|
|
139
|
+
isList: false
|
|
140
|
+
})
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
matcher: '/admin/invalidation-reasons/:id',
|
|
145
|
+
method: ['POST'],
|
|
146
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_2.AdminUpdateInvalidationReason)]
|
|
147
|
+
}
|
|
148
|
+
]);
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQWlIO0FBQ2pILHNFQUF3RTtBQUN4RSw2Q0FnQnFCO0FBRXJCLGtCQUFlLElBQUEsd0JBQWlCLEVBQUM7SUFDaEM7UUFDQyxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLFdBQVcsRUFBRTtZQUNaLElBQUEsZ0NBQXlCLEVBQUMsOEJBQWlCLEVBQUU7Z0JBQzVDLFFBQVEsRUFBRTtvQkFDVCxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsWUFBWTtvQkFDNUQsYUFBYSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsWUFBWTtpQkFDeEU7Z0JBQ0QsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLEVBQUU7YUFDaEIsQ0FBQztTQUNGO0tBQ0Q7SUFDRDtRQUNDLE9BQU8sRUFBRSxtQkFBbUI7UUFDNUIsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMsZ0NBQW1CLENBQUMsQ0FBQztLQUM1RDtJQUNEO1FBQ0MsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDbEIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyxpQ0FBb0IsQ0FBQyxDQUFDO0tBQzdEO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsMEJBQTBCO1FBQ25DLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLGlDQUFvQixDQUFDLENBQUM7S0FDN0Q7SUFDRDtRQUNDLE9BQU8sRUFBRSwyQkFBMkI7UUFDcEMsTUFBTSxFQUFFLENBQUMsTUFBTSxD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
|