189 lines
7.8 KiB
Python
189 lines
7.8 KiB
Python
from sqlalchemy import Index, create_engine, Column, Integer, String, Boolean, Text, ForeignKey
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from app.permit.engine import Base
|
|
|
|
|
|
|
|
class PMDataPermit(Base):
|
|
__tablename__ = 'pm_data_permit'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
use_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True) # utf16
|
|
date_e = Column(String(50), nullable=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
user_id = Column(Integer, nullable=False)
|
|
service_id = Column(String(50), nullable=False)
|
|
entity_type = Column(String(50), nullable=True)
|
|
entity_id = Column(String(50), nullable=False)
|
|
create = Column(Boolean, nullable=True)
|
|
read = Column(Boolean, nullable=True)
|
|
update = Column(Boolean, nullable=True)
|
|
delete = Column(Boolean, nullable=True)
|
|
perm_type = Column(Integer, nullable=True, comment='read : 1, write: 10, admin: 500, owner: 1000')
|
|
|
|
|
|
class PMUserSteps(Base):
|
|
__tablename__ = 'pm_user_steps'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
section_id = Column(Integer, nullable=True)
|
|
project_id = Column(Integer, nullable=True, index=True)
|
|
step_id = Column(Integer, nullable=True)
|
|
user_id = Column(Integer, nullable=True)
|
|
perm_type = Column(Integer, nullable=True)
|
|
meta = Column(Text, nullable=True)
|
|
data_value = Column(String(255), nullable=True, index=True)
|
|
|
|
|
|
class PMFilePermit(Base):
|
|
__tablename__ = 'pm_file_permit'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
use_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
user_id = Column(Integer, nullable=False, comment='شناسه کاربر مورد بحث دسترسی')
|
|
service_id = Column(String(50), nullable=False, comment='micro_service_id : repo, message,...')
|
|
entity_id = Column(String(50), nullable=False, comment='file_id')
|
|
file_type = Column(String(50), nullable=True, comment='jpg, audio, video, owl, ....')
|
|
file_name = Column(String(50), nullable=False, comment='نامی که به کاربر نشان داده میشود \\ پیش فرض نام اصلی هست')
|
|
file_path = Column(String(255), nullable=False, comment='مسیر لوکال سرور برای دسترسی مستقیم میکروسرویسها')
|
|
create = Column(Boolean, nullable=True)
|
|
read = Column(Boolean, nullable=True)
|
|
update = Column(Boolean, nullable=True)
|
|
delete = Column(Boolean, nullable=True)
|
|
perm_type = Column(Integer, nullable=True, comment='read : 1, write: 10, admin: 500, owner: 1000')
|
|
meta = Column(Text, nullable=True, comment='اطلاعات جانبی ذخیره شده در قالب json یا txt')
|
|
|
|
|
|
class PMProjects(Base):
|
|
__tablename__ = 'pm_projects'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
title = Column(String(255), nullable=True)
|
|
users = Column(String(255), nullable=True, default='')
|
|
organ = Column(String(255), nullable=True)
|
|
owner = Column(Integer, nullable=False, default=0)
|
|
comment = Column(Text, nullable=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
link = Column(String(255), nullable=True)
|
|
admin_users = Column(String(255), nullable=True)
|
|
showInDashboard = Column(Boolean, nullable=True, default=True)
|
|
tags = Column(String(255), nullable=True, default='')
|
|
|
|
__table_args__ = (
|
|
Index('users', 'users'),
|
|
)
|
|
|
|
|
|
class PMRoles(Base):
|
|
__tablename__ = 'pm_roles'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
project_id = Column(Integer, nullable=False, index=True)
|
|
title = Column(String(255), nullable=True, index=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
|
|
|
|
class PMSectionRole(Base):
|
|
__tablename__ = 'pm_section_role'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
section_id = Column(Integer, nullable=False, index=True)
|
|
project_id = Column(Integer, nullable=False, index=True)
|
|
role_id = Column(Integer, nullable=False, index=True)
|
|
state = Column(Integer, nullable=False, default=0)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
|
|
|
|
class PMSectionSteps(Base):
|
|
__tablename__ = 'pm_section_steps'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
section_id = Column(Integer, nullable=True)
|
|
project_id = Column(Integer, nullable=True, index=True)
|
|
title = Column(String(50), nullable=True, index=True)
|
|
step_key = Column(String(50), nullable=True)
|
|
step_order = Column(Integer, nullable=True)
|
|
ok_next = Column(Integer, nullable=True)
|
|
no_next = Column(Integer, nullable=True)
|
|
meta = Column(Text, nullable=True)
|
|
schema = Column(Text, nullable=True)
|
|
data_type = Column(String(50), nullable=True)
|
|
data_options = Column(Text, nullable=True)
|
|
|
|
|
|
class PMSectionUser(Base):
|
|
__tablename__ = 'pm_section_user'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
section_id = Column(Integer, nullable=False, index=True)
|
|
project_id = Column(Integer, nullable=False, index=True)
|
|
user_id = Column(Integer, nullable=False, index=True)
|
|
state = Column(Integer, nullable=False, default=0)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
role_id = Column(Integer, nullable=True)
|
|
|
|
|
|
class PMSections(Base):
|
|
__tablename__ = 'pm_sections'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
project_id = Column(Integer, nullable=False, index=True)
|
|
section_title = Column(String(255), nullable=True, index=True)
|
|
action_title = Column(String(255), nullable=True, index=True)
|
|
section_tag = Column(String(50), nullable=True)
|
|
action_tag = Column(String(50), nullable=True)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
|
|
|
|
class PMUserRole(Base):
|
|
__tablename__ = 'pm_user_role'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
user_c = Column(Integer, nullable=True)
|
|
user_e = Column(Integer, nullable=True)
|
|
date_c = Column(String(50), nullable=True)
|
|
date_e = Column(String(50), nullable=True)
|
|
user_id = Column(Integer, nullable=False, index=True)
|
|
project_id = Column(Integer, nullable=True, index=True)
|
|
role_id = Column(Integer, nullable=False, index=True)
|
|
state = Column(Integer, nullable=False, default=0)
|
|
deleted_at = Column(String(50), nullable=True)
|
|
|