@danielcok17/prisma-db 1.0.1 → 1.0.3

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.
Files changed (43) hide show
  1. package/README.md +99 -8
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/paths.d.ts +4 -0
  7. package/dist/paths.d.ts.map +1 -0
  8. package/dist/paths.js +12 -0
  9. package/dist/paths.js.map +1 -0
  10. package/package.json +3 -3
  11. package/prisma/app.prisma +148 -72
  12. package/prisma/generated/app/edge.js +67 -11
  13. package/prisma/generated/app/index-browser.js +62 -6
  14. package/prisma/generated/app/index.d.ts +5386 -292
  15. package/prisma/generated/app/index.js +67 -11
  16. package/prisma/generated/app/libquery_engine-darwin-arm64.dylib.node +0 -0
  17. package/prisma/generated/app/package.json +2 -2
  18. package/prisma/generated/app/runtime/edge-esm.js +3 -3
  19. package/prisma/generated/app/runtime/edge.js +3 -3
  20. package/prisma/generated/app/runtime/library.d.ts +66 -92
  21. package/prisma/generated/app/runtime/library.js +21 -21
  22. package/prisma/generated/app/runtime/react-native.js +13 -13
  23. package/prisma/generated/app/runtime/wasm-compiler-edge.js +27 -27
  24. package/prisma/generated/app/runtime/wasm-engine-edge.js +13 -13
  25. package/prisma/generated/app/schema.prisma +99 -21
  26. package/prisma/generated/app/wasm.js +62 -6
  27. package/prisma/generated/law/edge.js +6 -6
  28. package/prisma/generated/law/index-browser.js +4 -4
  29. package/prisma/generated/law/index.d.ts +2 -2
  30. package/prisma/generated/law/index.js +6 -6
  31. package/prisma/generated/law/libquery_engine-darwin-arm64.dylib.node +0 -0
  32. package/prisma/generated/law/package.json +1 -1
  33. package/prisma/generated/law/runtime/edge-esm.js +3 -3
  34. package/prisma/generated/law/runtime/edge.js +3 -3
  35. package/prisma/generated/law/runtime/library.d.ts +66 -92
  36. package/prisma/generated/law/runtime/library.js +21 -21
  37. package/prisma/generated/law/runtime/react-native.js +13 -13
  38. package/prisma/generated/law/runtime/wasm-compiler-edge.js +27 -27
  39. package/prisma/generated/law/runtime/wasm-engine-edge.js +13 -13
  40. package/prisma/generated/law/wasm.js +4 -4
  41. package/prisma/migrations/20250818134929_init/migration.sql +374 -0
  42. package/prisma/migrations/20250903104817_add_workflow_log/migration.sql +103 -0
  43. package/prisma/migrations/20250817194531_/migration.sql +0 -372
@@ -20,12 +20,12 @@ exports.Prisma = Prisma
20
20
  exports.$Enums = {}
21
21
 
22
22
  /**
23
- * Prisma Client JS version: 6.14.0
24
- * Query Engine version: 717184b7b35ea05dfa71a3236b7af656013e1e49
23
+ * Prisma Client JS version: 6.15.0
24
+ * Query Engine version: 85179d7826409ee107a6ba334b5e305ae3fba9fb
25
25
  */
26
26
  Prisma.prismaVersion = {
27
- client: "6.14.0",
28
- engine: "717184b7b35ea05dfa71a3236b7af656013e1e49"
27
+ client: "6.15.0",
28
+ engine: "85179d7826409ee107a6ba334b5e305ae3fba9fb"
29
29
  }
30
30
 
