Example #1
0
def put_event():
    try:
        utils.flask_validate_request_is_json(request)
        now = datetime.datetime.now()
        uuid = str(utils.generate_uuid())
        user = get_jwt_identity()
        row = utils.get_args(
            received=request.json,
            required={
                'name': str,
                'description': str,
                'address': str,
                'postal_code': str,
                'event_at': datetime.datetime
            },
            defaultable={
                'id': uuid,
                'created_at': now,
                'updated_at': now,
                'payload': {},
                'organization_id': 0,
                'user_id': user
            },
        )

        filters = {'id': row.pop('id', None)}
        event = db_api.update_row(Event, filters, row)
        return utils.flask_return_success(event.json_dict)
    except Exception as e:
        return utils.flask_handle_exception(e)
Example #2
0
def put_user():
    try:
        utils.flask_validate_request_is_json(request)
        now = datetime.datetime.now()
        in_user = utils.get_args(received=request.json,
                                 defaultable={
                                     'created_at': now,
                                     'updated_at': now,
                                     'payload': {}
                                 })
        filters = {'id': get_jwt_identity()}
        user = db_api.update_row(User, filters, in_user)
        return utils.flask_return_success(user.json_dict)
    except Exception as e:
        return utils.flask_handle_exception(e)
Example #3
0
def patch_user():
    try:
        utils.flask_validate_request_is_json(request)
        now = datetime.datetime.now()
        in_user = utils.get_args(received=request.json,
                                 required={'id': str},
                                 defaultable={'updated_at': now},
                                 optional={
                                     'created_at': datetime.datetime,
                                     'payload': dict
                                 })
        filters = {'id': in_user.pop('id', None)}
        user = db_api.update_row(User, filters, in_user)
        return utils.flask_return_success(user.json_dict)
    except Exception as e:
        return utils.flask_handle_exception(e)
Example #4
0
def put_record():
    try:
        utils.flask_validate_request_is_json(request)
        now = datetime.datetime.now()
        uuid = str(utils.generate_uuid())
        user = get_jwt_identity()
        row = utils.get_args(
            received=request.json,
            defaultable={
                'id': uuid,
                'created_at': now,
                'updated_at': now,
                'payload': {},
                'type_id': 0,
                'user_id': user
            },
            optional={'event_id': str},
        )
        filters = {'id': row.pop('id', None)}

        # Add created_user which defaults to the user_id, merging it with the
        # main row object.
        created_user = utils.get_args(
            received=request.json,
            defaultable={'created_user': user},
        )
        row.update(created_user)

        # And finally add details of who validated the record and when if provided.
        validated = utils.get_args(
            received=request.json,
            defaultable={'validated_at': now},
            optional={'validated_user_id': str},
        )
        if validated.get('validated_user_id') is not None:
            row.update(validated)

        record = db_api.update_row(Record, filters, row)
        return utils.flask_return_success(record.json_dict)
    except Exception as e:
        return utils.flask_handle_exception(e)