Skip to content

Commit 0061ddf

Browse files
authored
Merge pull request #377 from MooreTheAnalyst/fix/238-aml-alert-prisma-relations
fix(#238): add Prisma relations to AMLAlert model
2 parents 698f622 + fea8aba commit 0061ddf

1 file changed

Lines changed: 50 additions & 51 deletions

File tree

backend/prisma/schema.prisma

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,45 +7,38 @@ datasource db {
77
}
88

99
model User {
10-
id String @id @default(uuid())
11-
publicKey String @unique
12-
createdAt DateTime @default(now())
13-
updatedAt DateTime @updatedAt
14-
settings Setting?
15-
sentTxs Transaction[] @relation("sender")
16-
receivedTxs Transaction[] @relation("recipient")
17-
notifications Notification[]
18-
notificationPreference NotificationPreference?
19-
id String @id @default(uuid())
20-
publicKey String @unique
21-
createdAt DateTime @default(now())
22-
updatedAt DateTime @updatedAt
23-
settings Setting?
24-
sentTxs Transaction[] @relation("sender")
25-
receivedTxs Transaction[] @relation("recipient")
26-
sentStreams PaymentStream[] @relation("streamSender")
27-
receivedStreams PaymentStream[] @relation("streamRecipient")
28-
kycRecord KYCRecord?
29-
sentTxs Transaction[] @relation("sender")
30-
receivedTxs Transaction[] @relation("recipient")
10+
id String @id @default(uuid())
11+
publicKey String @unique
12+
createdAt DateTime @default(now())
13+
updatedAt DateTime @updatedAt
14+
settings Setting?
15+
sentTxs Transaction[] @relation("sender")
16+
receivedTxs Transaction[] @relation("recipient")
17+
sentStreams PaymentStream[] @relation("streamSender")
18+
receivedStreams PaymentStream[] @relation("streamRecipient")
19+
notifications Notification[]
20+
notificationPreference NotificationPreference?
21+
kycRecord KYCRecord?
22+
amlAlerts AMLAlert[]
3123
}
3224

3325
model Transaction {
34-
id String @id @default(uuid())
35-
hash String @unique
36-
assetCode String @default("XLM")
26+
id String @id @default(uuid())
27+
hash String @unique
28+
assetCode String @default("XLM")
3729
amount Decimal
3830
ledger Int?
39-
successful Boolean @default(true)
40-
createdAt DateTime @default(now())
31+
successful Boolean @default(true)
32+
createdAt DateTime @default(now())
4133
senderId String
42-
sender User @relation("sender", fields: [senderId], references: [id])
34+
sender User @relation("sender", fields: [senderId], references: [id])
4335
recipientId String
44-
recipient User @relation("recipient", fields: [recipientId], references: [id])
45-
retryAttempts Int @default(0)
36+
recipient User @relation("recipient", fields: [recipientId], references: [id])
37+
retryAttempts Int @default(0)
4638
retryStatus String?
4739
lastRetryAt DateTime?
4840
retryHistory RetryAttempt[]
41+
amlAlerts AMLAlert[]
4942
}
5043

5144
model RetryAttempt {
@@ -59,12 +52,12 @@ model RetryAttempt {
5952
}
6053

6154
model Setting {
62-
id String @id @default(uuid())
63-
userId String @unique
64-
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
65-
defaultAsset String @default("XLM")
66-
notificationsOn Boolean @default(true)
67-
updatedAt DateTime @updatedAt
55+
id String @id @default(uuid())
56+
userId String @unique
57+
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
58+
defaultAsset String @default("XLM")
59+
notificationsOn Boolean @default(true)
60+
updatedAt DateTime @updatedAt
6861
}
6962

7063
enum StreamStatus {
@@ -82,17 +75,19 @@ model PaymentStream {
8275
recipientId String
8376
recipient User @relation("streamRecipient", fields: [recipientId], references: [id])
8477
assetCode String @default("XLM")
85-
rateAmount Decimal // amount to stream per interval
78+
rateAmount Decimal
8679
intervalSeconds Int @default(60)
8780
startTime DateTime @default(now())
8881
endTime DateTime?
8982
lastProcessedAt DateTime @default(now())
90-
totalStreamed Decimal @default(0)
83+
totalStreamed Decimal @default(0)
9184
status StreamStatus @default(ACTIVE)
9285
failureCount Int @default(0)
9386
metadata Json?
9487
createdAt DateTime @default(now())
9588
updatedAt DateTime @updatedAt
89+
}
90+
9691
model Notification {
9792
id String @id @default(uuid())
9893
userId String
@@ -111,22 +106,24 @@ model Notification {
111106
}
112107

113108
model NotificationPreference {
114-
id String @id @default(uuid())
115-
userId String @unique
116-
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
117-
emailEnabled Boolean @default(true)
118-
pushEnabled Boolean @default(true)
119-
smsEnabled Boolean @default(false)
120-
inAppEnabled Boolean @default(true)
121-
quietHoursStart Int @default(22)
122-
quietHoursEnd Int @default(7)
123-
typeOverrides Json?
124-
updatedAt DateTime @updatedAt
109+
id String @id @default(uuid())
110+
userId String @unique
111+
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
112+
emailEnabled Boolean @default(true)
113+
pushEnabled Boolean @default(true)
114+
smsEnabled Boolean @default(false)
115+
inAppEnabled Boolean @default(true)
116+
quietHoursStart Int @default(22)
117+
quietHoursEnd Int @default(7)
118+
typeOverrides Json?
119+
updatedAt DateTime @updatedAt
120+
}
121+
125122
model KYCRecord {
126123
id String @id @default(uuid())
127124
userId String @unique
128125
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
129-
status String @default("PENDING") // PENDING | APPROVED | REJECTED | UNDER_REVIEW
126+
status String @default("PENDING")
130127
fullName String
131128
dateOfBirth String
132129
nationality String
@@ -142,13 +139,15 @@ model KYCRecord {
142139
}
143140

144141
model AMLAlert {
145-
id String @id @default(uuid())
142+
id String @id @default(uuid())
146143
transactionId String
144+
transaction Transaction @relation(fields: [transactionId], references: [id], onDelete: Restrict)
147145
userId String
146+
user User @relation(fields: [userId], references: [id], onDelete: Restrict)
148147
ruleId String
149148
severity String
150149
description String
151150
riskScore Int
152151
riskLevel String
153-
createdAt DateTime @default(now())
152+
createdAt DateTime @default(now())
154153
}

0 commit comments

Comments
 (0)