flip_api.db.models.main_models

Classes

FLNets

FLScheduler

FLJob

FLMetrics

FLLogs

Model

ModelTrustIntersect

ModelsAudit

ProjectTrustIntersect

Projects

ProjectsAudit

ProjectUserAccess

Queries

QueryResult

QueryStats

SiteBanner

SiteConfig

Trust

TrustTask

UploadedFiles

XNATProjectStatus

Module Contents

class flip_api.db.models.main_models.FLNets

Bases: sqlmodel.SQLModel

__tablename__ = 'fl_nets'
id: uuid.UUID
name: str
endpoint: str
schedulers: list[FLScheduler]
class flip_api.db.models.main_models.FLScheduler

Bases: sqlmodel.SQLModel

__tablename__ = 'fl_scheduler'
id: uuid.UUID
net_id: uuid.UUID
status: flip_api.domain.schemas.status.NetStatus
job_id: uuid.UUID | None
job: FLJob | None
net: FLNets | None
class flip_api.db.models.main_models.FLJob

Bases: sqlmodel.SQLModel

__tablename__ = 'fl_job'
id: uuid.UUID
model_id: uuid.UUID
status: flip_api.domain.schemas.status.JobStatus
created: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
started: datetime.datetime | None
completed: datetime.datetime | None
clients: list[str]
fl_backend_job_id: str | None = None
scheduler: FLScheduler | None
class flip_api.db.models.main_models.FLMetrics

Bases: sqlmodel.SQLModel

__tablename__ = 'fl_metrics'
id: uuid.UUID
trust: str
model_id: uuid.UUID
global_round: int
timestamp: datetime.datetime | None
label: str
result: float
class flip_api.db.models.main_models.FLLogs

Bases: sqlmodel.SQLModel

__tablename__ = 'fl_logs'
id: uuid.UUID
model_id: uuid.UUID
log_date: Annotated[datetime.datetime | None, Field(default_factory=datetime.utcnow)]
success: bool
trust_name: str | None
log: str
class flip_api.db.models.main_models.Model

Bases: sqlmodel.SQLModel

__tablename__ = 'model'
id: uuid.UUID
name: str
description: str
status: flip_api.domain.schemas.status.ModelStatus
deleted: bool
project_id: uuid.UUID | None
owner_id: uuid.UUID
creation_timestamp: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
class flip_api.db.models.main_models.ModelTrustIntersect

Bases: sqlmodel.SQLModel

__tablename__ = 'model_trust_intersect'
id: uuid.UUID
status: flip_api.domain.schemas.status.TrustIntersectStatus
model_id: uuid.UUID | None
trust_id: uuid.UUID | None
fl_client_endpoint: str | None
class flip_api.db.models.main_models.ModelsAudit

Bases: sqlmodel.SQLModel

__tablename__ = 'models_audit'
id: uuid.UUID
model_id: uuid.UUID | None
action: flip_api.domain.schemas.actions.ModelAuditAction
user_id: uuid.UUID
audit_date: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
class flip_api.db.models.main_models.ProjectTrustIntersect

Bases: sqlmodel.SQLModel

__tablename__ = 'project_trust_intersect'
id: uuid.UUID
project_id: uuid.UUID | None
trust_id: uuid.UUID | None
approved: bool
class flip_api.db.models.main_models.Projects

Bases: sqlmodel.SQLModel

__tablename__ = 'projects'
id: uuid.UUID
name: str
description: str
owner_id: uuid.UUID
deleted: bool
creation_timestamp: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
status: flip_api.domain.schemas.status.ProjectStatus
dicom_to_nifti: bool
class flip_api.db.models.main_models.ProjectsAudit

Bases: sqlmodel.SQLModel

__tablename__ = 'projects_audit'
id: uuid.UUID
project_id: uuid.UUID | None
action: flip_api.domain.schemas.actions.ProjectAuditAction
user_id: uuid.UUID
audit_date: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
class flip_api.db.models.main_models.ProjectUserAccess

Bases: sqlmodel.SQLModel

__tablename__ = 'project_user_access'
id: uuid.UUID
project_id: uuid.UUID | None
user_id: uuid.UUID
class flip_api.db.models.main_models.Queries

Bases: sqlmodel.SQLModel

__tablename__ = 'queries'
id: uuid.UUID
name: str
query: str
created: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
project_id: uuid.UUID | None
class flip_api.db.models.main_models.QueryResult

Bases: sqlmodel.SQLModel

__tablename__ = 'query_result'
id: uuid.UUID
query_id: uuid.UUID
trust_id: uuid.UUID | None
data: str
class flip_api.db.models.main_models.QueryStats

Bases: sqlmodel.SQLModel

__tablename__ = 'query_stats'
id: uuid.UUID
stats: str
stats_received: Annotated[datetime.datetime, Field(default_factory=datetime.utcnow)]
query_id: uuid.UUID | None
class flip_api.db.models.main_models.SiteBanner

Bases: sqlmodel.SQLModel

__tablename__ = 'site_banner'
id: int
message: str
enabled: bool
class flip_api.db.models.main_models.SiteConfig

Bases: sqlmodel.SQLModel

__tablename__ = 'site_config'
key: str
value: bool
class flip_api.db.models.main_models.Trust

Bases: sqlmodel.SQLModel

__tablename__ = 'trust'
id: uuid.UUID
name: str
last_heartbeat: datetime.datetime | None
class flip_api.db.models.main_models.TrustTask

Bases: sqlmodel.SQLModel

__tablename__ = 'trust_task'
id: uuid.UUID
trust_id: uuid.UUID
task_type: flip_api.domain.schemas.status.TaskType
payload: str
status: flip_api.domain.schemas.status.TaskStatus
result: str | None
needs_post_processing: bool
retry_count: int
created_at: Annotated[datetime.datetime, Field(default_factory=lambda: datetime.now(timezone.utc))]
updated_at: datetime.datetime | None
class flip_api.db.models.main_models.UploadedFiles

Bases: sqlmodel.SQLModel

__tablename__ = 'uploaded_files'
id: uuid.UUID
name: str
status: flip_api.domain.schemas.file.FileUploadStatus
size: float
type: str
tag: str | None
model_id: uuid.UUID | None
class flip_api.db.models.main_models.XNATProjectStatus

Bases: sqlmodel.SQLModel

__tablename__ = 'xnat_project_status'
id: uuid.UUID
xnat_project_id: uuid.UUID
project_id: uuid.UUID | None
trust_id: uuid.UUID | None
retrieve_image_status: flip_api.domain.schemas.status.XNATImageStatus
query_at_creation: uuid.UUID | None
last_reimport: Annotated[datetime.datetime, Field(default_factory=lambda: datetime.now(timezone.utc))]
reimport_count: int