- Introduction of PARTNER_RAG retriever, PARTNER_RAG_SPECIALIST and linked Agent and Task, to support documentation inquiries in the management app (eveai_app)

- Addition of a tenant_partner_services view to show partner services from the viewpoint of a tenant
- Addition of domain model diagrams
- Addition of license_periods views and form
This commit is contained in:
Josako
2025-07-16 21:24:08 +02:00
parent 000636a229
commit f3a243698c
30 changed files with 1566 additions and 356 deletions

View File

@@ -0,0 +1,199 @@
erDiagram
TENANT {
int id PK
string code
string name
string website
string timezone
string type
string currency
boolean storage_dirty
int default_tenant_make_id FK
datetime created_at
datetime updated_at
}
USER {
int id PK
int tenant_id FK
string user_name
string email
string password
string first_name
string last_name
boolean active
string fs_uniquifier
datetime confirmed_at
date valid_to
boolean is_primary_contact
boolean is_financial_contact
datetime last_login_at
datetime current_login_at
string last_login_ip
string current_login_ip
int login_count
datetime created_at
datetime updated_at
}
ROLE {
int id PK
string name
string description
}
ROLES_USERS {
int user_id PK,FK
int role_id PK,FK
}
TENANT_DOMAIN {
int id PK
int tenant_id FK
string domain
date valid_to
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
}
TENANT_PROJECT {
int id PK
int tenant_id FK
string name
text description
array services
string encrypted_api_key
string visual_api_key
boolean active
string responsible_email
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
}
TENANT_MAKE {
int id PK
int tenant_id FK
string name
text description
boolean active
string website
string logo_url
string default_language
array allowed_languages
jsonb chat_customisation_options
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
}
PARTNER {
int id PK
int tenant_id FK
string code
string logo_url
boolean active
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
}
PARTNER_SERVICE {
int id PK
int partner_id FK
string name
text description
string type
string type_version
boolean active
json configuration
json permissions
json system_metadata
json user_metadata
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
}
PARTNER_TENANT {
int partner_service_id PK,FK
int tenant_id PK,FK
json configuration
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
}
PARTNER_SERVICE_LICENSE_TIER {
int id PK
int partner_service_id FK
}
SPECIALIST_MAGIC_LINK_TENANT {
string magic_link_code PK
int tenant_id FK
}
TRANSLATION_CACHE {
string cache_key PK
text source_text
text translated_text
string source_language
string target_language
text context
int prompt_tokens
int completion_tokens
datetime created_at
int created_by FK
datetime updated_at
int updated_by FK
datetime last_used_at
}
PARTNER_RAG_RETRIEVER {
int partner_id FK
int tenant_id PK,FK
int retriever_id PK
}
LICENSE {
int id PK
int tenant_id FK
date start_date
date end_date
}
LICENSE_USAGE {
int id PK
int tenant_id FK
}
%% Relationships
TENANT ||--o{ USER : "has many"
TENANT ||--o{ TENANT_DOMAIN : "has many"
TENANT ||--o{ TENANT_PROJECT : "has many"
TENANT ||--o{ TENANT_MAKE : "has many"
TENANT ||--o| TENANT_MAKE : "default_tenant_make"
TENANT ||--o| PARTNER : "has one"
TENANT ||--o{ LICENSE : "has many"
TENANT ||--o{ LICENSE_USAGE : "has many"
TENANT ||--o{ SPECIALIST_MAGIC_LINK_TENANT : "has many"
TENANT ||--o{ PARTNER_TENANT : "has many"
TENANT ||--o{ PARTNER_RAG_RETRIEVER : "has many"
USER ||--o{ ROLES_USERS : "has many"
ROLE ||--o{ ROLES_USERS : "has many"
PARTNER ||--o{ PARTNER_SERVICE : "has many"
PARTNER ||--o{ PARTNER_RAG_RETRIEVER : "has many"
PARTNER_SERVICE ||--o{ PARTNER_TENANT : "has many"
PARTNER_SERVICE ||--o{ PARTNER_SERVICE_LICENSE_TIER : "has many"