from AppUser.Model import UserModel, RoleModel, DepartmentModel, VerifyCodeModel from AppUser.Model.UserModel import User from AppUser.Model.RoleModel import Role from AppUser.Model.DepartmentModel import Department from AppUser.Crud import UserCrud from AppUser.Crud import RoleCrud from AppUser.Crud import DepartmentCrud from AppUser.Schemas import UserSchemas, RoleSchema from Utils.DataBase.SqlAlchemyUtils import Session, engine UserModel.Base.metadata.create_all(bind=engine) RoleModel.Base.metadata.create_all(bind=engine) DepartmentModel.Base.metadata.create_all(bind=engine) VerifyCodeModel.Base.metadata.create_all(bind=engine) DEFAULT_ROLE = "管理员" DEFAULT_ROLE_ID = "ROLE01" DEFAULT_DEPARTMENT = "数字化部" DEFAULT_DEPARTMENT_ID = "D001" DEFAULT_AVATAR = "https://file.fecribd.com/pic/avatar.jpg" DEFAULT_PASSWD = "AP3+dq8nx3+1J9nt+3hRbI4kNXNP7Whm7P+rmP5ewmQLH5lmwAzcs/xwXZqOr+vtMwAzHAAxN64TYbsOSzcuoo1nf843vxc6e4FFHBin+jmnxP2A37XmLBdMBKBzhZDRgppvMn/E77hKqJnC8TdDeO20SuuPIJTCE14qotwqX90=" DEFAULT_USER = { "email": "fecribd@fecr.com.cn", "name": "root", "role_id": DEFAULT_ROLE_ID, "department_id": DEFAULT_DEPARTMENT_ID } def init_role(): db = Session() if db.query(Role).count() == 0: RoleCrud.create_role(db=db, name=DEFAULT_ROLE) role01_menus = ["模型", "指标", "流程", "评级"] for subject in role01_menus: RoleCrud.create_role_menu(db=db, role_id="ROLE01", subject=subject) RoleCrud.create_role(db=db, name="分析师") role02_menus = ["模型", "指标", "流程", "评级"] for subject in role02_menus: RoleCrud.create_role_menu(db=db, role_id="ROLE02", subject=subject) role02_rap = [ {"module": "指标函数", "ptype": "p", "sub": "分析师", "obj": "/api/index_function/.*", "act": "计算"}, {"module": "指标仓库", "ptype": "p", "sub": "分析师", "obj": "/api/index_store/view/(IID.*?)$", "act": "查看指标"}, {"module": "指标仓库", "ptype": "p", "sub": "分析师", "obj": "/api/index_store/describe/(IID.*?)$", "act": "查看指标描述"}, {"module": "指标仓库", "ptype": "p", "sub": "分析师", "obj": "/api/index_store/search$", "act": "查询"} ] for rap in role02_rap: RoleCrud.create_role_policy(db=db, role_id="ROLE02", schema=RoleSchema.CreateRolePolicyReqBody(**rap)) db.close() def init_department(): db = Session() if db.query(Department).count() == 0: DepartmentCrud.create_department(db=db, name=DEFAULT_DEPARTMENT) db.close() def init_user(): db = Session() if db.query(User).count() == 0: UserCrud.create_user(db=db, schema=UserSchemas.CreateReqBody(**DEFAULT_USER)) db.close() if __name__ == '__main__': init_role() init_department() init_user()