예제 #1
0
    def _save(self, request, id_category=None):
        service = CategoryService()
        try:
            data = json.loads(request.data)
        except json.decoder.JSONDecodeError as e:
            return json.dumps({'error': str(e)}), 400
        try:
            name = data['name']
        except KeyError:
            return json.dumps({'error': 'Missing Category name'}), 400

        res = service.save(name, id_category)
        body, status = self.create_response(
            res, {
                CategorySaveResult.OK: {},
                CategorySaveResult.EMPTY_NAME:
                ("Le nom de la categorie ne peut pas etre vide", 400),
                CategorySaveResult.DUPLICATED_NAME:
                ("Une categorie existe deja avec nom", 400)
            })
        return self.format_response(body), status
예제 #2
0
def post_category(
        category_schema: CategorySchema = Body(...,
                                               embed=True,
                                               alias="category"),
        session: Session = Depends(get_session),
        authorization: str = Depends(api_key_authorization),
) -> ObjectCreate:
    try:
        JWT().validate(authorization)
    except JWTExceptionExpired:
        raise HTTPException(status_code=HTTP_401_UNAUTHORIZED,
                            detail='Recurso não autorizado')

    category_service = CategoryService(session)

    if category_service.get_by_name(category_schema.name):
        raise HTTPException(status_code=HTTP_401_UNAUTHORIZED,
                            detail='Categoria já criada')

    category = category_service.insert(category_schema.dict())

    return ObjectCreate(message='Categoria criada com sucesso',
                        object_id=category.id)
예제 #3
0
 def get(self, request):
     service = CategoryService()
     categories = service.get_all()
     return self.format_response({'categories': categories}), 200
예제 #4
0
 def add(self):
     category = CategoryService()
     category_list = category.get_list()
     return render_template('todo_add.html', category_list=category_list)
예제 #5
0
 def get(self):
     service = CategoryService(self.config)
     categories = service.get_all()
     return categories
예제 #6
0
 def post(self):
     category_name = request.form.get("name")
     category = CategoryService()
     category.save(category_name)
     return ("添加成功")
예제 #7
0
 def delete(self, request, id_category):
     service = CategoryService()
     service.delete(id_category)
     return self.format_response(dict()), 200