efiber-prisma-schema 1.12.12 → 1.12.14

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efiber-prisma-schema",
3
- "version": "1.12.12",
3
+ "version": "1.12.14",
4
4
  "description": "Database schema for eFiber",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,9 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - Added the required column `type` to the `ClusterComments` table without a default value. This is not possible if the table is not empty.
5
+
6
+ */
7
+ -- AlterTable
8
+ ALTER TABLE "ClusterComments"
9
+ ADD COLUMN "type" TEXT NOT NULL DEFAULT 'General';
@@ -0,0 +1,35 @@
1
+ -- AlterTable
2
+ ALTER TABLE "Building" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
3
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
4
+
5
+ -- AlterTable
6
+ ALTER TABLE "Cable" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
7
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
8
+
9
+ -- AlterTable
10
+ ALTER TABLE "FDTSRO" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
11
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
12
+
13
+ -- AlterTable
14
+ ALTER TABLE "Loop" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
15
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
16
+
17
+ -- AlterTable
18
+ ALTER TABLE "Manhole" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
19
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
20
+
21
+ -- AlterTable
22
+ ALTER TABLE "PboFat" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
23
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
24
+
25
+ -- AlterTable
26
+ ALTER TABLE "Pole" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
27
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
28
+
29
+ -- AlterTable
30
+ ALTER TABLE "SFU" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
31
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
32
+
33
+ -- AlterTable
34
+ ALTER TABLE "SpliceClosure" ADD COLUMN "installationStatus" TEXT DEFAULT 'pending',
35
+ ADD COLUMN "isInRevision" BOOLEAN NOT NULL DEFAULT false;
@@ -0,0 +1,91 @@
1
+ -- CreateEnum
2
+ CREATE TYPE "RevisionStatus" AS ENUM ('IN_PROGRESS', 'SUBMITTED', 'APPROVED', 'REJECTED');
3
+
4
+ -- AlterTable
5
+ ALTER TABLE "Building" ADD COLUMN "comments" TEXT;
6
+
7
+ -- AlterTable
8
+ ALTER TABLE "Cable" ADD COLUMN "comments" TEXT;
9
+
10
+ -- AlterTable
11
+ ALTER TABLE "FDTSRO" ADD COLUMN "comments" TEXT;
12
+
13
+ -- AlterTable
14
+ ALTER TABLE "Loop" ADD COLUMN "comments" TEXT;
15
+
16
+ -- AlterTable
17
+ ALTER TABLE "Manhole" ADD COLUMN "comments" TEXT;
18
+
19
+ -- AlterTable
20
+ ALTER TABLE "PboFat" ADD COLUMN "comments" TEXT;
21
+
22
+ -- AlterTable
23
+ ALTER TABLE "Pole" ADD COLUMN "comments" TEXT;
24
+
25
+ -- AlterTable
26
+ ALTER TABLE "SFU" ADD COLUMN "comments" TEXT;
27
+
28
+ -- AlterTable
29
+ ALTER TABLE "SpliceClosure" ADD COLUMN "comments" TEXT;
30
+
31
+ -- CreateTable
32
+ CREATE TABLE "Revision" (
33
+ "id" TEXT NOT NULL,
34
+ "pboFatId" TEXT,
35
+ "spliceClosureId" TEXT,
36
+ "manholeId" TEXT,
37
+ "loopId" TEXT,
38
+ "fdtsroId" TEXT,
39
+ "sfuId" TEXT,
40
+ "buildingId" TEXT,
41
+ "cableId" TEXT,
42
+ "poleId" TEXT,
43
+ "title" TEXT NOT NULL,
44
+ "comment" TEXT NOT NULL,
45
+ "status" "RevisionStatus" NOT NULL DEFAULT 'IN_PROGRESS',
46
+ "priority" INTEGER NOT NULL DEFAULT 1,
47
+ "createdById" TEXT,
48
+ "resolvedById" TEXT,
49
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
50
+ "updatedAt" TIMESTAMP(3) NOT NULL,
51
+ "resolvedAt" TIMESTAMP(3),
52
+ "resolutionNotes" TEXT,
53
+
54
+ CONSTRAINT "Revision_pkey" PRIMARY KEY ("id")
55
+ );
56
+
57
+ -- CreateIndex
58
+ CREATE UNIQUE INDEX "Revision_id_key" ON "Revision"("id");
59
+
60
+ -- AddForeignKey
61
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_pboFatId_fkey" FOREIGN KEY ("pboFatId") REFERENCES "PboFat"("id") ON DELETE SET NULL ON UPDATE CASCADE;
62
+
63
+ -- AddForeignKey
64
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_spliceClosureId_fkey" FOREIGN KEY ("spliceClosureId") REFERENCES "SpliceClosure"("id") ON DELETE SET NULL ON UPDATE CASCADE;
65
+
66
+ -- AddForeignKey
67
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_manholeId_fkey" FOREIGN KEY ("manholeId") REFERENCES "Manhole"("id") ON DELETE SET NULL ON UPDATE CASCADE;
68
+
69
+ -- AddForeignKey
70
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_loopId_fkey" FOREIGN KEY ("loopId") REFERENCES "Loop"("id") ON DELETE SET NULL ON UPDATE CASCADE;
71
+
72
+ -- AddForeignKey
73
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_fdtsroId_fkey" FOREIGN KEY ("fdtsroId") REFERENCES "FDTSRO"("id") ON DELETE SET NULL ON UPDATE CASCADE;
74
+
75
+ -- AddForeignKey
76
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_sfuId_fkey" FOREIGN KEY ("sfuId") REFERENCES "SFU"("id") ON DELETE SET NULL ON UPDATE CASCADE;
77
+
78
+ -- AddForeignKey
79
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_buildingId_fkey" FOREIGN KEY ("buildingId") REFERENCES "Building"("id") ON DELETE SET NULL ON UPDATE CASCADE;
80
+
81
+ -- AddForeignKey
82
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_cableId_fkey" FOREIGN KEY ("cableId") REFERENCES "Cable"("id") ON DELETE SET NULL ON UPDATE CASCADE;
83
+
84
+ -- AddForeignKey
85
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_poleId_fkey" FOREIGN KEY ("poleId") REFERENCES "Pole"("id") ON DELETE SET NULL ON UPDATE CASCADE;
86
+
87
+ -- AddForeignKey
88
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_createdById_fkey" FOREIGN KEY ("createdById") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
89
+
90
+ -- AddForeignKey
91
+ ALTER TABLE "Revision" ADD CONSTRAINT "Revision_resolvedById_fkey" FOREIGN KEY ("resolvedById") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
@@ -103,6 +103,13 @@ enum ClusterProjectPhase {
103
103
  Dispatch
104
104
  }
