@danielcok17/prisma-db 1.12.0 → 1.13.0
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 +129 -129
- package/package.json +47 -47
- package/prisma/app.prisma +1186 -1185
- package/prisma/law.prisma +82 -82
- package/prisma/migrations/20250818134929_init/migration.sql +374 -374
- package/prisma/migrations/20250903104817_add_workflow_log/migration.sql +103 -103
- package/prisma/migrations/20251009213916_add_email_authentication/migration.sql +54 -54
- package/prisma/migrations/20251031112719_change_default_message_count_to_10/migration.sql +2 -2
- package/prisma/migrations/20251111182842_add_stripe_integration_and_organizations/migration.sql +246 -246
- package/prisma/migrations/20260102162551_add_billing_interval/migration.sql +8 -8
- package/prisma/migrations/20260102220947_add_lawyer_pro_tier/migration.sql +2 -2
- package/prisma/migrations/20260110200252_add_canvas_documents/migration.sql +80 -80
- package/prisma/migrations/20260113150746_add_admin_grant_expiration/migration.sql +5 -5
- package/prisma/migrations/20260113205726_add_organization_invite/migration.sql +40 -40
- package/prisma/migrations/20260120172343_adjust_message_file/migration.sql +2 -0
- package/prisma/migrations/20260120212010_add_user_company_fields/migration.sql +22 -22
- package/prisma/migrations/20260129094625_add_utm_tracking_attribution/migration.sql +198 -198
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/paths.d.ts +0 -4
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -12
- package/dist/paths.js.map +0 -1
- package/dist/utils.d.ts +0 -5
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -13
- package/dist/utils.js.map +0 -1
- package/prisma/migrations/20260215120000_add_multi_brand_support/migration.sql +0 -23
|
@@ -1,198 +1,198 @@
|
|
|
1
|
-
-- CreateEnum
|
|
2
|
-
CREATE TYPE "ConversionType" AS ENUM ('REGISTRATION', 'SUBSCRIPTION', 'UPGRADE', 'RENEWAL', 'TRIAL_START', 'PURCHASE', 'LEAD', 'DEMO_REQUEST', 'DOWNLOAD', 'FORM_SUBMIT');
|
|
3
|
-
|
|
4
|
-
-- AlterTable
|
|
5
|
-
ALTER TABLE "Session" ADD COLUMN "firstTouchAt" TIMESTAMP(3),
|
|
6
|
-
ADD COLUMN "firstUtmCampaign" TEXT,
|
|
7
|
-
ADD COLUMN "firstUtmContent" TEXT,
|
|
8
|
-
ADD COLUMN "firstUtmMedium" TEXT,
|
|
9
|
-
ADD COLUMN "firstUtmSource" TEXT,
|
|
10
|
-
ADD COLUMN "firstUtmTerm" TEXT,
|
|
11
|
-
ADD COLUMN "lastTouchAt" TIMESTAMP(3),
|
|
12
|
-
ADD COLUMN "lastUtmCampaign" TEXT,
|
|
13
|
-
ADD COLUMN "lastUtmContent" TEXT,
|
|
14
|
-
ADD COLUMN "lastUtmMedium" TEXT,
|
|
15
|
-
ADD COLUMN "lastUtmSource" TEXT,
|
|
16
|
-
ADD COLUMN "lastUtmTerm" TEXT;
|
|
17
|
-
|
|
18
|
-
-- AlterTable
|
|
19
|
-
ALTER TABLE "User" ADD COLUMN "firstUtmCampaign" TEXT,
|
|
20
|
-
ADD COLUMN "firstUtmContent" TEXT,
|
|
21
|
-
ADD COLUMN "firstUtmMedium" TEXT,
|
|
22
|
-
ADD COLUMN "firstUtmSource" TEXT,
|
|
23
|
-
ADD COLUMN "firstUtmTerm" TEXT,
|
|
24
|
-
ADD COLUMN "firstVisitAt" TIMESTAMP(3),
|
|
25
|
-
ADD COLUMN "registrationUtmCampaign" TEXT,
|
|
26
|
-
ADD COLUMN "registrationUtmContent" TEXT,
|
|
27
|
-
ADD COLUMN "registrationUtmMedium" TEXT,
|
|
28
|
-
ADD COLUMN "registrationUtmSource" TEXT,
|
|
29
|
-
ADD COLUMN "registrationUtmTerm" TEXT;
|
|
30
|
-
|
|
31
|
-
-- CreateTable
|
|
32
|
-
CREATE TABLE "touch_points" (
|
|
33
|
-
"id" TEXT NOT NULL,
|
|
34
|
-
"userId" TEXT,
|
|
35
|
-
"sessionId" TEXT NOT NULL,
|
|
36
|
-
"utmSource" TEXT,
|
|
37
|
-
"utmMedium" TEXT,
|
|
38
|
-
"utmCampaign" TEXT,
|
|
39
|
-
"utmContent" TEXT,
|
|
40
|
-
"utmTerm" TEXT,
|
|
41
|
-
"page" TEXT NOT NULL,
|
|
42
|
-
"path" TEXT NOT NULL,
|
|
43
|
-
"referrer" TEXT,
|
|
44
|
-
"deviceType" TEXT,
|
|
45
|
-
"browser" TEXT,
|
|
46
|
-
"os" TEXT,
|
|
47
|
-
"country" TEXT,
|
|
48
|
-
"city" TEXT,
|
|
49
|
-
"timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
50
|
-
|
|
51
|
-
CONSTRAINT "touch_points_pkey" PRIMARY KEY ("id")
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
-- CreateTable
|
|
55
|
-
CREATE TABLE "conversions" (
|
|
56
|
-
"id" TEXT NOT NULL,
|
|
57
|
-
"userId" TEXT,
|
|
58
|
-
"sessionId" TEXT NOT NULL,
|
|
59
|
-
"type" "ConversionType" NOT NULL,
|
|
60
|
-
"value" DECIMAL(65,30),
|
|
61
|
-
"currency" TEXT DEFAULT 'EUR',
|
|
62
|
-
"metadata" JSONB,
|
|
63
|
-
"firstUtmSource" TEXT,
|
|
64
|
-
"firstUtmMedium" TEXT,
|
|
65
|
-
"firstUtmCampaign" TEXT,
|
|
66
|
-
"firstUtmContent" TEXT,
|
|
67
|
-
"firstUtmTerm" TEXT,
|
|
68
|
-
"firstTouchAt" TIMESTAMP(3),
|
|
69
|
-
"lastUtmSource" TEXT,
|
|
70
|
-
"lastUtmMedium" TEXT,
|
|
71
|
-
"lastUtmCampaign" TEXT,
|
|
72
|
-
"lastUtmContent" TEXT,
|
|
73
|
-
"lastUtmTerm" TEXT,
|
|
74
|
-
"lastTouchAt" TIMESTAMP(3),
|
|
75
|
-
"touchPointIds" TEXT[],
|
|
76
|
-
"touchPointCount" INTEGER,
|
|
77
|
-
"journeyDuration" INTEGER,
|
|
78
|
-
"timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
79
|
-
|
|
80
|
-
CONSTRAINT "conversions_pkey" PRIMARY KEY ("id")
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
-- CreateIndex
|
|
84
|
-
CREATE INDEX "touch_points_userId_idx" ON "touch_points"("userId");
|
|
85
|
-
|
|
86
|
-
-- CreateIndex
|
|
87
|
-
CREATE INDEX "touch_points_sessionId_idx" ON "touch_points"("sessionId");
|
|
88
|
-
|
|
89
|
-
-- CreateIndex
|
|
90
|
-
CREATE INDEX "touch_points_utmSource_idx" ON "touch_points"("utmSource");
|
|
91
|
-
|
|
92
|
-
-- CreateIndex
|
|
93
|
-
CREATE INDEX "touch_points_utmMedium_idx" ON "touch_points"("utmMedium");
|
|
94
|
-
|
|
95
|
-
-- CreateIndex
|
|
96
|
-
CREATE INDEX "touch_points_utmCampaign_idx" ON "touch_points"("utmCampaign");
|
|
97
|
-
|
|
98
|
-
-- CreateIndex
|
|
99
|
-
CREATE INDEX "touch_points_utmSource_utmMedium_idx" ON "touch_points"("utmSource", "utmMedium");
|
|
100
|
-
|
|
101
|
-
-- CreateIndex
|
|
102
|
-
CREATE INDEX "touch_points_utmCampaign_timestamp_idx" ON "touch_points"("utmCampaign", "timestamp");
|
|
103
|
-
|
|
104
|
-
-- CreateIndex
|
|
105
|
-
CREATE INDEX "touch_points_timestamp_idx" ON "touch_points"("timestamp");
|
|
106
|
-
|
|
107
|
-
-- CreateIndex
|
|
108
|
-
CREATE INDEX "touch_points_sessionId_timestamp_idx" ON "touch_points"("sessionId", "timestamp");
|
|
109
|
-
|
|
110
|
-
-- CreateIndex
|
|
111
|
-
CREATE INDEX "touch_points_userId_timestamp_idx" ON "touch_points"("userId", "timestamp");
|
|
112
|
-
|
|
113
|
-
-- CreateIndex
|
|
114
|
-
CREATE INDEX "conversions_userId_idx" ON "conversions"("userId");
|
|
115
|
-
|
|
116
|
-
-- CreateIndex
|
|
117
|
-
CREATE INDEX "conversions_sessionId_idx" ON "conversions"("sessionId");
|
|
118
|
-
|
|
119
|
-
-- CreateIndex
|
|
120
|
-
CREATE INDEX "conversions_type_idx" ON "conversions"("type");
|
|
121
|
-
|
|
122
|
-
-- CreateIndex
|
|
123
|
-
CREATE INDEX "conversions_timestamp_idx" ON "conversions"("timestamp");
|
|
124
|
-
|
|
125
|
-
-- CreateIndex
|
|
126
|
-
CREATE INDEX "conversions_firstUtmSource_idx" ON "conversions"("firstUtmSource");
|
|
127
|
-
|
|
128
|
-
-- CreateIndex
|
|
129
|
-
CREATE INDEX "conversions_firstUtmMedium_idx" ON "conversions"("firstUtmMedium");
|
|
130
|
-
|
|
131
|
-
-- CreateIndex
|
|
132
|
-
CREATE INDEX "conversions_firstUtmCampaign_idx" ON "conversions"("firstUtmCampaign");
|
|
133
|
-
|
|
134
|
-
-- CreateIndex
|
|
135
|
-
CREATE INDEX "conversions_firstUtmCampaign_type_idx" ON "conversions"("firstUtmCampaign", "type");
|
|
136
|
-
|
|
137
|
-
-- CreateIndex
|
|
138
|
-
CREATE INDEX "conversions_firstUtmSource_firstUtmMedium_idx" ON "conversions"("firstUtmSource", "firstUtmMedium");
|
|
139
|
-
|
|
140
|
-
-- CreateIndex
|
|
141
|
-
CREATE INDEX "conversions_lastUtmSource_idx" ON "conversions"("lastUtmSource");
|
|
142
|
-
|
|
143
|
-
-- CreateIndex
|
|
144
|
-
CREATE INDEX "conversions_lastUtmMedium_idx" ON "conversions"("lastUtmMedium");
|
|
145
|
-
|
|
146
|
-
-- CreateIndex
|
|
147
|
-
CREATE INDEX "conversions_lastUtmCampaign_idx" ON "conversions"("lastUtmCampaign");
|
|
148
|
-
|
|
149
|
-
-- CreateIndex
|
|
150
|
-
CREATE INDEX "conversions_lastUtmCampaign_type_idx" ON "conversions"("lastUtmCampaign", "type");
|
|
151
|
-
|
|
152
|
-
-- CreateIndex
|
|
153
|
-
CREATE INDEX "conversions_lastUtmSource_lastUtmMedium_idx" ON "conversions"("lastUtmSource", "lastUtmMedium");
|
|
154
|
-
|
|
155
|
-
-- CreateIndex
|
|
156
|
-
CREATE INDEX "conversions_type_timestamp_idx" ON "conversions"("type", "timestamp");
|
|
157
|
-
|
|
158
|
-
-- CreateIndex
|
|
159
|
-
CREATE INDEX "conversions_value_idx" ON "conversions"("value");
|
|
160
|
-
|
|
161
|
-
-- CreateIndex
|
|
162
|
-
CREATE INDEX "Session_firstUtmCampaign_idx" ON "Session"("firstUtmCampaign");
|
|
163
|
-
|
|
164
|
-
-- CreateIndex
|
|
165
|
-
CREATE INDEX "Session_lastUtmCampaign_idx" ON "Session"("lastUtmCampaign");
|
|
166
|
-
|
|
167
|
-
-- CreateIndex
|
|
168
|
-
CREATE INDEX "Session_firstUtmSource_firstUtmMedium_idx" ON "Session"("firstUtmSource", "firstUtmMedium");
|
|
169
|
-
|
|
170
|
-
-- CreateIndex
|
|
171
|
-
CREATE INDEX "Session_lastUtmSource_lastUtmMedium_idx" ON "Session"("lastUtmSource", "lastUtmMedium");
|
|
172
|
-
|
|
173
|
-
-- CreateIndex
|
|
174
|
-
CREATE INDEX "User_firstUtmSource_idx" ON "User"("firstUtmSource");
|
|
175
|
-
|
|
176
|
-
-- CreateIndex
|
|
177
|
-
CREATE INDEX "User_firstUtmCampaign_idx" ON "User"("firstUtmCampaign");
|
|
178
|
-
|
|
179
|
-
-- CreateIndex
|
|
180
|
-
CREATE INDEX "User_registrationUtmSource_idx" ON "User"("registrationUtmSource");
|
|
181
|
-
|
|
182
|
-
-- CreateIndex
|
|
183
|
-
CREATE INDEX "User_registrationUtmCampaign_idx" ON "User"("registrationUtmCampaign");
|
|
184
|
-
|
|
185
|
-
-- CreateIndex
|
|
186
|
-
CREATE INDEX "User_firstVisitAt_idx" ON "User"("firstVisitAt");
|
|
187
|
-
|
|
188
|
-
-- AddForeignKey
|
|
189
|
-
ALTER TABLE "touch_points" ADD CONSTRAINT "touch_points_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session"("sessionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
190
|
-
|
|
191
|
-
-- AddForeignKey
|
|
192
|
-
ALTER TABLE "touch_points" ADD CONSTRAINT "touch_points_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
193
|
-
|
|
194
|
-
-- AddForeignKey
|
|
195
|
-
ALTER TABLE "conversions" ADD CONSTRAINT "conversions_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session"("sessionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
196
|
-
|
|
197
|
-
-- AddForeignKey
|
|
198
|
-
ALTER TABLE "conversions" ADD CONSTRAINT "conversions_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
1
|
+
-- CreateEnum
|
|
2
|
+
CREATE TYPE "ConversionType" AS ENUM ('REGISTRATION', 'SUBSCRIPTION', 'UPGRADE', 'RENEWAL', 'TRIAL_START', 'PURCHASE', 'LEAD', 'DEMO_REQUEST', 'DOWNLOAD', 'FORM_SUBMIT');
|
|
3
|
+
|
|
4
|
+
-- AlterTable
|
|
5
|
+
ALTER TABLE "Session" ADD COLUMN "firstTouchAt" TIMESTAMP(3),
|
|
6
|
+
ADD COLUMN "firstUtmCampaign" TEXT,
|
|
7
|
+
ADD COLUMN "firstUtmContent" TEXT,
|
|
8
|
+
ADD COLUMN "firstUtmMedium" TEXT,
|
|
9
|
+
ADD COLUMN "firstUtmSource" TEXT,
|
|
10
|
+
ADD COLUMN "firstUtmTerm" TEXT,
|
|
11
|
+
ADD COLUMN "lastTouchAt" TIMESTAMP(3),
|
|
12
|
+
ADD COLUMN "lastUtmCampaign" TEXT,
|
|
13
|
+
ADD COLUMN "lastUtmContent" TEXT,
|
|
14
|
+
ADD COLUMN "lastUtmMedium" TEXT,
|
|
15
|
+
ADD COLUMN "lastUtmSource" TEXT,
|
|
16
|
+
ADD COLUMN "lastUtmTerm" TEXT;
|
|
17
|
+
|
|
18
|
+
-- AlterTable
|
|
19
|
+
ALTER TABLE "User" ADD COLUMN "firstUtmCampaign" TEXT,
|
|
20
|
+
ADD COLUMN "firstUtmContent" TEXT,
|
|
21
|
+
ADD COLUMN "firstUtmMedium" TEXT,
|
|
22
|
+
ADD COLUMN "firstUtmSource" TEXT,
|
|
23
|
+
ADD COLUMN "firstUtmTerm" TEXT,
|
|
24
|
+
ADD COLUMN "firstVisitAt" TIMESTAMP(3),
|
|
25
|
+
ADD COLUMN "registrationUtmCampaign" TEXT,
|
|
26
|
+
ADD COLUMN "registrationUtmContent" TEXT,
|
|
27
|
+
ADD COLUMN "registrationUtmMedium" TEXT,
|
|
28
|
+
ADD COLUMN "registrationUtmSource" TEXT,
|
|
29
|
+
ADD COLUMN "registrationUtmTerm" TEXT;
|
|
30
|
+
|
|
31
|
+
-- CreateTable
|
|
32
|
+
CREATE TABLE "touch_points" (
|
|
33
|
+
"id" TEXT NOT NULL,
|
|
34
|
+
"userId" TEXT,
|
|
35
|
+
"sessionId" TEXT NOT NULL,
|
|
36
|
+
"utmSource" TEXT,
|
|
37
|
+
"utmMedium" TEXT,
|
|
38
|
+
"utmCampaign" TEXT,
|
|
39
|
+
"utmContent" TEXT,
|
|
40
|
+
"utmTerm" TEXT,
|
|
41
|
+
"page" TEXT NOT NULL,
|
|
42
|
+
"path" TEXT NOT NULL,
|
|
43
|
+
"referrer" TEXT,
|
|
44
|
+
"deviceType" TEXT,
|
|
45
|
+
"browser" TEXT,
|
|
46
|
+
"os" TEXT,
|
|
47
|
+
"country" TEXT,
|
|
48
|
+
"city" TEXT,
|
|
49
|
+
"timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
50
|
+
|
|
51
|
+
CONSTRAINT "touch_points_pkey" PRIMARY KEY ("id")
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
-- CreateTable
|
|
55
|
+
CREATE TABLE "conversions" (
|
|
56
|
+
"id" TEXT NOT NULL,
|
|
57
|
+
"userId" TEXT,
|
|
58
|
+
"sessionId" TEXT NOT NULL,
|
|
59
|
+
"type" "ConversionType" NOT NULL,
|
|
60
|
+
"value" DECIMAL(65,30),
|
|
61
|
+
"currency" TEXT DEFAULT 'EUR',
|
|
62
|
+
"metadata" JSONB,
|
|
63
|
+
"firstUtmSource" TEXT,
|
|
64
|
+
"firstUtmMedium" TEXT,
|
|
65
|
+
"firstUtmCampaign" TEXT,
|
|
66
|
+
"firstUtmContent" TEXT,
|
|
67
|
+
"firstUtmTerm" TEXT,
|
|
68
|
+
"firstTouchAt" TIMESTAMP(3),
|
|
69
|
+
"lastUtmSource" TEXT,
|
|
70
|
+
"lastUtmMedium" TEXT,
|
|
71
|
+
"lastUtmCampaign" TEXT,
|
|
72
|
+
"lastUtmContent" TEXT,
|
|
73
|
+
"lastUtmTerm" TEXT,
|
|
74
|
+
"lastTouchAt" TIMESTAMP(3),
|
|
75
|
+
"touchPointIds" TEXT[],
|
|
76
|
+
"touchPointCount" INTEGER,
|
|
77
|
+
"journeyDuration" INTEGER,
|
|
78
|
+
"timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
79
|
+
|
|
80
|
+
CONSTRAINT "conversions_pkey" PRIMARY KEY ("id")
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
-- CreateIndex
|
|
84
|
+
CREATE INDEX "touch_points_userId_idx" ON "touch_points"("userId");
|
|
85
|
+
|
|
86
|
+
-- CreateIndex
|
|
87
|
+
CREATE INDEX "touch_points_sessionId_idx" ON "touch_points"("sessionId");
|
|
88
|
+
|
|
89
|
+
-- CreateIndex
|
|
90
|
+
CREATE INDEX "touch_points_utmSource_idx" ON "touch_points"("utmSource");
|
|
91
|
+
|
|
92
|
+
-- CreateIndex
|
|
93
|
+
CREATE INDEX "touch_points_utmMedium_idx" ON "touch_points"("utmMedium");
|
|
94
|
+
|
|
95
|
+
-- CreateIndex
|
|
96
|
+
CREATE INDEX "touch_points_utmCampaign_idx" ON "touch_points"("utmCampaign");
|
|
97
|
+
|
|
98
|
+
-- CreateIndex
|
|
99
|
+
CREATE INDEX "touch_points_utmSource_utmMedium_idx" ON "touch_points"("utmSource", "utmMedium");
|
|
100
|
+
|
|
101
|
+
-- CreateIndex
|
|
102
|
+
CREATE INDEX "touch_points_utmCampaign_timestamp_idx" ON "touch_points"("utmCampaign", "timestamp");
|
|
103
|
+
|
|
104
|
+
-- CreateIndex
|
|
105
|
+
CREATE INDEX "touch_points_timestamp_idx" ON "touch_points"("timestamp");
|
|
106
|
+
|
|
107
|
+
-- CreateIndex
|
|
108
|
+
CREATE INDEX "touch_points_sessionId_timestamp_idx" ON "touch_points"("sessionId", "timestamp");
|
|
109
|
+
|
|
110
|
+
-- CreateIndex
|
|
111
|
+
CREATE INDEX "touch_points_userId_timestamp_idx" ON "touch_points"("userId", "timestamp");
|
|
112
|
+
|
|
113
|
+
-- CreateIndex
|
|
114
|
+
CREATE INDEX "conversions_userId_idx" ON "conversions"("userId");
|
|
115
|
+
|
|
116
|
+
-- CreateIndex
|
|
117
|
+
CREATE INDEX "conversions_sessionId_idx" ON "conversions"("sessionId");
|
|
118
|
+
|
|
119
|
+
-- CreateIndex
|
|
120
|
+
CREATE INDEX "conversions_type_idx" ON "conversions"("type");
|
|
121
|
+
|
|
122
|
+
-- CreateIndex
|
|
123
|
+
CREATE INDEX "conversions_timestamp_idx" ON "conversions"("timestamp");
|
|
124
|
+
|
|
125
|
+
-- CreateIndex
|
|
126
|
+
CREATE INDEX "conversions_firstUtmSource_idx" ON "conversions"("firstUtmSource");
|
|
127
|
+
|
|
128
|
+
-- CreateIndex
|
|
129
|
+
CREATE INDEX "conversions_firstUtmMedium_idx" ON "conversions"("firstUtmMedium");
|
|
130
|
+
|
|
131
|
+
-- CreateIndex
|
|
132
|
+
CREATE INDEX "conversions_firstUtmCampaign_idx" ON "conversions"("firstUtmCampaign");
|
|
133
|
+
|
|
134
|
+
-- CreateIndex
|
|
135
|
+
CREATE INDEX "conversions_firstUtmCampaign_type_idx" ON "conversions"("firstUtmCampaign", "type");
|
|
136
|
+
|
|
137
|
+
-- CreateIndex
|
|
138
|
+
CREATE INDEX "conversions_firstUtmSource_firstUtmMedium_idx" ON "conversions"("firstUtmSource", "firstUtmMedium");
|
|
139
|
+
|
|
140
|
+
-- CreateIndex
|
|
141
|
+
CREATE INDEX "conversions_lastUtmSource_idx" ON "conversions"("lastUtmSource");
|
|
142
|
+
|
|
143
|
+
-- CreateIndex
|
|
144
|
+
CREATE INDEX "conversions_lastUtmMedium_idx" ON "conversions"("lastUtmMedium");
|
|
145
|
+
|
|
146
|
+
-- CreateIndex
|
|
147
|
+
CREATE INDEX "conversions_lastUtmCampaign_idx" ON "conversions"("lastUtmCampaign");
|
|
148
|
+
|
|
149
|
+
-- CreateIndex
|
|
150
|
+
CREATE INDEX "conversions_lastUtmCampaign_type_idx" ON "conversions"("lastUtmCampaign", "type");
|
|
151
|
+
|
|
152
|
+
-- CreateIndex
|
|
153
|
+
CREATE INDEX "conversions_lastUtmSource_lastUtmMedium_idx" ON "conversions"("lastUtmSource", "lastUtmMedium");
|
|
154
|
+
|
|
155
|
+
-- CreateIndex
|
|
156
|
+
CREATE INDEX "conversions_type_timestamp_idx" ON "conversions"("type", "timestamp");
|
|
157
|
+
|
|
158
|
+
-- CreateIndex
|
|
159
|
+
CREATE INDEX "conversions_value_idx" ON "conversions"("value");
|
|
160
|
+
|
|
161
|
+
-- CreateIndex
|
|
162
|
+
CREATE INDEX "Session_firstUtmCampaign_idx" ON "Session"("firstUtmCampaign");
|
|
163
|
+
|
|
164
|
+
-- CreateIndex
|
|
165
|
+
CREATE INDEX "Session_lastUtmCampaign_idx" ON "Session"("lastUtmCampaign");
|
|
166
|
+
|
|
167
|
+
-- CreateIndex
|
|
168
|
+
CREATE INDEX "Session_firstUtmSource_firstUtmMedium_idx" ON "Session"("firstUtmSource", "firstUtmMedium");
|
|
169
|
+
|
|
170
|
+
-- CreateIndex
|
|
171
|
+
CREATE INDEX "Session_lastUtmSource_lastUtmMedium_idx" ON "Session"("lastUtmSource", "lastUtmMedium");
|
|
172
|
+
|
|
173
|
+
-- CreateIndex
|
|
174
|
+
CREATE INDEX "User_firstUtmSource_idx" ON "User"("firstUtmSource");
|
|
175
|
+
|
|
176
|
+
-- CreateIndex
|
|
177
|
+
CREATE INDEX "User_firstUtmCampaign_idx" ON "User"("firstUtmCampaign");
|
|
178
|
+
|
|
179
|
+
-- CreateIndex
|
|
180
|
+
CREATE INDEX "User_registrationUtmSource_idx" ON "User"("registrationUtmSource");
|
|
181
|
+
|
|
182
|
+
-- CreateIndex
|
|
183
|
+
CREATE INDEX "User_registrationUtmCampaign_idx" ON "User"("registrationUtmCampaign");
|
|
184
|
+
|
|
185
|
+
-- CreateIndex
|
|
186
|
+
CREATE INDEX "User_firstVisitAt_idx" ON "User"("firstVisitAt");
|
|
187
|
+
|
|
188
|
+
-- AddForeignKey
|
|
189
|
+
ALTER TABLE "touch_points" ADD CONSTRAINT "touch_points_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session"("sessionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
190
|
+
|
|
191
|
+
-- AddForeignKey
|
|
192
|
+
ALTER TABLE "touch_points" ADD CONSTRAINT "touch_points_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
193
|
+
|
|
194
|
+
-- AddForeignKey
|
|
195
|
+
ALTER TABLE "conversions" ADD CONSTRAINT "conversions_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session"("sessionId") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
196
|
+
|
|
197
|
+
-- AddForeignKey
|
|
198
|
+
ALTER TABLE "conversions" ADD CONSTRAINT "conversions_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.LawPrismaClient = exports.AppPrismaClient = void 0;
|
|
18
|
-
var app_1 = require("../prisma/generated/app");
|
|
19
|
-
Object.defineProperty(exports, "AppPrismaClient", { enumerable: true, get: function () { return app_1.PrismaClient; } });
|
|
20
|
-
var law_1 = require("../prisma/generated/law");
|
|
21
|
-
Object.defineProperty(exports, "LawPrismaClient", { enumerable: true, get: function () { return law_1.PrismaClient; } });
|
|
22
|
-
__exportStar(require("./utils"), exports);
|
|
23
|
-
__exportStar(require("./paths"), exports);
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA0E;AAAjE,sGAAA,YAAY,OAAmB;AACxC,+CAA0E;AAAjE,sGAAA,YAAY,OAAmB;AACxC,0CAAwB;AACxB,0CAAwB"}
|
package/dist/paths.d.ts
DELETED
package/dist/paths.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,EAAE,MAA0D,CAAC;AAC7F,eAAO,MAAM,mBAAmB,EAAE,MAA0D,CAAC;AAC7F,eAAO,MAAM,oBAAoB,EAAE,MAA0D,CAAC"}
|
package/dist/paths.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prismaMigrationsPath = exports.lawPrismaSchemaPath = exports.appPrismaSchemaPath = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const packageRootDir = path_1.default.resolve(__dirname, '..');
|
|
9
|
-
exports.appPrismaSchemaPath = path_1.default.join(packageRootDir, 'prisma', 'app.prisma');
|
|
10
|
-
exports.lawPrismaSchemaPath = path_1.default.join(packageRootDir, 'prisma', 'law.prisma');
|
|
11
|
-
exports.prismaMigrationsPath = path_1.default.join(packageRootDir, 'prisma', 'migrations');
|
|
12
|
-
//# sourceMappingURL=paths.js.map
|
package/dist/paths.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAExC,QAAA,mBAAmB,GAAW,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAChF,QAAA,mBAAmB,GAAW,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAChF,QAAA,oBAAoB,GAAW,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC"}
|
package/dist/utils.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { PrismaClient as AppPrismaClient } from '../prisma/generated/app';
|
|
2
|
-
import { PrismaClient as LawPrismaClient } from '../prisma/generated/law';
|
|
3
|
-
export declare const appPrisma: AppPrismaClient<import("../prisma/generated/app").Prisma.PrismaClientOptions, never, import("../prisma/generated/app/runtime/library").DefaultArgs>;
|
|
4
|
-
export declare const lawPrisma: LawPrismaClient<import("../prisma/generated/law").Prisma.PrismaClientOptions, never, import("../prisma/generated/law/runtime/library").DefaultArgs>;
|
|
5
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO1E,eAAO,MAAM,SAAS,qJAAqD,CAAC;AAC5E,eAAO,MAAM,SAAS,qJAAqD,CAAC"}
|
package/dist/utils.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.lawPrisma = exports.appPrisma = void 0;
|
|
4
|
-
const app_1 = require("../prisma/generated/app");
|
|
5
|
-
const law_1 = require("../prisma/generated/law");
|
|
6
|
-
const globalForPrisma = globalThis;
|
|
7
|
-
exports.appPrisma = globalForPrisma.appPrisma ?? new app_1.PrismaClient();
|
|
8
|
-
exports.lawPrisma = globalForPrisma.lawPrisma ?? new law_1.PrismaClient();
|
|
9
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
10
|
-
globalForPrisma.appPrisma = exports.appPrisma;
|
|
11
|
-
globalForPrisma.lawPrisma = exports.lawPrisma;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,iDAA0E;AAC1E,iDAA0E;AAE1E,MAAM,eAAe,GAAG,UAGvB,CAAC;AAEW,QAAA,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,IAAI,kBAAe,EAAE,CAAC;AAC/D,QAAA,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,IAAI,kBAAe,EAAE,CAAC;AAE5E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,eAAe,CAAC,SAAS,GAAG,iBAAS,CAAC;IACtC,eAAe,CAAC,SAAS,GAAG,iBAAS,CAAC;AACxC,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
-- Multi-Brand Support: Allow same email to exist across different brands (smartlex, justi)
|
|
2
|
-
-- Existing data gets brand = 'smartlex' via DEFAULT value
|
|
3
|
-
|
|
4
|
-
-- DropIndex
|
|
5
|
-
DROP INDEX "Account_provider_providerAccountId_key";
|
|
6
|
-
|
|
7
|
-
-- DropIndex
|
|
8
|
-
DROP INDEX "User_email_key";
|
|
9
|
-
|
|
10
|
-
-- AlterTable: Add brand column to Account with default 'smartlex'
|
|
11
|
-
ALTER TABLE "Account" ADD COLUMN "brand" TEXT NOT NULL DEFAULT 'smartlex';
|
|
12
|
-
|
|
13
|
-
-- AlterTable: Add brand column to User with default 'smartlex'
|
|
14
|
-
ALTER TABLE "User" ADD COLUMN "brand" TEXT NOT NULL DEFAULT 'smartlex';
|
|
15
|
-
|
|
16
|
-
-- CreateIndex: Compound unique on Account (provider + providerAccountId + brand)
|
|
17
|
-
CREATE UNIQUE INDEX "Account_provider_providerAccountId_brand_key" ON "Account"("provider", "providerAccountId", "brand");
|
|
18
|
-
|
|
19
|
-
-- CreateIndex: Index on User.brand for fast filtering
|
|
20
|
-
CREATE INDEX "User_brand_idx" ON "User"("brand");
|
|
21
|
-
|
|
22
|
-
-- CreateIndex: Compound unique on User (email + brand) - allows same email in different brands
|
|
23
|
-
CREATE UNIQUE INDEX "User_email_brand_key" ON "User"("email", "brand");
|