@juliobrim/prisma-shared 1.0.34 → 1.0.40

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/README.md CHANGED
@@ -209,6 +209,10 @@ DATABASE_URL="postgresql://username:password@localhost:5432/sabcon_db"
209
209
 
210
210
  Certifique-se de que cada projeto tenha a variável `DATABASE_URL` configurada corretamente em seu arquivo `.env`.
211
211
 
212
+ ### ⚠️ Usando Prisma 7?
213
+
214
+ Se você está usando **Prisma 7**, consulte o arquivo [PRISMA_7_SETUP.md](./PRISMA_7_SETUP.md) para instruções específicas de configuração, pois o Prisma 7 requer configuração adicional via `prisma.config.ts`.
215
+
212
216
  ## Troubleshooting
213
217
 
214
218
  ### Problemas comuns
@@ -0,0 +1,33 @@
1
+ -- CreateTable
2
+ CREATE TABLE "public"."OperationGroupMember" (
3
+ "id" TEXT NOT NULL,
4
+ "groupId" TEXT NOT NULL,
5
+ "memberId" TEXT NOT NULL,
6
+ "order" INTEGER NOT NULL,
7
+ "tenantId" TEXT NOT NULL,
8
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
9
+ "updatedAt" TIMESTAMP(3) NOT NULL,
10
+
11
+ CONSTRAINT "OperationGroupMember_pkey" PRIMARY KEY ("id")
12
+ );
13
+
14
+ -- CreateIndex
15
+ CREATE INDEX "OperationGroupMember_groupId_idx" ON "public"."OperationGroupMember"("groupId");
16
+
17
+ -- CreateIndex
18
+ CREATE INDEX "OperationGroupMember_memberId_idx" ON "public"."OperationGroupMember"("memberId");
19
+
20
+ -- CreateIndex
21
+ CREATE INDEX "OperationGroupMember_tenantId_idx" ON "public"."OperationGroupMember"("tenantId");
22
+
23
+ -- CreateIndex
24
+ CREATE UNIQUE INDEX "OperationGroupMember_groupId_memberId_key" ON "public"."OperationGroupMember"("groupId", "memberId");
25
+
26
+ -- AddForeignKey
27
+ ALTER TABLE "public"."OperationGroupMember" ADD CONSTRAINT "OperationGroupMember_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "public"."operation"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
28
+
29
+ -- AddForeignKey
30
+ ALTER TABLE "public"."OperationGroupMember" ADD CONSTRAINT "OperationGroupMember_memberId_fkey" FOREIGN KEY ("memberId") REFERENCES "public"."operation"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
31
+
32
+ -- AddForeignKey
33
+ ALTER TABLE "public"."OperationGroupMember" ADD CONSTRAINT "OperationGroupMember_tenantId_fkey" FOREIGN KEY ("tenantId") REFERENCES "public"."tenant"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -0,0 +1,27 @@
1
+ -- AlterTable
2
+ ALTER TABLE "public"."machine" ADD COLUMN "processingScriptId" TEXT;
3
+
4
+ -- CreateTable
5
+ CREATE TABLE "public"."processing_script" (
6
+ "id" TEXT NOT NULL,
7
+ "name" TEXT NOT NULL,
8
+ "description" TEXT,
9
+ "script" TEXT NOT NULL,
10
+ "isDefault" BOOLEAN NOT NULL DEFAULT false,
11
+ "tenantId" TEXT,
12
+ "version" INTEGER NOT NULL DEFAULT 1,
13
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
14
+ "updatedAt" TIMESTAMP(3) NOT NULL,
15
+ "createdBy" TEXT,
16
+
17
+ CONSTRAINT "processing_script_pkey" PRIMARY KEY ("id")
18
+ );
19
+
20
+ -- CreateIndex
21
+ CREATE INDEX "processing_script_tenantId_idx" ON "public"."processing_script"("tenantId");
22
+
23
+ -- AddForeignKey
24
+ ALTER TABLE "public"."machine" ADD CONSTRAINT "machine_processingScriptId_fkey" FOREIGN KEY ("processingScriptId") REFERENCES "public"."processing_script"("id") ON DELETE SET NULL ON UPDATE CASCADE;
25
+
26
+ -- AddForeignKey
27
+ ALTER TABLE "public"."processing_script" ADD CONSTRAINT "processing_script_tenantId_fkey" FOREIGN KEY ("tenantId") REFERENCES "public"."tenant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juliobrim/prisma-shared",
3
- "version": "1.0.34",
3
+ "version": "1.0.40",
4
4
  "description": "Schema Prisma compartilhado entre projetos Sabcon",
