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)
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)
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)
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)