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
|
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"""
|
"""Sanitize the string to be a valid rust docstring"""
|
||||||
if not doc:
|
if not doc:
|
||||||
return None
|
return None
|
||||||
code_block_open: bool = False
|
code_block_open: bool = False
|
||||||
lines: list[str] = []
|
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)
|
m = re.search(CODEBLOCK_RE, line)
|
||||||
if m and m.groups():
|
if m and m.groups():
|
||||||
if not code_block_open:
|
if not code_block_open:
|
||||||
|
@@ -218,66 +218,6 @@ MAPPING_CREATE_SCHEMA: dict[str, Any] = {
|
|||||||
"properties": {"mapping": MAPPING_PROPERTIES},
|
"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(
|
def _post_process_operation_hook(
|
||||||
openapi_spec, operation_spec, path: str | None = None
|
openapi_spec, operation_spec, path: str | None = None
|
||||||
@@ -431,31 +371,6 @@ def _get_schema_ref(
|
|||||||
name, TypeSchema(**MAPPING_CREATE_SCHEMA)
|
name, TypeSchema(**MAPPING_CREATE_SCHEMA)
|
||||||
)
|
)
|
||||||
ref = f"#/components/schemas/{name}"
|
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
|
# SAML2 Metadata
|
||||||
elif name == "Os_FederationSaml2MetadataGetResponse":
|
elif name == "Os_FederationSaml2MetadataGetResponse":
|
||||||
mime_type = "text/xml"
|
mime_type = "text/xml"
|
||||||
|
@@ -1514,7 +1514,7 @@ resources:
|
|||||||
rust-sdk:
|
rust-sdk:
|
||||||
module_name: head
|
module_name: head
|
||||||
show:
|
show:
|
||||||
operation_id: OS-FEDERATION/service_providers/sp_id:get
|
operation_id: OS-FEDERATION/service_providers/service_provider_id:get
|
||||||
operation_type: show
|
operation_type: show
|
||||||
targets:
|
targets:
|
||||||
rust-sdk:
|
rust-sdk:
|
||||||
@@ -1524,7 +1524,7 @@ resources:
|
|||||||
sdk_mod_name: get
|
sdk_mod_name: get
|
||||||
cli_full_command: federation service-provider show
|
cli_full_command: federation service-provider show
|
||||||
create:
|
create:
|
||||||
operation_id: OS-FEDERATION/service_providers/sp_id:put
|
operation_id: OS-FEDERATION/service_providers/service_provider_id:put
|
||||||
operation_type: create
|
operation_type: create
|
||||||
targets:
|
targets:
|
||||||
rust-sdk:
|
rust-sdk:
|
||||||
@@ -1534,7 +1534,7 @@ resources:
|
|||||||
sdk_mod_name: create
|
sdk_mod_name: create
|
||||||
cli_full_command: federation service-provider create
|
cli_full_command: federation service-provider create
|
||||||
delete:
|
delete:
|
||||||
operation_id: OS-FEDERATION/service_providers/sp_id:delete
|
operation_id: OS-FEDERATION/service_providers/service_provider_id:delete
|
||||||
operation_type: delete
|
operation_type: delete
|
||||||
targets:
|
targets:
|
||||||
rust-sdk:
|
rust-sdk:
|
||||||
@@ -1544,7 +1544,7 @@ resources:
|
|||||||
sdk_mod_name: delete
|
sdk_mod_name: delete
|
||||||
cli_full_command: federation service-provider delete
|
cli_full_command: federation service-provider delete
|
||||||
update:
|
update:
|
||||||
operation_id: OS-FEDERATION/service_providers/sp_id:patch
|
operation_id: OS-FEDERATION/service_providers/service_provider_id:patch
|
||||||
operation_type: set
|
operation_type: set
|
||||||
targets:
|
targets:
|
||||||
rust-sdk:
|
rust-sdk:
|
||||||
|
Reference in New Issue
Block a user