@sagebox-be/prisma-inventory 0.0.3 → 0.0.4
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/package.json +1 -1
- package/prisma/client/edge.js +30 -3
- package/prisma/client/index-browser.js +27 -0
- package/prisma/client/index.d.ts +5185 -607
- package/prisma/client/index.js +30 -3
- package/prisma/client/package.json +1 -1
- package/prisma/client/schema.prisma +64 -12
- package/prisma/client/wasm.js +30 -3
package/prisma/client/index.js
CHANGED
|
@@ -122,9 +122,11 @@ exports.Prisma.InventoryReservationScalarFieldEnum = {
|
|
|
122
122
|
id: 'id',
|
|
123
123
|
warehouseId: 'warehouseId',
|
|
124
124
|
orderId: 'orderId',
|
|
125
|
+
stockTransferId: 'stockTransferId',
|
|
125
126
|
skuId: 'skuId',
|
|
126
127
|
quantity: 'quantity',
|
|
127
128
|
status: 'status',
|
|
129
|
+
referenceType: 'referenceType',
|
|
128
130
|
expiredAt: 'expiredAt',
|
|
129
131
|
createdAt: 'createdAt',
|
|
130
132
|
updatedAt: 'updatedAt'
|
|
@@ -139,11 +141,34 @@ exports.Prisma.InventoryLedgerScalarFieldEnum = {
|
|
|
139
141
|
amount: 'amount',
|
|
140
142
|
balanceAfter: 'balanceAfter',
|
|
141
143
|
referenceId: 'referenceId',
|
|
144
|
+
stockTransferId: 'stockTransferId',
|
|
142
145
|
note: 'note',
|
|
143
146
|
createdAt: 'createdAt',
|
|
144
147
|
updatedAt: 'updatedAt'
|
|
145
148
|
};
|
|
146
149
|
|
|
150
|
+
exports.Prisma.StockTransferScalarFieldEnum = {
|
|
151
|
+
id: 'id',
|
|
152
|
+
code: 'code',
|
|
153
|
+
sourceWarehouseId: 'sourceWarehouseId',
|
|
154
|
+
targetWarehouseId: 'targetWarehouseId',
|
|
155
|
+
status: 'status',
|
|
156
|
+
note: 'note',
|
|
157
|
+
requestedBy: 'requestedBy',
|
|
158
|
+
approvedBy: 'approvedBy',
|
|
159
|
+
approvedAt: 'approvedAt',
|
|
160
|
+
rejectionReason: 'rejectionReason',
|
|
161
|
+
createdAt: 'createdAt',
|
|
162
|
+
updatedAt: 'updatedAt'
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
exports.Prisma.StockTransferItemScalarFieldEnum = {
|
|
166
|
+
id: 'id',
|
|
167
|
+
transferId: 'transferId',
|
|
168
|
+
skuId: 'skuId',
|
|
169
|
+
quantity: 'quantity'
|
|
170
|
+
};
|
|
171
|
+
|
|
147
172
|
exports.Prisma.InboxScalarFieldEnum = {
|
|
148
173
|
eventId: 'eventId',
|
|
149
174
|
eventType: 'eventType',
|
|
@@ -187,6 +212,8 @@ exports.Prisma.ModelName = {
|
|
|
187
212
|
InventoryItem: 'InventoryItem',
|
|
188
213
|
InventoryReservation: 'InventoryReservation',
|
|
189
214
|
InventoryLedger: 'InventoryLedger',
|
|
215
|
+
StockTransfer: 'StockTransfer',
|
|
216
|
+
StockTransferItem: 'StockTransferItem',
|
|
190
217
|
Inbox: 'Inbox'
|
|
191
218
|
};
|
|
192
219
|
/**
|
|
@@ -240,8 +267,8 @@ const config = {
|
|
|
240
267
|
}
|
|
241
268
|
}
|
|
242
269
|
},
|
|
243
|
-
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = env(\"PRISMA_CLIENT_INVENTORY_OUTPUT\")\n binaryTargets = [\"native\", \"linux-musl-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_INVENTORY_URL\")\n}\n\n// ============================================================================\n// MODELS\n// ============================================================================\n\n/// Represents a physical warehouse location\nmodel Warehouse {\n id String @id @default(uuid()) @db.Uuid\n code String @unique(map: \"warehouse_code\") @db.VarChar(50)\n name String @db.VarChar(255)\n province String? @db.VarChar(100)\n district String? @db.VarChar(100)\n ward String? @db.VarChar(100)\n address String? @db.VarChar(500)\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n inventoryItems InventoryItem[]\n reservations InventoryReservation[]\n ledgers InventoryLedger[]\n\n @@index([code], map: \"warehouses_code\")\n @@index([isActive], map: \"warehouses_is_active\")\n @@map(\"warehouses\")\n}\n\n/// Represents the stock snapshot for a SKU in a specific warehouse\n/// Uses Optimistic Locking via the `version` field to handle concurrency\nmodel InventoryItem {\n id String @id @default(uuid()) @db.Uuid\n productId String @db.Uuid\n warehouseId String @db.Uuid\n skuId String @db.Uuid\n quantityOnHand Int @default(0)\n quantityReserved Int @default(0)\n version Int @default(1) // Optimistic Locking version field\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n\n @@unique([warehouseId, skuId], map: \"inventory_items_warehouse_sku\")\n @@index([skuId], map: \"inventory_items_sku\")\n @@index([warehouseId], map: \"inventory_items_warehouse_id\")\n @@map(\"inventory_items\")\n}\n\n/// Temporary hold for the Two-Phase Reservation (Saga pattern)\n/// Ensures idempotency via unique constraint on [orderId, sku]\nmodel InventoryReservation {\n id
|
|
244
|
-
"inlineSchemaHash": "
|
|
270
|
+
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = env(\"PRISMA_CLIENT_INVENTORY_OUTPUT\")\n binaryTargets = [\"native\", \"linux-musl-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_INVENTORY_URL\")\n}\n\n// ============================================================================\n// MODELS\n// ============================================================================\n\n/// Represents a physical warehouse location\nmodel Warehouse {\n id String @id @default(uuid()) @db.Uuid\n code String @unique(map: \"warehouse_code\") @db.VarChar(50)\n name String @db.VarChar(255)\n province String? @db.VarChar(100)\n district String? @db.VarChar(100)\n ward String? @db.VarChar(100)\n address String? @db.VarChar(500)\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n inventoryItems InventoryItem[]\n reservations InventoryReservation[]\n ledgers InventoryLedger[]\n transfersOut StockTransfer[] @relation(\"SourceWarehouse\")\n transfersIn StockTransfer[] @relation(\"TargetWarehouse\")\n\n @@index([code], map: \"warehouses_code\")\n @@index([isActive], map: \"warehouses_is_active\")\n @@map(\"warehouses\")\n}\n\n/// Represents the stock snapshot for a SKU in a specific warehouse\n/// Uses Optimistic Locking via the `version` field to handle concurrency\nmodel InventoryItem {\n id String @id @default(uuid()) @db.Uuid\n productId String @db.Uuid\n warehouseId String @db.Uuid\n skuId String @db.Uuid\n quantityOnHand Int @default(0)\n quantityReserved Int @default(0)\n version Int @default(1) // Optimistic Locking version field\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n\n @@unique([warehouseId, skuId], map: \"inventory_items_warehouse_sku\")\n @@index([skuId], map: \"inventory_items_sku\")\n @@index([warehouseId], map: \"inventory_items_warehouse_id\")\n @@map(\"inventory_items\")\n}\n\n/// Temporary hold for the Two-Phase Reservation (Saga pattern)\n/// Ensures idempotency via unique constraint on [orderId, sku]\nmodel InventoryReservation {\n id String @id @default(uuid()) @db.Uuid\n warehouseId String @db.Uuid\n orderId String? @db.Uuid\n stockTransferId String? @db.Uuid\n skuId String @db.Uuid\n quantity Int\n status String @default(\"Pending\") @db.VarChar(20) // Pending, Confirmed, Cancelled, Expired\n referenceType String @default(\"Order\") @db.VarChar(20) // Order, Transfer\n expiredAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n stockTransfer StockTransfer? @relation(fields: [stockTransferId], references: [id])\n\n @@index([orderId], map: \"reservations_order_id\")\n @@index([stockTransferId], map: \"reservations_stock_transfer_id\")\n @@index([referenceType], map: \"reservations_reference_type\")\n @@index([skuId], map: \"reservations_sku\")\n @@index([status], map: \"reservations_status\")\n @@index([expiredAt], map: \"reservations_expired_at\")\n @@index([warehouseId], map: \"reservations_warehouse_id\")\n @@map(\"inventory_reservations\")\n}\n\n/// Immutable audit log for all stock movements\n/// Records every change to inventory with full traceability\nmodel InventoryLedger {\n id String @id @default(uuid()) @db.Uuid\n inventoryItemId String @db.Uuid\n warehouseId String @db.Uuid\n skuId String @db.Uuid\n type String @db.VarChar(20) // Import, Sale, Return, Adjustment, Transfer\n amount Int // Can be negative (e.g., for sales)\n balanceAfter Int\n referenceId String @db.VarChar(100) // e.g., order ID, PO ID\n stockTransferId String? @db.Uuid\n note String? @db.VarChar(500)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n stockTransfer StockTransfer? @relation(fields: [stockTransferId], references: [id])\n\n @@index([skuId], map: \"ledgers_sku\")\n @@index([stockTransferId], map: \"ledgers_stock_transfer_id\")\n @@index([referenceId], map: \"ledgers_reference_id\")\n @@index([type], map: \"ledgers_type\")\n @@index([warehouseId], map: \"ledgers_warehouse_id\")\n @@index([createdAt], map: \"ledgers_created_at\")\n @@map(\"inventory_ledgers\")\n}\n\n/// Represents a request to move stock between warehouses\nmodel StockTransfer {\n id String @id @default(uuid()) @db.Uuid\n code String @unique(map: \"stock_transfer_code\") @db.VarChar(50)\n sourceWarehouseId String @db.Uuid\n targetWarehouseId String @db.Uuid\n status String @default(\"PENDING\") @db.VarChar(20) // PENDING, APPROVED, REJECTED, COMPLETED, CANCELLED\n note String? @db.VarChar(500)\n requestedBy String @db.Uuid\n approvedBy String? @db.Uuid\n approvedAt DateTime?\n rejectionReason String? @db.VarChar(500)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n sourceWarehouse Warehouse @relation(\"SourceWarehouse\", fields: [sourceWarehouseId], references: [id])\n targetWarehouse Warehouse @relation(\"TargetWarehouse\", fields: [targetWarehouseId], references: [id])\n items StockTransferItem[]\n ledgers InventoryLedger[]\n reservations InventoryReservation[]\n\n @@index([sourceWarehouseId], map: \"stock_transfers_source_warehouse_id\")\n @@index([targetWarehouseId], map: \"stock_transfers_target_warehouse_id\")\n @@index([status], map: \"stock_transfers_status\")\n @@map(\"stock_transfers\")\n}\n\n/// Detail of items in a stock transfer\nmodel StockTransferItem {\n id String @id @default(uuid()) @db.Uuid\n transferId String @db.Uuid\n skuId String @db.Uuid\n quantity Int\n\n // Relations\n transfer StockTransfer @relation(fields: [transferId], references: [id], onDelete: Cascade)\n\n @@index([transferId], map: \"stock_transfer_items_transfer_id\")\n @@index([skuId], map: \"stock_transfer_items_sku_id\")\n @@map(\"stock_transfer_items\")\n}\n\nmodel Inbox {\n eventId String @id @default(uuid()) @db.Uuid\n eventType String @db.VarChar(255)\n payload Json\n status String @db.VarChar(50)\n retryCount Int @default(0)\n lastError String? @db.VarChar(1000)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n processedAt DateTime?\n\n @@index([status], map: \"inbox_events_status\")\n @@index([eventType], map: \"inbox_events_event_type\")\n @@map(\"inbox_events\")\n}\n",
|
|
271
|
+
"inlineSchemaHash": "6da8c036f295dba1e01324083de69e36e8e096510281f0995126902e2da8295c",
|
|
245
272
|
"copyEngine": true
|
|
246
273
|
}
|
|
247
274
|
|
|
@@ -262,7 +289,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) {
|
|
|
262
289
|
config.isBundled = true
|
|
263
290
|
}
|
|
264
291
|
|
|
265
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"Warehouse\":{\"dbName\":\"warehouses\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"province\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"district\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ward\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"500\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"inventoryItems\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryItem\",\"nativeType\":null,\"relationName\":\"InventoryItemToWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryReservation\",\"nativeType\":null,\"relationName\":\"InventoryReservationToWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryLedger\",\"nativeType\":null,\"relationName\":\"InventoryLedgerToWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Represents a physical warehouse location\"},\"InventoryItem\":{\"dbName\":\"inventory_items\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"productId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantityOnHand\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantityReserved\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"warehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"InventoryItemToWarehouse\",\"relationFromFields\":[\"warehouseId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"warehouseId\",\"skuId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"warehouseId\",\"skuId\"]}],\"isGenerated\":false,\"documentation\":\"Represents the stock snapshot for a SKU in a specific warehouse\\\\nUses Optimistic Locking via the `version` field to handle concurrency\"},\"InventoryReservation\":{\"dbName\":\"inventory_reservations\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"default\":\"Pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiredAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"warehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"InventoryReservationToWarehouse\",\"relationFromFields\":[\"warehouseId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"orderId\",\"skuId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"orderId\",\"skuId\"]}],\"isGenerated\":false,\"documentation\":\"Temporary hold for the Two-Phase Reservation (Saga pattern)\\\\nEnsures idempotency via unique constraint on [orderId, sku]\"},\"InventoryLedger\":{\"dbName\":\"inventory_ledgers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inventoryItemId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"balanceAfter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"referenceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"500\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"warehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"InventoryLedgerToWarehouse\",\"relationFromFields\":[\"warehouseId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Immutable audit log for all stock movements\\\\nRecords every change to inventory with full traceability\"},\"Inbox\":{\"dbName\":\"inbox_events\",\"schema\":null,\"fields\":[{\"name\":\"eventId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retryCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"1000\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
|
292
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"Warehouse\":{\"dbName\":\"warehouses\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"province\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"district\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ward\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"500\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"inventoryItems\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryItem\",\"nativeType\":null,\"relationName\":\"InventoryItemToWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryReservation\",\"nativeType\":null,\"relationName\":\"InventoryReservationToWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryLedger\",\"nativeType\":null,\"relationName\":\"InventoryLedgerToWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transfersOut\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StockTransfer\",\"nativeType\":null,\"relationName\":\"SourceWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transfersIn\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StockTransfer\",\"nativeType\":null,\"relationName\":\"TargetWarehouse\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Represents a physical warehouse location\"},\"InventoryItem\":{\"dbName\":\"inventory_items\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"productId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantityOnHand\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantityReserved\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"warehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"InventoryItemToWarehouse\",\"relationFromFields\":[\"warehouseId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"warehouseId\",\"skuId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"warehouseId\",\"skuId\"]}],\"isGenerated\":false,\"documentation\":\"Represents the stock snapshot for a SKU in a specific warehouse\\\\nUses Optimistic Locking via the `version` field to handle concurrency\"},\"InventoryReservation\":{\"dbName\":\"inventory_reservations\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"orderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stockTransferId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"default\":\"Pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"referenceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"default\":\"Order\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiredAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"warehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"InventoryReservationToWarehouse\",\"relationFromFields\":[\"warehouseId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stockTransfer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StockTransfer\",\"nativeType\":null,\"relationName\":\"InventoryReservationToStockTransfer\",\"relationFromFields\":[\"stockTransferId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Temporary hold for the Two-Phase Reservation (Saga pattern)\\\\nEnsures idempotency via unique constraint on [orderId, sku]\"},\"InventoryLedger\":{\"dbName\":\"inventory_ledgers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inventoryItemId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"balanceAfter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"referenceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"100\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stockTransferId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"500\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"warehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"InventoryLedgerToWarehouse\",\"relationFromFields\":[\"warehouseId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stockTransfer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StockTransfer\",\"nativeType\":null,\"relationName\":\"InventoryLedgerToStockTransfer\",\"relationFromFields\":[\"stockTransferId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Immutable audit log for all stock movements\\\\nRecords every change to inventory with full traceability\"},\"StockTransfer\":{\"dbName\":\"stock_transfers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceWarehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetWarehouseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"20\"]],\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"500\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"approvedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"approvedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"500\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"sourceWarehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"SourceWarehouse\",\"relationFromFields\":[\"sourceWarehouseId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetWarehouse\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Warehouse\",\"nativeType\":null,\"relationName\":\"TargetWarehouse\",\"relationFromFields\":[\"targetWarehouseId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StockTransferItem\",\"nativeType\":null,\"relationName\":\"StockTransferToStockTransferItem\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ledgers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryLedger\",\"nativeType\":null,\"relationName\":\"InventoryLedgerToStockTransfer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reservations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InventoryReservation\",\"nativeType\":null,\"relationName\":\"InventoryReservationToStockTransfer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Represents a request to move stock between warehouses\"},\"StockTransferItem\":{\"dbName\":\"stock_transfer_items\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skuId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transfer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StockTransfer\",\"nativeType\":null,\"relationName\":\"StockTransferToStockTransferItem\",\"relationFromFields\":[\"transferId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Detail of items in a stock transfer\"},\"Inbox\":{\"dbName\":\"inbox_events\",\"schema\":null,\"fields\":[{\"name\":\"eventId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":[\"Uuid\",[]],\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payload\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"50\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retryCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"1000\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
|
266
293
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
267
294
|
config.engineWasm = undefined
|
|
268
295
|
config.compilerWasm = undefined
|
|
@@ -34,6 +34,8 @@ model Warehouse {
|
|
|
34
34
|
inventoryItems InventoryItem[]
|
|
35
35
|
reservations InventoryReservation[]
|
|
36
36
|
ledgers InventoryLedger[]
|
|
37
|
+
transfersOut StockTransfer[] @relation("SourceWarehouse")
|
|
38
|
+
transfersIn StockTransfer[] @relation("TargetWarehouse")
|
|
37
39
|
|
|
38
40
|
@@index([code], map: "warehouses_code")
|
|
39
41
|
@@index([isActive], map: "warehouses_is_active")
|
|
@@ -65,21 +67,25 @@ model InventoryItem {
|
|
|
65
67
|
/// Temporary hold for the Two-Phase Reservation (Saga pattern)
|
|
66
68
|
/// Ensures idempotency via unique constraint on [orderId, sku]
|
|
67
69
|
model InventoryReservation {
|
|
68
|
-
id
|
|
69
|
-
warehouseId
|
|
70
|
-
orderId
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
id String @id @default(uuid()) @db.Uuid
|
|
71
|
+
warehouseId String @db.Uuid
|
|
72
|
+
orderId String? @db.Uuid
|
|
73
|
+
stockTransferId String? @db.Uuid
|
|
74
|
+
skuId String @db.Uuid
|
|
75
|
+
quantity Int
|
|
76
|
+
status String @default("Pending") @db.VarChar(20) // Pending, Confirmed, Cancelled, Expired
|
|
77
|
+
referenceType String @default("Order") @db.VarChar(20) // Order, Transfer
|
|
78
|
+
expiredAt DateTime
|
|
79
|
+
createdAt DateTime @default(now())
|
|
80
|
+
updatedAt DateTime @updatedAt
|
|
77
81
|
|
|
78
82
|
// Relations
|
|
79
|
-
warehouse
|
|
83
|
+
warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)
|
|
84
|
+
stockTransfer StockTransfer? @relation(fields: [stockTransferId], references: [id])
|
|
80
85
|
|
|
81
|
-
@@unique([orderId, skuId], map: "reservations_order_sku")
|
|
82
86
|
@@index([orderId], map: "reservations_order_id")
|
|
87
|
+
@@index([stockTransferId], map: "reservations_stock_transfer_id")
|
|
88
|
+
@@index([referenceType], map: "reservations_reference_type")
|
|
83
89
|
@@index([skuId], map: "reservations_sku")
|
|
84
90
|
@@index([status], map: "reservations_status")
|
|
85
91
|
@@index([expiredAt], map: "reservations_expired_at")
|
|
@@ -98,14 +104,17 @@ model InventoryLedger {
|
|
|
98
104
|
amount Int // Can be negative (e.g., for sales)
|
|
99
105
|
balanceAfter Int
|
|
100
106
|
referenceId String @db.VarChar(100) // e.g., order ID, PO ID
|
|
107
|
+
stockTransferId String? @db.Uuid
|
|
101
108
|
note String? @db.VarChar(500)
|
|
102
109
|
createdAt DateTime @default(now())
|
|
103
110
|
updatedAt DateTime @updatedAt
|
|
104
111
|
|
|
105
112
|
// Relations
|
|
106
|
-
warehouse
|
|
113
|
+
warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)
|
|
114
|
+
stockTransfer StockTransfer? @relation(fields: [stockTransferId], references: [id])
|
|
107
115
|
|
|
108
116
|
@@index([skuId], map: "ledgers_sku")
|
|
117
|
+
@@index([stockTransferId], map: "ledgers_stock_transfer_id")
|
|
109
118
|
@@index([referenceId], map: "ledgers_reference_id")
|
|
110
119
|
@@index([type], map: "ledgers_type")
|
|
111
120
|
@@index([warehouseId], map: "ledgers_warehouse_id")
|
|
@@ -113,6 +122,49 @@ model InventoryLedger {
|
|
|
113
122
|
@@map("inventory_ledgers")
|
|
114
123
|
}
|
|
115
124
|
|
|
125
|
+
/// Represents a request to move stock between warehouses
|
|
126
|
+
model StockTransfer {
|
|
127
|
+
id String @id @default(uuid()) @db.Uuid
|
|
128
|
+
code String @unique(map: "stock_transfer_code") @db.VarChar(50)
|
|
129
|
+
sourceWarehouseId String @db.Uuid
|
|
130
|
+
targetWarehouseId String @db.Uuid
|
|
131
|
+
status String @default("PENDING") @db.VarChar(20) // PENDING, APPROVED, REJECTED, COMPLETED, CANCELLED
|
|
132
|
+
note String? @db.VarChar(500)
|
|
133
|
+
requestedBy String @db.Uuid
|
|
134
|
+
approvedBy String? @db.Uuid
|
|
135
|
+
approvedAt DateTime?
|
|
136
|
+
rejectionReason String? @db.VarChar(500)
|
|
137
|
+
createdAt DateTime @default(now())
|
|
138
|
+
updatedAt DateTime @updatedAt
|
|
139
|
+
|
|
140
|
+
// Relations
|
|
141
|
+
sourceWarehouse Warehouse @relation("SourceWarehouse", fields: [sourceWarehouseId], references: [id])
|
|
142
|
+
targetWarehouse Warehouse @relation("TargetWarehouse", fields: [targetWarehouseId], references: [id])
|
|
143
|
+
items StockTransferItem[]
|
|
144
|
+
ledgers InventoryLedger[]
|
|
145
|
+
reservations InventoryReservation[]
|
|
146
|
+
|
|
147
|
+
@@index([sourceWarehouseId], map: "stock_transfers_source_warehouse_id")
|
|
148
|
+
@@index([targetWarehouseId], map: "stock_transfers_target_warehouse_id")
|
|
149
|
+
@@index([status], map: "stock_transfers_status")
|
|
150
|
+
@@map("stock_transfers")
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/// Detail of items in a stock transfer
|
|
154
|
+
model StockTransferItem {
|
|
155
|
+
id String @id @default(uuid()) @db.Uuid
|
|
156
|
+
transferId String @db.Uuid
|
|
157
|
+
skuId String @db.Uuid
|
|
158
|
+
quantity Int
|
|
159
|
+
|
|
160
|
+
// Relations
|
|
161
|
+
transfer StockTransfer @relation(fields: [transferId], references: [id], onDelete: Cascade)
|
|
162
|
+
|
|
163
|
+
@@index([transferId], map: "stock_transfer_items_transfer_id")
|
|
164
|
+
@@index([skuId], map: "stock_transfer_items_sku_id")
|
|
165
|
+
@@map("stock_transfer_items")
|
|
166
|
+
}
|
|
167
|
+
|
|
116
168
|
model Inbox {
|
|
117
169
|
eventId String @id @default(uuid()) @db.Uuid
|
|
118
170
|
eventType String @db.VarChar(255)
|
package/prisma/client/wasm.js
CHANGED
|
@@ -121,9 +121,11 @@ exports.Prisma.InventoryReservationScalarFieldEnum = {
|
|
|
121
121
|
id: 'id',
|
|
122
122
|
warehouseId: 'warehouseId',
|
|
123
123
|
orderId: 'orderId',
|
|
124
|
+
stockTransferId: 'stockTransferId',
|
|
124
125
|
skuId: 'skuId',
|
|
125
126
|
quantity: 'quantity',
|
|
126
127
|
status: 'status',
|
|
128
|
+
referenceType: 'referenceType',
|
|
127
129
|
expiredAt: 'expiredAt',
|
|
128
130
|
createdAt: 'createdAt',
|
|
129
131
|
updatedAt: 'updatedAt'
|
|
@@ -138,11 +140,34 @@ exports.Prisma.InventoryLedgerScalarFieldEnum = {
|
|
|
138
140
|
amount: 'amount',
|
|
139
141
|
balanceAfter: 'balanceAfter',
|
|
140
142
|
referenceId: 'referenceId',
|
|
143
|
+
stockTransferId: 'stockTransferId',
|
|
141
144
|
note: 'note',
|
|
142
145
|
createdAt: 'createdAt',
|
|
143
146
|
updatedAt: 'updatedAt'
|
|
144
147
|
};
|
|
145
148
|
|
|
149
|
+
exports.Prisma.StockTransferScalarFieldEnum = {
|
|
150
|
+
id: 'id',
|
|
151
|
+
code: 'code',
|
|
152
|
+
sourceWarehouseId: 'sourceWarehouseId',
|
|
153
|
+
targetWarehouseId: 'targetWarehouseId',
|
|
154
|
+
status: 'status',
|
|
155
|
+
note: 'note',
|
|
156
|
+
requestedBy: 'requestedBy',
|
|
157
|
+
approvedBy: 'approvedBy',
|
|
158
|
+
approvedAt: 'approvedAt',
|
|
159
|
+
rejectionReason: 'rejectionReason',
|
|
160
|
+
createdAt: 'createdAt',
|
|
161
|
+
updatedAt: 'updatedAt'
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
exports.Prisma.StockTransferItemScalarFieldEnum = {
|
|
165
|
+
id: 'id',
|
|
166
|
+
transferId: 'transferId',
|
|
167
|
+
skuId: 'skuId',
|
|
168
|
+
quantity: 'quantity'
|
|
169
|
+
};
|
|
170
|
+
|
|
146
171
|
exports.Prisma.InboxScalarFieldEnum = {
|
|
147
172
|
eventId: 'eventId',
|
|
148
173
|
eventType: 'eventType',
|
|
@@ -186,6 +211,8 @@ exports.Prisma.ModelName = {
|
|
|
186
211
|
InventoryItem: 'InventoryItem',
|
|
187
212
|
InventoryReservation: 'InventoryReservation',
|
|
188
213
|
InventoryLedger: 'InventoryLedger',
|
|
214
|
+
StockTransfer: 'StockTransfer',
|
|
215
|
+
StockTransferItem: 'StockTransferItem',
|
|
189
216
|
Inbox: 'Inbox'
|
|
190
217
|
};
|
|
191
218
|
/**
|
|
@@ -239,13 +266,13 @@ const config = {
|
|
|
239
266
|
}
|
|
240
267
|
}
|
|
241
268
|
},
|
|
242
|
-
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = env(\"PRISMA_CLIENT_INVENTORY_OUTPUT\")\n binaryTargets = [\"native\", \"linux-musl-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_INVENTORY_URL\")\n}\n\n// ============================================================================\n// MODELS\n// ============================================================================\n\n/// Represents a physical warehouse location\nmodel Warehouse {\n id String @id @default(uuid()) @db.Uuid\n code String @unique(map: \"warehouse_code\") @db.VarChar(50)\n name String @db.VarChar(255)\n province String? @db.VarChar(100)\n district String? @db.VarChar(100)\n ward String? @db.VarChar(100)\n address String? @db.VarChar(500)\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n inventoryItems InventoryItem[]\n reservations InventoryReservation[]\n ledgers InventoryLedger[]\n\n @@index([code], map: \"warehouses_code\")\n @@index([isActive], map: \"warehouses_is_active\")\n @@map(\"warehouses\")\n}\n\n/// Represents the stock snapshot for a SKU in a specific warehouse\n/// Uses Optimistic Locking via the `version` field to handle concurrency\nmodel InventoryItem {\n id String @id @default(uuid()) @db.Uuid\n productId String @db.Uuid\n warehouseId String @db.Uuid\n skuId String @db.Uuid\n quantityOnHand Int @default(0)\n quantityReserved Int @default(0)\n version Int @default(1) // Optimistic Locking version field\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n\n @@unique([warehouseId, skuId], map: \"inventory_items_warehouse_sku\")\n @@index([skuId], map: \"inventory_items_sku\")\n @@index([warehouseId], map: \"inventory_items_warehouse_id\")\n @@map(\"inventory_items\")\n}\n\n/// Temporary hold for the Two-Phase Reservation (Saga pattern)\n/// Ensures idempotency via unique constraint on [orderId, sku]\nmodel InventoryReservation {\n id
|
|
243
|
-
"inlineSchemaHash": "
|
|
269
|
+
"inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = env(\"PRISMA_CLIENT_INVENTORY_OUTPUT\")\n binaryTargets = [\"native\", \"linux-musl-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_INVENTORY_URL\")\n}\n\n// ============================================================================\n// MODELS\n// ============================================================================\n\n/// Represents a physical warehouse location\nmodel Warehouse {\n id String @id @default(uuid()) @db.Uuid\n code String @unique(map: \"warehouse_code\") @db.VarChar(50)\n name String @db.VarChar(255)\n province String? @db.VarChar(100)\n district String? @db.VarChar(100)\n ward String? @db.VarChar(100)\n address String? @db.VarChar(500)\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n inventoryItems InventoryItem[]\n reservations InventoryReservation[]\n ledgers InventoryLedger[]\n transfersOut StockTransfer[] @relation(\"SourceWarehouse\")\n transfersIn StockTransfer[] @relation(\"TargetWarehouse\")\n\n @@index([code], map: \"warehouses_code\")\n @@index([isActive], map: \"warehouses_is_active\")\n @@map(\"warehouses\")\n}\n\n/// Represents the stock snapshot for a SKU in a specific warehouse\n/// Uses Optimistic Locking via the `version` field to handle concurrency\nmodel InventoryItem {\n id String @id @default(uuid()) @db.Uuid\n productId String @db.Uuid\n warehouseId String @db.Uuid\n skuId String @db.Uuid\n quantityOnHand Int @default(0)\n quantityReserved Int @default(0)\n version Int @default(1) // Optimistic Locking version field\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n\n @@unique([warehouseId, skuId], map: \"inventory_items_warehouse_sku\")\n @@index([skuId], map: \"inventory_items_sku\")\n @@index([warehouseId], map: \"inventory_items_warehouse_id\")\n @@map(\"inventory_items\")\n}\n\n/// Temporary hold for the Two-Phase Reservation (Saga pattern)\n/// Ensures idempotency via unique constraint on [orderId, sku]\nmodel InventoryReservation {\n id String @id @default(uuid()) @db.Uuid\n warehouseId String @db.Uuid\n orderId String? @db.Uuid\n stockTransferId String? @db.Uuid\n skuId String @db.Uuid\n quantity Int\n status String @default(\"Pending\") @db.VarChar(20) // Pending, Confirmed, Cancelled, Expired\n referenceType String @default(\"Order\") @db.VarChar(20) // Order, Transfer\n expiredAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n stockTransfer StockTransfer? @relation(fields: [stockTransferId], references: [id])\n\n @@index([orderId], map: \"reservations_order_id\")\n @@index([stockTransferId], map: \"reservations_stock_transfer_id\")\n @@index([referenceType], map: \"reservations_reference_type\")\n @@index([skuId], map: \"reservations_sku\")\n @@index([status], map: \"reservations_status\")\n @@index([expiredAt], map: \"reservations_expired_at\")\n @@index([warehouseId], map: \"reservations_warehouse_id\")\n @@map(\"inventory_reservations\")\n}\n\n/// Immutable audit log for all stock movements\n/// Records every change to inventory with full traceability\nmodel InventoryLedger {\n id String @id @default(uuid()) @db.Uuid\n inventoryItemId String @db.Uuid\n warehouseId String @db.Uuid\n skuId String @db.Uuid\n type String @db.VarChar(20) // Import, Sale, Return, Adjustment, Transfer\n amount Int // Can be negative (e.g., for sales)\n balanceAfter Int\n referenceId String @db.VarChar(100) // e.g., order ID, PO ID\n stockTransferId String? @db.Uuid\n note String? @db.VarChar(500)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n warehouse Warehouse @relation(fields: [warehouseId], references: [id], onDelete: Cascade)\n stockTransfer StockTransfer? @relation(fields: [stockTransferId], references: [id])\n\n @@index([skuId], map: \"ledgers_sku\")\n @@index([stockTransferId], map: \"ledgers_stock_transfer_id\")\n @@index([referenceId], map: \"ledgers_reference_id\")\n @@index([type], map: \"ledgers_type\")\n @@index([warehouseId], map: \"ledgers_warehouse_id\")\n @@index([createdAt], map: \"ledgers_created_at\")\n @@map(\"inventory_ledgers\")\n}\n\n/// Represents a request to move stock between warehouses\nmodel StockTransfer {\n id String @id @default(uuid()) @db.Uuid\n code String @unique(map: \"stock_transfer_code\") @db.VarChar(50)\n sourceWarehouseId String @db.Uuid\n targetWarehouseId String @db.Uuid\n status String @default(\"PENDING\") @db.VarChar(20) // PENDING, APPROVED, REJECTED, COMPLETED, CANCELLED\n note String? @db.VarChar(500)\n requestedBy String @db.Uuid\n approvedBy String? @db.Uuid\n approvedAt DateTime?\n rejectionReason String? @db.VarChar(500)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // Relations\n sourceWarehouse Warehouse @relation(\"SourceWarehouse\", fields: [sourceWarehouseId], references: [id])\n targetWarehouse Warehouse @relation(\"TargetWarehouse\", fields: [targetWarehouseId], references: [id])\n items StockTransferItem[]\n ledgers InventoryLedger[]\n reservations InventoryReservation[]\n\n @@index([sourceWarehouseId], map: \"stock_transfers_source_warehouse_id\")\n @@index([targetWarehouseId], map: \"stock_transfers_target_warehouse_id\")\n @@index([status], map: \"stock_transfers_status\")\n @@map(\"stock_transfers\")\n}\n\n/// Detail of items in a stock transfer\nmodel StockTransferItem {\n id String @id @default(uuid()) @db.Uuid\n transferId String @db.Uuid\n skuId String @db.Uuid\n quantity Int\n\n // Relations\n transfer StockTransfer @relation(fields: [transferId], references: [id], onDelete: Cascade)\n\n @@index([transferId], map: \"stock_transfer_items_transfer_id\")\n @@index([skuId], map: \"stock_transfer_items_sku_id\")\n @@map(\"stock_transfer_items\")\n}\n\nmodel Inbox {\n eventId String @id @default(uuid()) @db.Uuid\n eventType String @db.VarChar(255)\n payload Json\n status String @db.VarChar(50)\n retryCount Int @default(0)\n lastError String? @db.VarChar(1000)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n processedAt DateTime?\n\n @@index([status], map: \"inbox_events_status\")\n @@index([eventType], map: \"inbox_events_event_type\")\n @@map(\"inbox_events\")\n}\n",
|
|
270
|
+
"inlineSchemaHash": "6da8c036f295dba1e01324083de69e36e8e096510281f0995126902e2da8295c",
|
|
244
271
|
"copyEngine": true
|
|
245
272
|
}
|
|
246
273
|
config.dirname = '/'
|
|
247
274
|
|
|
248
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"Warehouse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"province\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"district\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ward\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"inventoryItems\",\"kind\":\"object\",\"type\":\"InventoryItem\",\"relationName\":\"InventoryItemToWarehouse\"},{\"name\":\"reservations\",\"kind\":\"object\",\"type\":\"InventoryReservation\",\"relationName\":\"InventoryReservationToWarehouse\"},{\"name\":\"ledgers\",\"kind\":\"object\",\"type\":\"InventoryLedger\",\"relationName\":\"InventoryLedgerToWarehouse\"}],\"dbName\":\"warehouses\"},\"InventoryItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"productId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantityOnHand\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"quantityReserved\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"version\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"InventoryItemToWarehouse\"}],\"dbName\":\"inventory_items\"},\"InventoryReservation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"orderId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiredAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"InventoryReservationToWarehouse\"}],\"dbName\":\"inventory_reservations\"},\"InventoryLedger\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inventoryItemId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"balanceAfter\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"referenceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"InventoryLedgerToWarehouse\"}],\"dbName\":\"inventory_ledgers\"},\"Inbox\":{\"fields\":[{\"name\":\"eventId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eventType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retryCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"lastError\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"inbox_events\"}},\"enums\":{},\"types\":{}}")
|
|
275
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"Warehouse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"province\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"district\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ward\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"inventoryItems\",\"kind\":\"object\",\"type\":\"InventoryItem\",\"relationName\":\"InventoryItemToWarehouse\"},{\"name\":\"reservations\",\"kind\":\"object\",\"type\":\"InventoryReservation\",\"relationName\":\"InventoryReservationToWarehouse\"},{\"name\":\"ledgers\",\"kind\":\"object\",\"type\":\"InventoryLedger\",\"relationName\":\"InventoryLedgerToWarehouse\"},{\"name\":\"transfersOut\",\"kind\":\"object\",\"type\":\"StockTransfer\",\"relationName\":\"SourceWarehouse\"},{\"name\":\"transfersIn\",\"kind\":\"object\",\"type\":\"StockTransfer\",\"relationName\":\"TargetWarehouse\"}],\"dbName\":\"warehouses\"},\"InventoryItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"productId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantityOnHand\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"quantityReserved\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"version\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"InventoryItemToWarehouse\"}],\"dbName\":\"inventory_items\"},\"InventoryReservation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"orderId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stockTransferId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"referenceType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiredAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"InventoryReservationToWarehouse\"},{\"name\":\"stockTransfer\",\"kind\":\"object\",\"type\":\"StockTransfer\",\"relationName\":\"InventoryReservationToStockTransfer\"}],\"dbName\":\"inventory_reservations\"},\"InventoryLedger\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inventoryItemId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"warehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"balanceAfter\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"referenceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stockTransferId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"warehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"InventoryLedgerToWarehouse\"},{\"name\":\"stockTransfer\",\"kind\":\"object\",\"type\":\"StockTransfer\",\"relationName\":\"InventoryLedgerToStockTransfer\"}],\"dbName\":\"inventory_ledgers\"},\"StockTransfer\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceWarehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"targetWarehouseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"requestedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"approvedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"approvedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sourceWarehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"SourceWarehouse\"},{\"name\":\"targetWarehouse\",\"kind\":\"object\",\"type\":\"Warehouse\",\"relationName\":\"TargetWarehouse\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"StockTransferItem\",\"relationName\":\"StockTransferToStockTransferItem\"},{\"name\":\"ledgers\",\"kind\":\"object\",\"type\":\"InventoryLedger\",\"relationName\":\"InventoryLedgerToStockTransfer\"},{\"name\":\"reservations\",\"kind\":\"object\",\"type\":\"InventoryReservation\",\"relationName\":\"InventoryReservationToStockTransfer\"}],\"dbName\":\"stock_transfers\"},\"StockTransferItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transferId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skuId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"transfer\",\"kind\":\"object\",\"type\":\"StockTransfer\",\"relationName\":\"StockTransferToStockTransferItem\"}],\"dbName\":\"stock_transfer_items\"},\"Inbox\":{\"fields\":[{\"name\":\"eventId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"eventType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retryCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"lastError\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"inbox_events\"}},\"enums\":{},\"types\":{}}")
|
|
249
276
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
250
277
|
config.engineWasm = {
|
|
251
278
|
getRuntime: async () => require('./query_engine_bg.js'),
|