from sqlalchemy import Column, Integer, String, Text, SmallInteger
from sqlalchemy.sql import func

import time
from mooc.db.database import Base


class Admin(Base):
    __tablename__ = "ims_goouc_fullexam_admin"

    id = Column(Integer, primary_key=True, autoincrement=True)
    weid = Column(String(150), nullable=False)
    username = Column(String(255), nullable=False)
    password = Column(String(255), nullable=False)
    createtime = Column(Integer, nullable=False, default=lambda: int(time.time()))
    logintime = Column(Integer, nullable=False, default=lambda: int(time.time()))
    is_delete = Column(SmallInteger, nullable=False, default=1, comment='0正常 1禁用')
    pcate_id = Column(Integer, nullable=False, comment='一级类目id')
    cate_id = Column(Integer, nullable=False, comment='二级级类目id')
    relation_id = Column(Text, nullable=False, comment='关联试卷ID')

    class Config:
        from_attributes = True

class Account(Base):
    __tablename__ = "ims_account"

    acid = Column(Integer, primary_key=True, autoincrement=True)
    uniacid = Column(Integer, nullable=False, index=True)
    hash = Column(String(8), nullable=False)
    type = Column(SmallInteger, nullable=False)
    isconnect = Column(SmallInteger, nullable=False)
    isdeleted = Column(SmallInteger, nullable=False)
    endtime = Column(Integer, nullable=False)
    send_account_expire_status = Column(SmallInteger, nullable=False)
    send_api_expire_status = Column(SmallInteger, nullable=False)

    class Config:
        from_attributes = True



class AccountWebapp(Base):
    __tablename__ = "ims_account_webapp"

    acid = Column(Integer, primary_key=True)
    uniacid = Column(Integer, index=True)
    name = Column(String(255))

    class Config:
        from_attributes = True