# {py:mod}`django_socio_grpc.protobuf.generation_plugin` ```{py:module} django_socio_grpc.protobuf.generation_plugin ``` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`BaseGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin :summary: ``` * - {py:obj}`BaseAddFieldRequestGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin :summary: ``` * - {py:obj}`FilterGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin :summary: ``` * - {py:obj}`PaginationGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin :summary: ``` * - {py:obj}`AsListGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin :summary: ``` * - {py:obj}`RequestAsListGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.RequestAsListGenerationPlugin :summary: ``` * - {py:obj}`ResponseAsListGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.ResponseAsListGenerationPlugin :summary: ``` * - {py:obj}`RequestAndResponseAsListGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.RequestAndResponseAsListGenerationPlugin :summary: ``` * - {py:obj}`ListGenerationPlugin ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin :summary: ``` * - {py:obj}`BaseEnumGenerationPlugin ` - * - {py:obj}`InMessageEnumGenerationPlugin ` - * - {py:obj}`InMessageWrappedEnumGenerationPlugin ` - * - {py:obj}`GlobalScopeEnumGenerationPlugin ` - * - {py:obj}`GlobalScopeWrappedEnumGenerationPlugin ` - ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`logger ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.logger :summary: ``` ```` ### API ````{py:data} logger :canonical: django_socio_grpc.protobuf.generation_plugin.logger :value: > 'getLogger(...)' ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.logger ``` ```` `````{py:class} BaseGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin ``` ````{py:method} check_condition(service: type[django_socio_grpc.services.Service], request_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, response_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> bool :canonical: django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.check_condition ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.check_condition ``` ```` ````{py:method} transform_request_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.transform_request_message ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.transform_request_message ``` ```` ````{py:method} transform_response_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.transform_response_message ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.transform_response_message ``` ```` ````{py:method} run_validation_and_transform(service: type[django_socio_grpc.services.Service], request_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, response_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> tuple[django_socio_grpc.protobuf.proto_classes.ProtoMessage, django_socio_grpc.protobuf.proto_classes.ProtoMessage] :canonical: django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.run_validation_and_transform ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin.run_validation_and_transform ``` ```` ````` `````{py:class} BaseAddFieldRequestGenerationPlugin(*args, **kwargs) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.__init__ ``` ````{py:attribute} field_name :canonical: django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.field_name :type: str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.field_name ``` ```` ````{py:attribute} field_type :canonical: django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.field_type :type: str | django_socio_grpc.protobuf.proto_classes.ProtoMessage :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.field_type ``` ```` ````{py:attribute} field_cardinality :canonical: django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.field_cardinality :type: django_socio_grpc.protobuf.proto_classes.FieldCardinality :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.field_cardinality ``` ```` ````{py:method} transform_request_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin.transform_request_message ```` ````` `````{py:class} FilterGenerationPlugin(display_warning_message=True) :canonical: django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.__init__ ``` ````{py:attribute} field_name :canonical: django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.field_name :type: str :value: > '_filters' ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.field_name ``` ```` ````{py:attribute} field_type :canonical: django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.field_type :type: str | django_socio_grpc.protobuf.proto_classes.ProtoMessage :value: > 'google.protobuf.Struct' ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.field_type ``` ```` ````{py:attribute} field_cardinality :canonical: django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.field_cardinality :type: django_socio_grpc.protobuf.proto_classes.FieldCardinality :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.field_cardinality ``` ```` ````{py:method} check_condition(service: type[django_socio_grpc.services.Service], request_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, response_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> bool :canonical: django_socio_grpc.protobuf.generation_plugin.FilterGenerationPlugin.check_condition ```` ````` `````{py:class} PaginationGenerationPlugin(display_warning_message=True) :canonical: django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseAddFieldRequestGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.__init__ ``` ````{py:attribute} field_name :canonical: django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.field_name :type: str :value: > '_pagination' ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.field_name ``` ```` ````{py:attribute} field_type :canonical: django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.field_type :type: str | django_socio_grpc.protobuf.proto_classes.ProtoMessage :value: > 'google.protobuf.Struct' ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.field_type ``` ```` ````{py:attribute} field_cardinality :canonical: django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.field_cardinality :type: django_socio_grpc.protobuf.proto_classes.FieldCardinality :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.field_cardinality ``` ```` ````{py:method} check_condition(service: type[django_socio_grpc.services.Service], request_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, response_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> bool :canonical: django_socio_grpc.protobuf.generation_plugin.PaginationGenerationPlugin.check_condition ```` ````` `````{py:class} AsListGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin ``` ````{py:attribute} list_field_name :canonical: django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin.list_field_name :type: str :value: > 'results' ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin.list_field_name ``` ```` ````{py:method} transform_message_to_list(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, list_name: str) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin.transform_message_to_list ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin.transform_message_to_list ``` ```` ````` `````{py:class} RequestAsListGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.RequestAsListGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.RequestAsListGenerationPlugin ``` ````{py:method} transform_request_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.RequestAsListGenerationPlugin.transform_request_message ```` ````` `````{py:class} ResponseAsListGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.ResponseAsListGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.AsListGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.ResponseAsListGenerationPlugin ``` ````{py:method} transform_response_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.ResponseAsListGenerationPlugin.transform_response_message ```` ````` ````{py:class} RequestAndResponseAsListGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.RequestAndResponseAsListGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.RequestAsListGenerationPlugin`, {py:obj}`django_socio_grpc.protobuf.generation_plugin.ResponseAsListGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.RequestAndResponseAsListGenerationPlugin ``` ```` `````{py:class} ListGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.RequestAsListGenerationPlugin`, {py:obj}`django_socio_grpc.protobuf.generation_plugin.ResponseAsListGenerationPlugin` ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin ``` ````{py:attribute} request :canonical: django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin.request :type: bool :value: > False ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin.request ``` ```` ````{py:attribute} response :canonical: django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin.response :type: bool :value: > False ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin.response ``` ```` ````{py:method} transform_response_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin.transform_response_message ```` ````{py:method} transform_request_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.ListGenerationPlugin.transform_request_message ```` ````` `````{py:class} BaseEnumGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseGenerationPlugin` ````{py:attribute} non_annotated_generation :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.non_annotated_generation :type: bool :value: > False ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.non_annotated_generation ``` ```` ````{py:method} transform_request_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.transform_request_message ```` ````{py:method} handle_serializer(proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.handle_serializer ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.handle_serializer ``` ```` ````{py:method} handle_field_dict(proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.handle_field_dict ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.handle_field_dict ``` ```` ````{py:method} transform_response_message(service: type[django_socio_grpc.services.Service], proto_message: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str, message_name_constructor: django_socio_grpc.protobuf.message_name_constructor.MessageNameConstructor) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.transform_response_message ```` ````{py:method} set_field_type(field: django_socio_grpc.protobuf.proto_classes.ProtoField, enum: enum.Enum) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.set_field_type :abstractmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.set_field_type ``` ```` ````{py:method} choice_field_contain_buildable_enum(field: rest_framework.serializers.ChoiceField) -> bool :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.choice_field_contain_buildable_enum ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.choice_field_contain_buildable_enum ``` ```` ````{py:method} check_annotated_enum_coherence(enum: enum.Enum, field: rest_framework.serializers.ChoiceField) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.check_annotated_enum_coherence ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.check_annotated_enum_coherence ``` ```` ````{py:method} build_enum_from_choice_field(field: rest_framework.serializers.ChoiceField) :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.build_enum_from_choice_field ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.build_enum_from_choice_field ``` ```` ````{py:method} get_enum_from_choice_field(field: rest_framework.serializers.ChoiceField) -> enum.Enum | None :canonical: django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.get_enum_from_choice_field ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin.get_enum_from_choice_field ``` ```` ````` `````{py:class} InMessageEnumGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.InMessageEnumGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin` ````{py:method} set_field_type(field: django_socio_grpc.protobuf.proto_classes.ProtoField, enum: enum.Enum) :canonical: django_socio_grpc.protobuf.generation_plugin.InMessageEnumGenerationPlugin.set_field_type ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.InMessageEnumGenerationPlugin.set_field_type ``` ```` ````` `````{py:class} InMessageWrappedEnumGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.InMessageWrappedEnumGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin` ````{py:method} set_field_type(field: django_socio_grpc.protobuf.proto_classes.ProtoField, enum: enum.Enum) :canonical: django_socio_grpc.protobuf.generation_plugin.InMessageWrappedEnumGenerationPlugin.set_field_type ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.InMessageWrappedEnumGenerationPlugin.set_field_type ``` ```` ````` `````{py:class} GlobalScopeEnumGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.GlobalScopeEnumGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin` ````{py:method} set_field_type(field: django_socio_grpc.protobuf.proto_classes.ProtoField, enum: enum.Enum) :canonical: django_socio_grpc.protobuf.generation_plugin.GlobalScopeEnumGenerationPlugin.set_field_type ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.GlobalScopeEnumGenerationPlugin.set_field_type ``` ```` ````` `````{py:class} GlobalScopeWrappedEnumGenerationPlugin :canonical: django_socio_grpc.protobuf.generation_plugin.GlobalScopeWrappedEnumGenerationPlugin Bases: {py:obj}`django_socio_grpc.protobuf.generation_plugin.BaseEnumGenerationPlugin` ````{py:method} set_field_type(field: django_socio_grpc.protobuf.proto_classes.ProtoField, enum: enum.Enum) :canonical: django_socio_grpc.protobuf.generation_plugin.GlobalScopeWrappedEnumGenerationPlugin.set_field_type ```{autodoc2-docstring} django_socio_grpc.protobuf.generation_plugin.GlobalScopeWrappedEnumGenerationPlugin.set_field_type ``` ```` `````