forked from Cylo-Traders/Agrocylo-PIP
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.prisma
More file actions
124 lines (108 loc) · 3.06 KB
/
Copy pathschema.prisma
File metadata and controls
124 lines (108 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "sqlite"
}
model Campaign {
id String @id
farmer String
title String @default("")
description String @default("")
targetAmount BigInt?
tokenAddress String?
deadline BigInt?
status String @default("Active")
totalFunded BigInt @default(0)
escrowContract String @default("")
trancheCount Int?
harvestOutcome String?
harvestReportedAt BigInt?
refundable BigInt?
createdAt BigInt
updatedAt DateTime @default(now()) @updatedAt
investments Investment[]
orders Order[]
transactions Transaction[]
disputes Dispute[]
tranches Tranche[]
}
model Investment {
id String @id
campaignId String
investor String
amount BigInt
txHash String?
timestamp BigInt?
createdAt DateTime @default(now())
campaign Campaign @relation(fields: [campaignId], references: [id])
user User @relation(fields: [investor], references: [address])
}
model Order {
id String @id
campaignId String?
buyer String
amount BigInt?
status String @default("Pending")
confirmedAt BigInt?
txHash String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
campaign Campaign? @relation(fields: [campaignId], references: [id])
}
model User {
address String @id
name String?
firstSeenAt BigInt?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
investments Investment[]
transactions Transaction[]
}
model Transaction {
id String @id
type String
campaignId String?
userId String?
amount BigInt?
txHash String?
status String @default("Pending")
timestamp BigInt?
data String @default("{}")
createdAt DateTime @default(now())
campaign Campaign? @relation(fields: [campaignId], references: [id])
user User? @relation(fields: [userId], references: [address])
}
model Dispute {
id String @id
campaignId String
opener String
reason String
status String @default("Open")
resolution String?
admin String?
payoutToFarmer BigInt?
refundableToInvestors BigInt?
openedAt BigInt
resolvedAt BigInt?
ledgerSequence Int?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
campaign Campaign @relation(fields: [campaignId], references: [id])
}
model Tranche {
id String @id
campaignId String
recipient String
amount BigInt
releasedAt BigInt
txHash String?
createdAt DateTime @default(now())
campaign Campaign @relation(fields: [campaignId], references: [id])
}
model IndexerCursor {
contractId String @id
lastProcessedLedger Int
updatedAt DateTime @default(now()) @updatedAt
}