Пример #1
0
def create_objectclass():
	swift = createConnection(request)

	internal_data = InternalStorageManager(swift)
	try:
		class_definition = xform_header_names_on_classdef(request.json.get("objectClass"))
		class_name = class_definition.get("name")
		class_schema = class_definition.get("schema")
	except AttributeError:
		raise HttpError("malformed request", 400)

	if not class_name or not class_schema:
		raise HttpError("class name or class schema definition missing", 400)

	class_names = internal_data.get_keys(INTERNALOCNAME)

	if class_name in class_names:
		raise HttpError("class already exists", 422)

	try:
		Draft4Validator(CLASS_SCHEMA, format_checker=FormatChecker()).validate(class_definition)
	except ValidationError as e:
		raise HttpError("invalid class definition: {}".format(e), 400)

	internal_data.store_data(INTERNALOCNAME, class_name, json.dumps(class_definition))
	return "", 201
Пример #2
0
def create_objectclass():
	swift = createConnection(request)

	internal_data = InternalStorageManager(swift)
	try:
		class_definition = xform_header_names_on_classdef(request.json.get("objectClass"))
		class_name = class_definition.get("name")
		class_schema = class_definition.get("schema")
	except AttributeError:
		raise HttpError("malformed request", 400)

	if not class_name or not class_schema:
		raise HttpError("class name or class schema definition missing", 400)

	class_names = internal_data.get_keys(INTERNALOCNAME)

	if class_name in class_names:
		raise HttpError("class already exists", 422)

	try:
		Draft4Validator(CLASS_SCHEMA, format_checker=FormatChecker()).validate(class_definition)
	except ValidationError as e:
		raise HttpError("invalid class definition: {}".format(e), 400)

	internal_data.store_data(INTERNALOCNAME, class_name, json.dumps(class_definition))
	return "", 201