Files
Michael McGuinness 53ea7d34e6 Merged in feature/textextract (pull request #108)
Start adding Textract + UUID changes

* base

* startclient

* ts

* short

* tests
2025-03-20 11:06:41 +00:00

146 lines
3.0 KiB
Plaintext

erDiagram
clients ||--o{ clientCanSync : "has"
clients ||--o{ documents : "contains"
clients ||--o{ collectorVersions : "has"
clients ||--o{ collectorActiveVersions : "has current"
clients ||--o{ collectorMinCleanVersions : "has"
clients ||--o{ collectorMinTextVersions : "has"
clients ||--o{ collectorQueries : "maps to"
documents ||--o{ documentEntries : "has"
documents ||--o{ documentCleans : "has clean version"
documentCleans ||--o{ documentTextExtractions : "has text extraction"
documentTextExtractions ||--o{ results : "produces"
queries ||--o{ queryVersions : "has"
queries ||--o{ queryActiveVersions : "has current"
queries ||--o{ requiredQueries : "requires"
queries ||--o{ queryConfigs : "configured by"
queries ||--o{ collectorQueries : "used in"
queries ||--o{ results : "generates"
results ||--o{ resultDependencies : "depends on"
clients {
uuid id PK
TEXT name
}
clientCanSync {
uuid id PK
uuid clientId FK
boolean canSync
}
documents {
uuid id PK
uuid clientId FK
text hash
}
documentEntries {
uuid id PK
uuid documentId FK
text bucket
text key
}
documentCleans {
uuid id PK
uuid documentId FK
int version
text bucket
text key
}
documentTextExtractions {
uuid id PK
uuid cleanEntryId FK
int version
text bucket
text key
}
queries {
uuid id PK
queryType type
}
queryVersions {
uuid queryId FK
int id
timestamp addedAt
}
queryActiveVersions {
uuid id PK
uuid queryId FK
int versionId FK
}
requiredQueries {
uuid id PK
uuid queryId FK
uuid requiredQueryId FK
int addedVersion FK
int removedVersion FK
}
queryConfigs {
uuid id PK
uuid queryId FK
jsonb config
int addedVersion FK
int removedVersion FK
}
collectorVersions {
uuid clientId FK
int id
timestamp addedAt
}
collectorActiveVersions {
uuid id PK
uuid clientId FK
int versionId FK
}
collectorMinCleanVersions {
uuid id PK
uuid clientId FK
int versionId
int addedVersion FK
int removedVersion FK
}
collectorMinTextVersions {
uuid id PK
uuid clientId FK
int versionId
int addedVersion FK
int removedVersion FK
}
collectorQueries {
uuid id PK
uuid clientId FK
varchar name
uuid queryId FK
int addedVersion FK
int removedVersion FK
}
results {
uuid id PK
uuid textEntryId FK
uuid queryId FK
TEXT value
int queryVersion
}
resultDependencies {
uuid resultId FK
uuid requiredResultId FK
}