Beispiel #1
0
def new_notification(body):
    """ Sends a new notification to a user """
    noti = Notification()
    noti.user_id = body['user_id']

    try:
        sent_on = parser.isoparse(body['sent_on'])

        if sent_on > datetime.datetime.now():
            return make_error("Invalid sent_on date"), 400

        noti.sent_on = parser.isoparse(body['sent_on'])
    except ValueError:
        return make_error("Invalid sent_on date"), 400

    if 'read_on' in body:
        try:
            read_on = parser.isoparse(body['read_on'])

            if read_on > datetime.datetime.now() or read_on < noti.sent_on:
                return make_error("Invalid read_on date"), 400

            noti.read_on = read_on
        except ValueError:
            return make_error("Invalid read_on date"), 400

    noti.content = body['content']

    db.session.add(noti)
    db.session.commit()

    return noti.serialize(), 201