| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- """门户私有文档库:目录、文件元数据和按用户分享。"""
- from datetime import datetime
- from sqlalchemy import BigInteger, Column, DateTime, Index, Integer, SmallInteger, String, UniqueConstraint
- from app.core.database import Base
- class _PublicFields:
- tenant_no = Column(String(64), nullable=False)
- order_num = Column(Integer, nullable=True)
- remark = Column(String(512), nullable=True)
- create_by = Column(String(64), nullable=False)
- create_dept_id = Column(String(64), nullable=False, default='')
- create_time = Column(DateTime, nullable=False, default=datetime.now)
- update_by = Column(String(64), nullable=True)
- update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now)
- del_flag = Column(SmallInteger, nullable=False, default=0)
- class DoclibFolder(_PublicFields, Base):
- __tablename__ = 'biz_doclib_folder'
- __table_args__ = (Index('ix_doclib_folder_owner', 'tenant_no', 'create_by', 'parent_id', 'del_flag'),)
- id = Column(String(64), primary_key=True)
- name = Column(String(120), nullable=False)
- parent_id = Column(String(64), nullable=False, default='')
- class DoclibFile(_PublicFields, Base):
- __tablename__ = 'biz_doclib_file'
- __table_args__ = (
- Index('ix_doclib_file_owner', 'tenant_no', 'create_by', 'del_flag', 'create_time'),
- Index('ix_doclib_file_folder', 'tenant_no', 'folder_id', 'del_flag'),
- )
- id = Column(String(64), primary_key=True)
- name = Column(String(255), nullable=False)
- folder_id = Column(String(64), nullable=False, default='')
- size = Column(BigInteger, nullable=False)
- content_type = Column(String(255), nullable=False, default='application/octet-stream')
- object_key = Column(String(512), nullable=False)
- class DoclibShare(_PublicFields, Base):
- __tablename__ = 'biz_doclib_share'
- __table_args__ = (
- UniqueConstraint('tenant_no', 'file_id', 'user_id', name='uk_doclib_share_user'),
- Index('ix_doclib_share_recipient', 'tenant_no', 'user_id', 'del_flag', 'file_id'),
- )
- id = Column(String(64), primary_key=True)
- file_id = Column(String(64), nullable=False)
- user_id = Column(String(64), nullable=False)
|