@optimatech88/titomeet-shared-lib 1.0.52 → 1.0.53

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.
@@ -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.53",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1,466 +1,467 @@
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
+ address Address? @relation(fields: [addressId], references: [id])
229
+ category ProviderCategory @relation(fields: [categoryId], references: [id])
230
+ user User @relation(fields: [userId], references: [id])
231
+ reviews Review[]
232
+ events ProviderOnEvent[]
233
+ }
234
+
235
+ enum ProviderOnEventStatus {
236
+ PENDING
237
+ APPROVED
238
+ REJECTED
239
+ }
240
+
241
+ model ProviderOnEvent {
242
+ id String @id @default(cuid())
243
+ providerId String
244
+ provider Provider @relation(fields: [providerId], references: [id])
245
+ eventId String
246
+ event Event @relation(fields: [eventId], references: [id])
247
+
248
+ status ProviderOnEventStatus @default(PENDING)
249
+
250
+ createdAt DateTime @default(now())
251
+ updatedAt DateTime @updatedAt
252
+ }
253
+
254
+ model Review {
255
+ id String @id @default(cuid())
256
+ rating Float
257
+ comment String?
258
+ providerId String
259
+ userId String
260
+ createdAt DateTime @default(now())
261
+ updatedAt DateTime @updatedAt
262
+ provider Provider @relation(fields: [providerId], references: [id])
263
+ user User @relation(fields: [userId], references: [id])
264
+ }
265
+
266
+ model Favorite {
267
+ id String @id @default(cuid())
268
+ userId String
269
+ eventId String
270
+ createdAt DateTime @default(now())
271
+ updatedAt DateTime @updatedAt
272
+ event Event @relation(fields: [eventId], references: [id])
273
+ user User @relation(fields: [userId], references: [id])
274
+ }
275
+
276
+ model Order {
277
+ id String @id @default(cuid())
278
+ userId String
279
+ eventId String
280
+ email String
281
+ status OrderStatus @default(PENDING)
282
+ totalAmount Float
283
+ paymentIntentId String? @unique
284
+ paymentStatus PaymentStatus @default(PENDING)
285
+ createdAt DateTime @default(now())
286
+ updatedAt DateTime @updatedAt
287
+ event Event @relation(fields: [eventId], references: [id])
288
+ user User @relation(fields: [userId], references: [id])
289
+ items OrderItem[]
290
+ }
291
+
292
+ model OrderItem {
293
+ id String @id @default(cuid())
294
+ orderId String
295
+ eventPriceId String
296
+ quantity Int
297
+ unitPrice Float
298
+ createdAt DateTime @default(now())
299
+ updatedAt DateTime @updatedAt
300
+ eventPrice EventPrice @relation(fields: [eventPriceId], references: [id])
301
+ order Order @relation(fields: [orderId], references: [id])
302
+ tickets String[]
303
+ }
304
+
305
+ model UserInterests {
306
+ id String @id @default(cuid())
307
+
308
+ interests EventCategory[]
309
+
310
+ userId String @unique
311
+ user User @relation(fields: [userId], references: [id])
312
+
313
+ createdAt DateTime @default(now())
314
+ updatedAt DateTime @updatedAt
315
+ }
316
+
317
+ enum UserRole {
318
+ SUPER_ADMIN
319
+ ADMIN
320
+ USER
321
+ }
322
+
323
+ enum UserStatus {
324
+ ACTIVE
325
+ INACTIVE
326
+ DELETED
327
+ }
328
+
329
+ enum EventAccess {
330
+ FREE
331
+ PAID
332
+ }
333
+
334
+ enum EventVisibility {
335
+ PUBLIC
336
+ PRIVATE
337
+ }
338
+
339
+ enum EventStatus {
340
+ DRAFT
341
+ PUBLISHED
342
+ PENDING
343
+ CANCELLED
344
+ }
345
+
346
+ enum MediaType {
347
+ image
348
+ video
349
+ audio
350
+ pdf
351
+ }
352
+
353
+ enum NotificationType {
354
+ NEW_MESSAGE
355
+ EVENT_REMINDER
356
+ EVENT_PARTICIPATION_CONFIRMATION
357
+ EVENT_VALIDATION
358
+ EVENT_REJECTION
359
+ EVENT_ASSIGNMENT
360
+ EVENT_ASSIGNMENT_APPROVAL
361
+ EVENT_ASSIGNMENT_REJECTION
362
+ }
363
+
364
+ enum ProviderStatus {
365
+ PENDING
366
+ APPROVED
367
+ REJECTED
368
+ }
369
+
370
+ enum OrderStatus {
371
+ PENDING
372
+ CONFIRMED
373
+ CANCELLED
374
+ REFUNDED
375
+ }
376
+
377
+ enum PaymentStatus {
378
+ PENDING
379
+ COMPLETED
380
+ FAILED
381
+ REFUNDED
382
+ }
383
+
384
+ model Newsletter {
385
+ id String @id @default(cuid())
386
+ email String @unique
387
+ unsubscribedAt DateTime?
388
+
389
+ createdAt DateTime @default(now())
390
+ updatedAt DateTime @updatedAt
391
+ }
392
+
393
+ enum PricingType {
394
+ EVENT_CREATOR
395
+ PROVIDER
396
+ }
397
+
398
+ enum PricingDuration {
399
+ WEEKLY
400
+ BI_WEEKLY
401
+ MONTHLY
402
+ YEARLY
403
+ }
404
+
405
+ model Pricing {
406
+ id String @id @default(cuid())
407
+ title String
408
+ subtitle String
409
+
410
+ priceSuffix String?
411
+
412
+ features String[]
413
+
414
+ type PricingType @default(EVENT_CREATOR)
415
+ duration PricingDuration @default(MONTHLY)
416
+ amount Float
417
+
418
+ createdAt DateTime @default(now())
419
+ updatedAt DateTime @updatedAt
420
+ transactions Transaction[]
421
+ active Boolean @default(true)
422
+ }
423
+
424
+ enum PaymentMethod {
425
+ MOBILE_MONEY
426
+ }
427
+
428
+ enum TransactionStatus {
429
+ PENDING
430
+ COMPLETED
431
+ FAILED
432
+ }
433
+
434
+ model Transaction {
435
+ id String @id @default(cuid())
436
+
437
+ amount Float
438
+ paymentMethod PaymentMethod @default(MOBILE_MONEY)
439
+
440
+ pricingId String?
441
+ pricing Pricing? @relation(fields: [pricingId], references: [id])
442
+
443
+ userId String
444
+ user User @relation(fields: [userId], references: [id])
445
+
446
+ status TransactionStatus @default(PENDING)
447
+
448
+ reference String?
449
+
450
+ expiresAt DateTime?
451
+
452
+ createdAt DateTime @default(now())
453
+ updatedAt DateTime @updatedAt
454
+ }
455
+
456
+ model Feedback {
457
+ id String @id @default(cuid())
458
+ category String
459
+ rating Int
460
+ comment String
461
+ email String?
462
+ userId String?
463
+ user User? @relation(fields: [userId], references: [id])
464
+
465
+ createdAt DateTime @default(now())
466
+ updatedAt DateTime @updatedAt
467
+ }
package/.env DELETED
@@ -1 +0,0 @@
1
- DATABASE_URL="postgresql://postgres:demo@localhost:5433/titomeet?schema=public"