from tortoise import fields from tortoise.models import Model from pydantic import BaseModel from datetime import datetime from tortoise import fields from tortoise.models import Model from pydantic import BaseModel from datetime import datetime class User(Model): id = fields.IntField(pk=True) username = fields.CharField(max_length=30, unique=True, description="帳號") password = fields.CharField(max_length=128, description="密碼") email = fields.CharField(max_length=128, description="信箱") points = fields.IntField(description="點數") is_superuser = fields.IntField(description="超級使用者") is_gmail = fields.IntField(description="是否使用gmail登入") token = fields.CharField(max_length=200) class UserPydantic(BaseModel): id: int username: str password: str email: str points: int is_superuser: int is_gmail: int token: str class Config: orm_mode = True class UserPydantic(BaseModel): id: int username: str password: str email: str points: int is_superuser: int is_gmail: int token: str class Config: orm_mode = True #學校 class Schools(Model): id = fields.IntField(pk=True) name = fields.CharField(max_length=45, description="學校名稱") longitude = fields.CharField(max_length=100, description="經度") latitude = fields.CharField(max_length=100, description="緯度") address = fields.CharField(max_length=128,description="地址") update_time = fields.DatetimeField(description="更新時間") class Group_name(Model): id = fields.IntField(pk=True) group_name = fields.CharField(max_length=45, description="學群名稱") class Class_name(Model): id = fields.IntField(pk=True) name = fields.CharField(max_length=45, description="課程名稱") school_id = fields.IntField(description="學校ID") category = fields.CharField(max_length=45, description="分類") introduction = fields.TextField(description="簡介") organizer = fields.CharField(max_length=45, description="主辦單位") cover_img = fields.CharField(max_length=255, description="封面圖片") group_id = fields.IntField(description="學群") group_sort = fields.CharField(max_length=45, description="學群細分") class Class_list(Model): id = fields.IntField(pk=True) name_id = fields.IntField(description="課程名稱ID") event = fields.CharField(max_length=45, description="場次") start_time = fields.DatetimeField(description="開始時間") end_time = fields.DatetimeField(description="結束時間") contact = fields.CharField(max_length=255, description="聯絡方式") lecturer = fields.CharField(max_length=255, description="講師") location = fields.CharField(max_length=255, description="地點詳情") content = fields.TextField(description="內容") URL = fields.TextField(description="連結網址") people = fields.CharField(max_length=255, description="對象") fee_method = fields.CharField(max_length=255, description="收費方式") registration_way = fields.CharField(max_length=255, description="報名方式") remark = fields.TextField(description="備註") registration_day = fields.CharField(max_length=255, description="報名時間") class Class_detail(Model): id = fields.IntField(pk=True) class_list_id = fields.IntField(description="課程場次ID") start_time = fields.DatetimeField(description="開始時間") end_time = fields.DatetimeField(description="結束時間") sessions = fields.IntField(description="堂數") content = fields.TextField(description="內容") class Registration(Model): id = fields.IntField(pk=True) event_id = fields.IntField(description="課程ID") user_inform_id = fields.IntField(description="使用者ID") reg_confirm = fields.IntField(description="報名確認(1:報名成功 0:單純報名)") is_del = fields.IntField(description="是否取消(1:yes ,0:no)") create_time = fields.DatetimeField(description="創建時間") class News(Model): id = fields.IntField(pk=True) title = fields.CharField(max_length=200, description="標題") category = fields.CharField(max_length=45, description="類別") create_time = fields.DatetimeField(description="發布時間") click_time = fields.IntField(description="點擊次數") content = fields.TextField(description="內容") files = fields.TextField(description="附加檔案") URL = fields.TextField(description="外部連結") tags = fields.TextField(description="標籤") cover_img = fields.CharField(max_length=255, description="封面圖片") class Favorite_course(Model): id = fields.IntField(pk=True) user_id = fields.IntField(description="使用者ID") class_event_id = fields.IntField(description="課程場次ID") time_stemp = fields.DatetimeField(description="時間") class Article_list(Model): id = fields.IntField(pk=True) title = fields.CharField(max_length=45, description="標題") school_id = fields.IntField(description="學校ID") group_id = fields.IntField(description="學群") group_sort = fields.CharField(max_length=45, description="學群細分") create_user_id = fields.IntField(description="創建使用者ID") create_time = fields.DatetimeField(description="創建時間") latest_update_user_id = fields.IntField(description="最新更新使用者ID") latest_update_time = fields.DatetimeField(description="最新更新時間") tags = fields.TextField(description="標籤") category = fields.CharField(max_length=45, description="類別") depiction = fields.TextField(description="文章描述") cover_img = fields.TextField( description="封面圖片") vedio_url = fields.TextField( description="影片連結") click_time = fields.IntField(description="點擊次數") content = fields.TextField(description="內容") is_del = fields.IntField(description="是否刪除") files = fields.TextField(description="附件") class Online_course(Model): id = fields.IntField(pk=True) title = fields.CharField(max_length=45, description="標題") category = fields.CharField(max_length=45, description="類別") create_time = fields.DatetimeField(description="發布時間") click_time = fields.IntField(description="點擊次數") content = fields.TextField(description="發布時間") vedio_url = fields.TextField(description="影片連結") group_id = fields.IntField(description="學群") class Guidance_group(Model): id = fields.IntField(pk=True) name = fields.CharField(max_length=125, description="協會(團體)名稱") contact_person = fields.CharField(max_length=125, description="聯絡人") contact_phone = fields.CharField(max_length=125, description="聯絡電話") line = fields.IntField(description="LINE (0:沒有、1:有)") address = fields.TextField(description="地址") email = fields.CharField(max_length=125, description="信箱") information = fields.TextField(description="開課資訊") request = fields.TextField(description="需求") schedule = fields.CharField(max_length=45, description="處理進度") result = fields.CharField(max_length=125, description="處理結果") person = fields.CharField(max_length=45, description="輔導人員") remark = fields.TextField(description="備註") class User_information(Model): id = fields.IntField(pk=True) user_id = fields.IntField(description="使用者ID") name = fields.CharField(max_length=45, description="姓名") gender = fields.CharField(max_length=45, description="性別") phone = fields.CharField(max_length=45, description="電話") email = fields.CharField(max_length=45, description="信箱") is_default = fields.IntField(description="是否為預設")