diff --git a/codegenerator/common/rust.py b/codegenerator/common/rust.py index fde08aa..45ed64a 100644 --- a/codegenerator/common/rust.py +++ b/codegenerator/common/rust.py @@ -1132,13 +1132,19 @@ class TypeManager: return False -def sanitize_rust_docstrings(doc: str | None) -> str | None: +def sanitize_rust_docstrings(doc: str | list[str] | None) -> str | None: """Sanitize the string to be a valid rust docstring""" if not doc: return None code_block_open: bool = False lines: list[str] = [] - for line in doc.split("\n"): + doc_lines: list[str] = [] + if isinstance(doc, list): + for line in doc: + doc_lines.extend(line.split("\n")) + else: + doc_lines = doc.split("\n") + for line in doc_lines: m = re.search(CODEBLOCK_RE, line) if m and m.groups(): if not code_block_open: diff --git a/codegenerator/openapi/keystone_schemas/federation.py b/codegenerator/openapi/keystone_schemas/federation.py index 3ea9f4c..44edc61 100644 --- a/codegenerator/openapi/keystone_schemas/federation.py +++ b/codegenerator/openapi/keystone_schemas/federation.py @@ -218,66 +218,6 @@ MAPPING_CREATE_SCHEMA: dict[str, Any] = { "properties": {"mapping": MAPPING_PROPERTIES}, } -FEDERATION_SERVICE_PROVIDER_SCHEMA: dict[str, Any] = { - "type": "object", - "properties": { - "auth_url": { - "type": "string", - "description": "The URL to authenticate against", - }, - "description": { - "type": ["string", "null"], - "description": "The description of the Service Provider", - }, - "id": { - "type": "string", - "description": "The Service Provider unique ID", - }, - "enabled": { - "type": "boolean", - "description": "Whether the Service Provider is enabled or not", - }, - "relay_state_prefix": { - "type": ["string", "null"], - "description": "The prefix of the RelayState SAML attribute", - }, - "sp_url": { - "type": "string", - "description": "The Service Provider’s URL", - }, - }, - "required": ["auth_url", "sp_url"], -} - -FEDERATION_SERVICE_PROVIDER_CONTAINER_SCHEMA: dict[str, Any] = { - "type": "object", - "properties": {"service_provider": FEDERATION_SERVICE_PROVIDER_SCHEMA}, -} - -FEDERATION_SERVICE_PROVIDERS_SCHEMA: dict[str, Any] = { - "type": "object", - "properties": { - "service_providers": { - "type": "array", - "items": FEDERATION_SERVICE_PROVIDER_SCHEMA, - } - }, -} - -FEDERATION_SERVICE_PROVIDER_CREATE_SCHEMA: dict[str, Any] = { - "type": "object", - "properties": { - "service_provider": federation_schema.service_provider_create - }, -} - -FEDERATION_SERVICE_PROVIDER_UPDATE_SCHEMA: dict[str, Any] = { - "type": "object", - "properties": { - "service_provider": federation_schema.service_provider_update - }, -} - def _post_process_operation_hook( openapi_spec, operation_spec, path: str | None = None @@ -431,31 +371,6 @@ def _get_schema_ref( name, TypeSchema(**MAPPING_CREATE_SCHEMA) ) ref = f"#/components/schemas/{name}" - # ### Identity provider service provider - elif name == "Os_FederationService_ProvidersGetResponse": - openapi_spec.components.schemas.setdefault( - name, TypeSchema(**FEDERATION_SERVICE_PROVIDERS_SCHEMA) - ) - ref = f"#/components/schemas/{name}" - elif name in [ - "Os_FederationService_ProviderGetResponse", - "Os_FederationService_ProviderPutResponse", - "Os_FederationService_ProviderPatchResponse", - ]: - openapi_spec.components.schemas.setdefault( - name, TypeSchema(**FEDERATION_SERVICE_PROVIDER_CONTAINER_SCHEMA) - ) - ref = f"#/components/schemas/{name}" - elif name == "Os_FederationService_ProviderPutRequest": - openapi_spec.components.schemas.setdefault( - name, TypeSchema(**FEDERATION_SERVICE_PROVIDER_CREATE_SCHEMA) - ) - ref = f"#/components/schemas/{name}" - elif name == "Os_FederationService_ProviderPatchRequest": - openapi_spec.components.schemas.setdefault( - name, TypeSchema(**FEDERATION_SERVICE_PROVIDER_UPDATE_SCHEMA) - ) - ref = f"#/components/schemas/{name}" # SAML2 Metadata elif name == "Os_FederationSaml2MetadataGetResponse": mime_type = "text/xml" diff --git a/metadata/identity_metadata.yaml b/metadata/identity_metadata.yaml index 6af0f8a..043ebc4 100644 --- a/metadata/identity_metadata.yaml +++ b/metadata/identity_metadata.yaml @@ -1514,7 +1514,7 @@ resources: rust-sdk: module_name: head show: - operation_id: OS-FEDERATION/service_providers/sp_id:get + operation_id: OS-FEDERATION/service_providers/service_provider_id:get operation_type: show targets: rust-sdk: @@ -1524,7 +1524,7 @@ resources: sdk_mod_name: get cli_full_command: federation service-provider show create: - operation_id: OS-FEDERATION/service_providers/sp_id:put + operation_id: OS-FEDERATION/service_providers/service_provider_id:put operation_type: create targets: rust-sdk: @@ -1534,7 +1534,7 @@ resources: sdk_mod_name: create cli_full_command: federation service-provider create delete: - operation_id: OS-FEDERATION/service_providers/sp_id:delete + operation_id: OS-FEDERATION/service_providers/service_provider_id:delete operation_type: delete targets: rust-sdk: @@ -1544,7 +1544,7 @@ resources: sdk_mod_name: delete cli_full_command: federation service-provider delete update: - operation_id: OS-FEDERATION/service_providers/sp_id:patch + operation_id: OS-FEDERATION/service_providers/service_provider_id:patch operation_type: set targets: rust-sdk: