def post(self, *args, **kwargs): '''新增project''' ret = dict(status=True, msg=None, data=None) try: data = json.loads(self.request.body.decode("utf-8")) name = data.get("name") desc = data.get("desc") app_list = data.get("app") #env_list = data.get("env") owner_list = data.get("owner") cuser_id = data.get("cuser_id") print(app_list) check = [name, app_list, owner_list, cuser_id] if not all(check): ret['msg'] = '必要字段不能为空' return self.write(ret) #raise Exception with DBContext('default') as session: obj = Project(name=name, desc=desc, cuser_id=cuser_id) obj.app = session.query(App).filter(App.id.in_(app_list)).all() #obj.env = session.query(Env).filter(Env.id.in_(env_list)).all() obj.owner = session.query(User).filter( User.id.in_(owner_list)).all() session.add(obj) session.commit() ret['data'] = model_to_dict(obj) ret['msg'] = '新增资源成功' except Exception as e: print(e) ret['status'] = False if not ret['msg']: ret['msg'] = str(e) self.write(ret)
def generate_project_multiplier_data(user): project = Project() project.name = 'multiplier' project.owner = user project.owner_id = user.id project.private_key = PROJECT_TEST_TOKEN project.create_date = datetime.utcnow() db.session.add(project) db.session.commit() redis.setnx('abr:' + PROJECT_TEST_TOKEN, project.id) component1 = Component() component1.name = 'multiplier 2' component1.private = False component1.deploy_version = str(randint(0, 10)) component1.owner_id = user.id db.session.add(component1) db.session.commit() component2 = Component() component2.name = 'multiplier 3' component2.private = False component2.deploy_version = str(randint(0, 10)) component2.owner_id = user.id db.session.add(component2) db.session.commit() logic1 = Logic() logic1.project_id = project.id logic1.component_1_id = component1.id logic1.component_2_id = component2.id logic1.message_type = 'BasicEvent' db.session.add(logic1) db.session.commit() logic2 = Logic() logic2.project_id = project.id logic2.component_1_id = None logic2.component_2_id = component1.id logic2.message_type = 'BasicEvent' db.session.add(logic2) db.session.commit() logic3 = Logic() logic3.project_id = project.id logic3.component_1_id = component2.id logic3.component_2_id = None logic3.message_type = 'BasicEvent' db.session.add(logic3) db.session.commit()
def generate_project_auth_data(user): project = Project() project.name = 'authentication' project.owner = user project.owner_id = user.id Project.private_key = PROJECT_AUTH_TOKEN project.create_date = datetime.utcnow() db.session.add(project) db.session.commit() redis.setnx('abr:' + PROJECT_AUTH_TOKEN, project.id) component = Component() component.name = 'Authentication component' component.private = False component.deploy_version = str(randint(0, 10)) component.owner_id = user.id db.session.add(component) db.session.commit() logic7 = Logic() logic7.project_id = project.id logic7.component_1_id = None logic7.component_2_id = component.id logic7.message_type = 'RequestEvent' db.session.add(logic7) db.session.commit() logic8 = Logic() logic8.project_id = project.id logic8.component_1_id = component.id logic8.component_2_id = None logic8.message_type = 'Response' db.session.add(logic8) db.session.commit() logic9 = Logic() logic9.project_id = project.id logic9.component_1_id = None logic9.component_2_id = component.id logic9.message_type = 'NewEvent' db.session.add(logic9) db.session.commit()
def generate_project_football_data(user): project = Project() project.name = 'football kaghazi' project.owner = user project.owner_id = user.id project.private_key = PROJECT_FK_TOKEN project.create_date = datetime.utcnow() db.session.add(project) db.session.commit() redis.setnx('abr:' + PROJECT_FK_TOKEN, project.id) component = Component() component.name = 'FK logic' component.private = False component.deploy_version = str(randint(0, 10)) component.owner_id = user.id db.session.add(component) db.session.commit() logic1 = Logic() logic1.project_id = project.id logic1.component_1_id = None logic1.component_2_id = component.id logic1.message_type = 'BasicEvent' db.session.add(logic1) db.session.commit() logic2 = Logic() logic2.project_id = project.id logic2.component_1_id = component.id logic2.component_2_id = None logic2.message_type = 'BasicEvent' db.session.add(logic2) db.session.commit()