105
105
 
106
+ enum RevisionStatus {
107
+ IN_PROGRESS
108
+ SUBMITTED
109
+ APPROVED
110
+ REJECTED
111
+ }
112
+
106
113
  model Country {
107
114
  id String @id @unique @default(uuid())
108
115
  no Int @default(autoincrement())
@@ -492,6 +499,8 @@ model User {
492
499
  MapElement MapElement[]
493
500
  CentralOfficeUser CentralOfficeUser[]
494
501
  ClusterComments ClusterComments[]
502
+ CreatedRevisions Revision[] @relation("revisionCreatedBy")
503
+ ResolvedRevisions Revision[] @relation("revisionResolvedBy")
495
504
  }
496
505
 
497
506
  model MainProject {
@@ -1369,6 +1378,11 @@ model Cable {
1369
1378
  isInstalled Boolean @default(false)
1370
1379
  installationDate DateTime?
1371
1380
 
1381
+ isInRevision Boolean @default(false)
1382
+ installationStatus String? @default("pending") //pending, approved, in-revision
1383
+
1384
+ comments String?
1385
+
1372
1386
  // Reporting mirrors
1373
1387
  cableLength Float? //Length of the cable in meters
1374
1388
  actualCableLength Float? //Actual length of the cable in meters
@@ -1397,6 +1411,7 @@ model Cable {
1397
1411
  qrCodeTag qrCodeTag[]
1398
1412
  cluster Cluster? @relation(fields: [clusterId], references: [id])
1399
1413
  clusterId String?
1414
+ Revision Revision[]
1400
1415
  }
1401
1416
 
1402
1417
  model CableTemplate {
@@ -1530,6 +1545,11 @@ model PboFat {
1530
1545
  isInstalled Boolean @default(false)
1531
1546
  installationDate DateTime?
1532
1547
 
1548
+ comments String?
1549
+
1550
+ isInRevision Boolean @default(false)
1551
+ installationStatus String? @default("pending") //pending, approved, in-revision
1552
+
1533
1553
  // Reporting mirrors
1534
1554
  fatMaxCapacity Int? //Maximum capacity of the PBO FAT
1535
1555
  fatExistingSubscribers Int? //Existing subscribers in the PBO FAT
@@ -1563,6 +1583,7 @@ model PboFat {
1563
1583
  clusterId String?
1564
1584
 
1565
1585
  dependencies PreviousEquipment[]
1586
+ Revision Revision[]
1566
1587
  }
1567
1588
 
1568
1589
  model PboFatAttributes {
@@ -1616,6 +1637,11 @@ model SpliceClosure {
1616
1637
  isInstalled Boolean @default(false)
1617
1638
  installationDate DateTime?
1618
1639
 
1640
+ isInRevision Boolean @default(false)
1641
+ installationStatus String? @default("pending") //pending, approved, in-revision
1642
+
1643
+ comments String?
1644
+
1619
1645
  // Reporting mirrors
1620
1646
  spliceClosureMaxCapacity Int? //Maximum capacity of the Splice Closure
1621
1647
 
@@ -1644,6 +1670,7 @@ model SpliceClosure {
1644
1670
  qrCodeTag qrCodeTag[]
1645
1671
 
1646
1672
  dependencies PreviousEquipment[]
1673
+ Revision Revision[]
1647
1674
  }
1648
1675
 
1649
1676
  model SpliceClosureTemplate {
@@ -1811,6 +1838,11 @@ model Pole {
1811
1838
  isInstalled Boolean @default(false)
1812
1839
  installationDate DateTime?
1813
1840
 
1841
+ comments String?
1842
+
1843
+ isInRevision Boolean @default(false)
1844
+ installationStatus String? @default("pending") //pending, approved, in-revision
1845
+
1814
1846
  createdAt DateTime @default(now())
1815
1847
  updatedAt DateTime @updatedAt
1816
1848
  deletedAt DateTime?
@@ -1834,6 +1866,7 @@ model Pole {
1834
1866
  installationId String?
1835
1867
 
1836
1868
  qrCodeTag qrCodeTag[]
1869
+ Revision Revision[]
1837
1870
  }
1838
1871
 
1839
1872
  model PoleTemplate {
@@ -1892,6 +1925,11 @@ model Manhole {
1892
1925
  isInstalled Boolean @default(false)
1893
1926
  installationDate DateTime?
1894
1927
 
1928
+ comments String?
1929
+
1930
+ isInRevision Boolean @default(false)
1931
+ installationStatus String? @default("pending") //pending, approved, in-revision
1932
+
1895
1933
  createdAt DateTime @default(now())
1896
1934
  updatedAt DateTime @updatedAt
1897
1935
  deletedAt DateTime?
@@ -1915,6 +1953,7 @@ model Manhole {
1915
1953
  installationId String?
1916
1954
 
1917
1955
  qrCodeTag qrCodeTag[]
1956
+ Revision Revision[]
1918
1957
  }
1919
1958
 
1920
1959
  model ManholeTemplate {
@@ -1973,6 +2012,11 @@ model Loop {
1973
2012
  isInstalled Boolean @default(false)
1974
2013
  installationDate DateTime?
1975
2014
 
2015
+ comments String?
2016
+
2017
+ isInRevision Boolean @default(false)
2018
+ installationStatus String? @default("pending") //pending, approved, in-revision
2019
+
1976
2020
  createdAt DateTime @default(now())
1977
2021
  updatedAt DateTime @updatedAt
1978
2022
  deletedAt DateTime?
@@ -1996,6 +2040,7 @@ model Loop {
1996
2040
  installationId String?
1997
2041
 
1998
2042
  qrCodeTag qrCodeTag[]
2043
+ Revision Revision[]
1999
2044
  }
2000
2045
 
2001
2046
  model LoopTemplate {
@@ -2054,6 +2099,11 @@ model FDTSRO {
2054
2099
  isInstalled Boolean @default(false)
2055
2100
  installationDate DateTime?
2056
2101
 
2102
+ comments String?
2103
+
2104
+ isInRevision Boolean @default(false)
2105
+ installationStatus String? @default("pending") //pending, approved, in-revision
2106
+
2057
2107
  // Reporting mirrors
2058
2108
  fdtsroMaxCapacity Int? //Maximum capacity of the FDTSRO
2059
2109
 
@@ -2081,6 +2131,7 @@ model FDTSRO {
2081
2131
 
2082
2132
  qrCodeTag qrCodeTag[]
2083
2133
  PreviousEquipment PreviousEquipment[]
2134
+ Revision Revision[]
2084
2135
  }
2085
2136
 
2086
2137
  model FDTSROTemplate {
@@ -2139,6 +2190,11 @@ model SFU {
2139
2190
  isInstalled Boolean @default(false)
2140
2191
  installationDate DateTime?
2141
2192
 
2193
+ isInRevision Boolean @default(false)
2194
+ installationStatus String? @default("pending") //pending, approved, in-revision
2195
+
2196
+ comments String?
2197
+
2142
2198
  createdAt DateTime @default(now())
2143
2199
  updatedAt DateTime @updatedAt
2144
2200
  deletedAt DateTime?
@@ -2163,6 +2219,7 @@ model SFU {
2163
2219
 
2164
2220
  qrCodeTag qrCodeTag[]
2165
2221
  workOrders WorkOrder[]
2222
+ Revision Revision[]
2166
2223
  }
2167
2224
 
2168
2225
  model SFUTemplate {
@@ -2221,6 +2278,11 @@ model Building {
2221
2278
  isInstalled Boolean @default(false)
2222
2279
  installationDate DateTime?
2223
2280
 
2281
+ comments String?
2282
+
2283
+ isInRevision Boolean @default(false)
2284
+ installationStatus String? @default("pending") //pending, approved, in-revision
2285
+
2224
2286
  // Reporting mirrors
2225
2287
  totalFlats Int? //Total number of flats in the building
2226
2288
  floorCount Int? //Number of floors in the building
@@ -2250,6 +2312,7 @@ model Building {
2250
2312
 
2251
2313
  qrCodeTag qrCodeTag[]
2252
2314
  workOrders WorkOrder[]
2315
+ Revision Revision[]
2253
2316
  }
2254
2317
 
2255
2318
  model BuildingTemplate {
@@ -2286,6 +2349,47 @@ model BuildingTemplate {
2286
2349
  Building Building[]
2287
2350
  }
2288
2351
 
2352
+ model Revision {
2353
+ id String @id @unique @default(uuid())
2354
+
2355
+ pboFatId String?
2356
+ spliceClosureId String?
2357
+ manholeId String?
2358
+ loopId String?
2359
+ fdtsroId String?
2360
+ sfuId String?
2361
+ buildingId String?
2362
+ cableId String?
2363
+ poleId String?
2364
+
2365
+ title String
2366
+ comment String
2367
+ status RevisionStatus @default(IN_PROGRESS)
2368
+ priority Int @default(1)
2369
+
2370
+ createdById String?
2371
+ resolvedById String?
2372
+
2373
+ createdAt DateTime @default(now())
2374
+ updatedAt DateTime @updatedAt
2375
+ resolvedAt DateTime?
2376
+
2377
+ resolutionNotes String?
2378
+
2379
+ pboFat PboFat? @relation(fields: [pboFatId], references: [id])
2380
+ spliceClosure SpliceClosure? @relation(fields: [spliceClosureId], references: [id])
2381
+ manhole Manhole? @relation(fields: [manholeId], references: [id])
2382
+ loop Loop? @relation(fields: [loopId], references: [id])
2383
+ fdtsro FDTSRO? @relation(fields: [fdtsroId], references: [id])
2384
+ sfu SFU? @relation(fields: [sfuId], references: [id])
2385
+ building Building? @relation(fields: [buildingId], references: [id])
2386
+ cable Cable? @relation(fields: [cableId], references: [id])
2387
+ pole Pole? @relation(fields: [poleId], references: [id])
2388
+
2389
+ createdBy User? @relation("revisionCreatedBy", fields: [createdById], references: [id])
2390
+ resolvedBy User? @relation("revisionResolvedBy", fields: [resolvedById], references: [id])
2391
+ }
2392
+
2289
2393
  model MapElementTemplate {
2290
2394
  id String @id @unique @default(uuid())
2291
2395
  no Int @default(autoincrement())
@@ -2458,6 +2562,7 @@ model ClusterComments {
2458
2562
  no Int @default(autoincrement())
2459
2563
 
2460
2564
  comment String
2565
+ type String @default("General")
2461
2566
  createdAt DateTime @default(now())
2462
2567
  updatedAt DateTime @updatedAt
2463
2568
  deletedAt DateTime?