提交初始文件,增加授权应用路由

This commit is contained in:
18610128193
2026-06-10 10:47:18 +08:00
parent d8bfebdcfb
commit b24c176b88
6 changed files with 590 additions and 1 deletions
+58
View File
@@ -0,0 +1,58 @@
from datetime import datetime
from sqlalchemy import Boolean, DateTime, ForeignKey, Integer, String, Text
from sqlalchemy.orm import Mapped, mapped_column
from app.models.base import Base, TimestampMixin, SoftDeleteMixin
class UserOAuth(Base, TimestampMixin, SoftDeleteMixin):
__tablename__ = "user_oauth"
id: Mapped[str] = mapped_column(
String(32), primary_key=True, comment="主键"
)
account_id: Mapped[str] = mapped_column(
String(64), nullable=False, index=True, comment="授权账户id"
)
account_name: Mapped[str] = mapped_column(
String(128), nullable=False, comment="授权账户name"
)
account_role: Mapped[str | None] = mapped_column(
String(64), nullable=True, comment="授权账户角色"
)
account_username: Mapped[str | None] = mapped_column(
String(128), nullable=True, comment="授权账户登录账号"
)
user_id: Mapped[str] = mapped_column(
String(32), ForeignKey("users.id", ondelete="CASCADE"), nullable=False, index=True,
comment="用户id"
)
open_type: Mapped[int] = mapped_column(
Integer, nullable=False,
comment="开户方式(1=千川,2=广告,3=本地推,4=星图,5=快手代理商,6=巨量星图,7=巨量服务单,8=腾讯服务单,9=腾讯营销K2,10=腾讯营销K3)"
)
port_type: Mapped[int] = mapped_column(
Integer, nullable=False,
comment="平台端口(1=巨量,2=磁力,3=巨量星图,4=服务单,5=腾讯)"
)
appid: Mapped[str | None] = mapped_column(
String(64), nullable=True, comment="授权应用id"
)
access_token: Mapped[str | None] = mapped_column(
Text, nullable=True, comment="授权token"
)
access_token_expired: Mapped[datetime | None] = mapped_column(
DateTime(timezone=True), nullable=True,
comment="token过期时间"
)
refresh_token: Mapped[str | None] = mapped_column(
Text, nullable=True, comment="授权刷新token"
)
refresh_token_expired: Mapped[datetime | None] = mapped_column(
DateTime(timezone=True), nullable=True,
comment="刷新token过期时间"
)
material_auth_status: Mapped[bool] = mapped_column(
Boolean, default=False, comment="是否敏感物料授权(true=是,false=否)"
)
@@ -0,0 +1,25 @@
from sqlalchemy import ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column
from app.models.base import Base, TimestampMixin, SoftDeleteMixin
class UserOAuthAccount(Base, TimestampMixin, SoftDeleteMixin):
__tablename__ = "user_oauth_account"
id: Mapped[str] = mapped_column(
String(32), primary_key=True, comment="主键"
)
account_id: Mapped[str] = mapped_column(
String(64), ForeignKey("user_oauth.account_id", ondelete="CASCADE"),
nullable=False, index=True, comment="授权账户iduser_oauth表中同一个)"
)
advertiser_id: Mapped[str | None] = mapped_column(
String(64), nullable=True, index=True, comment="广告账户id"
)
advertiser_name: Mapped[str | None] = mapped_column(
String(128), nullable=True, comment="广告账户名"
)
advertiser_role: Mapped[str | None] = mapped_column(
String(64), nullable=True, comment="广告账户类型"
)