5
5
  "main": "schema.prisma",
6
6
  "files": [
package/schema.prisma CHANGED
@@ -37,6 +37,7 @@ model Tenant {
37
37
  notificationToUsers NotificationToUser[]
38
38
  operations Operation[]
39
39
  operationGroups OperationGroup[]
40
+ operationGroupMembers OperationGroupMember[]
40
41
  operationRegisters OperationRegister[]
41
42
  operationToOperations OperationToOperation[]
42
43
  operators Operator[]
@@ -54,6 +55,7 @@ model Tenant {
54
55
  sewMachineRawData SewMachineRawData[]
55
56
  shifts Shift[]
56
57
  systemPreferences SystemPreferences[]
58
+ processingScripts ProcessingScript[]
57
59
  users User[]
58
60
  userPermissions UserPermission[]
59
61
  userShifts UserShift[]
@@ -263,12 +265,32 @@ model Machine {
263
265
  operationRegister OperationRegister[]
264
266
  productionNodes ProductionNode?
265
267
  operationResources Resource[] @relation("MachineToResource")
268
+ processingScriptId String?
269
+ processingScript ProcessingScript? @relation(fields: [processingScriptId], references: [id])
266
270
  MachineProcessingScript MachineProcessingScript?
267
271
  MachineScriptState MachineScriptState?
268
272
 
269
273
  @@map("machine")
270
274
  }
271
275
 
276
+ model ProcessingScript {
277
+ id String @id @default(cuid())
278
+ name String
279
+ description String?
280
+ script String
281
+ isDefault Boolean @default(false)
282
+ tenantId String?
283
+ version Int @default(1)
284
+ createdAt DateTime @default(now())
285
+ updatedAt DateTime @updatedAt
286
+ createdBy String?
287
+ machines Machine[]
288
+ tenant Tenant? @relation(fields: [tenantId], references: [id], onDelete: Cascade)
289
+
290
+ @@index([tenantId])
291
+ @@map("processing_script")
292
+ }
293
+
272
294
  model MachineFormula {
273
295
  id String @id @default(cuid())
274
296
  machineId String
@@ -378,6 +400,9 @@ model Operation {
378
400
  products ProductToOperation[]
379
401
  productionNodes ProductionNode[]
380
402
  operationGroups OperationGroup[] @relation("OperationToOperationGroup")
403
+ // Relações para grupos
404
+ groupMemberships OperationGroupMember[] @relation("GroupOperations")
405
+ memberOfGroups OperationGroupMember[] @relation("MemberOperations")
381
406
 
382
407
  @@index([nodeId], map: "idx_operation_node_id")
383
408
  @@map("operation")
@@ -403,6 +428,26 @@ model OperationGroup {
403
428
  @@map("operation_group")
404
429
  }
405
430
 
431
+ model OperationGroupMember {
432
+ id String @id @default(cuid())
433
+ groupId String // ID da operação que representa o grupo
434
+ memberId String // ID da operação que faz parte do grupo
435
+ order Int // Ordem das operações no grupo
436
+ tenantId String
437
+
438
+ group Operation @relation("GroupOperations", fields: [groupId], references: [id])
439
+ member Operation @relation("MemberOperations", fields: [memberId], references: [id])
440
+ tenant Tenant @relation(fields: [tenantId], references: [id])
441
+
442
+ createdAt DateTime @default(now())
443
+ updatedAt DateTime @updatedAt
444
+
445
+ @@unique([groupId, memberId])
446
+ @@index([groupId])
447
+ @@index([memberId])
448
+ @@index([tenantId])
449
+ }
450
+
406
451
  model OperationRegister {
407
452
  id Int @id @default(autoincrement())
408
453
  machineId String