elastic_backend_fast/app/permit/models.py
2025-11-29 15:48:25 +03:30

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)