31
31
  Prisma.PrismaClientKnownRequestError = () => {
@@ -0,0 +1,374 @@
1
+ -- CreateEnum
2
+ CREATE TYPE "public"."Role" AS ENUM ('USER', 'ASSISTANT', 'SYSTEM');
3
+
4
+ -- CreateEnum
5
+ CREATE TYPE "public"."FeedbackRating" AS ENUM ('LIKE', 'DISLIKE', 'NEUTRAL');
6
+
7
+ -- CreateEnum
8
+ CREATE TYPE "public"."ReferenceType" AS ENUM ('LAW', 'CASE', 'REGULATION', 'DOCUMENT', 'OTHER');
9
+
10
+ -- CreateEnum
11
+ CREATE TYPE "public"."ApprovalStatus" AS ENUM ('PENDING', 'APPROVED', 'REJECTED');
12
+
13
+ -- CreateTable
14
+ CREATE TABLE "public"."Account" (
15
+ "id" TEXT NOT NULL,
16
+ "userId" TEXT NOT NULL,
17
+ "type" TEXT NOT NULL,
18
+ "provider" TEXT NOT NULL,
19
+ "providerAccountId" TEXT NOT NULL,
20
+ "refresh_token" TEXT,
21
+ "access_token" TEXT,
22
+ "expires_at" INTEGER,
23
+ "token_type" TEXT,
24
+ "scope" TEXT,
25
+ "id_token" TEXT,
26
+ "session_state" TEXT,
27
+
28
+ CONSTRAINT "Account_pkey" PRIMARY KEY ("id")
29
+ );
30
+
31
+ -- CreateTable
32
+ CREATE TABLE "public"."User" (
33
+ "id" TEXT NOT NULL,
34
+ "name" TEXT,
35
+ "email" TEXT,
36
+ "emailVerified" TIMESTAMP(3),
37
+ "image" TEXT,
38
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
39
+ "messageCount" INTEGER NOT NULL DEFAULT 100,
40
+ "agreedToTerms" BOOLEAN NOT NULL DEFAULT false,
41
+ "practiceArea" TEXT[],
42
+ "lawFirm" TEXT,
43
+ "yearsOfExperience" INTEGER,
44
+ "isApproved" BOOLEAN NOT NULL DEFAULT false,
45
+ "isRejected" BOOLEAN NOT NULL DEFAULT false,
46
+ "approvedAt" TIMESTAMP(3),
47
+ "rejectedAt" TIMESTAMP(3),
48
+ "approvedBy" TEXT,
49
+ "rejectedBy" TEXT,
50
+ "rejectionReason" TEXT,
51
+ "referralSource" TEXT,
52
+ "applicationText" TEXT,
53
+
54
+ CONSTRAINT "User_pkey" PRIMARY KEY ("id")
55
+ );
56
+
57
+ -- CreateTable
58
+ CREATE TABLE "public"."UserApprovalRequest" (
59
+ "id" TEXT NOT NULL,
60
+ "userId" TEXT NOT NULL,
61
+ "status" "public"."ApprovalStatus" NOT NULL DEFAULT 'PENDING',
62
+ "submittedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
63
+ "reviewedAt" TIMESTAMP(3),
64
+ "reviewedBy" TEXT,
65
+ "notes" TEXT,
66
+
67
+ CONSTRAINT "UserApprovalRequest_pkey" PRIMARY KEY ("id")
68
+ );
69
+
70
+ -- CreateTable
71
+ CREATE TABLE "public"."Conversation" (
72
+ "id" TEXT NOT NULL,
73
+ "name" TEXT NOT NULL,
74
+ "userId" TEXT NOT NULL,
75
+ "isShareable" BOOLEAN NOT NULL DEFAULT false,
76
+ "shareUrl" TEXT,
77
+ "sharedAt" TIMESTAMP(3),
78
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
79
+ "updatedAt" TIMESTAMP(3) NOT NULL,
80
+ "summary" TEXT,
81
+ "messagesSinceLastSummary" INTEGER DEFAULT 0,
82
+
83
+ CONSTRAINT "Conversation_pkey" PRIMARY KEY ("id")
84
+ );
85
+
86
+ -- CreateTable
87
+ CREATE TABLE "public"."Answer" (
88
+ "id" TEXT NOT NULL,
89
+ "conversationId" TEXT NOT NULL,
90
+ "messageId" TEXT NOT NULL,
91
+ "role" "public"."Role" NOT NULL,
92
+ "content" TEXT NOT NULL,
93
+ "question" TEXT,
94
+ "answer" TEXT,
95
+ "evaluation" TEXT,
96
+ "isWelcome" BOOLEAN NOT NULL DEFAULT false,
97
+ "processingTime" INTEGER,
98
+ "model" TEXT,
99
+ "userId" TEXT,
100
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
101
+ "updatedAt" TIMESTAMP(3) NOT NULL,
102
+
103
+ CONSTRAINT "Answer_pkey" PRIMARY KEY ("id")
104
+ );
105
+
106
+ -- CreateTable
107
+ CREATE TABLE "public"."AnswerMetrics" (
108
+ "id" TEXT NOT NULL,
109
+ "answerId" TEXT NOT NULL,
110
+ "apiCost" DOUBLE PRECISION,
111
+ "aiCost" DOUBLE PRECISION,
112
+ "ragCost" DOUBLE PRECISION,
113
+ "apiCalls" INTEGER,
114
+ "aiCalls" INTEGER,
115
+ "ragCalls" INTEGER,
116
+ "apiDuration" INTEGER,
117
+ "aiProvider" TEXT,
118
+ "aiModel" TEXT,
119
+ "aiProvidersUsed" TEXT[],
120
+ "aiModelsUsed" TEXT[],
121
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
122
+ "updatedAt" TIMESTAMP(3) NOT NULL,
123
+
124
+ CONSTRAINT "AnswerMetrics_pkey" PRIMARY KEY ("id")
125
+ );
126
+
127
+ -- CreateTable
128
+ CREATE TABLE "public"."Feedback" (
129
+ "id" TEXT NOT NULL,
130
+ "answerId" TEXT NOT NULL,
131
+ "rating" "public"."FeedbackRating" NOT NULL,
132
+ "feedbackTypes" TEXT[],
133
+ "customFeedback" TEXT,
134
+ "userId" TEXT NOT NULL,
135
+ "messageContent" TEXT,
136
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
137
+
138
+ CONSTRAINT "Feedback_pkey" PRIMARY KEY ("id")
139
+ );
140
+
141
+ -- CreateTable
142
+ CREATE TABLE "public"."Reference" (
143
+ "id" TEXT NOT NULL,
144
+ "answerId" TEXT NOT NULL,
145
+ "type" "public"."ReferenceType" NOT NULL,
146
+ "title" TEXT NOT NULL,
147
+ "reference" TEXT NOT NULL,
148
+ "summary" TEXT,
149
+ "url" TEXT,
150
+ "uuid" TEXT,
151
+ "relevance" DOUBLE PRECISION,
152
+ "citationNumber" INTEGER,
153
+ "metadata" JSONB,
154
+ "userId" TEXT,
155
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
156
+
157
+ CONSTRAINT "Reference_pkey" PRIMARY KEY ("id")
158
+ );
159
+
160
+ -- CreateTable
161
+ CREATE TABLE "public"."PageView" (
162
+ "id" TEXT NOT NULL,
163
+ "userId" TEXT,
164
+ "sessionId" TEXT NOT NULL,
165
+ "page" TEXT NOT NULL,
166
+ "path" TEXT NOT NULL,
167
+ "referrer" TEXT,
168
+ "userAgent" TEXT,
169
+ "ipAddress" TEXT,
170
+ "country" TEXT,
171
+ "city" TEXT,
172
+ "deviceType" TEXT,
173
+ "browser" TEXT,
174
+ "os" TEXT,
175
+ "screenSize" TEXT,
176
+ "language" TEXT,
177
+ "timeOnPage" INTEGER,
178
+ "isBounce" BOOLEAN NOT NULL DEFAULT true,
179
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
180
+
181
+ CONSTRAINT "PageView_pkey" PRIMARY KEY ("id")
182
+ );
183
+
184
+ -- CreateTable
185
+ CREATE TABLE "public"."Session" (
186
+ "id" TEXT NOT NULL,
187
+ "sessionId" TEXT NOT NULL,
188
+ "userId" TEXT,
189
+ "startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
190
+ "endedAt" TIMESTAMP(3),
191
+ "duration" INTEGER,
192
+
193
+ CONSTRAINT "Session_pkey" PRIMARY KEY ("id")
194
+ );
195
+
196
+ -- CreateTable
197
+ CREATE TABLE "public"."AdminActionLog" (
198
+ "id" TEXT NOT NULL,
199
+ "action" TEXT NOT NULL,
200
+ "targetUserId" TEXT NOT NULL,
201
+ "adminEmail" TEXT NOT NULL,
202
+ "details" JSONB,
203
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
204
+
205
+ CONSTRAINT "AdminActionLog_pkey" PRIMARY KEY ("id")
206
+ );
207
+
208
+ -- CreateIndex
209
+ CREATE UNIQUE INDEX "Account_provider_providerAccountId_key" ON "public"."Account"("provider", "providerAccountId");
210
+
211
+ -- CreateIndex
212
+ CREATE UNIQUE INDEX "User_email_key" ON "public"."User"("email");
213
+
214
+ -- CreateIndex
215
+ CREATE UNIQUE INDEX "UserApprovalRequest_userId_key" ON "public"."UserApprovalRequest"("userId");
216
+
217
+ -- CreateIndex
218
+ CREATE INDEX "UserApprovalRequest_status_idx" ON "public"."UserApprovalRequest"("status");
219
+
220
+ -- CreateIndex
221
+ CREATE INDEX "UserApprovalRequest_submittedAt_idx" ON "public"."UserApprovalRequest"("submittedAt");
222
+
223
+ -- CreateIndex
224
+ CREATE INDEX "UserApprovalRequest_reviewedAt_idx" ON "public"."UserApprovalRequest"("reviewedAt");
225
+
226
+ -- CreateIndex
227
+ CREATE UNIQUE INDEX "Conversation_shareUrl_key" ON "public"."Conversation"("shareUrl");
228
+
229
+ -- CreateIndex
230
+ CREATE INDEX "Conversation_userId_idx" ON "public"."Conversation"("userId");
231
+
232
+ -- CreateIndex
233
+ CREATE INDEX "Conversation_createdAt_idx" ON "public"."Conversation"("createdAt");
234
+
235
+ -- CreateIndex
236
+ CREATE UNIQUE INDEX "Answer_messageId_key" ON "public"."Answer"("messageId");
237
+
238
+ -- CreateIndex
239
+ CREATE INDEX "Answer_conversationId_idx" ON "public"."Answer"("conversationId");
240
+
241
+ -- CreateIndex
242
+ CREATE INDEX "Answer_messageId_idx" ON "public"."Answer"("messageId");
243
+
244
+ -- CreateIndex
245
+ CREATE INDEX "Answer_role_idx" ON "public"."Answer"("role");
246
+
247
+ -- CreateIndex
248
+ CREATE INDEX "Answer_userId_idx" ON "public"."Answer"("userId");
249
+
250
+ -- CreateIndex
251
+ CREATE INDEX "Answer_createdAt_idx" ON "public"."Answer"("createdAt");
252
+
253
+ -- CreateIndex
254
+ CREATE UNIQUE INDEX "AnswerMetrics_answerId_key" ON "public"."AnswerMetrics"("answerId");
255
+
256
+ -- CreateIndex
257
+ CREATE INDEX "AnswerMetrics_answerId_idx" ON "public"."AnswerMetrics"("answerId");
258
+
259
+ -- CreateIndex
260
+ CREATE INDEX "AnswerMetrics_apiCost_idx" ON "public"."AnswerMetrics"("apiCost");
261
+
262
+ -- CreateIndex
263
+ CREATE INDEX "AnswerMetrics_apiDuration_idx" ON "public"."AnswerMetrics"("apiDuration");
264
+
265
+ -- CreateIndex
266
+ CREATE INDEX "AnswerMetrics_aiProvider_idx" ON "public"."AnswerMetrics"("aiProvider");
267
+
268
+ -- CreateIndex
269
+ CREATE INDEX "AnswerMetrics_createdAt_idx" ON "public"."AnswerMetrics"("createdAt");
270
+
271
+ -- CreateIndex
272
+ CREATE UNIQUE INDEX "Feedback_answerId_key" ON "public"."Feedback"("answerId");
273
+
274
+ -- CreateIndex
275
+ CREATE INDEX "Feedback_rating_idx" ON "public"."Feedback"("rating");
276
+
277
+ -- CreateIndex
278
+ CREATE INDEX "Feedback_userId_idx" ON "public"."Feedback"("userId");
279
+
280
+ -- CreateIndex
281
+ CREATE INDEX "Feedback_answerId_idx" ON "public"."Feedback"("answerId");
282
+
283
+ -- CreateIndex
284
+ CREATE INDEX "Reference_answerId_idx" ON "public"."Reference"("answerId");
285
+
286
+ -- CreateIndex
287
+ CREATE INDEX "Reference_type_idx" ON "public"."Reference"("type");
288
+
289
+ -- CreateIndex
290
+ CREATE INDEX "Reference_reference_idx" ON "public"."Reference"("reference");
291
+
292
+ -- CreateIndex
293
+ CREATE INDEX "Reference_userId_idx" ON "public"."Reference"("userId");
294
+
295
+ -- CreateIndex
296
+ CREATE INDEX "Reference_createdAt_idx" ON "public"."Reference"("createdAt");
297
+
298
+ -- CreateIndex
299
+ CREATE INDEX "PageView_userId_idx" ON "public"."PageView"("userId");
300
+
301
+ -- CreateIndex
302
+ CREATE INDEX "PageView_sessionId_idx" ON "public"."PageView"("sessionId");
303
+
304
+ -- CreateIndex
305
+ CREATE INDEX "PageView_page_idx" ON "public"."PageView"("page");
306
+
307
+ -- CreateIndex
308
+ CREATE INDEX "PageView_createdAt_idx" ON "public"."PageView"("createdAt");
309
+
310
+ -- CreateIndex
311
+ CREATE INDEX "PageView_country_idx" ON "public"."PageView"("country");
312
+
313
+ -- CreateIndex
314
+ CREATE INDEX "PageView_deviceType_idx" ON "public"."PageView"("deviceType");
315
+
316
+ -- CreateIndex
317
+ CREATE UNIQUE INDEX "Session_sessionId_key" ON "public"."Session"("sessionId");
318
+
319
+ -- CreateIndex
320
+ CREATE INDEX "Session_sessionId_idx" ON "public"."Session"("sessionId");
321
+
322
+ -- CreateIndex
323
+ CREATE INDEX "Session_userId_idx" ON "public"."Session"("userId");
324
+
325
+ -- CreateIndex
326
+ CREATE INDEX "Session_startedAt_idx" ON "public"."Session"("startedAt");
327
+
328
+ -- CreateIndex
329
+ CREATE INDEX "AdminActionLog_action_idx" ON "public"."AdminActionLog"("action");
330
+
331
+ -- CreateIndex
332
+ CREATE INDEX "AdminActionLog_targetUserId_idx" ON "public"."AdminActionLog"("targetUserId");
333
+
334
+ -- CreateIndex
335
+ CREATE INDEX "AdminActionLog_adminEmail_idx" ON "public"."AdminActionLog"("adminEmail");
336
+
337
+ -- CreateIndex
338
+ CREATE INDEX "AdminActionLog_createdAt_idx" ON "public"."AdminActionLog"("createdAt");
339
+
340
+ -- AddForeignKey
341
+ ALTER TABLE "public"."Account" ADD CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
342
+
343
+ -- AddForeignKey
344
+ ALTER TABLE "public"."UserApprovalRequest" ADD CONSTRAINT "UserApprovalRequest_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
345
+
346
+ -- AddForeignKey
347
+ ALTER TABLE "public"."Conversation" ADD CONSTRAINT "Conversation_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
348
+
349
+ -- AddForeignKey
350
+ ALTER TABLE "public"."Answer" ADD CONSTRAINT "Answer_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "public"."Conversation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
351
+
352
+ -- AddForeignKey
353
+ ALTER TABLE "public"."Answer" ADD CONSTRAINT "Answer_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
354
+
355
+ -- AddForeignKey
356
+ ALTER TABLE "public"."AnswerMetrics" ADD CONSTRAINT "AnswerMetrics_answerId_fkey" FOREIGN KEY ("answerId") REFERENCES "public"."Answer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
357
+
358
+ -- AddForeignKey
359
+ ALTER TABLE "public"."Feedback" ADD CONSTRAINT "Feedback_answerId_fkey" FOREIGN KEY ("answerId") REFERENCES "public"."Answer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
360
+
361
+ -- AddForeignKey
362
+ ALTER TABLE "public"."Feedback" ADD CONSTRAINT "Feedback_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
363
+
364
+ -- AddForeignKey
365
+ ALTER TABLE "public"."Reference" ADD CONSTRAINT "Reference_answerId_fkey" FOREIGN KEY ("answerId") REFERENCES "public"."Answer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
366
+
367
+ -- AddForeignKey
368
+ ALTER TABLE "public"."PageView" ADD CONSTRAINT "PageView_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "public"."Session"("sessionId") ON DELETE SET NULL ON UPDATE CASCADE;
369
+
370
+ -- AddForeignKey
371
+ ALTER TABLE "public"."PageView" ADD CONSTRAINT "PageView_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
372
+
373
+ -- AddForeignKey
374
+ ALTER TABLE "public"."Session" ADD CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
@@ -0,0 +1,103 @@
1
+ -- CreateEnum
2
+ CREATE TYPE "public"."WorkflowStatus" AS ENUM ('IN_PROGRESS', 'COMPLETED', 'FAILED', 'CANCELLED');
3
+
4
+ -- CreateEnum
5
+ CREATE TYPE "public"."StepStatus" AS ENUM ('IN_PROGRESS', 'COMPLETED', 'FAILED', 'SKIPPED');
6
+
7
+ -- CreateEnum
8
+ CREATE TYPE "public"."StepType" AS ENUM ('CLASSIFICATION', 'RAG_RETRIEVAL', 'AI_PROCESSING', 'RESPONSE_GENERATION', 'DATA_PERSISTENCE', 'ERROR_HANDLING');
9
+
10
+ -- DropIndex
11
+ DROP INDEX "public"."Session_sessionId_idx";
12
+
13
+ -- AlterTable
14
+ ALTER TABLE "public"."PageView" ALTER COLUMN "sessionId" DROP NOT NULL;
15
+
16
+ -- CreateTable
17
+ CREATE TABLE "public"."WorkflowLog" (
18
+ "id" TEXT NOT NULL,
19
+ "conversationId" TEXT NOT NULL,
20
+ "messageId" TEXT,
21
+ "userId" TEXT,
22
+ "sessionId" TEXT,
23
+ "startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
24
+ "completedAt" TIMESTAMP(3),
25
+ "status" "public"."WorkflowStatus" NOT NULL DEFAULT 'IN_PROGRESS',
26
+ "totalDuration" INTEGER,
27
+ "error" TEXT,
28
+ "metadata" JSONB,
29
+
30
+ CONSTRAINT "WorkflowLog_pkey" PRIMARY KEY ("id")
31
+ );
32
+
33
+ -- CreateTable
34
+ CREATE TABLE "public"."WorkflowStep" (
35
+ "id" TEXT NOT NULL,
36
+ "workflowId" TEXT NOT NULL,
37
+ "stepName" TEXT NOT NULL,
38
+ "stepType" "public"."StepType" NOT NULL,
39
+ "startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
40
+ "completedAt" TIMESTAMP(3),
41
+ "duration" INTEGER,
42
+ "status" "public"."StepStatus" NOT NULL DEFAULT 'IN_PROGRESS',
43
+ "inputData" JSONB,
44
+ "outputData" JSONB,
45
+ "error" TEXT,
46
+ "metadata" JSONB,
47
+
48
+ CONSTRAINT "WorkflowStep_pkey" PRIMARY KEY ("id")
49
+ );
50
+
51
+ -- CreateIndex
52
+ CREATE INDEX "WorkflowLog_conversationId_idx" ON "public"."WorkflowLog"("conversationId");
53
+
54
+ -- CreateIndex
55
+ CREATE INDEX "WorkflowLog_userId_idx" ON "public"."WorkflowLog"("userId");
56
+
57
+ -- CreateIndex
58
+ CREATE INDEX "WorkflowLog_sessionId_idx" ON "public"."WorkflowLog"("sessionId");
59
+
60
+ -- CreateIndex
61
+ CREATE INDEX "WorkflowLog_startedAt_idx" ON "public"."WorkflowLog"("startedAt");
62
+
63
+ -- CreateIndex
64
+ CREATE INDEX "WorkflowLog_status_idx" ON "public"."WorkflowLog"("status");
65
+
66
+ -- CreateIndex
67
+ CREATE INDEX "WorkflowLog_conversationId_startedAt_idx" ON "public"."WorkflowLog"("conversationId", "startedAt");
68
+
69
+ -- CreateIndex
70
+ CREATE INDEX "WorkflowLog_messageId_idx" ON "public"."WorkflowLog"("messageId");
71
+
72
+ -- CreateIndex
73
+ CREATE INDEX "WorkflowStep_workflowId_idx" ON "public"."WorkflowStep"("workflowId");
74
+
75
+ -- CreateIndex
76
+ CREATE INDEX "WorkflowStep_stepName_idx" ON "public"."WorkflowStep"("stepName");
77
+
78
+ -- CreateIndex
79
+ CREATE INDEX "WorkflowStep_stepType_idx" ON "public"."WorkflowStep"("stepType");
80
+
81
+ -- CreateIndex
82
+ CREATE INDEX "WorkflowStep_startedAt_idx" ON "public"."WorkflowStep"("startedAt");
83
+
84
+ -- CreateIndex
85
+ CREATE INDEX "WorkflowStep_status_idx" ON "public"."WorkflowStep"("status");
86
+
87
+ -- CreateIndex
88
+ CREATE INDEX "WorkflowStep_workflowId_startedAt_idx" ON "public"."WorkflowStep"("workflowId", "startedAt");
89
+
90
+ -- AddForeignKey
91
+ ALTER TABLE "public"."WorkflowLog" ADD CONSTRAINT "WorkflowLog_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "public"."Conversation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
92
+
93
+ -- AddForeignKey
94
+ ALTER TABLE "public"."WorkflowLog" ADD CONSTRAINT "WorkflowLog_userId_fkey" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
95
+
96
+ -- AddForeignKey
97
+ ALTER TABLE "public"."WorkflowLog" ADD CONSTRAINT "WorkflowLog_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "public"."Session"("sessionId") ON DELETE SET NULL ON UPDATE CASCADE;
98
+
99
+ -- AddForeignKey
100
+ ALTER TABLE "public"."WorkflowLog" ADD CONSTRAINT "WorkflowLog_messageId_fkey" FOREIGN KEY ("messageId") REFERENCES "public"."Answer"("messageId") ON DELETE SET NULL ON UPDATE CASCADE;
101
+
102
+ -- AddForeignKey
103
+ ALTER TABLE "public"."WorkflowStep" ADD CONSTRAINT "WorkflowStep_workflowId_fkey" FOREIGN KEY ("workflowId") REFERENCES "public"."WorkflowLog"("id") ON DELETE CASCADE ON UPDATE CASCADE;