@notidotbot/noti-api-client 1.4.11 → 1.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/classes/guild.d.ts +27 -0
  2. package/dist/classes/guild.js +15 -0
  3. package/dist/classes/premium.d.ts +24 -0
  4. package/dist/classes/premium.js +6 -0
  5. package/dist/core/manager.d.ts +2 -0
  6. package/dist/core/manager.js +2 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +2 -0
  9. package/dist/modules/stripe.js +1 -0
  10. package/dist/other/zod/client.zod.d.ts +56 -288
  11. package/dist/other/zod/client.zod.js +11 -0
  12. package/dist/other/zod/drops.zod.d.ts +26 -7
  13. package/dist/other/zod/drops.zod.js +13 -11
  14. package/dist/other/zod/giveaways.zod.d.ts +61 -322
  15. package/dist/other/zod/guild.zod.d.ts +260 -1431
  16. package/dist/other/zod/guild.zod.js +21 -4
  17. package/dist/other/zod/kickStreamer.zod.d.ts +116 -669
  18. package/dist/other/zod/kickStreamer.zod.js +3 -3
  19. package/dist/other/zod/member.zod.d.ts +2 -10
  20. package/dist/other/zod/r2Storage.zod.d.ts +9 -41
  21. package/dist/other/zod/r2Storage.zod.js +2 -0
  22. package/dist/other/zod/rumbleStreamer.zod.d.ts +63 -456
  23. package/dist/other/zod/schema.zod.d.ts +130 -17
  24. package/dist/other/zod/schema.zod.js +43 -21
  25. package/dist/other/zod/starboard.zod.d.ts +36 -138
  26. package/dist/other/zod/team.zod.d.ts +9 -79
  27. package/dist/other/zod/tiktokStreamer.zod.d.ts +59 -397
  28. package/dist/other/zod/twitchStreamer.zod.d.ts +58 -396
  29. package/dist/other/zod/user.zod.d.ts +123 -556
  30. package/dist/other/zod/youtubeStreamer.zod.d.ts +58 -398
  31. package/dist/other/zod/zod.d.ts +12 -83
  32. package/dist/other/zod/zod.js +5 -3
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +2 -2
  35. package/prisma/generated/ts-prisma.d.ts +2942 -352
  36. package/prisma/schema/models/client.prisma +71 -53
  37. package/prisma/schema/models/drops.prisma +127 -125
  38. package/prisma/schema/models/giveaways.prisma +49 -49
  39. package/prisma/schema/models/guild.prisma +239 -222
  40. package/prisma/schema/models/kickStreamer.prisma +125 -125
  41. package/prisma/schema/models/member.prisma +5 -5
  42. package/prisma/schema/models/r2Storage.prisma +13 -11
  43. package/prisma/schema/models/rumbleStreamer.prisma +73 -73
  44. package/prisma/schema/models/starboard.prisma +36 -36
  45. package/prisma/schema/models/team.prisma +21 -21
  46. package/prisma/schema/models/tiktokStreamer.prisma +74 -74
  47. package/prisma/schema/models/twitchStreamer.prisma +74 -74
  48. package/prisma/schema/models/user.prisma +117 -117
  49. package/prisma/schema/models/youtubeStreamer.prisma +75 -75
@@ -1,89 +1,107 @@
1
1
  model Client {
2
- dbId String @id @default(uuid())
2
+ dbId String @id @default(uuid())
3
3
 
4
- clientId String @unique
4
+ clientId String @unique
5
5
 
6
- totalGiveaways Int? @default(0)
7
- totalNotifications Int? @default(0)
8
- statChannels Int? @default(0)
9
- statusRoles Int? @default(0)
10
- totalClips Int? @default(0)
11
- totalVods Int? @default(0)
6
+ totalGiveaways Int? @default(0)
7
+ totalNotifications Int? @default(0)
8
+ statChannels Int? @default(0)
9
+ statusRoles Int? @default(0)
10
+ totalClips Int? @default(0)
11
+ totalVods Int? @default(0)
12
12
 
13
- recentWhitelist String[]
14
- dashWhitelist String[]
15
- staff String[]
13
+ recentWhitelist String[]
14
+ dashWhitelist String[]
15
+ staff String[]
16
16
 
17
- faq ClientFAQ[]
18
- blogs ClientBlog[]
19
- changelogs ClientChangelog[]
17
+ faq ClientFAQ[]
18
+ blogs ClientBlog[]
19
+ changelogs ClientChangelog[]
20
20
 
21
- logRawDataFor ClientLogRawData[]
21
+ logRawDataFor ClientLogRawData[]
22
+
23
+ twitchCredentials ClientTwitch?
24
+ }
25
+
26
+ model ClientTwitch {
27
+ dbId String @id @default(uuid())
28
+
29
+ clientId String @unique
30
+ client Client @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
31
+
32
+ twitchGqlClientId String
33
+ twitchGqlAuthToken String
34
+ twitchGqlClientIntegrity String?
35
+ twitchGqlClientSessionId String?
36
+ twitchGqlClientVersion String?
37
+
38
+ updatedAt DateTime @default(now()) @updatedAt
39
+ createdAt DateTime @default(now())
22
40
  }
