backend_v0.1
This commit is contained in:
62
app/schemas.py
Normal file
62
app/schemas.py
Normal file
@@ -0,0 +1,62 @@
|
||||
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
|
||||
Reference in New Issue
Block a user