def __init_subclass_with_meta__( cls, description=None, permissions: Tuple = None, _meta=None, error_type_class=None, error_type_field=None, errors_mapping=None, **options, ): if not _meta: _meta = MutationOptions(cls) if not description: raise ImproperlyConfigured("No description provided in Meta") if isinstance(permissions, str): permissions = (permissions, ) if permissions and not isinstance(permissions, tuple): raise ImproperlyConfigured( "Permissions should be a tuple or a string in Meta") _meta.permissions = permissions _meta.error_type_class = error_type_class _meta.error_type_field = error_type_field _meta.errors_mapping = errors_mapping super().__init_subclass_with_meta__(description=description, _meta=_meta, **options) if error_type_class and error_type_field: cls._meta.fields.update( get_error_fields(error_type_class, error_type_field))
def __init_subclass_with_meta__( cls, auto_permission_message=True, description=None, permissions: Tuple = None, _meta=None, error_type_class=None, error_type_field=None, errors_mapping=None, **options, ): if not _meta: _meta = MutationOptions(cls) if not description: raise ImproperlyConfigured("No description provided in Meta") if not error_type_class: raise ImproperlyConfigured("No error_type_class provided in Meta.") cls._validate_permissions(permissions) _meta.auto_permission_message = auto_permission_message _meta.permissions = permissions _meta.error_type_class = error_type_class _meta.error_type_field = error_type_field _meta.errors_mapping = errors_mapping if permissions and auto_permission_message: permissions_msg = message_one_of_permissions_required(permissions) description = f"{description} {permissions_msg}" super().__init_subclass_with_meta__( description=description, _meta=_meta, **options ) if error_type_field: deprecated_msg = f"{DEPRECATED_IN_3X_FIELD} Use `errors` field instead." cls._meta.fields.update( get_error_fields( error_type_class, error_type_field, deprecated_msg, ) ) cls._meta.fields.update(get_error_fields(error_type_class, "errors"))
def __init_subclass_with_meta__( cls, description=None, permissions: Tuple = None, _meta=None, error_type_class=None, error_type_field=None, errors_mapping=None, **options, ): if not _meta: _meta = MutationOptions(cls) if not description: raise ImproperlyConfigured("No description provided in Meta") if not error_type_class: raise ImproperlyConfigured("No error_type_class provided in Meta.") if isinstance(permissions, str): permissions = (permissions,) if permissions and not isinstance(permissions, tuple): raise ImproperlyConfigured( "Permissions should be a tuple or a string in Meta" ) _meta.permissions = permissions _meta.error_type_class = error_type_class _meta.error_type_field = error_type_field _meta.errors_mapping = errors_mapping super().__init_subclass_with_meta__( description=description, _meta=_meta, **options ) if error_type_field: deprecated_msg = ( "Use errors field instead. This field will be removed in Saleor 4.0." ) cls._meta.fields.update( get_error_fields( error_type_class, error_type_field, deprecated_msg, ) ) cls._meta.fields.update(get_error_fields(error_type_class, "errors"))