@naisys/erp 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client-dist/assets/{index-D6lSIioV.js → index-D5R6NBeW.js} +731 -721
- package/client-dist/assets/{rolldown-runtime-CvHMtSRF.js → rolldown-runtime-B-1-B7_t.js} +1 -1
- package/client-dist/assets/{vendor-CJ0ET9hP.js → vendor-CbiEATh3.js} +70925 -72255
- package/client-dist/assets/{vendor-CLUPjUnv.css → vendor-D8d_HnwE.css} +1254 -397
- package/client-dist/index.html +4 -4
- package/dist/erpServer.js +7 -1
- package/dist/generated/prisma/internal/class.js +2 -2
- package/dist/generated/prisma/internal/prismaNamespace.js +4 -4
- package/dist/services/production/labor-ticket-backfill.js +1 -1
- package/npm-shrinkwrap.json +257 -316
- package/package.json +22 -22
package/client-dist/index.html
CHANGED
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
<meta name="format-detection" content="telephone=no" />
|
|
46
46
|
|
|
47
47
|
<title>NAISYS ERP</title>
|
|
48
|
-
<script type="module" crossorigin src="/erp/assets/index-
|
|
49
|
-
<link rel="modulepreload" crossorigin href="/erp/assets/rolldown-runtime-
|
|
50
|
-
<link rel="modulepreload" crossorigin href="/erp/assets/vendor-
|
|
51
|
-
<link rel="stylesheet" crossorigin href="/erp/assets/vendor-
|
|
48
|
+
<script type="module" crossorigin src="/erp/assets/index-D5R6NBeW.js"></script>
|
|
49
|
+
<link rel="modulepreload" crossorigin href="/erp/assets/rolldown-runtime-B-1-B7_t.js">
|
|
50
|
+
<link rel="modulepreload" crossorigin href="/erp/assets/vendor-CbiEATh3.js">
|
|
51
|
+
<link rel="stylesheet" crossorigin href="/erp/assets/vendor-D8d_HnwE.css">
|
|
52
52
|
<link rel="stylesheet" crossorigin href="/erp/assets/index-CSiMTJfw.css">
|
|
53
53
|
</head>
|
|
54
54
|
<body>
|
package/dist/erpServer.js
CHANGED
|
@@ -188,7 +188,13 @@ async function startServer(wizardRan) {
|
|
|
188
188
|
}
|
|
189
189
|
catch (err) {
|
|
190
190
|
console.error("[ERP] Failed to start:", err);
|
|
191
|
-
|
|
191
|
+
try {
|
|
192
|
+
await fastify.close();
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
// Startup already failed; preserve the original error as the cause.
|
|
196
|
+
}
|
|
197
|
+
throw err;
|
|
192
198
|
}
|
|
193
199
|
return fastify;
|
|
194
200
|
}
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
import * as runtime from "@prisma/client/runtime/client";
|
|
13
13
|
const config = {
|
|
14
14
|
"previewFeatures": [],
|
|
15
|
-
"clientVersion": "7.
|
|
16
|
-
"engineVersion": "
|
|
15
|
+
"clientVersion": "7.8.0",
|
|
16
|
+
"engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a",
|
|
17
17
|
"activeProvider": "sqlite",
|
|
18
18
|
"inlineSchema": "// NOTE: After adding a migration, update ERP_DB_VERSION in src/dbConfig.ts\n// to match the new schema version number in the migration SQL.\n\ndatasource db {\n provider = \"sqlite\"\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\nenum OrderStatus {\n active\n archived\n}\n\nenum RevisionStatus {\n draft\n approved\n obsolete\n}\n\nenum OrderRunStatus {\n released\n started\n closed\n cancelled\n}\n\nenum OrderRunPriority {\n low\n medium\n high\n critical\n}\n\nenum OperationRunStatus {\n blocked\n pending\n in_progress\n completed\n skipped\n failed\n}\n\nenum OperationRunCommentType {\n note\n issue\n feedback\n}\n\nenum FieldType {\n string\n number\n date\n datetime\n yesNo\n checkbox\n attachment\n}\n\nmodel Order {\n id Int @id @default(autoincrement())\n key String @unique\n description String @default(\"\")\n status OrderStatus @default(active)\n itemId Int? @map(\"item_id\")\n createdById Int @map(\"created_by\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedById Int @map(\"updated_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n item Item? @relation(fields: [itemId], references: [id], onDelete: Restrict)\n createdBy User @relation(\"orderCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"orderUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n revisions OrderRevision[]\n orderRuns OrderRun[]\n\n @@index([status]) // LIST filter in orders.ts\n @@index([createdAt]) // LIST orderBy in orders.ts\n @@index([itemId]) // FK lookup for item relation\n @@map(\"orders\")\n}\n\nmodel OrderRevision {\n id Int @id @default(autoincrement())\n orderId Int @map(\"order_id\")\n revNo Int @map(\"rev_no\")\n status RevisionStatus @default(draft)\n description String @default(\"\")\n changeSummary String? @map(\"change_summary\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n createdBy User @relation(\"orderRevCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"orderRevUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n order Order @relation(fields: [orderId], references: [id], onDelete: Restrict)\n orderRuns OrderRun[]\n operations Operation[]\n\n @@unique([orderId, revNo])\n @@map(\"order_revisions\")\n}\n\nmodel Operation {\n id Int @id @default(autoincrement())\n orderRevId Int @map(\"order_rev_id\")\n workCenterId Int? @map(\"work_center_id\")\n seqNo Int @map(\"seq_no\")\n title String\n description String @default(\"\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"opCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"opUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n orderRev OrderRevision @relation(fields: [orderRevId], references: [id], onDelete: Restrict)\n workCenter WorkCenter? @relation(fields: [workCenterId], references: [id], onDelete: SetNull)\n steps Step[]\n fieldRefs OperationFieldRef[] @relation(\"opFieldRefs\")\n operationRuns OperationRun[]\n predecessors OperationDependency[] @relation(\"opSuccessor\")\n successors OperationDependency[] @relation(\"opPredecessor\")\n\n @@unique([orderRevId, seqNo])\n @@map(\"operations\")\n}\n\nmodel OperationFieldRef {\n id Int @id @default(autoincrement())\n operationId Int @map(\"operation_id\")\n seqNo Int @map(\"seq_no\")\n title String\n sourceStepId Int @map(\"source_step_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n\n operation Operation @relation(\"opFieldRefs\", fields: [operationId], references: [id], onDelete: Cascade)\n sourceStep Step @relation(\"fieldRefSource\", fields: [sourceStepId], references: [id], onDelete: Restrict)\n createdBy User @relation(\"fieldRefCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n\n @@unique([operationId, seqNo])\n @@unique([operationId, sourceStepId])\n @@map(\"operation_field_refs\")\n}\n\nmodel OperationDependency {\n id Int @id @default(autoincrement())\n successorId Int @map(\"successor_id\")\n predecessorId Int @map(\"predecessor_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n\n successor Operation @relation(\"opSuccessor\", fields: [successorId], references: [id], onDelete: Cascade)\n predecessor Operation @relation(\"opPredecessor\", fields: [predecessorId], references: [id], onDelete: Cascade)\n createdBy User @relation(\"opDepCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n\n @@unique([successorId, predecessorId])\n @@map(\"operation_dependencies\")\n}\n\nmodel WorkCenter {\n id Int @id @default(autoincrement())\n key String @unique\n description String @default(\"\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"workCenterCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"workCenterUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n userAssignments WorkCenterUser[]\n operations Operation[]\n\n @@index([createdAt])\n @@map(\"work_centers\")\n}\n\nmodel WorkCenterUser {\n workCenterId Int @map(\"work_center_id\")\n userId Int @map(\"user_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n\n workCenter WorkCenter @relation(fields: [workCenterId], references: [id], onDelete: Cascade)\n user User @relation(\"workCenterAssignment\", fields: [userId], references: [id], onDelete: Cascade)\n createdBy User @relation(\"workCenterUserCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n\n @@id([workCenterId, userId])\n @@map(\"work_center_users\")\n}\n\nmodel FieldSet {\n id Int @id @default(autoincrement())\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n\n createdBy User @relation(\"fieldSetCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n fields Field[]\n fieldRecords FieldRecord[]\n steps Step[]\n items Item[]\n\n @@map(\"field_sets\")\n}\n\nmodel FieldRecord {\n id Int @id @default(autoincrement())\n fieldSetId Int @map(\"field_set_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n\n createdBy User @relation(\"fieldRecordCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n fieldSet FieldSet @relation(fields: [fieldSetId], references: [id])\n fieldValues FieldValue[]\n stepRuns StepRun[]\n itemInstances ItemInstance[]\n\n @@map(\"field_records\")\n}\n\nmodel Field {\n id Int @id @default(autoincrement())\n fieldSetId Int @map(\"field_set_id\")\n seqNo Int @map(\"seq_no\")\n label String\n type FieldType @default(string)\n isArray Boolean @default(false) @map(\"is_array\")\n required Boolean @default(false)\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"fieldCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"fieldUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n fieldSet FieldSet @relation(fields: [fieldSetId], references: [id], onDelete: Cascade)\n fieldValues FieldValue[]\n\n @@unique([fieldSetId, seqNo])\n @@map(\"fields\")\n}\n\nmodel Step {\n id Int @id @default(autoincrement())\n operationId Int @map(\"operation_id\")\n fieldSetId Int? @map(\"field_set_id\")\n seqNo Int @map(\"seq_no\")\n title String @default(\"\")\n instructions String @default(\"\")\n multiSet Boolean @default(false) @map(\"multi_set\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"stepCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"stepUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n operation Operation @relation(fields: [operationId], references: [id], onDelete: Cascade)\n fieldSet FieldSet? @relation(fields: [fieldSetId], references: [id])\n stepRuns StepRun[]\n fieldRefSources OperationFieldRef[] @relation(\"fieldRefSource\")\n\n @@unique([operationId, seqNo])\n @@map(\"steps\")\n}\n\nmodel OrderRun {\n id Int @id @default(autoincrement())\n runNo Int @map(\"run_no\")\n orderId Int @map(\"order_id\")\n orderRevId Int @map(\"order_rev_id\")\n status OrderRunStatus @default(released)\n priority OrderRunPriority @default(medium)\n cost Float?\n dueAt String? @map(\"due_at\")\n releaseNote String? @map(\"release_note\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"orderRunCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"orderRunUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n order Order @relation(fields: [orderId], references: [id], onDelete: Restrict)\n orderRev OrderRevision @relation(fields: [orderRevId], references: [id], onDelete: Restrict)\n operationRuns OperationRun[]\n itemInstances ItemInstance[]\n\n @@unique([orderId, runNo])\n @@index([status]) // LIST filter in order-runs.ts\n @@index([priority]) // LIST filter in order-runs.ts\n @@index([createdAt]) // LIST orderBy in order-runs.ts\n @@index([orderRevId]) // FK lookup for orderRev relation\n @@map(\"order_runs\")\n}\n\nmodel OperationRun {\n id Int @id @default(autoincrement())\n orderRunId Int @map(\"order_run_id\")\n operationId Int @map(\"operation_id\")\n status OperationRunStatus @default(pending)\n assignedToId Int? @map(\"assigned_to_id\")\n cost Float?\n tokens Int?\n statusNote String? @map(\"status_note\")\n completedAt DateTime? @map(\"completed_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n assignedTo User? @relation(\"opRunAssignedTo\", fields: [assignedToId], references: [id], onDelete: Restrict)\n createdBy User @relation(\"opRunCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"opRunUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n orderRun OrderRun @relation(fields: [orderRunId], references: [id], onDelete: Restrict)\n operation Operation @relation(fields: [operationId], references: [id], onDelete: Restrict)\n stepRuns StepRun[]\n laborTickets LaborTicket[]\n comments OperationRunComment[]\n\n @@unique([orderRunId, operationId])\n @@index([status])\n @@map(\"operation_runs\")\n}\n\nmodel StepRun {\n id Int @id @default(autoincrement())\n operationRunId Int @map(\"operation_run_id\")\n stepId Int @map(\"step_id\")\n fieldRecordId Int? @map(\"field_record_id\")\n completed Boolean @default(false)\n statusNote String? @map(\"status_note\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"stepRunCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"stepRunUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n operationRun OperationRun @relation(fields: [operationRunId], references: [id], onDelete: Restrict)\n step Step @relation(fields: [stepId], references: [id], onDelete: Restrict)\n fieldRecord FieldRecord? @relation(fields: [fieldRecordId], references: [id])\n\n @@unique([operationRunId, stepId])\n @@map(\"step_runs\")\n}\n\nmodel FieldValue {\n id Int @id @default(autoincrement())\n fieldRecordId Int @map(\"field_record_id\")\n fieldId Int @map(\"field_id\")\n setIndex Int @default(0) @map(\"set_index\")\n value String @default(\"\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"fieldValueCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"fieldValueUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n fieldRecord FieldRecord @relation(fields: [fieldRecordId], references: [id], onDelete: Restrict)\n field Field @relation(fields: [fieldId], references: [id], onDelete: Restrict)\n fieldAttachments FieldAttachment[]\n\n @@unique([fieldRecordId, fieldId, setIndex])\n @@map(\"field_values\")\n}\n\nmodel Item {\n id Int @id @default(autoincrement())\n key String @unique\n description String @default(\"\")\n fieldSetId Int? @map(\"field_set_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n createdBy User @relation(\"itemCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"itemUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n fieldSet FieldSet? @relation(fields: [fieldSetId], references: [id])\n orders Order[]\n itemInstances ItemInstance[]\n\n @@index([createdAt])\n @@map(\"items\")\n}\n\nmodel ItemInstance {\n id Int @id @default(autoincrement())\n itemId Int @map(\"item_id\")\n orderRunId Int? @map(\"order_run_id\")\n fieldRecordId Int? @map(\"field_record_id\")\n key String\n quantity Float?\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n item Item @relation(fields: [itemId], references: [id], onDelete: Restrict)\n orderRun OrderRun? @relation(fields: [orderRunId], references: [id], onDelete: Restrict)\n fieldRecord FieldRecord? @relation(fields: [fieldRecordId], references: [id])\n createdBy User @relation(\"itemInstanceCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"itemInstanceUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n\n @@unique([itemId, key])\n @@index([orderRunId])\n @@map(\"item_instances\")\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n uuid String @unique\n username String @unique\n passwordHash String? @map(\"password_hash\")\n apiKeyHash String? @unique @map(\"api_key_hash\")\n isAgent Boolean @default(false) @map(\"is_agent\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n deletedAt DateTime? @map(\"deleted_at\")\n\n itemsCreated Item[] @relation(\"itemCreatedBy\")\n itemsUpdated Item[] @relation(\"itemUpdatedBy\")\n ordersCreated Order[] @relation(\"orderCreatedBy\")\n ordersUpdated Order[] @relation(\"orderUpdatedBy\")\n orderRevsCreated OrderRevision[] @relation(\"orderRevCreatedBy\")\n orderRevsUpdated OrderRevision[] @relation(\"orderRevUpdatedBy\")\n orderRunsCreated OrderRun[] @relation(\"orderRunCreatedBy\")\n orderRunsUpdated OrderRun[] @relation(\"orderRunUpdatedBy\")\n opsCreated Operation[] @relation(\"opCreatedBy\")\n opsUpdated Operation[] @relation(\"opUpdatedBy\")\n opDepsCreated OperationDependency[] @relation(\"opDepCreatedBy\")\n fieldRefsCreated OperationFieldRef[] @relation(\"fieldRefCreatedBy\")\n fieldSetsCreated FieldSet[] @relation(\"fieldSetCreatedBy\")\n stepsCreated Step[] @relation(\"stepCreatedBy\")\n stepsUpdated Step[] @relation(\"stepUpdatedBy\")\n fieldsCreated Field[] @relation(\"fieldCreatedBy\")\n fieldsUpdated Field[] @relation(\"fieldUpdatedBy\")\n opRunsCreated OperationRun[] @relation(\"opRunCreatedBy\")\n opRunsUpdated OperationRun[] @relation(\"opRunUpdatedBy\")\n stepRunsCreated StepRun[] @relation(\"stepRunCreatedBy\")\n stepRunsUpdated StepRun[] @relation(\"stepRunUpdatedBy\")\n fieldRecordsCreated FieldRecord[] @relation(\"fieldRecordCreatedBy\")\n fieldValuesCreated FieldValue[] @relation(\"fieldValueCreatedBy\")\n fieldValuesUpdated FieldValue[] @relation(\"fieldValueUpdatedBy\")\n itemInstancesCreated ItemInstance[] @relation(\"itemInstanceCreatedBy\")\n itemInstancesUpdated ItemInstance[] @relation(\"itemInstanceUpdatedBy\")\n laborTicketsWorked LaborTicket[] @relation(\"laborTicketUser\")\n laborTicketsCreated LaborTicket[] @relation(\"laborTicketCreatedBy\")\n laborTicketsUpdated LaborTicket[] @relation(\"laborTicketUpdatedBy\")\n auditLogs AuditLog[]\n sessions Session[]\n permissions UserPermission[] @relation(\"userPermissions\")\n grantedPermissions UserPermission[] @relation(\"permissionGrantedBy\")\n attachmentsUploaded Attachment[] @relation(\"attachmentUploadedBy\")\n commentsCreated OperationRunComment[] @relation(\"commentCreatedBy\")\n opRunsAssigned OperationRun[] @relation(\"opRunAssignedTo\")\n workCentersCreated WorkCenter[] @relation(\"workCenterCreatedBy\")\n workCentersUpdated WorkCenter[] @relation(\"workCenterUpdatedBy\")\n workCenterAssignments WorkCenterUser[] @relation(\"workCenterAssignment\")\n workCenterUsersCreated WorkCenterUser[] @relation(\"workCenterUserCreatedBy\")\n\n @@map(\"users\")\n}\n\nenum ErpPermission {\n erp_admin\n order_planner\n order_executor\n order_manager\n item_manager\n}\n\nmodel UserPermission {\n id Int @id @default(autoincrement())\n userId Int @map(\"user_id\")\n permission ErpPermission\n grantedAt DateTime @default(now()) @map(\"granted_at\")\n grantedBy Int? @map(\"granted_by\")\n\n user User @relation(\"userPermissions\", fields: [userId], references: [id], onDelete: Cascade)\n grantedByUser User? @relation(\"permissionGrantedBy\", fields: [grantedBy], references: [id], onDelete: SetNull)\n\n @@unique([userId, permission])\n @@map(\"user_permissions\")\n}\n\nmodel Session {\n id Int @id @default(autoincrement())\n userId Int @map(\"user_id\")\n tokenHash String @unique @map(\"token_hash\")\n expiresAt DateTime @map(\"expires_at\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"sessions\")\n}\n\nmodel SchemaVersion {\n id Int @id @default(1)\n version Int\n updated String\n\n @@map(\"schema_version\")\n}\n\nmodel LaborTicket {\n id Int @id @default(autoincrement())\n operationRunId Int @map(\"operation_run_id\")\n userId Int @map(\"user_id\")\n runId Int? @map(\"run_id\")\n clockIn DateTime @map(\"clock_in\")\n clockOut DateTime? @map(\"clock_out\")\n cost Float?\n tokens Int?\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n updatedById Int @map(\"updated_by\")\n\n operationRun OperationRun @relation(fields: [operationRunId], references: [id], onDelete: Restrict)\n user User @relation(\"laborTicketUser\", fields: [userId], references: [id], onDelete: Restrict)\n createdBy User @relation(\"laborTicketCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n updatedBy User @relation(\"laborTicketUpdatedBy\", fields: [updatedById], references: [id], onDelete: Restrict)\n\n @@index([operationRunId])\n @@index([userId, clockOut])\n @@map(\"labor_tickets\")\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n entityType String @map(\"entity_type\")\n entityId Int @map(\"entity_id\")\n action String\n field String\n oldValue String? @map(\"old_value\")\n newValue String? @map(\"new_value\")\n userId Int @map(\"user_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n user User @relation(fields: [userId], references: [id], onDelete: Restrict)\n\n @@index([entityType, entityId])\n @@map(\"audit_log\")\n}\n\nmodel Attachment {\n id Int @id @default(autoincrement())\n publicId String @unique @map(\"public_id\")\n filepath String\n filename String\n fileSize Int @map(\"file_size\")\n fileHash String @map(\"file_hash\")\n uploadedById Int @map(\"uploaded_by\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n uploadedBy User @relation(\"attachmentUploadedBy\", fields: [uploadedById], references: [id], onDelete: Restrict)\n fieldAttachments FieldAttachment[]\n\n @@index([fileHash])\n @@map(\"attachments\")\n}\n\nmodel FieldAttachment {\n fieldValueId Int @map(\"field_value_id\")\n attachmentId Int @map(\"attachment_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n\n fieldValue FieldValue @relation(fields: [fieldValueId], references: [id], onDelete: Cascade)\n attachment Attachment @relation(fields: [attachmentId], references: [id], onDelete: Restrict)\n\n @@id([fieldValueId, attachmentId])\n @@map(\"field_attachments\")\n}\n\nmodel OperationRunComment {\n id Int @id @default(autoincrement())\n operationRunId Int @map(\"operation_run_id\")\n type OperationRunCommentType @default(note)\n body String\n createdAt DateTime @default(now()) @map(\"created_at\")\n createdById Int @map(\"created_by\")\n\n operationRun OperationRun @relation(fields: [operationRunId], references: [id], onDelete: Restrict)\n createdBy User @relation(\"commentCreatedBy\", fields: [createdById], references: [id], onDelete: Restrict)\n\n @@index([operationRunId])\n @@map(\"operation_run_comments\")\n}\n",
|
|
19
19
|
"runtimeDataModel": {
|
|
@@ -36,12 +36,12 @@ export const Sql = runtime.Sql;
|
|
|
36
36
|
export const Decimal = runtime.Decimal;
|
|
37
37
|
export const getExtensionContext = runtime.Extensions.getExtensionContext;
|
|
38
38
|
/**
|
|
39
|
-
* Prisma Client JS version: 7.
|
|
40
|
-
* Query Engine version:
|
|
39
|
+
* Prisma Client JS version: 7.8.0
|
|
40
|
+
* Query Engine version: 3c6e192761c0362d496ed980de936e2f3cebcd3a
|
|
41
41
|
*/
|
|
42
42
|
export const prismaVersion = {
|
|
43
|
-
client: "7.
|
|
44
|
-
engine: "
|
|
43
|
+
client: "7.8.0",
|
|
44
|
+
engine: "3c6e192761c0362d496ed980de936e2f3cebcd3a"
|
|
45
45
|
};
|
|
46
46
|
export const NullTypes = {
|
|
47
47
|
DbNull: runtime.NullTypes.DbNull,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { sumAgentMetricsByUuid } from "@naisys/hub-database";
|
|
2
1
|
import { OperationRunStatus } from "@naisys/erp-shared";
|
|
2
|
+
import { sumAgentMetricsByUuid } from "@naisys/hub-database";
|
|
3
3
|
import erpDb from "../../database/erpDb.js";
|
|
4
4
|
/**
|
|
5
5
|
* Populate `tokens` on labor tickets and operation runs finalized before the
|