Exemplo n.º 1
0
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
Exemplo n.º 2
0
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