Add notification sender and update item routes
This commit is contained in:
@@ -196,5 +196,6 @@ class UUIDTableBase(TableBase):
|
||||
"""override"""
|
||||
|
||||
@override
|
||||
@classmethod
|
||||
async def get_exist_one(cls: Type[T], session: AsyncSession, id: uuid.UUID, load: Union[Relationship, None] = None) -> T:
|
||||
return super().get_exist_one(session, id, load) # type: ignore
|
||||
return await super().get_exist_one(session, id, load)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from datetime import datetime
|
||||
from enum import StrEnum
|
||||
from typing import TYPE_CHECKING, Self, Optional
|
||||
from typing import TYPE_CHECKING, Optional
|
||||
from uuid import UUID
|
||||
|
||||
from sqlmodel import Field, Relationship
|
||||
@@ -52,12 +52,19 @@ class Item(ItemBase, UUIDTableBase, table=True):
|
||||
|
||||
user: 'User' = Relationship(back_populates='items')
|
||||
|
||||
parent_item_id: UUID | None = Field(foreign_key='item.id', ondelete='RESTRICT')
|
||||
parent_item_id: UUID | None = Field(foreign_key='item.id', ondelete='RESTRICT', default=None)
|
||||
parent_item: Optional['Item'] = Relationship(back_populates='sub_items', sa_relationship_kwargs={'remote_side': 'Item.id'})
|
||||
sub_items: list['Item'] = Relationship(back_populates='parent_item', passive_deletes='all')
|
||||
|
||||
class ItemDataUpdateRequest(ItemBase):
|
||||
pass
|
||||
type: ItemTypeEnum | None = None
|
||||
"""物品的类型"""
|
||||
|
||||
name: str | None = None
|
||||
"""物品名称"""
|
||||
|
||||
status: ItemStatusEnum | None = None
|
||||
"""物品状态"""
|
||||
|
||||
class ItemDataResponse(ItemBase):
|
||||
expires_at: datetime | None = None
|
||||
|
||||
@@ -4,9 +4,11 @@ from .user import User, UserTypeEnum
|
||||
from pkg import Password
|
||||
|
||||
default_settings: list[Setting] = [
|
||||
Setting(type='string', name='version', value='2.0.0'), # 版本号,用于考虑是否需要数据迁移
|
||||
Setting(type='int', name='jwt_token_exp', value='30'), # JWT Token 访问令牌
|
||||
Setting(type='string', name='server_chan_key', value=''), # Server 酱推送密钥
|
||||
Setting(type='string', name='version', value='2.0.0'), # 版本号,用于考虑是否需要数据迁移
|
||||
Setting(type='int', name='jwt_token_exp', value='30'), # JWT Token 访问令牌
|
||||
Setting(type='int', name='mentioned_channel', value='wechat_bot'), # 通知推送通道
|
||||
Setting(type='string', name='server_chan_key', value=''), # Server 酱推送密钥
|
||||
Setting(type='string', name='wechat_bot_key', value=''), # 企业微信机器人推送密钥
|
||||
]
|
||||
|
||||
async def migration(session):
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from model.base import SQLModelBase
|
||||
|
||||
|
||||
class DefaultResponse(BaseModel):
|
||||
code: int = 0
|
||||
data: dict | list | bool | None
|
||||
data: dict | list | bool | SQLModelBase | None = None
|
||||
msg: str = ""
|
||||
|
||||
# FastAPI 鉴权返回模型
|
||||
|
||||
Reference in New Issue
Block a user