refactor anchoring to be OfficeFolder based

This commit is contained in:
Loïs Mansot 2023-09-20 11:00:49 +02:00
parent 3480fa6689
commit ac529a7ceb
No known key found for this signature in database
GPG Key ID: 8CF1F4150DDA726D

View File

@ -133,17 +133,41 @@ model OfficeFolders {
customers Customers[] @relation("OfficeFolderHasCustomers") customers Customers[] @relation("OfficeFolderHasCustomers")
documents Documents[] documents Documents[]
folder_anchor OfficeFolderAnchors? @relation(fields: [folder_anchor_uid], references: [uid])
folder_anchor_uid String? @unique @db.VarChar(255)
@@unique([folder_number, office_uid]) @@unique([folder_number, office_uid])
@@map("office_folders") @@map("office_folders")
} }
model OfficeFolderAnchors {
uid String @id @unique @default(uuid())
hash_sources String[]
root_hash String @db.VarChar(255)
blockchain EBlockchainName @default(TEZOS)
status EAnchoringStatus @default(QUEUED)
anchor_nb_try Int @default(0)
anchored_at DateTime?
tx_id String? @db.VarChar(255)
tx_link String? @db.VarChar(255)
tx_hash String? @db.VarChar(255)
folder OfficeFolders?
created_at DateTime? @default(now())
updated_at DateTime? @updatedAt
@@map("office_folder_anchors")
}
model Documents { model Documents {
uid String @id @unique @default(uuid()) uid String @id @unique @default(uuid())
document_status EDocumentStatus @default(ASKED) document_status EDocumentStatus @default(ASKED)
document_type DocumentTypes @relation(fields: [document_type_uid], references: [uid]) document_type DocumentTypes @relation(fields: [document_type_uid], references: [uid])
document_type_uid String @db.VarChar(255) document_type_uid String @db.VarChar(255)
blockchain_anchor BlockchainAnchors? @relation(fields: [blockchain_anchor_uid], references: [uid])
blockchain_anchor_uid String? @db.VarChar(255)
folder OfficeFolders @relation(fields: [folder_uid], references: [uid]) folder OfficeFolders @relation(fields: [folder_uid], references: [uid])
folder_uid String @db.VarChar(255) folder_uid String @db.VarChar(255)
depositor Customers @relation(fields: [depositor_uid], references: [uid], onDelete: Cascade) depositor Customers @relation(fields: [depositor_uid], references: [uid], onDelete: Cascade)
@ -175,6 +199,7 @@ model Files {
file_path String @unique @db.VarChar(255) file_path String @unique @db.VarChar(255)
file_name String @db.VarChar(255) file_name String @db.VarChar(255)
mimetype String @db.VarChar(255) mimetype String @db.VarChar(255)
hash String @db.VarChar(255)
size Int size Int
archived_at DateTime? archived_at DateTime?
key String? @db.VarChar(255) key String? @db.VarChar(255)
@ -184,16 +209,6 @@ model Files {
@@map("files") @@map("files")
} }
model BlockchainAnchors {
uid String @id @unique @default(uuid())
smartSigJobId String @unique @db.VarChar(255)
created_at DateTime? @default(now())
updated_at DateTime? @updatedAt
documents Documents[]
@@map("blockchain_anchors")
}
model DocumentTypes { model DocumentTypes {
uid String @id @unique @default(uuid()) uid String @id @unique @default(uuid())
name String @db.VarChar(255) name String @db.VarChar(255)
@ -346,7 +361,6 @@ enum EDocumentStatus {
ASKED ASKED
DEPOSITED DEPOSITED
VALIDATED VALIDATED
ANCHORED
REFUSED REFUSED
} }
@ -359,3 +373,15 @@ enum EAppointmentStatus {
OPEN OPEN
CLOSED CLOSED
} }
enum EBlockchainName {
TEZOS
}
enum EAnchoringStatus {
QUEUED
ATTEMPTING
VERIFIED_ON_CHAIN
VERIFYING_ON_CHAIN
ABANDONED
}