Files
backend/app/schemas.py
2026-01-24 11:02:08 -08:00

62 lines
1.2 KiB
Python

from pydantic import BaseModel, ConfigDict
from typing import List, Optional
# Heir Schemas
class HeirBase(BaseModel):
name: str
class HeirCreate(HeirBase):
pass
class HeirOut(HeirBase):
id: int
user_id: int
model_config = ConfigDict(from_attributes=True)
# User Schemas
class UserCreate(BaseModel):
username: str
password: str
class UserLogin(BaseModel):
username: str
password: str
class UserOut(BaseModel):
id: int
username: str
public_key: Optional[str] = None
is_admin: bool = False
guale: bool = False
#heirs: List[HeirOut] = []
model_config = ConfigDict(from_attributes=True)
# Asset Schemas (renamed from Article)
class AssetBase(BaseModel):
title: str
class AssetCreate(AssetBase):
private_key_shard: str
content_inner_encrypted: str
class AssetOut(AssetBase):
id: int
author_id: int
private_key_shard: str
content_outer_encrypted: str
model_config = ConfigDict(from_attributes=True)
class AssetClaim(BaseModel):
asset_id: int
private_key_shard: str
class AssetClaimOut(AssetClaim):
id: int
result: str
class AssetAssign(BaseModel):
asset_id: int
heir_name: str
class DeclareGuale(BaseModel):
username: str