Initializing multitenant

This commit is contained in:
2025-03-30 17:10:42 +02:00
parent 1a247f14ce
commit 50fdf22afc
14 changed files with 272 additions and 135 deletions

View File

@@ -1,10 +1,11 @@
from datetime import date, datetime
from typing import List, Literal, Optional
from pydantic import Field, BaseModel, validator
from pydantic import Field, BaseModel
from beanie import Indexed
from ..core.models import CrudDocument
from ..core.filter import Filter
class EntityType(BaseModel):
@@ -75,14 +76,12 @@ class Entity(CrudDocument):
Fiche d'un client
"""
entity_data: Individual | Corporation | Institution = Field(..., discriminator='type')
label: str = None
address: str = Field(default="", title='Adresse')
@validator("label", always=True)
def generate_label(cls, v, values, **kwargs):
if 'entity_data' not in values:
return v
return values['entity_data'].label
def compute_label(self) -> str:
if not self.entity_data:
return ""
return self.entity_data.label
class Settings(CrudDocument.Settings):
fulltext_search = ['label']
@@ -96,6 +95,12 @@ class Entity(CrudDocument):
class Config:
title = 'Client'
@classmethod
def get_create_resource(cls):
print('coucou')
class EntityFilters(Filter):
name__like: Optional[str] = None
order_by: Optional[list[str]] = None
class Constants(Filter.Constants):
model = Entity
search_model_fields = ["name"]