Example #1
0
    def groups_write(self):
        if request.method == 'POST':
            req_json = self.get_request_json_or_abort()
            validator(validate_group, req_json)
            response = self.insert_group(req_json)

        return response
Example #2
0
    def package_writer(self, package_id):

        validator(validate_uuid, package_id)

        if request.method == "PUT":
            req_json = self.get_request_json_or_abort()
            if 'id' in req_json:
                if req_json['id'] != package_id:
                    abort(
                        400,
                        "Payload 'id' must match that in the URL: got {}, expected {}"
                        .format(req_json['id'], package_id))
                req_json.pop('id')

            package = parse_resp_timestamps(req_json)
            validator(validate_package, package)

            updated_package = package_collection.update_or_404(
                package_id, package)
            resp = (200, updated_package)

        if request.method == "DELETE":
            package_collection.remove_or_404(package_id)
            resp = (204, '')

        return resp
Example #3
0
    def package_get(self, package_id):

        validator(validate_uuid, package_id)

        if request.method == "GET":
            resp = (200, package_collection.get_or_404(package_id))

        return resp
Example #4
0
    def packages_write(self):

        if request.method == 'POST':
            req_json = self.get_request_json_or_abort()
            package = parse_resp_timestamps(req_json)
            validator(validate_package, package)
            response = self.insert_package(package)

        return response
Example #5
0
    def group_get(self, group_id):

        validator(validate_uuid, group_id)

        if request.method == "GET":
            group = group_collection.get_or_404(group_id)
            if group.get(API_VERSION_KEY, 0) < self.api_version:
                abort(404)
            resp = (200, group)

        return resp
Example #6
0
    def group_writer(self, group_id):

        validator(validate_uuid, group_id)

        if request.method == "PUT":
            req_json = self.get_request_json_or_abort()
            if 'id' in req_json:
                if req_json['id'] != group_id:
                    abort(
                        400,
                        "Payload 'id' must match that in the URL: got {}, expected {}"
                        .format(req_json['id'], group_id))
                req_json.pop('id')

            validator(validate_group, req_json)

            updated_group = group_collection.update_or_404(group_id, req_json)
            resp = (200, updated_group)

        if request.method == "DELETE":
            db_mongo.remove_group_or_404(group_id)
            resp = (204, '')

        return resp