23
41
 
24
42
  model ClientFAQ {
25
- dbId String @id @default(uuid())
43
+ dbId String @id @default(uuid())
26
44
 
27
- identifier String @unique
28
- question String?
29
- answer String?
45
+ identifier String @unique
46
+ question String?
47
+ answer String?
30
48
 
31
- clientId String
32
- client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
49
+ clientId String
50
+ client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
33
51
  }
34
52
 
35
53
  model ClientChangelog {
36
- dbId String @id @default(uuid())
54
+ dbId String @id @default(uuid())
37
55
 
38
- identifier String @unique
56
+ identifier String @unique
39
57
 
40
- date DateTime
41
- changes String[]
42
- title String
58
+ date DateTime
59
+ changes String[]
60
+ title String
43
61
 
44
- isPublic Boolean @default(false)
45
- thumbnail String?
62
+ isPublic Boolean @default(false)
63
+ thumbnail String?
46
64
 
47
- clientId String
48
- client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
65
+ clientId String
66
+ client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
49
67
  }
50
68
 
51
69
  model ClientBlog {
52
- dbId String @id @default(uuid())
70
+ dbId String @id @default(uuid())
53
71
 
54
- identifier String @unique
72
+ identifier String @unique
55
73
 
56
- title String
57
- isPinned Boolean @default(false)
74
+ title String
75
+ isPinned Boolean @default(false)
58
76
 
59
- views Int? @default(0)
60
- reactions String[]
61
- reactionsCount Int? @default(0)
77
+ views Int? @default(0)
78
+ reactions String[]
79
+ reactionsCount Int? @default(0)
62
80
 
63
- tags String[]
64
- content String
65
- thumbnail String?
81
+ tags String[]
82
+ content String
83
+ thumbnail String?
66
84
 
67
- authorName String
68
- authorIcon String
85
+ authorName String
86
+ authorIcon String
69
87
 
70
- createdAt DateTime
71
- lastEdited DateTime
88
+ createdAt DateTime
89
+ lastEdited DateTime
72
90
 
73
- isPublic Boolean @default(false)
91
+ isPublic Boolean @default(false)
74
92
 
75
- clientId String
76
- client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
93
+ clientId String
94
+ client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
77
95
  }
78
96
 
