def update_event(event_name: str): """ Updates an event that has already been created. --- tags: - event summary: Updates event parameters: - id: event_name in: path description: event name required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Event' description: Updated event object required: true responses: 201: description: OK 400: description: Bad request. 5XX: description: Unexpected error (the API issue). """ data = request.get_json() if not data: raise BadRequest() if data.get("date_time"): try: data["date_time"] = dateutil.parser.parse(data["date_time"]) except ParserError: raise BadRequest() if data.get("end_date_time"): try: data["end_date_time"] = dateutil.parser.parse( data["end_date_time"]) # noqa: E501 except ParserError: raise BadRequest() event = Event.objects(name=event_name).first() if not event: raise NotFound() event.modify(**data) res = {"status": "success", "message": "Event was updated!"} return res, 201
def get_all_events(): """ Returns an array of event documents. --- tags: - event summary: returns an array of event documents responses: 201: description: OK 5XX: description: Unexpected error (the API issue). """ events = Event.objects() if not events: raise NotFound("There are no events created.") res = {"events": events, "status": "success"} return res, 201