def post(self): """ Areas Method to create a new Area --- tags: - Areas parameters: - in: body name: body schema: $ref: '#/definitions/AreaToUpdate' responses: 201: description: The updated area schema: $ref: '#/definitions/Area' """ request_dict = request.get_json() if not request_dict: resp = {'message': 'No input data provided'} return resp, status.HTTP_400_BAD_REQUEST errors = area_schema.validate(request_dict) if errors: return errors, status.HTTP_400_BAD_REQUEST area_name = request_dict['name'] if not Area.is_unique(id=0, name=area_name): response = {'error': 'A area with the same name already exists'} return response, status.HTTP_400_BAD_REQUEST try: area = Area(area_name) area.add(area) query = Area.query.get(area.id) result = area_schema.dump(query).data return result, status.HTTP_201_CREATED except SQLAlchemyError as e: db.session.rollback() resp = {"error": str(e)} return resp, status.HTTP_400_BAD_REQUEST
def create_areas(self): for a in areas: if Area.is_unique(id=0, name=a): area = Area(a) area.add(area)