79
97
  model ClientLogRawData {
80
- dbId String @id @default(uuid())
98
+ dbId String @id @default(uuid())
81
99
 
82
- username String
83
- platform PlatformEnum
100
+ username String
101
+ platform PlatformEnum
84
102
 
85
- clientId String
86
- client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
103
+ clientId String
104
+ client Client? @relation(fields: [clientId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
87
105
 
88
- @@unique([username, platform, clientId])
106
+ @@unique([username, platform, clientId])
89
107
  }
@@ -1,174 +1,176 @@
1
1
  model Drop {
2
- dbId String @id @default(uuid())
3
-
4
- // Platform-specific drop ID
5
- dropId String @unique
6
- platform PlatformEnum
7
-
8
- // Drop information
9
- name String
10
- description String? @db.VarChar(2000)
11
- imageUrl String?
12
- url String?
13
-
14
- // Timing
15
- startsAt DateTime
16
- endsAt DateTime
17
- status String // upcoming, active, ended
18
-
19
- // Organization/Creator info
20
- organizationId String?
21
- organizationName String?
22
- organizationUrl String?
23
-
24
- // Game/Category relation
25
- gameId String?
26
- game DropGame? @relation(fields: [gameId], references: [dbId], onUpdate: Cascade, onDelete: SetNull)
27
-
28
- // Platform-specific data stored as JSON for flexibility
29
- // Kick: channels array, rewards array, rule, etc.
30
- // Twitch: will have different structure
31
- platformData Json?
32
-
33
- createdAt DateTime @default(now())
34
- updatedAt DateTime @updatedAt
35
-
36
- // Relations
37
- sentDrops SentDrop[]
38
-
39
- @@unique([dropId, platform])
40
- @@index([platform, status])
41
- @@index([gameId])
42
- @@index([startsAt])
43
- @@index([endsAt])
2
+ dbId String @id @default(uuid())
3
+
4
+ // Platform-specific drop ID
5
+ dropId String @unique
6
+ platform PlatformEnum
7
+
8
+ // Drop information
9
+ name String
10
+ description String? @db.VarChar(2000)
11
+ imageUrl String?
12
+ url String?
13
+
14
+ // Timing
15
+ startsAt DateTime
16
+ endsAt DateTime
17
+ status String // upcoming, active, ended
18
+
19
+ // Organization/Creator info
20
+ organizationId String?
21
+ organizationName String?
22
+ organizationUrl String?
23
+
24
+ // Game/Category relation
25
+ gameId String?
26
+ game DropGame? @relation(fields: [gameId], references: [dbId], onUpdate: Cascade, onDelete: SetNull)
27
+
28
+ // Platform-specific data stored as JSON for flexibility
29
+ // Kick: channels array, rewards array, rule, etc.
30
+ // Twitch: will have different structure
31
+ platformData Json?
32
+
33
+ createdAt DateTime @default(now())
34
+ updatedAt DateTime @updatedAt
35
+
36
+ // Relations
37
+ sentDrops SentDrop[]
38
+
39
+ @@unique([dropId, platform])
40
+ @@index([platform, status])
41
+ @@index([gameId])
42
+ @@index([startsAt])
43
+ @@index([endsAt])
44
44
  }
45
45
 
46
46
  model DropGame {
47
- dbId String @id @default(uuid())
47
+ dbId String @id @default(uuid())
48
48
 
49
- // Game/Category information - NOT unique alone because same game can exist on multiple platforms
50
- gameId String // Platform-specific game ID (e.g., "13" for Rust on Kick, "263490" for Rust on Twitch)
51
- platform PlatformEnum
52
- name String
53
- slug String?
54
- imageUrl String?
55
- description String? @db.VarChar(2000)
49
+ // Game/Category information - NOT unique alone because same game can exist on multiple platforms
50
+ gameId String // Platform-specific game ID (e.g., "13" for Rust on Kick, "263490" for Rust on Twitch)
51
+ platform PlatformEnum
52
+ name String
53
+ slug String?
54
+ imageUrl String?
55
+ description String? @db.VarChar(2000)
56
56
 
57
- // Platform-specific data
58
- platformData Json?
57
+ ignored Boolean @default(false) // If true, drops from this game will be ignored globally
59
58
 
60
- createdAt DateTime @default(now())
61
- updatedAt DateTime @updatedAt
59
+ // Platform-specific data
60
+ platformData Json?
62
61
 
63
- // Relations
64
- drops Drop[]
65
- guildDropsGames GuildDropsGame[]
62
+ createdAt DateTime @default(now())
63
+ updatedAt DateTime @updatedAt
66
64
 
67
- @@unique([gameId, platform]) // Same game ID can exist on different platforms
68
- @@index([platform])
69
- @@index([name]) // For searching games by name
65
+ // Relations
66
+ drops Drop[]
67
+ guildDropsGames GuildDropsGame[]
68
+
69
+ @@unique([gameId, platform]) // Same game ID can exist on different platforms
70
+ @@index([platform])
71
+ @@index([name]) // For searching games by name
70
72
  }
71
73
 
72
74
  model GuildDrops {
73
- dbId String @id @default(uuid())
75
+ dbId String @id @default(uuid())
74
76
 
75
- guildId String @unique
77
+ guildId String @unique
76
78
 
77
- // Platform-specific enables - user can enable one or both
78
- kickEnabled Boolean @default(false)
79
- twitchEnabled Boolean @default(false)
79
+ // Platform-specific enables - user can enable one or both
80
+ kickEnabled Boolean @default(false)
81
+ twitchEnabled Boolean @default(false)
80
82
 
81
- // Basic settings
82
- liveNotifications Boolean @default(false) // Whether to send notifications when drops go live
83
+ // Basic settings
84
+ liveNotifications Boolean @default(false) // Whether to send notifications when drops go live
83
85
 
84
- // Discord notification settings
85
- kickChannelId String?
86
- kickRoleId String?
87
- twitchChannelId String?
88
- twitchRoleId String?
89
- // Platform-specific live notification overrides
90
- kickLiveNotificationChannelId String?
91
- kickLiveNotificationRoleId String?
92
- twitchLiveNotificationChannelId String?
93
- twitchLiveNotificationRoleId String?
86
+ // Discord notification settings
87
+ kickChannelId String?
88
+ kickRoleId String?
89
+ twitchChannelId String?
90
+ twitchRoleId String?
91
+ // Platform-specific live notification overrides
92
+ kickLiveNotificationChannelId String?
93
+ kickLiveNotificationRoleId String?
94
+ twitchLiveNotificationChannelId String?
95
+ twitchLiveNotificationRoleId String?
94
96
 
95
- // Webhook configuration (optional)
96
- webhook GuildDropsWebhook?
97
+ // Webhook configuration (optional)
98
+ webhook GuildDropsWebhook?
97
99
 
98
- // Game filters - which games to notify about
99
- games GuildDropsGame[]
100
+ // Game filters - which games to notify about
101
+ games GuildDropsGame[]
100
102
 
101
- createdAt DateTime @default(now())
102
- updatedAt DateTime @updatedAt
103
+ createdAt DateTime @default(now())
104
+ updatedAt DateTime @updatedAt
103
105
 
104
- @@index([kickEnabled])
105
- @@index([twitchEnabled])
106
+ @@index([kickEnabled])
107
+ @@index([twitchEnabled])
106
108
  }
107
109
 
108
110
  model GuildDropsWebhook {
109
- dbId String @id @default(uuid())
111
+ dbId String @id @default(uuid())
110
112
 
111
- avatarUrl String?
112
- username String?
113
+ avatarUrl String?
114
+ username String?
113
115
 
114
- guildDropsId String @unique
115
- guildDrops GuildDrops? @relation(fields: [guildDropsId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
116
+ guildDropsId String @unique
117
+ guildDrops GuildDrops? @relation(fields: [guildDropsId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
116
118
  }
117
119
 
118
120
  model GuildDropsGame {
119
- dbId String @id @default(uuid())
121
+ dbId String @id @default(uuid())
120
122
 
121
- gameId String
122
- game DropGame? @relation(fields: [gameId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
123
+ gameId String
124
+ game DropGame? @relation(fields: [gameId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
123
125
 
124
- guildDropsId String
125
- guildDrops GuildDrops? @relation(fields: [guildDropsId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
126
+ guildDropsId String
127
+ guildDrops GuildDrops? @relation(fields: [guildDropsId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
126
128
 
127
- channelId String?
128
- roleId String?
129
- liveNotifications Boolean? // If null, uses GuildDrops.liveNotifications
129
+ channelId String?
130
+ roleId String?
131
+ liveNotifications Boolean? // If null, uses GuildDrops.liveNotifications
130
132
 
131
- // Per-game webhook configuration (overrides GuildDrops webhook)
132
- webhook GuildDropsGameWebhook?
133
+ // Per-game webhook configuration (overrides GuildDrops webhook)
134
+ webhook GuildDropsGameWebhook?
133
135
 
134
- createdAt DateTime @default(now())
136
+ createdAt DateTime @default(now())
135
137
 
136
- @@unique([guildDropsId, gameId])
137
- @@index([gameId])
138
+ @@unique([guildDropsId, gameId])
139
+ @@index([gameId])
138
140
  }
139
141
 
140
142
  model GuildDropsGameWebhook {
141
- dbId String @id @default(uuid())
143
+ dbId String @id @default(uuid())
142
144
 
143
- avatarUrl String?
144
- username String?
145
+ avatarUrl String?
146
+ username String?
145
147
 
146
- guildDropsGameId String @unique
147
- guildDropsGame GuildDropsGame? @relation(fields: [guildDropsGameId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
148
+ guildDropsGameId String @unique
149
+ guildDropsGame GuildDropsGame? @relation(fields: [guildDropsGameId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
148
150
  }
149
151
 
150
152
  model SentDrop {
151
- dbId String @id @default(uuid())
153
+ dbId String @id @default(uuid())
152
154
 
153
- // References
154
- dropId String
155
- drop Drop? @relation(fields: [dropId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
155
+ // References
156
+ dropId String
157
+ drop Drop? @relation(fields: [dropId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
156
158
 
157
- guildId String
158
- platform PlatformEnum
159
+ guildId String
160
+ platform PlatformEnum
159
161
 
160
- // Discord message info for potential updates/deletion
161
- channelId String?
162
- messageId String?
162
+ // Discord message info for potential updates/deletion
163
+ channelId String?
164
+ messageId String?
163
165
 
164
- // When was it sent
165
- sentAt DateTime @default(now())
166
+ // When was it sent
167
+ sentAt DateTime @default(now())
166
168
 
167
- // This will be deleted after the drop ends
168
- // The drop itself remains for SEO purposes
169
+ // This will be deleted after the drop ends
170
+ // The drop itself remains for SEO purposes
169
171
 
170
- @@unique([dropId, guildId])
171
- @@index([platform])
172
- @@index([sentAt])
173
- @@index([guildId])
172
+ @@unique([dropId, guildId])
173
+ @@index([platform])
174
+ @@index([sentAt])
175
+ @@index([guildId])
174
176
  }
@@ -1,82 +1,82 @@
1
1
  model GuildGiveaway {
2
- dbId String @id @default(uuid())
2
+ dbId String @id @default(uuid())
3
3
 
4
- giveawayId String @unique
4
+ giveawayId String @unique
5
5
 
6
- guildId String
7
- channelId String
8
- messageId String?
6
+ guildId String
7
+ channelId String
8
+ messageId String?
9
9
 
10
- name String
11
- winnerIds String[]
10
+ name String
11
+ winnerIds String[]
12
12
 
13
- mentionRole String?
14
- emojiUnicodeOrId String?
15
- buttonLabel String?
13
+ mentionRole String?
14
+ emojiUnicodeOrId String?
15
+ buttonLabel String?
16
16
 
17
- liveEntryCountUpdatedAt DateTime?
18
- currentEntries GuildGiveawayEntry[]
17
+ liveEntryCountUpdatedAt DateTime?
18
+ currentEntries GuildGiveawayEntry[]
19
19
 
20
- startedAt DateTime?
21
- durationMinutes Int
22
- endedAt DateTime?
20
+ startedAt DateTime?
21
+ durationMinutes Int
22
+ endedAt DateTime?
23
23
 
24
- hostId String?
24
+ hostId String?
25
25
 
26
- maxEntries Int?
27
- winnerCount Int
28
- entryFilter GuildGiveawayFilter?
26
+ maxEntries Int?
27
+ winnerCount Int
28
+ entryFilter GuildGiveawayFilter?
29
29
 
30
- disableDoubleVoteEntry Boolean?
30
+ disableDoubleVoteEntry Boolean?
31
31
 
32
- roleBonusType RoleBonusEnum?
33
- roleBonuses GuildGiveawayRoleBonus[]
34
- requirements GuildGiveawayRequirements?
35
- bypassRequirementsRoles String[]
32
+ roleBonusType RoleBonusEnum?
33
+ roleBonuses GuildGiveawayRoleBonus[]
34
+ requirements GuildGiveawayRequirements?
35
+ bypassRequirementsRoles String[]
36
36
  }
37
37
 
38
38
  model GuildGiveawayEntry {
39
- dbId String @id @default(uuid())
39
+ dbId String @id @default(uuid())
40
40
 
41
- userId String
42
- username String
43
- entries Int
41
+ userId String
42
+ username String
43
+ entries Int
44
44
 
45
- guildGiveawayId String
46
- guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
45
+ guildGiveawayId String
46
+ guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
47
47
  }
48
48
 
49
49
  model GuildGiveawayFilter {
50
- dbId String @id @default(uuid())
50
+ dbId String @id @default(uuid())
51
51
 
52
- roleMode FilterEnum
53
- roles String[]
52
+ roleMode FilterEnum
53
+ roles String[]
54
54
 
55
- guildGiveawayId String @unique
56
- guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
55
+ guildGiveawayId String @unique
56
+ guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
57
57
  }
58
58
 
59
59
  model GuildGiveawayRoleBonus {
60
- dbId String @id @default(uuid())
60
+ dbId String @id @default(uuid())
61
61
 
62
- roles String[]
63
- additionalEntries Int
62
+ roles String[]
63
+ additionalEntries Int
64
64
 
65
- guildGiveawayId String
66
- guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
65
+ guildGiveawayId String
66
+ guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
67
67
 
68
- @@unique([guildGiveawayId, additionalEntries])
68
+ @@unique([guildGiveawayId, additionalEntries])
69
69
  }
70
70
 
71
71
  model GuildGiveawayRequirements {
72
- dbId String @id @default(uuid())
72
+ dbId String @id @default(uuid())
73
73
 
74
- joinedServerBefore DateTime?
75
- accountCreatedBefore DateTime?
76
- boostingServer Boolean?
77
- messageCount Int?
78
- roles String[]
74
+ joinedServerBefore DateTime?
75
+ accountCreatedBefore DateTime?
76
+ boostingServer Boolean?
77
+ messageCount Int?
78
+ roles String[]
79
79
 
80
- guildGiveawayId String @unique
81
- guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
80
+ guildGiveawayId String @unique
81
+ guildGiveaway GuildGiveaway? @relation(fields: [guildGiveawayId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
82
82
  }