Drop overloaded federation service provider schema
Fix docstring processing which might be list already (why?) Change-Id: Ia8f88085e00d53815a68565526ca0a387d5d4dbc
This commit is contained in:
		@@ -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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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"
 | 
			
		||||
 
 | 
			
		||||
@@ -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:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user