@danielcok17/prisma-db 1.0.1 → 1.0.2

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.
@@ -1,372 +0,0 @@
1
- -- CreateEnum
2
- CREATE TYPE "app"."Role" AS ENUM ('USER', 'ASSISTANT', 'SYSTEM');
3
-
4
- -- CreateEnum
5
- CREATE TYPE "app"."FeedbackRating" AS ENUM ('LIKE', 'DISLIKE', 'NEUTRAL');
6
-
7
- -- CreateEnum
8
- CREATE TYPE "app"."ReferenceType" AS ENUM ('LAW', 'CASE', 'REGULATION', 'DOCUMENT', 'OTHER');
9
-
10
- -- CreateEnum
11
- CREATE TYPE "app"."ApprovalStatus" AS ENUM ('PENDING', 'APPROVED', 'REJECTED');
12
-
13
- -- CreateTable
14
- CREATE TABLE "app"."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 "app"."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 "app"."UserApprovalRequest" (
59
- "id" TEXT NOT NULL,
60
- "userId" TEXT NOT NULL,
61
- "status" "app"."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 "app"."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
-
81
- CONSTRAINT "Conversation_pkey" PRIMARY KEY ("id")
82
- );
83
-
84
- -- CreateTable
85
- CREATE TABLE "app"."Answer" (
86
- "id" TEXT NOT NULL,
87
- "conversationId" TEXT NOT NULL,
88
- "messageId" TEXT NOT NULL,
89
- "role" "app"."Role" NOT NULL,
90
- "content" TEXT NOT NULL,
91
- "question" TEXT,
92
- "answer" TEXT,
93
- "evaluation" TEXT,
94
- "isWelcome" BOOLEAN NOT NULL DEFAULT false,
95
- "processingTime" INTEGER,
96
- "model" TEXT,
97
- "userId" TEXT,
98
- "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
99
- "updatedAt" TIMESTAMP(3) NOT NULL,
100
-
101
- CONSTRAINT "Answer_pkey" PRIMARY KEY ("id")
102
- );
103
-
104
- -- CreateTable
105
- CREATE TABLE "app"."AnswerMetrics" (
106
- "id" TEXT NOT NULL,
107
- "answerId" TEXT NOT NULL,
108
- "apiCost" DOUBLE PRECISION,
109
- "aiCost" DOUBLE PRECISION,
110
- "ragCost" DOUBLE PRECISION,
111
- "apiCalls" INTEGER,
112
- "aiCalls" INTEGER,
113
- "ragCalls" INTEGER,
114
- "apiDuration" INTEGER,
115
- "aiProvider" TEXT,
116
- "aiModel" TEXT,
117
- "aiProvidersUsed" TEXT[],
118
- "aiModelsUsed" TEXT[],
119
- "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
120
- "updatedAt" TIMESTAMP(3) NOT NULL,
121
-
122
- CONSTRAINT "AnswerMetrics_pkey" PRIMARY KEY ("id")
123
- );
124
-
125
- -- CreateTable
126
- CREATE TABLE "app"."Feedback" (
127
- "id" TEXT NOT NULL,
128
- "answerId" TEXT NOT NULL,
129
- "rating" "app"."FeedbackRating" NOT NULL,
130
- "feedbackTypes" TEXT[],
131
- "customFeedback" TEXT,
132
- "userId" TEXT NOT NULL,
133
- "messageContent" TEXT,
134
- "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
135
-
136
- CONSTRAINT "Feedback_pkey" PRIMARY KEY ("id")
137
- );
138
-
139
- -- CreateTable
140
- CREATE TABLE "app"."Reference" (
141
- "id" TEXT NOT NULL,
142
- "answerId" TEXT NOT NULL,
143
- "type" "app"."ReferenceType" NOT NULL,
144
- "title" TEXT NOT NULL,
145
- "reference" TEXT NOT NULL,
146
- "summary" TEXT,
147
- "url" TEXT,
148
- "uuid" TEXT,
149
- "relevance" DOUBLE PRECISION,
150
- "citationNumber" INTEGER,
151
- "metadata" JSONB,
152
- "userId" TEXT,
153
- "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
154
-
155
- CONSTRAINT "Reference_pkey" PRIMARY KEY ("id")
156
- );
157
-
158
- -- CreateTable
159
- CREATE TABLE "app"."PageView" (
160
- "id" TEXT NOT NULL,
161
- "userId" TEXT,
162
- "sessionId" TEXT NOT NULL,
163
- "page" TEXT NOT NULL,
164
- "path" TEXT NOT NULL,
165
- "referrer" TEXT,
166
- "userAgent" TEXT,
167
- "ipAddress" TEXT,
168
- "country" TEXT,
169
- "city" TEXT,
170
- "deviceType" TEXT,
171
- "browser" TEXT,
172
- "os" TEXT,
173
- "screenSize" TEXT,
174
- "language" TEXT,
175
- "timeOnPage" INTEGER,
176
- "isBounce" BOOLEAN NOT NULL DEFAULT true,
177
- "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
178
-
179
- CONSTRAINT "PageView_pkey" PRIMARY KEY ("id")
180
- );
181
-
182
- -- CreateTable
183
- CREATE TABLE "app"."Session" (
184
- "id" TEXT NOT NULL,
185
- "sessionId" TEXT NOT NULL,
186
- "userId" TEXT,
187
- "startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
188
- "endedAt" TIMESTAMP(3),
189
- "duration" INTEGER,
190
-
191
- CONSTRAINT "Session_pkey" PRIMARY KEY ("id")
192
- );
193
-
194
- -- CreateTable
195
- CREATE TABLE "app"."AdminActionLog" (
196
- "id" TEXT NOT NULL,
197
- "action" TEXT NOT NULL,
198
- "targetUserId" TEXT NOT NULL,
199
- "adminEmail" TEXT NOT NULL,
200
- "details" JSONB,
201
- "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
202
-
203
- CONSTRAINT "AdminActionLog_pkey" PRIMARY KEY ("id")
204
- );
205
-
206
- -- CreateIndex
207
- CREATE UNIQUE INDEX "Account_provider_providerAccountId_key" ON "app"."Account"("provider", "providerAccountId");
208
-
209
- -- CreateIndex
210
- CREATE UNIQUE INDEX "User_email_key" ON "app"."User"("email");
211
-
212
- -- CreateIndex
213
- CREATE UNIQUE INDEX "UserApprovalRequest_userId_key" ON "app"."UserApprovalRequest"("userId");
214
-
215
- -- CreateIndex
216
- CREATE INDEX "UserApprovalRequest_status_idx" ON "app"."UserApprovalRequest"("status");
217
-
218
- -- CreateIndex
219
- CREATE INDEX "UserApprovalRequest_submittedAt_idx" ON "app"."UserApprovalRequest"("submittedAt");
220
-
221
- -- CreateIndex
222
- CREATE INDEX "UserApprovalRequest_reviewedAt_idx" ON "app"."UserApprovalRequest"("reviewedAt");
223
-
224
- -- CreateIndex
225
- CREATE UNIQUE INDEX "Conversation_shareUrl_key" ON "app"."Conversation"("shareUrl");
226
-
227
- -- CreateIndex
228
- CREATE INDEX "Conversation_userId_idx" ON "app"."Conversation"("userId");
229
-
230
- -- CreateIndex
231
- CREATE INDEX "Conversation_createdAt_idx" ON "app"."Conversation"("createdAt");
232
-
233
- -- CreateIndex
234
- CREATE UNIQUE INDEX "Answer_messageId_key" ON "app"."Answer"("messageId");
235
-
236
- -- CreateIndex
237
- CREATE INDEX "Answer_conversationId_idx" ON "app"."Answer"("conversationId");
238
-
239
- -- CreateIndex
240
- CREATE INDEX "Answer_messageId_idx" ON "app"."Answer"("messageId");
241
-
242
- -- CreateIndex
243
- CREATE INDEX "Answer_role_idx" ON "app"."Answer"("role");
244
-
245
- -- CreateIndex
246
- CREATE INDEX "Answer_userId_idx" ON "app"."Answer"("userId");
247
-
248
- -- CreateIndex
249
- CREATE INDEX "Answer_createdAt_idx" ON "app"."Answer"("createdAt");
250
-
251
- -- CreateIndex
252
- CREATE UNIQUE INDEX "AnswerMetrics_answerId_key" ON "app"."AnswerMetrics"("answerId");
253
-
254
- -- CreateIndex
255
- CREATE INDEX "AnswerMetrics_answerId_idx" ON "app"."AnswerMetrics"("answerId");
256
-
257
- -- CreateIndex
258
- CREATE INDEX "AnswerMetrics_apiCost_idx" ON "app"."AnswerMetrics"("apiCost");
259
-
260
- -- CreateIndex
261
- CREATE INDEX "AnswerMetrics_apiDuration_idx" ON "app"."AnswerMetrics"("apiDuration");
262
-
263
- -- CreateIndex
264
- CREATE INDEX "AnswerMetrics_aiProvider_idx" ON "app"."AnswerMetrics"("aiProvider");
265
-
266
- -- CreateIndex
267
- CREATE INDEX "AnswerMetrics_createdAt_idx" ON "app"."AnswerMetrics"("createdAt");
268
-
269
- -- CreateIndex
270
- CREATE UNIQUE INDEX "Feedback_answerId_key" ON "app"."Feedback"("answerId");
271
-
272
- -- CreateIndex
273
- CREATE INDEX "Feedback_rating_idx" ON "app"."Feedback"("rating");
274
-
275
- -- CreateIndex
276
- CREATE INDEX "Feedback_userId_idx" ON "app"."Feedback"("userId");
277
-
278
- -- CreateIndex
279
- CREATE INDEX "Feedback_answerId_idx" ON "app"."Feedback"("answerId");
280
-
281
- -- CreateIndex
282
- CREATE INDEX "Reference_answerId_idx" ON "app"."Reference"("answerId");
283
-
284
- -- CreateIndex
285
- CREATE INDEX "Reference_type_idx" ON "app"."Reference"("type");
286
-
287
- -- CreateIndex
288
- CREATE INDEX "Reference_reference_idx" ON "app"."Reference"("reference");
289
-
290
- -- CreateIndex
291
- CREATE INDEX "Reference_userId_idx" ON "app"."Reference"("userId");
292
-
293
- -- CreateIndex
294
- CREATE INDEX "Reference_createdAt_idx" ON "app"."Reference"("createdAt");
295
-
296
- -- CreateIndex
297
- CREATE INDEX "PageView_userId_idx" ON "app"."PageView"("userId");
298
-
299
- -- CreateIndex
300
- CREATE INDEX "PageView_sessionId_idx" ON "app"."PageView"("sessionId");
301
-
302
- -- CreateIndex
303
- CREATE INDEX "PageView_page_idx" ON "app"."PageView"("page");
304
-
305
- -- CreateIndex
306
- CREATE INDEX "PageView_createdAt_idx" ON "app"."PageView"("createdAt");
307
-
308
- -- CreateIndex
309
- CREATE INDEX "PageView_country_idx" ON "app"."PageView"("country");
310
-
311
- -- CreateIndex
312
- CREATE INDEX "PageView_deviceType_idx" ON "app"."PageView"("deviceType");
313
-
314
- -- CreateIndex
315
- CREATE UNIQUE INDEX "Session_sessionId_key" ON "app"."Session"("sessionId");
316
-
317
- -- CreateIndex
318
- CREATE INDEX "Session_sessionId_idx" ON "app"."Session"("sessionId");
319
-
320
- -- CreateIndex
321
- CREATE INDEX "Session_userId_idx" ON "app"."Session"("userId");
322
-
323
- -- CreateIndex
324
- CREATE INDEX "Session_startedAt_idx" ON "app"."Session"("startedAt");
325
-
326
- -- CreateIndex
327
- CREATE INDEX "AdminActionLog_action_idx" ON "app"."AdminActionLog"("action");
328
-
329
- -- CreateIndex
330
- CREATE INDEX "AdminActionLog_targetUserId_idx" ON "app"."AdminActionLog"("targetUserId");
331
-
332
- -- CreateIndex
333
- CREATE INDEX "AdminActionLog_adminEmail_idx" ON "app"."AdminActionLog"("adminEmail");
334
-
335
- -- CreateIndex
336
- CREATE INDEX "AdminActionLog_createdAt_idx" ON "app"."AdminActionLog"("createdAt");
337
-
338
- -- AddForeignKey
339
- ALTER TABLE "app"."Account" ADD CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
340
-
341
- -- AddForeignKey
342
- ALTER TABLE "app"."UserApprovalRequest" ADD CONSTRAINT "UserApprovalRequest_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
343
-
344
- -- AddForeignKey
345
- ALTER TABLE "app"."Conversation" ADD CONSTRAINT "Conversation_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
346
-
347
- -- AddForeignKey
348
- ALTER TABLE "app"."Answer" ADD CONSTRAINT "Answer_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "app"."Conversation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
349
-
350
- -- AddForeignKey
351
- ALTER TABLE "app"."Answer" ADD CONSTRAINT "Answer_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
352
-
353
- -- AddForeignKey
354
- ALTER TABLE "app"."AnswerMetrics" ADD CONSTRAINT "AnswerMetrics_answerId_fkey" FOREIGN KEY ("answerId") REFERENCES "app"."Answer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
355
-
356
- -- AddForeignKey
357
- ALTER TABLE "app"."Feedback" ADD CONSTRAINT "Feedback_answerId_fkey" FOREIGN KEY ("answerId") REFERENCES "app"."Answer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
358
-
359
- -- AddForeignKey
360
- ALTER TABLE "app"."Feedback" ADD CONSTRAINT "Feedback_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
361
-
362
- -- AddForeignKey
363
- ALTER TABLE "app"."Reference" ADD CONSTRAINT "Reference_answerId_fkey" FOREIGN KEY ("answerId") REFERENCES "app"."Answer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
364
-
365
- -- AddForeignKey
366
- ALTER TABLE "app"."PageView" ADD CONSTRAINT "PageView_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "app"."Session"("sessionId") ON DELETE SET NULL ON UPDATE CASCADE;
367
-
368
- -- AddForeignKey
369
- ALTER TABLE "app"."PageView" ADD CONSTRAINT "PageView_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
370
-
371
- -- AddForeignKey
372
- ALTER TABLE "app"."Session" ADD CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "app"."User"("id") ON DELETE SET NULL ON UPDATE CASCADE;