portal-payment-be/prisma/schema.prisma

420 lines
20 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model users {
user_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
tenant_id String @db.Uuid
bank_id String @db.Uuid
partnerserviceid String?
client_id String?
client_secret String?
api_key String?
api_secret String?
username String?
password String?
token_access String?
token_refresh String?
token_expiry DateTime? @db.Timestamptz(6)
extra_json Json?
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
db_id String? @db.Uuid
last_login DateTime? @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
pharaphrase String?
private_key String?
private_key_file String?
clientbank_id String
public_key String?
public_key_file String?
access access[]
activity_logs activity_logs[]
auth_logs auth_logs[]
dashboards dashboards[]
invoice invoice[]
parameters parameters[]
sessions sessions[]
transactions transactions[]
user_access user_access[]
banks banks @relation(fields: [bank_id], references: [bank_id], onDelete: NoAction, onUpdate: NoAction)
database database? @relation(fields: [db_id], references: [db_id], onDelete: NoAction, onUpdate: NoAction)
tenants tenants @relation(fields: [tenant_id], references: [tenant_id], onDelete: NoAction, onUpdate: NoAction)
}
model database {
db_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String @unique @db.VarChar(100)
host String @db.VarChar(100)
port Int
username String @db.VarChar(100)
password String @db.VarChar(100)
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
db_name String @db.VarChar(100)
is_synced String? @default("N") @db.Char(1)
invoice invoice[]
invoice_lines invoice_lines[]
transactions transactions[]
transactions_lines transactions_lines[]
users users[]
}
model access {
access_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String @db.Uuid
access_type String @db.VarChar(50)
access_value String
is_created Boolean @default(false)
is_updated Boolean @default(false)
is_deleted Boolean @default(false)
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
read_only Boolean @default(true)
users users @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
@@unique([user_id, access_type])
}
model activity_logs {
log_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String? @db.Uuid
action String @db.VarChar(100)
status String @db.VarChar(50)
message String?
extra_json Json?
created_at DateTime @default(now()) @db.Timestamptz(6)
users users? @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
}
model auth_logs {
log_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String @db.Uuid
action String @db.VarChar(100)
status String @db.VarChar(50)
message String?
extra_json Json?
created_at DateTime @default(now()) @db.Timestamptz(6)
users users @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
}
model banks {
bank_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
code String @unique @db.VarChar(50)
name String @db.VarChar(150)
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
bank_code_id String? @db.Uuid
bank_code bank_code? @relation(fields: [bank_code_id], references: [bank_code_id], onDelete: NoAction, onUpdate: NoAction)
invoice invoice[]
transactions transactions[]
transactions_to transactions[] @relation("transactions_bankto_idTobanks")
users users[]
}
model dashboards {
dashboard_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String @db.Uuid
title String @db.VarChar(150)
value Decimal @db.Decimal(20, 2)
date DateTime @default(now()) @db.Timestamptz(6)
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
users users @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
}
model parameters {
parameter_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String @db.Uuid
param_key String @db.VarChar(100)
param_value String
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
users users @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
}
model tenants {
tenant_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
code String @unique @db.VarChar(50)
name String @db.VarChar(150)
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
invoice invoice[]
transactions transactions[]
users users[]
whitelistcors whitelistcors[]
}
model user_access {
access_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String @db.Uuid
access_type String @db.VarChar(50)
access_value String
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
users users @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
@@unique([user_id, access_type])
}
model sessions {
session_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String @db.Uuid
token_hash String? @db.VarChar(128)
expires_at DateTime? @db.Timestamptz(6)
is_revoked Boolean @default(false)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
signature String?
users users @relation(fields: [user_id], references: [user_id], onDelete: NoAction, onUpdate: NoAction)
@@index([user_id])
@@index([token_hash])
@@index([signature])
}
/// The underlying table does not contain a valid unique identifier and can therefore currently not be handled by Prisma Client.
model rv_openitem {
ad_org_id Decimal? @db.Decimal(10, 0)
ad_client_id Decimal? @db.Decimal(10, 0)
documentno String? @db.VarChar(30)
c_invoice_id Decimal? @db.Decimal(10, 0)
c_order_id Decimal? @db.Decimal(10, 0)
c_bpartner_id Decimal? @db.Decimal(10, 0)
issotrx String? @db.Char(1)
dateinvoiced DateTime? @db.Timestamp(6)
dateacct DateTime? @db.Timestamp(6)
netdays Decimal? @db.Decimal
duedate DateTime? @db.Timestamptz(6)
daysdue Int?
discountdate DateTime? @db.Timestamp(6)
discountamt Decimal? @db.Decimal
grandtotal Decimal? @db.Decimal
paidamt Decimal? @db.Decimal
openamt Decimal? @db.Decimal
c_currency_id Decimal? @db.Decimal(10, 0)
c_conversiontype_id Decimal? @db.Decimal(10, 0)
c_paymentterm_id Decimal? @db.Decimal(10, 0)
ispayschedulevalid String? @db.Char(1)
c_invoicepayschedule_id Decimal? @db.Decimal
invoicecollectiontype String? @db.Char(1)
c_campaign_id Decimal? @db.Decimal(10, 0)
c_project_id Decimal? @db.Decimal(10, 0)
c_activity_id Decimal? @db.Decimal(10, 0)
ad_orgtrx_id Decimal? @db.Decimal(10, 0)
ad_user_id Decimal? @db.Decimal(10, 0)
c_bpartner_location_id Decimal? @db.Decimal(10, 0)
c_charge_id Decimal? @db.Decimal(10, 0)
c_doctype_id Decimal? @db.Decimal(10, 0)
c_doctypetarget_id Decimal? @db.Decimal(10, 0)
c_dunninglevel_id Decimal? @db.Decimal(10, 0)
chargeamt Decimal? @db.Decimal
c_payment_id Decimal? @db.Decimal(10, 0)
created DateTime? @db.Timestamp(6)
createdby Decimal? @db.Decimal(10, 0)
dateordered DateTime? @db.Timestamp(6)
dateprinted DateTime? @db.Timestamp(6)
description String? @db.VarChar(255)
docaction String? @db.Char(2)
docstatus String? @db.Char(2)
dunninggrace DateTime? @db.Date
generateto String? @db.Char(1)
isactive String? @db.Char(1)
isapproved String? @db.Char(1)
isdiscountprinted String? @db.Char(1)
isindispute String? @db.Char(1)
ispaid String? @db.Char(1)
isprinted String? @db.Char(1)
isselfservice String? @db.Char(1)
istaxincluded String? @db.Char(1)
istransferred String? @db.Char(1)
m_pricelist_id Decimal? @db.Decimal(10, 0)
m_rma_id Decimal? @db.Decimal(10, 0)
paymentrule String? @db.Char(1)
poreference String? @db.VarChar(50)
posted String? @db.Char(1)
processedon Decimal? @db.Decimal
processing String? @db.Char(1)
ref_invoice_id Decimal? @db.Decimal(10, 0)
reversal_id Decimal? @db.Decimal(10, 0)
salesrep_id Decimal? @db.Decimal(10, 0)
sendemail String? @db.Char(1)
totallines Decimal? @db.Decimal
updated DateTime? @db.Timestamp(6)
updatedby Decimal? @db.Decimal(10, 0)
user1_id Decimal? @db.Decimal(10, 0)
user2_id Decimal? @db.Decimal(10, 0)
kodebp String? @db.VarChar(40)
noorder String? @db.VarChar(30)
orderdesc String? @db.VarChar(255)
db_id String? @db.Uuid
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
is_pay String? @default("N") @db.Char(1)
invoicePartners invoicePartner[]
}
model transactions {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String? @db.Uuid
status String @db.VarChar(50)
amount Decimal @db.Decimal(20, 2)
c_bpartner_id Decimal? @db.Decimal(10, 0)
created_at DateTime? @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
bank_id String @db.Uuid
tenant_id String @db.Uuid
description String? @db.VarChar(255)
channelCode Int?
customerNo String? @db.VarChar(50)
db_id String? @db.Uuid
flagAdvise String? @db.Char(1)
hashedSourceAccountNo String? @db.VarChar(255)
invoice_id String? @db.Uuid
paidBills String? @db.VarChar(10)
partnerServiceId String? @db.VarChar(50)
paymentRequestId String? @db.VarChar(25)
referenceNo String? @db.VarChar(50)
trxDateTime DateTime? @db.Timestamptz(6)
virtualAccountName String? @db.VarChar(255)
virtualAccountNo String? @db.VarChar(50)
partnerReferenceNo String? @db.VarChar(50)
bankto_id String? @db.Uuid
beneficiaryAccountName String? @db.VarChar(255)
beneficiaryAccountNo String? @db.VarChar(255)
method String? @db.VarChar(50)
originatorCustomerName String? @db.VarChar(255)
originatorCustomerNo String? @db.VarChar(50)
sourceAccountNo String? @db.VarChar(255)
external_id String? @db.VarChar(50)
documentno String? @db.VarChar(255)
banks banks @relation(fields: [bank_id], references: [bank_id], onDelete: NoAction, onUpdate: NoAction)
banks_to banks? @relation("transactions_bankto_idTobanks", fields: [bankto_id], references: [bank_id], onDelete: NoAction, onUpdate: NoAction)
database database? @relation(fields: [db_id], references: [db_id], onDelete: NoAction, onUpdate: NoAction)
invoice invoice? @relation(fields: [invoice_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
tenants tenants @relation(fields: [tenant_id], references: [tenant_id], onDelete: NoAction, onUpdate: NoAction)
users users? @relation(fields: [user_id], references: [user_id])
transactions_lines transactions_lines[]
}
model transactions_lines {
transaction_id String @db.Uuid
description String? @db.VarChar(255)
amount Decimal? @db.Decimal(20, 2)
db_id String? @db.Uuid
c_invoice_id Decimal? @db.Decimal(10, 0)
created_at DateTime? @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
tenant_id String @db.Uuid
line_no Int @default(1)
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
c_payment_id Decimal? @db.Decimal(10, 0)
documentno String? @db.VarChar(255)
database database? @relation(fields: [db_id], references: [db_id], onDelete: NoAction, onUpdate: NoAction)
transactions transactions @relation(fields: [transaction_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
}
model bank_code {
bank_code_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
code String @db.VarChar(50)
name String @db.VarChar(150)
is_active Boolean @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
banks banks[]
}
model invoicePartner {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
partnerServiceId String @db.VarChar(50)
c_bpartner_id Decimal? @db.Decimal(10, 0)
db_id String? @db.Uuid
c_invoice_id Decimal? @db.Decimal(10, 0)
invoiceAmount Decimal? @db.Decimal(20, 2)
payedAmount Decimal? @db.Decimal(20, 2)
amount Decimal? @db.Decimal(20, 2)
is_active Boolean @default(true)
is_pay Boolean @default(false)
rv_openitem_id String? @db.Uuid
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
rv_openitem rv_openitem? @relation(fields: [rv_openitem_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
}
model invoice {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
user_id String? @db.Uuid
db_id String? @db.Uuid
inquiryRequestId String? @db.VarChar(25)
date DateTime? @db.Timestamptz(6)
status String @db.VarChar(50)
amount Decimal? @db.Decimal(20, 2)
is_pay Boolean @default(false)
c_bpartner_id Decimal? @db.Decimal(10, 0)
created_at DateTime? @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
partnerServiceId String? @db.VarChar(50)
customerNo String? @db.VarChar(50)
virtualAccountNo String? @db.VarChar(50)
trxDateInit DateTime? @db.Timestamptz(6)
channelCode Int?
bank_id String @db.Uuid
tenant_id String @db.Uuid
description String? @db.VarChar(255)
banks banks @relation(fields: [bank_id], references: [bank_id], onDelete: NoAction, onUpdate: NoAction)
database database? @relation(fields: [db_id], references: [db_id], onDelete: NoAction, onUpdate: NoAction)
tenants tenants @relation(fields: [tenant_id], references: [tenant_id], onDelete: NoAction, onUpdate: NoAction)
users users? @relation(fields: [user_id], references: [user_id])
invoice_lines invoice_lines[]
transactions transactions[]
}
model invoice_lines {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
description String? @db.VarChar(255)
amount Decimal? @db.Decimal(20, 2)
c_invoice_id Decimal? @db.Decimal(10, 0)
invoice_id String? @db.Uuid
db_id String? @db.Uuid
created_at DateTime? @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
bank_id String @db.Uuid
tenant_id String @db.Uuid
line_no Int @default(1)
billcode String? @db.VarChar(10)
billname String? @db.VarChar(50)
database database? @relation(fields: [db_id], references: [db_id], onDelete: NoAction, onUpdate: NoAction)
invoice invoice? @relation(fields: [invoice_id], references: [id])
}
model sequences {
sequence_id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String @db.VarChar(100)
yyyymmdd String @db.Char(8)
value Int @default(0)
updated_at DateTime @default(now()) @db.Timestamptz(6)
@@unique([yyyymmdd, name])
}
model whitelistcors {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
tenant_id String @db.Uuid
origin String @db.VarChar(255)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6)
is_active String @default("Y") @db.Char(1)
tenants tenants @relation(fields: [tenant_id], references: [tenant_id], onDelete: NoAction, onUpdate: NoAction)
}