@optimatech88/titomeet-shared-lib 1.0.52 → 1.0.54

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/.env CHANGED
@@ -1 +1 @@
1
- DATABASE_URL="postgresql://postgres:demo@localhost:5433/titomeet?schema=public"
1
+ DATABASE_URL="postgresql://postgres:postgre@localhost:5432/titomeet?schema=public"
@@ -0,0 +1,34 @@
1
+ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3
+
4
+ name: Node.js Package
5
+
6
+ on:
7
+ push:
8
+ branches:
9
+ - main # Or your main branch
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-node@v4
17
+ with:
18
+ node-version: 20
19
+ - run: npm ci
20
+ - run: npm run build
21
+
22
+ publish-npm:
23
+ needs: build
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: actions/setup-node@v4
28
+ with:
29
+ node-version: 20
30
+ registry-url: https://registry.npmjs.org/
31
+ - run: npm ci
32
+ - run: npm publish --access public
33
+ env:
34
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,iBAAiB,UAAW,eAAe;;;;CAOvD,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,WAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,iBAAiB,GAAI,OAAO,eAAe;;;;CAOvD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,WAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimatech88/titomeet-shared-lib",
3
- "version": "1.0.52",
3
+ "version": "1.0.54",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1,466 +1,468 @@
1
- generator client {
2
- provider = "prisma-client-js"
3
- }
4
-
5
- datasource db {
6
- provider = "postgresql"
7
- url = env("DATABASE_URL")
8
- }
9
-
10
- model User {
11
- id String @id @default(cuid())
12
- username String @unique
13
- email String @unique
14
- firstName String
15
- lastName String
16
- password String?
17
- role UserRole @default(USER)
18
- profilePicture String?
19
- createdAt DateTime @default(now())
20
- updatedAt DateTime @updatedAt
21
- emailVerified Boolean @default(false)
22
- status UserStatus @default(ACTIVE)
23
- accounts Account[]
24
- chatUsers ChatUser[]
25
- events Event[]
26
- favorites Favorite[]
27
- messages Message[]
28
- notificationsReceived Notification[] @relation("NotificationRecipient")
29
- notificationsSent Notification[] @relation("NotificationSender")
30
- orders Order[]
31
- providers Provider[]
32
- reviews Review[]
33
-
34
- userInterests UserInterests?
35
- transactions Transaction[]
36
- feedbacks Feedback[]
37
- }
38
-
39
- enum AccountType {
40
- GOOGLE
41
- EMAIL_PASSWORD
42
- }
43
-
44
- model Account {
45
- id String @id @default(cuid())
46
- refreshToken String @unique
47
- expiresAt DateTime
48
- userId String
49
- user User @relation(fields: [userId], references: [id])
50
- type AccountType @default(EMAIL_PASSWORD)
51
- reference String?
52
- }
53
-
54
- model Address {
55
- id String @id @default(uuid())
56
- name String
57
- line2 String?
58
- city String?
59
- state String?
60
- country String
61
- postalCode String?
62
- createdAt DateTime @default(now())
63
- updatedAt DateTime @updatedAt
64
- countryCode String?
65
- latitude Float?
66
- longitude Float?
67
- type String @default("suburb")
68
- events Event[]
69
- Provider Provider[]
70
- }
71
-
72
- model EventCategory {
73
- id String @id @default(cuid())
74
- name String @unique
75
- description String?
76
- createdAt DateTime @default(now())
77
- updatedAt DateTime @updatedAt
78
- active Boolean @default(true)
79
- events Event[] @relation("EventToEventCategory")
80
- userInterests UserInterests[]
81
-
82
- parentId String?
83
- parent EventCategory? @relation("EventCategoryParent", fields: [parentId], references: [id])
84
-
85
- children EventCategory[] @relation("EventCategoryParent")
86
- }
87
-
88
- enum TicketHandler {
89
- TITOMEET
90
- OTHER
91
- }
92
-
93
- model Event {
94
- id String @id @default(cuid())
95
- name String
96
- description String
97
- startDate DateTime
98
- endDate DateTime
99
- startTime String
100
- endTime String
101
- capacity Int
102
- coverPicture String
103
- badge String
104
- tags String[]
105
- accessType EventAccess @default(FREE)
106
- visibility EventVisibility @default(PUBLIC)
107
- status EventStatus @default(DRAFT)
108
- addressId String?
109
- postedById String
110
- createdAt DateTime @default(now())
111
- updatedAt DateTime @updatedAt
112
- chat Chat?
113
- address Address? @relation(fields: [addressId], references: [id])
114
- postedBy User @relation(fields: [postedById], references: [id])
115
- prices EventPrice[]
116
- favorites Favorite[]
117
- orders Order[]
118
- categories EventCategory[] @relation("EventToEventCategory")
119
- providers ProviderOnEvent[]
120
- remainingSeats Int @default(0)
121
- type EventType @default(IN_PERSON)
122
- onlineLink String?
123
- onlinePassword String?
124
- ticketHandler TicketHandler @default(TITOMEET)
125
- ticketUrl String?
126
- lng Float?
127
- lat Float?
128
- location String?
129
- }
130
-
131
- enum EventType {
132
- IN_PERSON
133
- ONLINE
134
- }
135
-
136
- model EventPrice {
137
- id String @id @default(uuid())
138
- name String
139
- amount Float
140
- description String?
141
- eventId String
142
- totalSeats Int @default(1)
143
- createdAt DateTime @default(now())
144
- updatedAt DateTime @updatedAt
145
- event Event @relation(fields: [eventId], references: [id])
146
- orderItems OrderItem[]
147
- }
148
-
149
- model Chat {
150
- id String @id @default(cuid())
151
- name String
152
- eventId String @unique
153
- createdAt DateTime @default(now())
154
- updatedAt DateTime @updatedAt
155
- event Event @relation(fields: [eventId], references: [id])
156
- users ChatUser[]
157
- messages Message[]
158
- }
159
-
160
- model ChatUser {
161
- id String @id @default(cuid())
162
- chatId String
163
- userId String
164
- createdAt DateTime @default(now())
165
- updatedAt DateTime @updatedAt
166
- chat Chat @relation(fields: [chatId], references: [id])
167
- user User @relation(fields: [userId], references: [id])
168
- }
169
-
170
- model Message {
171
- id String @id @default(cuid())
172
- chatId String
173
- senderId String
174
- createdAt DateTime @default(now())
175
- updatedAt DateTime @updatedAt
176
- files Json?
177
- text String
178
- chat Chat @relation(fields: [chatId], references: [id])
179
- sender User @relation(fields: [senderId], references: [id])
180
- }
181
-
182
- model Notification {
183
- id String @id @default(cuid())
184
- notifiedToId String
185
- userId String?
186
- type NotificationType
187
- read Boolean @default(false)
188
- data Json?
189
- createdAt DateTime @default(now())
190
- updatedAt DateTime @updatedAt
191
- notifiedTo User @relation("NotificationRecipient", fields: [notifiedToId], references: [id])
192
- user User? @relation("NotificationSender", fields: [userId], references: [id])
193
- }
194
-
195
- model ProviderCategory {
196
- id String @id @default(cuid())
197
- name String @unique
198
- description String?
199
- active Boolean @default(true)
200
- createdAt DateTime @default(now())
201
- updatedAt DateTime @updatedAt
202
- providers Provider[]
203
-
204
- parentId String?
205
- parent ProviderCategory? @relation("ProviderCategoryParent", fields: [parentId], references: [id])
206
-
207
- children ProviderCategory[] @relation("ProviderCategoryParent")
208
- }
209
-
210
- model Provider {
211
- id String @id @default(cuid())
212
- name String
213
- description String?
214
- image String?
215
- userId String
216
- status ProviderStatus @default(PENDING)
217
- createdAt DateTime @default(now())
218
- updatedAt DateTime @updatedAt
219
- addressId String?
220
- categoryId String
221
- docs Json?
222
- email String?
223
- phoneNumber String?
224
- pricingDetails String?
225
- rating Float?
226
- website String?
227
- address Address? @relation(fields: [addressId], references: [id])
228
- category ProviderCategory @relation(fields: [categoryId], references: [id])
229
- user User @relation(fields: [userId], references: [id])
230
- reviews Review[]
231
- events ProviderOnEvent[]
232
- }
233
-
234
- enum ProviderOnEventStatus {
235
- PENDING
236
- APPROVED
237
- REJECTED
238
- }
239
-
240
- model ProviderOnEvent {
241
- id String @id @default(cuid())
242
- providerId String
243
- provider Provider @relation(fields: [providerId], references: [id])
244
- eventId String
245
- event Event @relation(fields: [eventId], references: [id])
246
-
247
- status ProviderOnEventStatus @default(PENDING)
248
-
249
- createdAt DateTime @default(now())
250
- updatedAt DateTime @updatedAt
251
- }
252
-
253
- model Review {
254
- id String @id @default(cuid())
255
- rating Float
256
- comment String?
257
- providerId String
258
- userId String
259
- createdAt DateTime @default(now())
260
- updatedAt DateTime @updatedAt
261
- provider Provider @relation(fields: [providerId], references: [id])
262
- user User @relation(fields: [userId], references: [id])
263
- }
264
-
265
- model Favorite {
266
- id String @id @default(cuid())
267
- userId String
268
- eventId String
269
- createdAt DateTime @default(now())
270
- updatedAt DateTime @updatedAt
271
- event Event @relation(fields: [eventId], references: [id])
272
- user User @relation(fields: [userId], references: [id])
273
- }
274
-
275
- model Order {
276
- id String @id @default(cuid())
277
- userId String
278
- eventId String
279
- email String
280
- status OrderStatus @default(PENDING)
281
- totalAmount Float
282
- paymentIntentId String? @unique
283
- paymentStatus PaymentStatus @default(PENDING)
284
- createdAt DateTime @default(now())
285
- updatedAt DateTime @updatedAt
286
- event Event @relation(fields: [eventId], references: [id])
287
- user User @relation(fields: [userId], references: [id])
288
- items OrderItem[]
289
- }
290
-
291
- model OrderItem {
292
- id String @id @default(cuid())
293
- orderId String
294
- eventPriceId String
295
- quantity Int
296
- unitPrice Float
297
- createdAt DateTime @default(now())
298
- updatedAt DateTime @updatedAt
299
- eventPrice EventPrice @relation(fields: [eventPriceId], references: [id])
300
- order Order @relation(fields: [orderId], references: [id])
301
- tickets String[]
302
- }
303
-
304
- model UserInterests {
305
- id String @id @default(cuid())
306
-
307
- interests EventCategory[]
308
-
309
- userId String @unique
310
- user User @relation(fields: [userId], references: [id])
311
-
312
- createdAt DateTime @default(now())
313
- updatedAt DateTime @updatedAt
314
- }
315
-
316
- enum UserRole {
317
- SUPER_ADMIN
318
- ADMIN
319
- USER
320
- }
321
-
322
- enum UserStatus {
323
- ACTIVE
324
- INACTIVE
325
- DELETED
326
- }
327
-
328
- enum EventAccess {
329
- FREE
330
- PAID
331
- }
332
-
333
- enum EventVisibility {
334
- PUBLIC
335
- PRIVATE
336
- }
337
-
338
- enum EventStatus {
339
- DRAFT
340
- PUBLISHED
341
- PENDING
342
- CANCELLED
343
- }
344
-
345
- enum MediaType {
346
- image
347
- video
348
- audio
349
- pdf
350
- }
351
-
352
- enum NotificationType {
353
- NEW_MESSAGE
354
- EVENT_REMINDER
355
- EVENT_PARTICIPATION_CONFIRMATION
356
- EVENT_VALIDATION
357
- EVENT_REJECTION
358
- EVENT_ASSIGNMENT
359
- EVENT_ASSIGNMENT_APPROVAL
360
- EVENT_ASSIGNMENT_REJECTION
361
- }
362
-
363
- enum ProviderStatus {
364
- PENDING
365
- APPROVED
366
- REJECTED
367
- }
368
-
369
- enum OrderStatus {
370
- PENDING
371
- CONFIRMED
372
- CANCELLED
373
- REFUNDED
374
- }
375
-
376
- enum PaymentStatus {
377
- PENDING
378
- COMPLETED
379
- FAILED
380
- REFUNDED
381
- }
382
-
383
- model Newsletter {
384
- id String @id @default(cuid())
385
- email String @unique
386
- unsubscribedAt DateTime?
387
-
388
- createdAt DateTime @default(now())
389
- updatedAt DateTime @updatedAt
390
- }
391
-
392
- enum PricingType {
393
- EVENT_CREATOR
394
- PROVIDER
395
- }
396
-
397
- enum PricingDuration {
398
- WEEKLY
399
- BI_WEEKLY
400
- MONTHLY
401
- YEARLY
402
- }
403
-
404
- model Pricing {
405
- id String @id @default(cuid())
406
- title String
407
- subtitle String
408
-
409
- priceSuffix String?
410
-
411
- features String[]
412
-
413
- type PricingType @default(EVENT_CREATOR)
414
- duration PricingDuration @default(MONTHLY)
415
- amount Float
416
-
417
- createdAt DateTime @default(now())
418
- updatedAt DateTime @updatedAt
419
- transactions Transaction[]
420
- active Boolean @default(true)
421
- }
422
-
423
- enum PaymentMethod {
424
- MOBILE_MONEY
425
- }
426
-
427
- enum TransactionStatus {
428
- PENDING
429
- COMPLETED
430
- FAILED
431
- }
432
-
433
- model Transaction {
434
- id String @id @default(cuid())
435
-
436
- amount Float
437
- paymentMethod PaymentMethod @default(MOBILE_MONEY)
438
-
439
- pricingId String?
440
- pricing Pricing? @relation(fields: [pricingId], references: [id])
441
-
442
- userId String
443
- user User @relation(fields: [userId], references: [id])
444
-
445
- status TransactionStatus @default(PENDING)
446
-
447
- reference String?
448
-
449
- expiresAt DateTime?
450
-
451
- createdAt DateTime @default(now())
452
- updatedAt DateTime @updatedAt
453
- }
454
-
455
- model Feedback {
456
- id String @id @default(cuid())
457
- category String
458
- rating Int
459
- comment String
460
- email String?
461
- userId String?
462
- user User? @relation(fields: [userId], references: [id])
463
-
464
- createdAt DateTime @default(now())
465
- updatedAt DateTime @updatedAt
466
- }
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "postgresql"
7
+ url = env("DATABASE_URL")
8
+ }
9
+
10
+ model User {
11
+ id String @id @default(cuid())
12
+ username String @unique
13
+ email String @unique
14
+ firstName String
15
+ lastName String
16
+ password String?
17
+ phone String?
18
+ role UserRole @default(USER)
19
+ profilePicture String?
20
+ createdAt DateTime @default(now())
21
+ updatedAt DateTime @updatedAt
22
+ emailVerified Boolean @default(false)
23
+ status UserStatus @default(ACTIVE)
24
+ accounts Account[]
25
+ chatUsers ChatUser[]
26
+ events Event[]
27
+ favorites Favorite[]
28
+ messages Message[]
29
+ notificationsReceived Notification[] @relation("NotificationRecipient")
30
+ notificationsSent Notification[] @relation("NotificationSender")
31
+ orders Order[]
32
+ providers Provider[]
33
+ reviews Review[]
34
+
35
+ userInterests UserInterests?
36
+ transactions Transaction[]
37
+ feedbacks Feedback[]
38
+ }
39
+
40
+ enum AccountType {
41
+ GOOGLE
42
+ EMAIL_PASSWORD
43
+ }
44
+
45
+ model Account {
46
+ id String @id @default(cuid())
47
+ refreshToken String @unique
48
+ expiresAt DateTime
49
+ userId String
50
+ user User @relation(fields: [userId], references: [id])
51
+ type AccountType @default(EMAIL_PASSWORD)
52
+ reference String?
53
+ }
54
+
55
+ model Address {
56
+ id String @id @default(uuid())
57
+ name String
58
+ line2 String?
59
+ city String?
60
+ state String?
61
+ country String
62
+ postalCode String?
63
+ createdAt DateTime @default(now())
64
+ updatedAt DateTime @updatedAt
65
+ countryCode String?
66
+ latitude Float?
67
+ longitude Float?
68
+ type String @default("suburb")
69
+ events Event[]
70
+ Provider Provider[]
71
+ }
72
+
73
+ model EventCategory {
74
+ id String @id @default(cuid())
75
+ name String @unique
76
+ description String?
77
+ createdAt DateTime @default(now())
78
+ updatedAt DateTime @updatedAt
79
+ active Boolean @default(true)
80
+ events Event[] @relation("EventToEventCategory")
81
+ userInterests UserInterests[]
82
+
83
+ parentId String?
84
+ parent EventCategory? @relation("EventCategoryParent", fields: [parentId], references: [id])
85
+
86
+ children EventCategory[] @relation("EventCategoryParent")
87
+ }
88
+
89
+ enum TicketHandler {
90
+ TITOMEET
91
+ OTHER
92
+ }
93
+
94
+ model Event {
95
+ id String @id @default(cuid())
96
+ name String
97
+ description String
98
+ startDate DateTime
99
+ endDate DateTime
100
+ startTime String
101
+ endTime String
102
+ capacity Int
103
+ coverPicture String
104
+ badge String
105
+ tags String[]
106
+ accessType EventAccess @default(FREE)
107
+ visibility EventVisibility @default(PUBLIC)
108
+ status EventStatus @default(DRAFT)
109
+ addressId String?
110
+ postedById String
111
+ createdAt DateTime @default(now())
112
+ updatedAt DateTime @updatedAt
113
+ chat Chat?
114
+ address Address? @relation(fields: [addressId], references: [id])
115
+ postedBy User @relation(fields: [postedById], references: [id])
116
+ prices EventPrice[]
117
+ favorites Favorite[]
118
+ orders Order[]
119
+ categories EventCategory[] @relation("EventToEventCategory")
120
+ providers ProviderOnEvent[]
121
+ remainingSeats Int @default(0)
122
+ type EventType @default(IN_PERSON)
123
+ onlineLink String?
124
+ onlinePassword String?
125
+ ticketHandler TicketHandler @default(TITOMEET)
126
+ ticketUrl String?
127
+ lng Float?
128
+ lat Float?
129
+ location String?
130
+ }
131
+
132
+ enum EventType {
133
+ IN_PERSON
134
+ ONLINE
135
+ }
136
+
137
+ model EventPrice {
138
+ id String @id @default(uuid())
139
+ name String
140
+ amount Float
141
+ description String?
142
+ eventId String
143
+ totalSeats Int @default(1)
144
+ createdAt DateTime @default(now())
145
+ updatedAt DateTime @updatedAt
146
+ event Event @relation(fields: [eventId], references: [id])
147
+ orderItems OrderItem[]
148
+ }
149
+
150
+ model Chat {
151
+ id String @id @default(cuid())
152
+ name String
153
+ eventId String @unique
154
+ createdAt DateTime @default(now())
155
+ updatedAt DateTime @updatedAt
156
+ event Event @relation(fields: [eventId], references: [id])
157
+ users ChatUser[]
158
+ messages Message[]
159
+ }
160
+
161
+ model ChatUser {
162
+ id String @id @default(cuid())
163
+ chatId String
164
+ userId String
165
+ createdAt DateTime @default(now())
166
+ updatedAt DateTime @updatedAt
167
+ chat Chat @relation(fields: [chatId], references: [id])
168
+ user User @relation(fields: [userId], references: [id])
169
+ }
170
+
171
+ model Message {
172
+ id String @id @default(cuid())
173
+ chatId String
174
+ senderId String
175
+ createdAt DateTime @default(now())
176
+ updatedAt DateTime @updatedAt
177
+ files Json?
178
+ text String
179
+ chat Chat @relation(fields: [chatId], references: [id])
180
+ sender User @relation(fields: [senderId], references: [id])
181
+ }
182
+
183
+ model Notification {
184
+ id String @id @default(cuid())
185
+ notifiedToId String
186
+ userId String?
187
+ type NotificationType
188
+ read Boolean @default(false)
189
+ data Json?
190
+ createdAt DateTime @default(now())
191
+ updatedAt DateTime @updatedAt
192
+ notifiedTo User @relation("NotificationRecipient", fields: [notifiedToId], references: [id])
193
+ user User? @relation("NotificationSender", fields: [userId], references: [id])
194
+ }
195
+
196
+ model ProviderCategory {
197
+ id String @id @default(cuid())
198
+ name String @unique
199
+ description String?
200
+ active Boolean @default(true)
201
+ createdAt DateTime @default(now())
202
+ updatedAt DateTime @updatedAt
203
+ providers Provider[]
204
+
205
+ parentId String?
206
+ parent ProviderCategory? @relation("ProviderCategoryParent", fields: [parentId], references: [id])
207
+
208
+ children ProviderCategory[] @relation("ProviderCategoryParent")
209
+ }
210
+
211
+ model Provider {
212
+ id String @id @default(cuid())
213
+ name String
214
+ description String?
215
+ image String?
216
+ userId String
217
+ status ProviderStatus @default(PENDING)
218
+ createdAt DateTime @default(now())
219
+ updatedAt DateTime @updatedAt
220
+ addressId String?
221
+ categoryId String
222
+ docs Json?
223
+ email String?
224
+ phoneNumber String?
225
+ pricingDetails String?
226
+ rating Float?
227
+ website String?
228
+ location String?
229
+ address Address? @relation(fields: [addressId], references: [id])
230
+ category ProviderCategory @relation(fields: [categoryId], references: [id])
231
+ user User @relation(fields: [userId], references: [id])
232
+ reviews Review[]
233
+ events ProviderOnEvent[]
234
+ }
235
+
236
+ enum ProviderOnEventStatus {
237
+ PENDING
238
+ APPROVED
239
+ REJECTED
240
+ }
241
+
242
+ model ProviderOnEvent {
243
+ id String @id @default(cuid())
244
+ providerId String
245
+ provider Provider @relation(fields: [providerId], references: [id])
246
+ eventId String
247
+ event Event @relation(fields: [eventId], references: [id])
248
+
249
+ status ProviderOnEventStatus @default(PENDING)
250
+
251
+ createdAt DateTime @default(now())
252
+ updatedAt DateTime @updatedAt
253
+ }
254
+
255
+ model Review {
256
+ id String @id @default(cuid())
257
+ rating Float
258
+ comment String?
259
+ providerId String
260
+ userId String
261
+ createdAt DateTime @default(now())
262
+ updatedAt DateTime @updatedAt
263
+ provider Provider @relation(fields: [providerId], references: [id])
264
+ user User @relation(fields: [userId], references: [id])
265
+ }
266
+
267
+ model Favorite {
268
+ id String @id @default(cuid())
269
+ userId String
270
+ eventId String
271
+ createdAt DateTime @default(now())
272
+ updatedAt DateTime @updatedAt
273
+ event Event @relation(fields: [eventId], references: [id])
274
+ user User @relation(fields: [userId], references: [id])
275
+ }
276
+
277
+ model Order {
278
+ id String @id @default(cuid())
279
+ userId String
280
+ eventId String
281
+ email String
282
+ status OrderStatus @default(PENDING)
283
+ totalAmount Float
284
+ paymentIntentId String? @unique
285
+ paymentStatus PaymentStatus @default(PENDING)
286
+ createdAt DateTime @default(now())
287
+ updatedAt DateTime @updatedAt
288
+ event Event @relation(fields: [eventId], references: [id])
289
+ user User @relation(fields: [userId], references: [id])
290
+ items OrderItem[]
291
+ }
292
+
293
+ model OrderItem {
294
+ id String @id @default(cuid())
295
+ orderId String
296
+ eventPriceId String
297
+ quantity Int
298
+ unitPrice Float
299
+ createdAt DateTime @default(now())
300
+ updatedAt DateTime @updatedAt
301
+ eventPrice EventPrice @relation(fields: [eventPriceId], references: [id])
302
+ order Order @relation(fields: [orderId], references: [id])
303
+ tickets String[]
304
+ }
305
+
306
+ model UserInterests {
307
+ id String @id @default(cuid())
308
+
309
+ interests EventCategory[]
310
+
311
+ userId String @unique
312
+ user User @relation(fields: [userId], references: [id])
313
+
314
+ createdAt DateTime @default(now())
315
+ updatedAt DateTime @updatedAt
316
+ }
317
+
318
+ enum UserRole {
319
+ SUPER_ADMIN
320
+ ADMIN
321
+ USER
322
+ }
323
+
324
+ enum UserStatus {
325
+ ACTIVE
326
+ INACTIVE
327
+ DELETED
328
+ }
329
+
330
+ enum EventAccess {
331
+ FREE
332
+ PAID
333
+ }
334
+
335
+ enum EventVisibility {
336
+ PUBLIC
337
+ PRIVATE
338
+ }
339
+
340
+ enum EventStatus {
341
+ DRAFT
342
+ PUBLISHED
343
+ PENDING
344
+ CANCELLED
345
+ }
346
+
347
+ enum MediaType {
348
+ image
349
+ video
350
+ audio
351
+ pdf
352
+ }
353
+
354
+ enum NotificationType {
355
+ NEW_MESSAGE
356
+ EVENT_REMINDER
357
+ EVENT_PARTICIPATION_CONFIRMATION
358
+ EVENT_VALIDATION
359
+ EVENT_REJECTION
360
+ EVENT_ASSIGNMENT
361
+ EVENT_ASSIGNMENT_APPROVAL
362
+ EVENT_ASSIGNMENT_REJECTION
363
+ }
364
+
365
+ enum ProviderStatus {
366
+ PENDING
367
+ APPROVED
368
+ REJECTED
369
+ }
370
+
371
+ enum OrderStatus {
372
+ PENDING
373
+ CONFIRMED
374
+ CANCELLED
375
+ REFUNDED
376
+ }
377
+
378
+ enum PaymentStatus {
379
+ PENDING
380
+ COMPLETED
381
+ FAILED
382
+ REFUNDED
383
+ }
384
+
385
+ model Newsletter {
386
+ id String @id @default(cuid())
387
+ email String @unique
388
+ unsubscribedAt DateTime?
389
+
390
+ createdAt DateTime @default(now())
391
+ updatedAt DateTime @updatedAt
392
+ }
393
+
394
+ enum PricingType {
395
+ EVENT_CREATOR
396
+ PROVIDER
397
+ }
398
+
399
+ enum PricingDuration {
400
+ WEEKLY
401
+ BI_WEEKLY
402
+ MONTHLY
403
+ YEARLY
404
+ }
405
+
406
+ model Pricing {
407
+ id String @id @default(cuid())
408
+ title String
409
+ subtitle String
410
+
411
+ priceSuffix String?
412
+
413
+ features String[]
414
+
415
+ type PricingType @default(EVENT_CREATOR)
416
+ duration PricingDuration @default(MONTHLY)
417
+ amount Float
418
+
419
+ createdAt DateTime @default(now())
420
+ updatedAt DateTime @updatedAt
421
+ transactions Transaction[]
422
+ active Boolean @default(true)
423
+ }
424
+
425
+ enum PaymentMethod {
426
+ MOBILE_MONEY
427
+ }
428
+
429
+ enum TransactionStatus {
430
+ PENDING
431
+ COMPLETED
432
+ FAILED
433
+ }
434
+
435
+ model Transaction {
436
+ id String @id @default(cuid())
437
+
438
+ amount Float
439
+ paymentMethod PaymentMethod @default(MOBILE_MONEY)
440
+
441
+ pricingId String?
442
+ pricing Pricing? @relation(fields: [pricingId], references: [id])
443
+
444
+ userId String
445
+ user User @relation(fields: [userId], references: [id])
446
+
447
+ status TransactionStatus @default(PENDING)
448
+
449
+ reference String?
450
+
451
+ expiresAt DateTime?
452
+
453
+ createdAt DateTime @default(now())
454
+ updatedAt DateTime @updatedAt
455
+ }
456
+
457
+ model Feedback {
458
+ id String @id @default(cuid())
459
+ category String
460
+ rating Int
461
+ comment String
462
+ email String?
463
+ userId String?
464
+ user User? @relation(fields: [userId], references: [id])
465
+
466
+ createdAt DateTime @default(now())
467
+ updatedAt DateTime @updatedAt
468
+ }
package/.env.example DELETED
@@ -1 +0,0 @@
1
- DATABASE_URL="postgresql://postgres:admin@localhost:5433/titomeet-dev?schema=public"