Exemplo n.º 1
0
 def post(self, request):
     form, error = JsonParser(
         Argument('o_id', type=int, help='缺少必要参数'),
         Argument('type',
                  filter=lambda x: x in dict(Config.TYPES),
                  help='缺少必要参数'),
         Argument('envs', type=list, filter=lambda x: len(x), help='请选择环境'),
         Argument('key', help='请输入Key'),
         Argument('is_public', type=bool, help='缺少必要参数'),
         Argument('value', type=str, default=''),
         Argument('desc', required=False)).parse(request.body)
     if error is None:
         form.value = form.value.strip()
         form.updated_at = human_datetime()
         form.updated_by = request.user
         envs = form.pop('envs')
         for env_id in envs:
             cf = Config.objects.filter(o_id=form.o_id,
                                        type=form.type,
                                        env_id=env_id,
                                        key=form.key).first()
             if cf:
                 raise Exception(f'{cf.env.name} 中已存在该Key')
             Config.objects.create(env_id=env_id, **form)
             ConfigHistory.objects.create(action='1', env_id=env_id, **form)
     return json_response(error=error)
Exemplo n.º 2
0
 def post(self, request):
     form, error = JsonParser(Argument('id', type=int, required=False),
                              Argument('name', help='请输入模版名称'),
                              Argument('type', help='请选择模版类型'),
                              Argument('body', help='请输入模版内容'),
                              Argument('desc',
                                       required=False)).parse(request.body)
     if error is None:
         if form.id:
             form.updated_at = human_datetime()
             form.updated_by = request.user
             ExecTemplate.objects.filter(pk=form.pop('id')).update(**form)
         else:
             form.created_by = request.user
             ExecTemplate.objects.create(**form)
     return json_response(error=error)