@@ -10,34 +10,35 @@ datasource db {
1010}
1111
1212model User {
13- id String @id @default (uuid () ) @db.Uuid
14- email String @unique
15- name String ?
16- emailVerified DateTime ?
17- image String ?
18- isArchived Boolean @default (false )
19- archivedAt DateTime ? @db.Timestamptz (6 )
20- createdAt DateTime @default (now () ) @db.Timestamptz (6 )
21- updatedAt DateTime @updatedAt @db.Timestamptz (6 )
22- totalPaid Decimal @default (0 ) @db.Decimal (65 , 14 )
23- totalSpent Decimal @default (0 ) @db.Decimal (65 , 14 )
24- admin Boolean @default (false )
25- referralGithubUserId String ? @db.Uuid
26- accounts Account []
27- sessions Session []
28- apiKeys ApiKey []
29- appMemberships AppMembership []
30- payments Payment []
31- refreshTokens RefreshToken []
32- transactions Transaction []
33- spendPoolUsage UserSpendPoolUsage []
34- ReferralCode ReferralCode []
35- appSessions AppSession []
36- Payout Payout []
37- githubLink GithubLink ?
38- latestTosVersion Decimal ?
39- latestPrivacyVersion Decimal ?
13+ id String @id @default (uuid () ) @db.Uuid
14+ email String @unique
15+ name String ?
16+ emailVerified DateTime ?
17+ image String ?
18+ isArchived Boolean @default (false )
19+ archivedAt DateTime ? @db.Timestamptz (6 )
20+ createdAt DateTime @default (now () ) @db.Timestamptz (6 )
21+ updatedAt DateTime @updatedAt @db.Timestamptz (6 )
22+ totalPaid Decimal @default (0 ) @db.Decimal (65 , 14 )
23+ totalSpent Decimal @default (0 ) @db.Decimal (65 , 14 )
24+ admin Boolean @default (false )
25+ referralGithubUserId String ? @db.Uuid
26+ accounts Account []
27+ sessions Session []
28+ apiKeys ApiKey []
29+ appMemberships AppMembership []
30+ payments Payment []
31+ refreshTokens RefreshToken []
32+ transactions Transaction []
33+ spendPoolUsage UserSpendPoolUsage []
34+ ReferralCode ReferralCode []
35+ appSessions AppSession []
36+ Payout Payout []
37+ githubLink GithubLink ?
38+ latestTosVersion Decimal ?
39+ latestPrivacyVersion Decimal ?
4040 latestFreeCreditsVersion Decimal ?
41+ OutboundEmailSent OutboundEmailSent []
4142
4243 @@map (" users " )
4344}
@@ -100,11 +101,12 @@ model EchoApp {
100101 githubLink GithubLink ? // The GitHub link for this app (one-to-one)
101102 spendPools SpendPool [] // Spend pools associated with this app
102103 ReferralCode ReferralCode []
103- currentReferralRewardId String ? @db.Uuid // Reference to current active referral reward
104- currentReferralReward ReferralReward ? @relation (" CurrentReferralReward " , fields : [currentReferralRewardId ] , references : [id ] )
105- ReferralRewards ReferralReward [] @relation (" AppReferralRewards " ) // All referral rewards for this app
104+ currentReferralRewardId String ? @db.Uuid // Reference to current active referral reward
105+ currentReferralReward ReferralReward ? @relation (" CurrentReferralReward " , fields : [currentReferralRewardId ] , references : [id ] )
106+ ReferralRewards ReferralReward [] @relation (" AppReferralRewards " ) // All referral rewards for this app
106107 appSessions AppSession []
107108 payouts Payout []
109+ OutboundEmailSent OutboundEmailSent []
108110
109111 @@map (" echo_apps " )
110112}
@@ -198,21 +200,21 @@ model AppSession {
198200}
199201
200202model Payment {
201- id String @id @default (uuid () ) @db.Uuid
202- paymentId String @unique
203- amount Decimal @db.Decimal (65 , 14 )
204- currency String @default (" usd " )
203+ id String @id @default (uuid () ) @db.Uuid
204+ paymentId String @unique
205+ amount Decimal @db.Decimal (65 , 14 )
206+ currency String @default (" usd " )
205207 status String
206208 source EnumPaymentSource @default (stripe )
207209 description String ?
208- isArchived Boolean @default (false )
209- archivedAt DateTime ? @db.Timestamptz (6 )
210- createdAt DateTime @default (now () ) @db.Timestamptz (6 )
211- updatedAt DateTime @updatedAt @db.Timestamptz (6 )
212- userId String @db.Uuid
213- spendPoolId String ? @db.Uuid
214- spendPool SpendPool ? @relation (fields : [spendPoolId ] , references : [id ] )
215- user User @relation (fields : [userId ] , references : [id ] , onDelete : Cascade )
210+ isArchived Boolean @default (false )
211+ archivedAt DateTime ? @db.Timestamptz (6 )
212+ createdAt DateTime @default (now () ) @db.Timestamptz (6 )
213+ updatedAt DateTime @updatedAt @db.Timestamptz (6 )
214+ userId String @db.Uuid
215+ spendPoolId String ? @db.Uuid
216+ spendPool SpendPool ? @relation (fields : [spendPoolId ] , references : [id ] )
217+ user User @relation (fields : [userId ] , references : [id ] , onDelete : Cascade )
216218
217219 @@map (" payments " )
218220}
@@ -254,20 +256,20 @@ model MarkUp {
254256}
255257
256258model GithubLink {
257- id String @id @default (uuid () ) @db.Uuid
258- githubId Int
259- githubType GithubType
260- githubUrl String
261- description String ?
262- isArchived Boolean @default (false )
263- archivedAt DateTime ? @db.Timestamptz (6 )
264- createdAt DateTime @default (now () ) @db.Timestamptz (6 )
265- updatedAt DateTime @updatedAt @db.Timestamptz (6 )
266- echoAppId String ? @unique @db.Uuid
267- userId String ? @unique @db.Uuid
268- echoApp EchoApp ? @relation (fields : [echoAppId ] , references : [id ] , onDelete : Cascade )
269- user User ? @relation (fields : [userId ] , references : [id ] , onDelete : Cascade )
270- Payout Payout []
259+ id String @id @default (uuid () ) @db.Uuid
260+ githubId Int
261+ githubType GithubType
262+ githubUrl String
263+ description String ?
264+ isArchived Boolean @default (false )
265+ archivedAt DateTime ? @db.Timestamptz (6 )
266+ createdAt DateTime @default (now () ) @db.Timestamptz (6 )
267+ updatedAt DateTime @updatedAt @db.Timestamptz (6 )
268+ echoAppId String ? @unique @db.Uuid
269+ userId String ? @unique @db.Uuid
270+ echoApp EchoApp ? @relation (fields : [echoAppId ] , references : [id ] , onDelete : Cascade )
271+ user User ? @relation (fields : [userId ] , references : [id ] , onDelete : Cascade )
272+ Payout Payout []
271273
272274 @@map (" github_links " )
273275}
@@ -414,18 +416,29 @@ model ReferralReward {
414416 @@map (" referral_rewards " )
415417}
416418
417-
418-
419-
420419model InFlightRequest {
421- id String @id @default (uuid () ) @db.Uuid
422- userId String @db.Uuid
423- echoAppId String @db.Uuid
424- numberInFlight Int @default (0 )
425- totalEscrowed Decimal @default (0.0 ) @db.Decimal (65 , 14 )
426- createdAt DateTime @default (now () ) @db.Timestamptz (6 )
427- updatedAt DateTime @updatedAt @db.Timestamptz (6 )
420+ id String @id @default (uuid () ) @db.Uuid
421+ userId String @db.Uuid
422+ echoAppId String @db.Uuid
423+ numberInFlight Int @default (0 )
424+ totalEscrowed Decimal @default (0.0 ) @db.Decimal (65 , 14 )
425+ createdAt DateTime @default (now () ) @db.Timestamptz (6 )
426+ updatedAt DateTime @updatedAt @db.Timestamptz (6 )
428427
429428 @@unique ([userId , echoAppId ] )
430429 @@map (" in_flight_requests " )
431- }
430+ }
431+
432+ model OutboundEmailSent {
433+ id String @id @default (uuid () ) @db.Uuid
434+ emailCampaignId String
435+ userId String @db.Uuid
436+ echoAppId String ? @db.Uuid
437+ createdAt DateTime @default (now () ) @db.Timestamptz (6 )
438+
439+ user User @relation (fields : [userId ] , references : [id ] , onDelete : Cascade )
440+ echoApp EchoApp ? @relation (fields : [echoAppId ] , references : [id ] , onDelete : Cascade )
441+
442+ @@index ([emailCampaignId ] )
443+ @@map (" outbound_emails_sent " )
444+ }
0 commit comments