Migrate KYC backend from Django to Express + Apollo Server + Prisma
All checks were successful
Build Docker Image / build (push) Successful in 2m12s
All checks were successful
Build Docker Image / build (push) Successful in 2m12s
Replace Python/Django/Graphene with TypeScript/Express/Apollo Server. Same 3 endpoints (public/user/m2m), same JWT auth via Logto. Prisma replaces Django ORM. MongoDB, Temporal and SurrealDB integrations preserved.
This commit is contained in:
67
prisma/schema.prisma
Normal file
67
prisma/schema.prisma
Normal file
@@ -0,0 +1,67 @@
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("KYC_DATABASE_URL")
|
||||
}
|
||||
|
||||
model KYCApplication {
|
||||
id Int @id @default(autoincrement())
|
||||
uuid String @unique @default(uuid())
|
||||
userId String @map("user_id") @db.VarChar(255)
|
||||
teamName String @default("") @map("team_name") @db.VarChar(200)
|
||||
countryCode String @default("") @map("country_code") @db.VarChar(2)
|
||||
workflowStatus String @default("pending") @map("workflow_status") @db.VarChar(20)
|
||||
score Int @default(0)
|
||||
contactPerson String @default("") @map("contact_person") @db.VarChar(255)
|
||||
contactEmail String @default("") @map("contact_email") @db.VarChar(254)
|
||||
contactPhone String @default("") @map("contact_phone") @db.VarChar(50)
|
||||
contentTypeId Int? @map("content_type_id")
|
||||
objectId Int? @map("object_id")
|
||||
approvedBy String? @map("approved_by") @db.VarChar(255)
|
||||
approvedAt DateTime? @map("approved_at")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
|
||||
@@index([userId])
|
||||
@@map("kyc_requests")
|
||||
}
|
||||
|
||||
model KYCProfile {
|
||||
id Int @id @default(autoincrement())
|
||||
uuid String @unique @default(uuid())
|
||||
userId String @map("user_id") @db.VarChar(255)
|
||||
teamName String @default("") @map("team_name") @db.VarChar(200)
|
||||
countryCode String @default("") @map("country_code") @db.VarChar(2)
|
||||
workflowStatus String @default("pending") @map("workflow_status") @db.VarChar(20)
|
||||
score Int @default(0)
|
||||
contactPerson String @default("") @map("contact_person") @db.VarChar(255)
|
||||
contactEmail String @default("") @map("contact_email") @db.VarChar(254)
|
||||
contactPhone String @default("") @map("contact_phone") @db.VarChar(50)
|
||||
contentTypeId Int? @map("content_type_id")
|
||||
objectId Int? @map("object_id")
|
||||
approvedBy String? @map("approved_by") @db.VarChar(255)
|
||||
approvedAt DateTime? @map("approved_at")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
|
||||
@@index([userId])
|
||||
@@map("kyc_monitoring")
|
||||
}
|
||||
|
||||
model KYCDetailsRussia {
|
||||
id Int @id @default(autoincrement())
|
||||
companyName String @map("company_name") @db.VarChar(255)
|
||||
companyFullName String @map("company_full_name")
|
||||
inn String @db.VarChar(12)
|
||||
kpp String @default("") @db.VarChar(9)
|
||||
ogrn String @default("") @db.VarChar(15)
|
||||
address String
|
||||
bankName String @map("bank_name") @db.VarChar(255)
|
||||
bik String @db.VarChar(9)
|
||||
correspondentAccount String @default("") @map("correspondent_account") @db.VarChar(20)
|
||||
|
||||
@@map("kyc_details_russia")
|
||||
}
|
||||
Reference in New Issue
Block a user