@open-mercato/core 0.10.1-develop.7709.1.046124599c → 0.10.1-develop.7714.1.9dbb8200d8
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/.turbo/turbo-build.log +2 -2
- package/dist/generated/entities/asn/index.js +19 -0
- package/dist/generated/entities/asn/index.js.map +7 -0
- package/dist/generated/entities/putaway_task/index.js +25 -0
- package/dist/generated/entities/putaway_task/index.js.map +7 -0
- package/dist/generated/entities/receiving_line/index.js +21 -0
- package/dist/generated/entities/receiving_line/index.js.map +7 -0
- package/dist/generated/entities.ids.generated.js +4 -1
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +34 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/communication_channels/lib/sanitize-channel-html.js +22 -3
- package/dist/modules/communication_channels/lib/sanitize-channel-html.js.map +2 -2
- package/dist/modules/communication_channels/widgets/injection/channel-payload-renderer/widget.client.js +40 -11
- package/dist/modules/communication_channels/widgets/injection/channel-payload-renderer/widget.client.js.map +2 -2
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js +13 -2
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js.map +2 -2
- package/dist/modules/wms/acl.js +2 -0
- package/dist/modules/wms/acl.js.map +2 -2
- package/dist/modules/wms/api/asns/[id]/complete/route.js +61 -0
- package/dist/modules/wms/api/asns/[id]/complete/route.js.map +7 -0
- package/dist/modules/wms/api/asns/[id]/receive/route.js +68 -0
- package/dist/modules/wms/api/asns/[id]/receive/route.js.map +7 -0
- package/dist/modules/wms/api/asns/route.js +197 -0
- package/dist/modules/wms/api/asns/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/helpers.js +42 -34
- package/dist/modules/wms/api/inventory/helpers.js.map +2 -2
- package/dist/modules/wms/api/inventory/receive/route.js +1 -1
- package/dist/modules/wms/api/inventory/receive/route.js.map +2 -2
- package/dist/modules/wms/api/listEnrichers.js +23 -0
- package/dist/modules/wms/api/listEnrichers.js.map +2 -2
- package/dist/modules/wms/api/putaway-tasks/[id]/assign/route.js +56 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/assign/route.js.map +7 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/cancel/route.js +56 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/cancel/route.js.map +7 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/complete/route.js +65 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/complete/route.js.map +7 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/start/route.js +56 -0
- package/dist/modules/wms/api/putaway-tasks/[id]/start/route.js.map +7 -0
- package/dist/modules/wms/api/putaway-tasks/create-from-balance/route.js +51 -0
- package/dist/modules/wms/api/putaway-tasks/create-from-balance/route.js.map +7 -0
- package/dist/modules/wms/api/putaway-tasks/route.js +192 -0
- package/dist/modules/wms/api/putaway-tasks/route.js.map +7 -0
- package/dist/modules/wms/api/receiving-lines/route.js +180 -0
- package/dist/modules/wms/api/receiving-lines/route.js.map +7 -0
- package/dist/modules/wms/api/scan/putaway/route.js +104 -0
- package/dist/modules/wms/api/scan/putaway/route.js.map +7 -0
- package/dist/modules/wms/api/scan/receive/route.js +109 -0
- package/dist/modules/wms/api/scan/receive/route.js.map +7 -0
- package/dist/modules/wms/api/scan/resolve-location/route.js +89 -0
- package/dist/modules/wms/api/scan/resolve-location/route.js.map +7 -0
- package/dist/modules/wms/api/scan/resolve-lot/route.js +89 -0
- package/dist/modules/wms/api/scan/resolve-lot/route.js.map +7 -0
- package/dist/modules/wms/backend/wms/asns/[id]/page.js +9 -0
- package/dist/modules/wms/backend/wms/asns/[id]/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/asns/[id]/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/asns/[id]/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/asns/page.js +9 -0
- package/dist/modules/wms/backend/wms/asns/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/asns/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/asns/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/putaway/page.js +9 -0
- package/dist/modules/wms/backend/wms/putaway/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/putaway/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/putaway/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/receiving/page.js +8 -0
- package/dist/modules/wms/backend/wms/receiving/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/receiving/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/receiving/page.meta.js.map +7 -0
- package/dist/modules/wms/ce.js +27 -0
- package/dist/modules/wms/ce.js.map +2 -2
- package/dist/modules/wms/commands/asn.js +1746 -0
- package/dist/modules/wms/commands/asn.js.map +7 -0
- package/dist/modules/wms/commands/index.js +2 -0
- package/dist/modules/wms/commands/index.js.map +2 -2
- package/dist/modules/wms/commands/inventory-actions.js +347 -243
- package/dist/modules/wms/commands/inventory-actions.js.map +2 -2
- package/dist/modules/wms/commands/putaway.js +945 -0
- package/dist/modules/wms/commands/putaway.js.map +7 -0
- package/dist/modules/wms/commands/shared.js +51 -0
- package/dist/modules/wms/commands/shared.js.map +2 -2
- package/dist/modules/wms/components/backend/AssignPutawayTaskDialog.js +278 -0
- package/dist/modules/wms/components/backend/AssignPutawayTaskDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/CompletePutawayTaskDialog.js +327 -0
- package/dist/modules/wms/components/backend/CompletePutawayTaskDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/CreateAsnDialog.js +404 -0
- package/dist/modules/wms/components/backend/CreateAsnDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/InventoryOperationsSection.js +16 -3
- package/dist/modules/wms/components/backend/InventoryOperationsSection.js.map +2 -2
- package/dist/modules/wms/components/backend/ReceiveAsnLineDialog.js +476 -0
- package/dist/modules/wms/components/backend/ReceiveAsnLineDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/ReceiveInventoryDialog.js +2 -2
- package/dist/modules/wms/components/backend/ReceiveInventoryDialog.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsAsnDetailPage.js +524 -0
- package/dist/modules/wms/components/backend/WmsAsnDetailPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsAsnsListPage.js +339 -0
- package/dist/modules/wms/components/backend/WmsAsnsListPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsLocationDetailPage.js +5 -6
- package/dist/modules/wms/components/backend/WmsLocationDetailPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsLotDetailPage.js +5 -6
- package/dist/modules/wms/components/backend/WmsLotDetailPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js +14 -10
- package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsPutawayQueuePage.js +598 -0
- package/dist/modules/wms/components/backend/WmsPutawayQueuePage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsSkuDetailPage.js +5 -6
- package/dist/modules/wms/components/backend/WmsSkuDetailPage.js.map +2 -2
- package/dist/modules/wms/components/backend/asnCompleteOptimisticLock.js +32 -0
- package/dist/modules/wms/components/backend/asnCompleteOptimisticLock.js.map +7 -0
- package/dist/modules/wms/components/backend/asnReceivingLinesLoader.js +36 -0
- package/dist/modules/wms/components/backend/asnReceivingLinesLoader.js.map +7 -0
- package/dist/modules/wms/components/backend/inboundStatusUi.js +106 -0
- package/dist/modules/wms/components/backend/inboundStatusUi.js.map +7 -0
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +17 -0
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +2 -2
- package/dist/modules/wms/components/backend/putawayQueueOptimisticLock.js +14 -0
- package/dist/modules/wms/components/backend/putawayQueueOptimisticLock.js.map +7 -0
- package/dist/modules/wms/components/backend/useWmsInventoryMutationAccess.js +4 -0
- package/dist/modules/wms/components/backend/useWmsInventoryMutationAccess.js.map +2 -2
- package/dist/modules/wms/data/enrichers.js +117 -12
- package/dist/modules/wms/data/enrichers.js.map +2 -2
- package/dist/modules/wms/data/entities.js +150 -1
- package/dist/modules/wms/data/entities.js.map +2 -2
- package/dist/modules/wms/data/validators.js +214 -0
- package/dist/modules/wms/data/validators.js.map +2 -2
- package/dist/modules/wms/events.js +12 -1
- package/dist/modules/wms/events.js.map +2 -2
- package/dist/modules/wms/extension-points.js +3 -1
- package/dist/modules/wms/extension-points.js.map +2 -2
- package/dist/modules/wms/lib/asnReceiving.js +124 -0
- package/dist/modules/wms/lib/asnReceiving.js.map +7 -0
- package/dist/modules/wms/lib/asnVendor.js +52 -0
- package/dist/modules/wms/lib/asnVendor.js.map +7 -0
- package/dist/modules/wms/lib/flashMutationError.js +4 -0
- package/dist/modules/wms/lib/flashMutationError.js.map +2 -2
- package/dist/modules/wms/lib/inventoryDisplayUi.js +24 -0
- package/dist/modules/wms/lib/inventoryDisplayUi.js.map +2 -2
- package/dist/modules/wms/lib/inventoryPolicy.js +17 -0
- package/dist/modules/wms/lib/inventoryPolicy.js.map +2 -2
- package/dist/modules/wms/lib/loadOperationalDashboard.js +67 -1
- package/dist/modules/wms/lib/loadOperationalDashboard.js.map +2 -2
- package/dist/modules/wms/lib/putaway.js +141 -0
- package/dist/modules/wms/lib/putaway.js.map +7 -0
- package/dist/modules/wms/lib/roleFeatures.js +3 -1
- package/dist/modules/wms/lib/roleFeatures.js.map +2 -2
- package/dist/modules/wms/lib/salesOrderInventoryAutomation.js +99 -1
- package/dist/modules/wms/lib/salesOrderInventoryAutomation.js.map +2 -2
- package/dist/modules/wms/lib/scanResolve.js +147 -0
- package/dist/modules/wms/lib/scanResolve.js.map +7 -0
- package/dist/modules/wms/lib/wmsIntegrationToggles.js +1 -1
- package/dist/modules/wms/lib/wmsIntegrationToggles.js.map +2 -2
- package/dist/modules/wms/migrations/Migration20260812120000.js +43 -0
- package/dist/modules/wms/migrations/Migration20260812120000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260812130000.js +30 -0
- package/dist/modules/wms/migrations/Migration20260812130000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260822120000.js +17 -0
- package/dist/modules/wms/migrations/Migration20260822120000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260822130000.js +17 -0
- package/dist/modules/wms/migrations/Migration20260822130000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20261029120000.js +13 -0
- package/dist/modules/wms/migrations/Migration20261029120000.js.map +7 -0
- package/dist/modules/wms/search.js +85 -0
- package/dist/modules/wms/search.js.map +2 -2
- package/dist/modules/wms/subscribers/asn-line-received-reevaluate-reservations.js +14 -0
- package/dist/modules/wms/subscribers/asn-line-received-reevaluate-reservations.js.map +7 -0
- package/dist/modules/wms/subscribers/invalidate-enricher-cache-asn.js +12 -0
- package/dist/modules/wms/subscribers/invalidate-enricher-cache-asn.js.map +7 -0
- package/dist/modules/wms/subscribers/procurement-goods-receipt-created.js +163 -0
- package/dist/modules/wms/subscribers/procurement-goods-receipt-created.js.map +7 -0
- package/dist/modules/wms/subscribers/putaway-completed-reevaluate-reservations.js +14 -0
- package/dist/modules/wms/subscribers/putaway-completed-reevaluate-reservations.js.map +7 -0
- package/dist/modules/wms/widgets/injection/sales-order-stock-context/widget.client.js +37 -8
- package/dist/modules/wms/widgets/injection/sales-order-stock-context/widget.client.js.map +2 -2
- package/generated/entities/asn/index.ts +8 -0
- package/generated/entities/putaway_task/index.ts +11 -0
- package/generated/entities/receiving_line/index.ts +9 -0
- package/generated/entities.ids.generated.ts +4 -1
- package/generated/entity-fields-registry.ts +34 -0
- package/package.json +7 -7
- package/src/modules/auth/i18n/de.json +2 -0
- package/src/modules/auth/i18n/en.json +2 -0
- package/src/modules/auth/i18n/es.json +2 -0
- package/src/modules/auth/i18n/ko.json +2 -0
- package/src/modules/auth/i18n/pl.json +2 -0
- package/src/modules/communication_channels/i18n/de.json +2 -0
- package/src/modules/communication_channels/i18n/en.json +2 -0
- package/src/modules/communication_channels/i18n/es.json +2 -0
- package/src/modules/communication_channels/i18n/ko.json +2 -0
- package/src/modules/communication_channels/i18n/pl.json +2 -0
- package/src/modules/communication_channels/lib/sanitize-channel-html.ts +23 -3
- package/src/modules/communication_channels/widgets/injection/channel-payload-renderer/widget.client.tsx +44 -12
- package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +16 -2
- package/src/modules/wms/acl.ts +2 -0
- package/src/modules/wms/api/asns/[id]/complete/route.ts +62 -0
- package/src/modules/wms/api/asns/[id]/receive/route.ts +74 -0
- package/src/modules/wms/api/asns/route.ts +200 -0
- package/src/modules/wms/api/inventory/helpers.ts +57 -34
- package/src/modules/wms/api/inventory/receive/route.ts +2 -1
- package/src/modules/wms/api/listEnrichers.ts +38 -0
- package/src/modules/wms/api/putaway-tasks/[id]/assign/route.ts +56 -0
- package/src/modules/wms/api/putaway-tasks/[id]/cancel/route.ts +56 -0
- package/src/modules/wms/api/putaway-tasks/[id]/complete/route.ts +66 -0
- package/src/modules/wms/api/putaway-tasks/[id]/start/route.ts +56 -0
- package/src/modules/wms/api/putaway-tasks/create-from-balance/route.ts +50 -0
- package/src/modules/wms/api/putaway-tasks/route.ts +199 -0
- package/src/modules/wms/api/receiving-lines/route.ts +180 -0
- package/src/modules/wms/api/scan/putaway/route.ts +108 -0
- package/src/modules/wms/api/scan/receive/route.ts +118 -0
- package/src/modules/wms/api/scan/resolve-location/route.ts +92 -0
- package/src/modules/wms/api/scan/resolve-lot/route.ts +92 -0
- package/src/modules/wms/backend/wms/asns/[id]/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/asns/[id]/page.tsx +5 -0
- package/src/modules/wms/backend/wms/asns/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/asns/page.tsx +5 -0
- package/src/modules/wms/backend/wms/putaway/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/putaway/page.tsx +5 -0
- package/src/modules/wms/backend/wms/receiving/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/receiving/page.tsx +5 -0
- package/src/modules/wms/ce.ts +27 -0
- package/src/modules/wms/commands/asn.ts +2122 -0
- package/src/modules/wms/commands/index.ts +2 -0
- package/src/modules/wms/commands/inventory-actions.ts +413 -243
- package/src/modules/wms/commands/putaway.ts +1169 -0
- package/src/modules/wms/commands/shared.ts +51 -0
- package/src/modules/wms/components/backend/AssignPutawayTaskDialog.tsx +328 -0
- package/src/modules/wms/components/backend/CompletePutawayTaskDialog.tsx +366 -0
- package/src/modules/wms/components/backend/CreateAsnDialog.tsx +427 -0
- package/src/modules/wms/components/backend/InventoryOperationsSection.tsx +20 -2
- package/src/modules/wms/components/backend/ReceiveAsnLineDialog.tsx +535 -0
- package/src/modules/wms/components/backend/ReceiveInventoryDialog.tsx +2 -2
- package/src/modules/wms/components/backend/WmsAsnDetailPage.tsx +647 -0
- package/src/modules/wms/components/backend/WmsAsnsListPage.tsx +407 -0
- package/src/modules/wms/components/backend/WmsLocationDetailPage.tsx +4 -5
- package/src/modules/wms/components/backend/WmsLotDetailPage.tsx +4 -5
- package/src/modules/wms/components/backend/WmsOperationalDashboardPage.tsx +12 -8
- package/src/modules/wms/components/backend/WmsPutawayQueuePage.tsx +677 -0
- package/src/modules/wms/components/backend/WmsSkuDetailPage.tsx +4 -5
- package/src/modules/wms/components/backend/asnCompleteOptimisticLock.ts +52 -0
- package/src/modules/wms/components/backend/asnReceivingLinesLoader.ts +83 -0
- package/src/modules/wms/components/backend/inboundStatusUi.ts +154 -0
- package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +20 -0
- package/src/modules/wms/components/backend/putawayQueueOptimisticLock.ts +20 -0
- package/src/modules/wms/components/backend/useWmsInventoryMutationAccess.ts +4 -0
- package/src/modules/wms/data/enrichers.ts +175 -13
- package/src/modules/wms/data/entities.ts +155 -0
- package/src/modules/wms/data/validators.ts +256 -0
- package/src/modules/wms/events.ts +11 -0
- package/src/modules/wms/extension-points.ts +2 -0
- package/src/modules/wms/i18n/de.json +205 -3
- package/src/modules/wms/i18n/en.json +205 -3
- package/src/modules/wms/i18n/es.json +205 -3
- package/src/modules/wms/i18n/ko.json +205 -3
- package/src/modules/wms/i18n/pl.json +205 -3
- package/src/modules/wms/lib/asnReceiving.ts +226 -0
- package/src/modules/wms/lib/asnVendor.ts +80 -0
- package/src/modules/wms/lib/flashMutationError.ts +4 -0
- package/src/modules/wms/lib/inventoryDisplayUi.ts +46 -0
- package/src/modules/wms/lib/inventoryPolicy.ts +31 -1
- package/src/modules/wms/lib/loadOperationalDashboard.ts +89 -1
- package/src/modules/wms/lib/putaway.ts +210 -0
- package/src/modules/wms/lib/roleFeatures.ts +2 -0
- package/src/modules/wms/lib/salesOrderInventoryAutomation.ts +150 -1
- package/src/modules/wms/lib/scanResolve.ts +185 -0
- package/src/modules/wms/lib/wmsIntegrationToggles.ts +2 -1
- package/src/modules/wms/migrations/.snapshot-open-mercato.json +1000 -0
- package/src/modules/wms/migrations/Migration20260812120000.ts +43 -0
- package/src/modules/wms/migrations/Migration20260812130000.ts +28 -0
- package/src/modules/wms/migrations/Migration20260822120000.ts +17 -0
- package/src/modules/wms/migrations/Migration20260822130000.ts +15 -0
- package/src/modules/wms/migrations/Migration20261029120000.ts +11 -0
- package/src/modules/wms/search.ts +95 -0
- package/src/modules/wms/subscribers/asn-line-received-reevaluate-reservations.ts +21 -0
- package/src/modules/wms/subscribers/invalidate-enricher-cache-asn.ts +12 -0
- package/src/modules/wms/subscribers/procurement-goods-receipt-created.ts +238 -0
- package/src/modules/wms/subscribers/putaway-completed-reevaluate-reservations.ts +21 -0
- package/src/modules/wms/widgets/injection/sales-order-stock-context/widget.client.tsx +63 -13
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { NextResponse } from "next/server";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { createRequestContainer } from "@open-mercato/shared/lib/di/container";
|
|
4
|
+
import { getAuthFromRequest } from "@open-mercato/shared/lib/auth/server";
|
|
5
|
+
import { resolveOrganizationScopeForRequest } from "@open-mercato/core/modules/directory/utils/organizationScope";
|
|
6
|
+
import { CrudHttpError } from "@open-mercato/shared/lib/crud/errors";
|
|
7
|
+
import { readJsonSafe } from "@open-mercato/shared/lib/http/readJsonSafe";
|
|
8
|
+
import { createLogger } from "@open-mercato/shared/lib/logger";
|
|
9
|
+
import { scanResolveLotSchema } from "../../../data/validators.js";
|
|
10
|
+
import { resolveLotByNumber } from "../../../lib/scanResolve.js";
|
|
11
|
+
const logger = createLogger("wms");
|
|
12
|
+
const metadata = {
|
|
13
|
+
POST: { requireAuth: true, requireFeatures: ["wms.view"] }
|
|
14
|
+
};
|
|
15
|
+
const successSchema = z.object({
|
|
16
|
+
ok: z.literal(true),
|
|
17
|
+
lotId: z.string().uuid(),
|
|
18
|
+
lotNumber: z.string(),
|
|
19
|
+
expiresAt: z.string().nullable()
|
|
20
|
+
});
|
|
21
|
+
const errorSchema = z.object({ error: z.string() });
|
|
22
|
+
async function POST(request) {
|
|
23
|
+
try {
|
|
24
|
+
const container = await createRequestContainer();
|
|
25
|
+
const auth = await getAuthFromRequest(request);
|
|
26
|
+
if (!auth?.tenantId) {
|
|
27
|
+
throw new CrudHttpError(401, { error: "Unauthorized" });
|
|
28
|
+
}
|
|
29
|
+
const organizationScope = await resolveOrganizationScopeForRequest({
|
|
30
|
+
container,
|
|
31
|
+
auth,
|
|
32
|
+
request
|
|
33
|
+
});
|
|
34
|
+
const organizationId = organizationScope?.selectedId ?? auth.orgId ?? null;
|
|
35
|
+
if (!organizationId) {
|
|
36
|
+
throw new CrudHttpError(400, { error: "organization_scope_required" });
|
|
37
|
+
}
|
|
38
|
+
const body = await readJsonSafe(request, {});
|
|
39
|
+
const parsed = scanResolveLotSchema.parse(body);
|
|
40
|
+
if (parsed.tenantId !== auth.tenantId && !auth.isSuperAdmin) {
|
|
41
|
+
throw new CrudHttpError(403, { error: "Forbidden" });
|
|
42
|
+
}
|
|
43
|
+
const scoped = {
|
|
44
|
+
...parsed,
|
|
45
|
+
tenantId: auth.tenantId,
|
|
46
|
+
organizationId
|
|
47
|
+
};
|
|
48
|
+
const em = container.resolve("em").fork();
|
|
49
|
+
const resolved = await resolveLotByNumber(em, scoped);
|
|
50
|
+
return NextResponse.json({
|
|
51
|
+
ok: true,
|
|
52
|
+
lotId: resolved.lotId,
|
|
53
|
+
lotNumber: resolved.lotNumber,
|
|
54
|
+
expiresAt: resolved.expiresAt
|
|
55
|
+
});
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (error instanceof CrudHttpError) {
|
|
58
|
+
return NextResponse.json(error.body, { status: error.status });
|
|
59
|
+
}
|
|
60
|
+
if (error instanceof z.ZodError) {
|
|
61
|
+
return NextResponse.json({ error: "Validation failed", details: error.issues }, { status: 400 });
|
|
62
|
+
}
|
|
63
|
+
logger.error("scan resolve-lot failed", { err: error });
|
|
64
|
+
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const openApi = {
|
|
68
|
+
tag: "WMS",
|
|
69
|
+
summary: "Resolve scanned lot number",
|
|
70
|
+
methods: {
|
|
71
|
+
POST: {
|
|
72
|
+
summary: "Resolve lot by catalog variant + lot number",
|
|
73
|
+
description: "Returns the canonical lot id and expiry for a scanned lot number. Organization is taken from the authenticated session scope, not the request body.",
|
|
74
|
+
requestBody: { contentType: "application/json", schema: scanResolveLotSchema },
|
|
75
|
+
responses: [{ status: 200, description: "Lot resolved", schema: successSchema }],
|
|
76
|
+
errors: [
|
|
77
|
+
{ status: 400, description: "Validation failed", schema: errorSchema },
|
|
78
|
+
{ status: 401, description: "Unauthorized", schema: errorSchema },
|
|
79
|
+
{ status: 404, description: "Lot not found", schema: errorSchema }
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
export {
|
|
85
|
+
POST,
|
|
86
|
+
metadata,
|
|
87
|
+
openApi
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/api/scan/resolve-lot/route.ts"],
|
|
4
|
+
"sourcesContent": ["import { NextResponse } from 'next/server'\nimport { z } from 'zod'\nimport type { EntityManager } from '@mikro-orm/postgresql'\nimport type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'\nimport { createRequestContainer } from '@open-mercato/shared/lib/di/container'\nimport { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'\nimport { resolveOrganizationScopeForRequest } from '@open-mercato/core/modules/directory/utils/organizationScope'\nimport { CrudHttpError } from '@open-mercato/shared/lib/crud/errors'\nimport { readJsonSafe } from '@open-mercato/shared/lib/http/readJsonSafe'\nimport { createLogger } from '@open-mercato/shared/lib/logger'\nimport { scanResolveLotSchema } from '../../../data/validators'\nimport { resolveLotByNumber } from '../../../lib/scanResolve'\n\nconst logger = createLogger('wms')\n\nexport const metadata = {\n POST: { requireAuth: true, requireFeatures: ['wms.view'] },\n}\n\nconst successSchema = z.object({\n ok: z.literal(true),\n lotId: z.string().uuid(),\n lotNumber: z.string(),\n expiresAt: z.string().nullable(),\n})\nconst errorSchema = z.object({ error: z.string() })\n\nexport async function POST(request: Request) {\n try {\n const container = await createRequestContainer()\n const auth = await getAuthFromRequest(request)\n if (!auth?.tenantId) {\n throw new CrudHttpError(401, { error: 'Unauthorized' })\n }\n const organizationScope = await resolveOrganizationScopeForRequest({\n container,\n auth,\n request,\n })\n const organizationId = organizationScope?.selectedId ?? auth.orgId ?? null\n if (!organizationId) {\n throw new CrudHttpError(400, { error: 'organization_scope_required' })\n }\n const body = await readJsonSafe<Record<string, unknown>>(request, {})\n const parsed = scanResolveLotSchema.parse(body)\n if (parsed.tenantId !== auth.tenantId && !auth.isSuperAdmin) {\n throw new CrudHttpError(403, { error: 'Forbidden' })\n }\n // Scope organization from auth/session \u2014 never trust body organizationId for cross-org reads.\n const scoped = {\n ...parsed,\n tenantId: auth.tenantId,\n organizationId,\n }\n const em = (container.resolve('em') as EntityManager).fork()\n const resolved = await resolveLotByNumber(em, scoped)\n return NextResponse.json({\n ok: true as const,\n lotId: resolved.lotId,\n lotNumber: resolved.lotNumber,\n expiresAt: resolved.expiresAt,\n })\n } catch (error) {\n if (error instanceof CrudHttpError) {\n return NextResponse.json(error.body, { status: error.status })\n }\n if (error instanceof z.ZodError) {\n return NextResponse.json({ error: 'Validation failed', details: error.issues }, { status: 400 })\n }\n logger.error('scan resolve-lot failed', { err: error })\n return NextResponse.json({ error: 'Internal server error' }, { status: 500 })\n }\n}\n\nexport const openApi: OpenApiRouteDoc = {\n tag: 'WMS',\n summary: 'Resolve scanned lot number',\n methods: {\n POST: {\n summary: 'Resolve lot by catalog variant + lot number',\n description:\n 'Returns the canonical lot id and expiry for a scanned lot number. Organization is taken from the authenticated session scope, not the request body.',\n requestBody: { contentType: 'application/json', schema: scanResolveLotSchema },\n responses: [{ status: 200, description: 'Lot resolved', schema: successSchema }],\n errors: [\n { status: 400, description: 'Validation failed', schema: errorSchema },\n { status: 401, description: 'Unauthorized', schema: errorSchema },\n { status: 404, description: 'Lot not found', schema: errorSchema },\n ],\n },\n },\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import WmsAsnDetailPage from "../../../../components/backend/WmsAsnDetailPage.js";
|
|
3
|
+
function WmsAsnDetailRoutePage({ params }) {
|
|
4
|
+
return /* @__PURE__ */ jsx(WmsAsnDetailPage, { asnId: params?.id ?? "" });
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
WmsAsnDetailRoutePage as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/modules/wms/backend/wms/asns/%5Bid%5D/page.tsx"],
|
|
4
|
+
"sourcesContent": ["import WmsAsnDetailPage from '../../../../components/backend/WmsAsnDetailPage'\n\nexport default function WmsAsnDetailRoutePage({ params }: { params?: { id?: string } }) {\n return <WmsAsnDetailPage asnId={params?.id ?? ''} />\n}\n"],
|
|
5
|
+
"mappings": "AAGS;AAHT,OAAO,sBAAsB;AAEd,SAAR,sBAAuC,EAAE,OAAO,GAAiC;AACtF,SAAO,oBAAC,oBAAiB,OAAO,QAAQ,MAAM,IAAI;AACpD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const metadata = {
|
|
2
|
+
requireAuth: true,
|
|
3
|
+
requireFeatures: ["wms.view"],
|
|
4
|
+
pageTitle: "ASN detail",
|
|
5
|
+
pageTitleKey: "wms.backend.asns.detail.nav.title",
|
|
6
|
+
pageGroup: "WMS",
|
|
7
|
+
pageGroupKey: "wms.nav.group",
|
|
8
|
+
navHidden: true,
|
|
9
|
+
breadcrumb: [
|
|
10
|
+
{ label: "WMS", labelKey: "wms.backend.nav.title", href: "/backend/wms" },
|
|
11
|
+
{ label: "ASNs", labelKey: "wms.backend.asns.nav.title", href: "/backend/wms/asns" },
|
|
12
|
+
{ label: "ASN", labelKey: "wms.backend.asns.detail.nav.title" }
|
|
13
|
+
]
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
metadata
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=page.meta.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/modules/wms/backend/wms/asns/%5Bid%5D/page.meta.ts"],
|
|
4
|
+
"sourcesContent": ["export const metadata = {\n requireAuth: true,\n requireFeatures: ['wms.view'],\n pageTitle: 'ASN detail',\n pageTitleKey: 'wms.backend.asns.detail.nav.title',\n pageGroup: 'WMS',\n pageGroupKey: 'wms.nav.group',\n navHidden: true,\n breadcrumb: [\n { label: 'WMS', labelKey: 'wms.backend.nav.title', href: '/backend/wms' },\n { label: 'ASNs', labelKey: 'wms.backend.asns.nav.title', href: '/backend/wms/asns' },\n { label: 'ASN', labelKey: 'wms.backend.asns.detail.nav.title' },\n ],\n} as const\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,WAAW;AAAA,EACtB,aAAa;AAAA,EACb,iBAAiB,CAAC,UAAU;AAAA,EAC5B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,IACV,EAAE,OAAO,OAAO,UAAU,yBAAyB,MAAM,eAAe;AAAA,IACxE,EAAE,OAAO,QAAQ,UAAU,8BAA8B,MAAM,oBAAoB;AAAA,IACnF,EAAE,OAAO,OAAO,UAAU,oCAAoC;AAAA,EAChE;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import WmsAsnsListPage from "../../../components/backend/WmsAsnsListPage.js";
|
|
3
|
+
function WmsAsnsPage() {
|
|
4
|
+
return /* @__PURE__ */ jsx(WmsAsnsListPage, {});
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
WmsAsnsPage as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/backend/wms/asns/page.tsx"],
|
|
4
|
+
"sourcesContent": ["import WmsAsnsListPage from '../../../components/backend/WmsAsnsListPage'\n\nexport default function WmsAsnsPage() {\n return <WmsAsnsListPage />\n}\n"],
|
|
5
|
+
"mappings": "AAGS;AAHT,OAAO,qBAAqB;AAEb,SAAR,cAA+B;AACpC,SAAO,oBAAC,mBAAgB;AAC1B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const metadata = {
|
|
2
|
+
requireAuth: true,
|
|
3
|
+
requireFeatures: ["wms.view"],
|
|
4
|
+
pageTitle: "ASNs",
|
|
5
|
+
pageTitleKey: "wms.backend.asns.nav.title",
|
|
6
|
+
pageGroup: "WMS",
|
|
7
|
+
pageGroupKey: "wms.nav.group",
|
|
8
|
+
pageOrder: 90,
|
|
9
|
+
breadcrumb: [
|
|
10
|
+
{ label: "WMS", labelKey: "wms.backend.nav.title", href: "/backend/wms" },
|
|
11
|
+
{ label: "ASNs", labelKey: "wms.backend.asns.nav.title" }
|
|
12
|
+
],
|
|
13
|
+
icon: "clipboard-list"
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
metadata
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=page.meta.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/backend/wms/asns/page.meta.ts"],
|
|
4
|
+
"sourcesContent": ["export const metadata = {\n requireAuth: true,\n requireFeatures: ['wms.view'],\n pageTitle: 'ASNs',\n pageTitleKey: 'wms.backend.asns.nav.title',\n pageGroup: 'WMS',\n pageGroupKey: 'wms.nav.group',\n pageOrder: 90,\n breadcrumb: [\n { label: 'WMS', labelKey: 'wms.backend.nav.title', href: '/backend/wms' },\n { label: 'ASNs', labelKey: 'wms.backend.asns.nav.title' },\n ],\n icon: 'clipboard-list',\n} as const\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,WAAW;AAAA,EACtB,aAAa;AAAA,EACb,iBAAiB,CAAC,UAAU;AAAA,EAC5B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,IACV,EAAE,OAAO,OAAO,UAAU,yBAAyB,MAAM,eAAe;AAAA,IACxE,EAAE,OAAO,QAAQ,UAAU,6BAA6B;AAAA,EAC1D;AAAA,EACA,MAAM;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import WmsPutawayQueuePage from "../../../components/backend/WmsPutawayQueuePage.js";
|
|
3
|
+
function WmsPutawayPage() {
|
|
4
|
+
return /* @__PURE__ */ jsx(WmsPutawayQueuePage, {});
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
WmsPutawayPage as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/backend/wms/putaway/page.tsx"],
|
|
4
|
+
"sourcesContent": ["import WmsPutawayQueuePage from '../../../components/backend/WmsPutawayQueuePage'\n\nexport default function WmsPutawayPage() {\n return <WmsPutawayQueuePage />\n}\n"],
|
|
5
|
+
"mappings": "AAGS;AAHT,OAAO,yBAAyB;AAEjB,SAAR,iBAAkC;AACvC,SAAO,oBAAC,uBAAoB;AAC9B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const metadata = {
|
|
2
|
+
requireAuth: true,
|
|
3
|
+
requireFeatures: ["wms.view"],
|
|
4
|
+
pageTitle: "Putaway",
|
|
5
|
+
pageTitleKey: "wms.backend.putaway.nav.title",
|
|
6
|
+
pageGroup: "WMS",
|
|
7
|
+
pageGroupKey: "wms.nav.group",
|
|
8
|
+
pageOrder: 95,
|
|
9
|
+
breadcrumb: [
|
|
10
|
+
{ label: "WMS", labelKey: "wms.backend.nav.title", href: "/backend/wms" },
|
|
11
|
+
{ label: "Putaway", labelKey: "wms.backend.putaway.nav.title" }
|
|
12
|
+
],
|
|
13
|
+
icon: "package"
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
metadata
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=page.meta.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/backend/wms/putaway/page.meta.ts"],
|
|
4
|
+
"sourcesContent": ["export const metadata = {\n requireAuth: true,\n requireFeatures: ['wms.view'],\n pageTitle: 'Putaway',\n pageTitleKey: 'wms.backend.putaway.nav.title',\n pageGroup: 'WMS',\n pageGroupKey: 'wms.nav.group',\n pageOrder: 95,\n breadcrumb: [\n { label: 'WMS', labelKey: 'wms.backend.nav.title', href: '/backend/wms' },\n { label: 'Putaway', labelKey: 'wms.backend.putaway.nav.title' },\n ],\n icon: 'package',\n} as const\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,WAAW;AAAA,EACtB,aAAa;AAAA,EACb,iBAAiB,CAAC,UAAU;AAAA,EAC5B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,IACV,EAAE,OAAO,OAAO,UAAU,yBAAyB,MAAM,eAAe;AAAA,IACxE,EAAE,OAAO,WAAW,UAAU,gCAAgC;AAAA,EAChE;AAAA,EACA,MAAM;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/backend/wms/receiving/page.tsx"],
|
|
4
|
+
"sourcesContent": ["import { redirect } from 'next/navigation'\n\nexport default function WmsReceivingPage() {\n redirect('/backend/wms/asns?queue=open')\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,gBAAgB;AAEV,SAAR,mBAAoC;AACzC,WAAS,8BAA8B;AACzC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const metadata = {
|
|
2
|
+
requireAuth: true,
|
|
3
|
+
requireFeatures: ["wms.view"],
|
|
4
|
+
pageTitle: "Receiving",
|
|
5
|
+
pageTitleKey: "wms.backend.receiving.nav.title",
|
|
6
|
+
pageGroup: "WMS",
|
|
7
|
+
pageGroupKey: "wms.nav.group",
|
|
8
|
+
pageOrder: 92,
|
|
9
|
+
breadcrumb: [
|
|
10
|
+
{ label: "WMS", labelKey: "wms.backend.nav.title", href: "/backend/wms" },
|
|
11
|
+
{ label: "Receiving", labelKey: "wms.backend.receiving.nav.title" }
|
|
12
|
+
],
|
|
13
|
+
icon: "inbox"
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
metadata
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=page.meta.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/modules/wms/backend/wms/receiving/page.meta.ts"],
|
|
4
|
+
"sourcesContent": ["export const metadata = {\n requireAuth: true,\n requireFeatures: ['wms.view'],\n pageTitle: 'Receiving',\n pageTitleKey: 'wms.backend.receiving.nav.title',\n pageGroup: 'WMS',\n pageGroupKey: 'wms.nav.group',\n pageOrder: 92,\n breadcrumb: [\n { label: 'WMS', labelKey: 'wms.backend.nav.title', href: '/backend/wms' },\n { label: 'Receiving', labelKey: 'wms.backend.receiving.nav.title' },\n ],\n icon: 'inbox',\n} as const\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,WAAW;AAAA,EACtB,aAAa;AAAA,EACb,iBAAiB,CAAC,UAAU;AAAA,EAC5B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,IACV,EAAE,OAAO,OAAO,UAAU,yBAAyB,MAAM,eAAe;AAAA,IACxE,EAAE,OAAO,aAAa,UAAU,kCAAkC;AAAA,EACpE;AAAA,EACA,MAAM;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/modules/wms/ce.js
CHANGED
|
@@ -70,6 +70,33 @@ const entities = [
|
|
|
70
70
|
showInSidebar: false,
|
|
71
71
|
defaultEditor: false,
|
|
72
72
|
fields: []
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: "wms:asn",
|
|
76
|
+
label: "ASN",
|
|
77
|
+
description: "Advanced shipping notice for structured inbound receiving.",
|
|
78
|
+
labelField: "referenceNumber",
|
|
79
|
+
showInSidebar: false,
|
|
80
|
+
defaultEditor: false,
|
|
81
|
+
fields: []
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: "wms:receiving_line",
|
|
85
|
+
label: "Receiving Line",
|
|
86
|
+
description: "Expected/received line against an ASN with QC outcome.",
|
|
87
|
+
labelField: "catalogVariantId",
|
|
88
|
+
showInSidebar: false,
|
|
89
|
+
defaultEditor: false,
|
|
90
|
+
fields: []
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: "wms:putaway_task",
|
|
94
|
+
label: "Putaway Task",
|
|
95
|
+
description: "Directed putaway task moving accepted stock from staging into storage.",
|
|
96
|
+
labelField: "catalogVariantId",
|
|
97
|
+
showInSidebar: false,
|
|
98
|
+
defaultEditor: false,
|
|
99
|
+
fields: []
|
|
73
100
|
}
|
|
74
101
|
];
|
|
75
102
|
var ce_default = entities;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/modules/wms/ce.ts"],
|
|
4
|
-
"sourcesContent": ["export const entities = [\n {\n id: 'wms:warehouse',\n label: 'Warehouse',\n description: 'Physical warehouse definition used by the WMS module.',\n labelField: 'name',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:warehouse_zone',\n label: 'Warehouse Zone',\n description: 'Logical zone inside a warehouse.',\n labelField: 'name',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:warehouse_location',\n label: 'Warehouse Location',\n description: 'Physical location or bin inside a warehouse.',\n labelField: 'code',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:product_inventory_profile',\n label: 'Product Inventory Profile',\n description: 'Variant-level inventory behavior configuration.',\n labelField: 'catalogVariantId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_lot',\n label: 'Inventory Lot',\n description: 'Tracked lot or batch for traceable stock.',\n labelField: 'lotNumber',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_balance',\n label: 'Inventory Balance',\n description: 'Current stock bucket balance at location level.',\n labelField: 'catalogVariantId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_reservation',\n label: 'Inventory Reservation',\n description: 'Reserved stock allocation for a downstream demand source.',\n labelField: 'sourceId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_movement',\n label: 'Inventory Movement',\n description: 'Append-only audit ledger entry for inventory state changes.',\n labelField: 'referenceId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n]\n\nexport default entities\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,WAAW;AAAA,EACtB;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AACF;AAEA,IAAO,aAAQ;",
|
|
4
|
+
"sourcesContent": ["export const entities = [\n {\n id: 'wms:warehouse',\n label: 'Warehouse',\n description: 'Physical warehouse definition used by the WMS module.',\n labelField: 'name',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:warehouse_zone',\n label: 'Warehouse Zone',\n description: 'Logical zone inside a warehouse.',\n labelField: 'name',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:warehouse_location',\n label: 'Warehouse Location',\n description: 'Physical location or bin inside a warehouse.',\n labelField: 'code',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:product_inventory_profile',\n label: 'Product Inventory Profile',\n description: 'Variant-level inventory behavior configuration.',\n labelField: 'catalogVariantId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_lot',\n label: 'Inventory Lot',\n description: 'Tracked lot or batch for traceable stock.',\n labelField: 'lotNumber',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_balance',\n label: 'Inventory Balance',\n description: 'Current stock bucket balance at location level.',\n labelField: 'catalogVariantId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_reservation',\n label: 'Inventory Reservation',\n description: 'Reserved stock allocation for a downstream demand source.',\n labelField: 'sourceId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:inventory_movement',\n label: 'Inventory Movement',\n description: 'Append-only audit ledger entry for inventory state changes.',\n labelField: 'referenceId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:asn',\n label: 'ASN',\n description: 'Advanced shipping notice for structured inbound receiving.',\n labelField: 'referenceNumber',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:receiving_line',\n label: 'Receiving Line',\n description: 'Expected/received line against an ASN with QC outcome.',\n labelField: 'catalogVariantId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n {\n id: 'wms:putaway_task',\n label: 'Putaway Task',\n description: 'Directed putaway task moving accepted stock from staging into storage.',\n labelField: 'catalogVariantId',\n showInSidebar: false,\n defaultEditor: false,\n fields: [],\n },\n]\n\nexport default entities\n"],
|
|
5
|
+
"mappings": "AAAO,MAAM,WAAW;AAAA,EACtB;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC;AAAA,EACX;AACF;AAEA,IAAO,aAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|