@rockcarver/frodo-lib 4.10.0 → 4.11.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +6 -3
- package/types/api/AgentApi.d.ts +128 -0
- package/types/api/AgentApi.d.ts.map +1 -0
- package/types/api/AmConfigApi.d.ts +87 -0
- package/types/api/AmConfigApi.d.ts.map +1 -0
- package/types/api/ApiTypes.d.ts +59 -0
- package/types/api/ApiTypes.d.ts.map +1 -0
- package/types/api/AuthenticateApi.d.ts +38 -0
- package/types/api/AuthenticateApi.d.ts.map +1 -0
- package/types/api/AuthenticationSettingsApi.d.ts +31 -0
- package/types/api/AuthenticationSettingsApi.d.ts.map +1 -0
- package/types/api/BaseApi.d.ts +190 -0
- package/types/api/BaseApi.d.ts.map +1 -0
- package/types/api/CirclesOfTrustApi.d.ts +52 -0
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -0
- package/types/api/IdmConfigApi.d.ts +69 -0
- package/types/api/IdmConfigApi.d.ts.map +1 -0
- package/types/api/IdmScriptApi.d.ts +17 -0
- package/types/api/IdmScriptApi.d.ts.map +1 -0
- package/types/api/IdmSystemApi.d.ts +111 -0
- package/types/api/IdmSystemApi.d.ts.map +1 -0
- package/types/api/InternalObjectApi.d.ts +103 -0
- package/types/api/InternalObjectApi.d.ts.map +1 -0
- package/types/api/ManagedObjectApi.d.ts +252 -0
- package/types/api/ManagedObjectApi.d.ts.map +1 -0
- package/types/api/ManagedSystemObjectApi.d.ts +150 -0
- package/types/api/ManagedSystemObjectApi.d.ts.map +1 -0
- package/types/api/NodeApi.d.ts +243 -0
- package/types/api/NodeApi.d.ts.map +1 -0
- package/types/api/OAuth2ClientApi.d.ts +78 -0
- package/types/api/OAuth2ClientApi.d.ts.map +1 -0
- package/types/api/OAuth2OIDCApi.d.ts +121 -0
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -0
- package/types/api/OAuth2ProviderApi.d.ts +176 -0
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -0
- package/types/api/OAuth2TrustedJwtIssuerApi.d.ts +54 -0
- package/types/api/OAuth2TrustedJwtIssuerApi.d.ts.map +1 -0
- package/types/api/PoliciesApi.d.ts +60 -0
- package/types/api/PoliciesApi.d.ts.map +1 -0
- package/types/api/PolicySetApi.d.ts +52 -0
- package/types/api/PolicySetApi.d.ts.map +1 -0
- package/types/api/RawConfigApi.d.ts +75 -0
- package/types/api/RawConfigApi.d.ts.map +1 -0
- package/types/api/RealmApi.d.ts +54 -0
- package/types/api/RealmApi.d.ts.map +1 -0
- package/types/api/ReconApi.d.ts +171 -0
- package/types/api/ReconApi.d.ts.map +1 -0
- package/types/api/ResourceTypesApi.d.ts +63 -0
- package/types/api/ResourceTypesApi.d.ts.map +1 -0
- package/types/api/Saml2Api.d.ts +112 -0
- package/types/api/Saml2Api.d.ts.map +1 -0
- package/types/api/ScriptApi.d.ts +94 -0
- package/types/api/ScriptApi.d.ts.map +1 -0
- package/types/api/ScriptTypeApi.d.ts +103 -0
- package/types/api/ScriptTypeApi.d.ts.map +1 -0
- package/types/api/SecretStoreApi.d.ts +185 -0
- package/types/api/SecretStoreApi.d.ts.map +1 -0
- package/types/api/ServerInfoApi.d.ts +26 -0
- package/types/api/ServerInfoApi.d.ts.map +1 -0
- package/types/api/ServiceApi.d.ts +102 -0
- package/types/api/ServiceApi.d.ts.map +1 -0
- package/types/api/SessionApi.d.ts +23 -0
- package/types/api/SessionApi.d.ts.map +1 -0
- package/types/api/SocialIdentityProvidersApi.d.ts +89 -0
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -0
- package/types/api/TreeApi.d.ts +62 -0
- package/types/api/TreeApi.d.ts.map +1 -0
- package/types/api/UserApi.d.ts +159 -0
- package/types/api/UserApi.d.ts.map +1 -0
- package/types/api/classic/ServerApi.d.ts +78 -0
- package/types/api/classic/ServerApi.d.ts.map +1 -0
- package/types/api/classic/SiteApi.d.ts +39 -0
- package/types/api/classic/SiteApi.d.ts.map +1 -0
- package/types/api/cloud/AdminFederationProvidersApi.d.ts +71 -0
- package/types/api/cloud/AdminFederationProvidersApi.d.ts.map +1 -0
- package/types/api/cloud/EnvAIAgentApi.d.ts +9 -0
- package/types/api/cloud/EnvAIAgentApi.d.ts.map +1 -0
- package/types/api/cloud/EnvCSRsApi.d.ts +165 -0
- package/types/api/cloud/EnvCSRsApi.d.ts.map +1 -0
- package/types/api/cloud/EnvCertificatesApi.d.ts +74 -0
- package/types/api/cloud/EnvCertificatesApi.d.ts.map +1 -0
- package/types/api/cloud/EnvContentSecurityPolicyApi.d.ts +87 -0
- package/types/api/cloud/EnvContentSecurityPolicyApi.d.ts.map +1 -0
- package/types/api/cloud/EnvCookieDomainsApi.d.ts +26 -0
- package/types/api/cloud/EnvCookieDomainsApi.d.ts.map +1 -0
- package/types/api/cloud/EnvCustomDomainsApi.d.ts +37 -0
- package/types/api/cloud/EnvCustomDomainsApi.d.ts.map +1 -0
- package/types/api/cloud/EnvDirectConfigurationSessionApi.d.ts +43 -0
- package/types/api/cloud/EnvDirectConfigurationSessionApi.d.ts.map +1 -0
- package/types/api/cloud/EnvFederationEnforcementApi.d.ts +26 -0
- package/types/api/cloud/EnvFederationEnforcementApi.d.ts.map +1 -0
- package/types/api/cloud/EnvInfoApi.d.ts +22 -0
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -0
- package/types/api/cloud/EnvPromotionApi.d.ts +218 -0
- package/types/api/cloud/EnvPromotionApi.d.ts.map +1 -0
- package/types/api/cloud/EnvReleaseApi.d.ts +16 -0
- package/types/api/cloud/EnvReleaseApi.d.ts.map +1 -0
- package/types/api/cloud/EnvSSOCookieConfigApi.d.ts +35 -0
- package/types/api/cloud/EnvSSOCookieConfigApi.d.ts.map +1 -0
- package/types/api/cloud/EnvServiceAccountScopesApi.d.ts +17 -0
- package/types/api/cloud/EnvServiceAccountScopesApi.d.ts.map +1 -0
- package/types/api/cloud/EsvCountApi.d.ts +13 -0
- package/types/api/cloud/EsvCountApi.d.ts.map +1 -0
- package/types/api/cloud/FeatureApi.d.ts +16 -0
- package/types/api/cloud/FeatureApi.d.ts.map +1 -0
- package/types/api/cloud/IdmFeatureApi.d.ts +65 -0
- package/types/api/cloud/IdmFeatureApi.d.ts.map +1 -0
- package/types/api/cloud/LogApi.d.ts +108 -0
- package/types/api/cloud/LogApi.d.ts.map +1 -0
- package/types/api/cloud/SecretsApi.d.ts +163 -0
- package/types/api/cloud/SecretsApi.d.ts.map +1 -0
- package/types/api/cloud/StartupApi.d.ts +20 -0
- package/types/api/cloud/StartupApi.d.ts.map +1 -0
- package/types/api/cloud/TelemetryApi.d.ts +60 -0
- package/types/api/cloud/TelemetryApi.d.ts.map +1 -0
- package/types/api/cloud/VariablesApi.d.ts +86 -0
- package/types/api/cloud/VariablesApi.d.ts.map +1 -0
- package/types/api/cloud/WSFedApi.d.ts +495 -0
- package/types/api/cloud/WSFedApi.d.ts.map +1 -0
- package/types/api/cloud/iga/IgaCertificationTemplateApi.d.ts +227 -0
- package/types/api/cloud/iga/IgaCertificationTemplateApi.d.ts.map +1 -0
- package/types/api/cloud/iga/IgaEventApi.d.ts +111 -0
- package/types/api/cloud/iga/IgaEventApi.d.ts.map +1 -0
- package/types/api/cloud/iga/IgaGlossaryApi.d.ts +103 -0
- package/types/api/cloud/iga/IgaGlossaryApi.d.ts.map +1 -0
- package/types/api/cloud/iga/IgaRequestFormApi.d.ts +184 -0
- package/types/api/cloud/iga/IgaRequestFormApi.d.ts.map +1 -0
- package/types/api/cloud/iga/IgaRequestTypeApi.d.ts +124 -0
- package/types/api/cloud/iga/IgaRequestTypeApi.d.ts.map +1 -0
- package/types/api/cloud/iga/IgaWorkflowApi.d.ts +208 -0
- package/types/api/cloud/iga/IgaWorkflowApi.d.ts.map +1 -0
- package/types/ext/axios-curlirize/curlirize.d.ts +14 -0
- package/types/ext/axios-curlirize/curlirize.d.ts.map +1 -0
- package/types/ext/axios-curlirize/lib/CurlHelper.d.ts +12 -0
- package/types/ext/axios-curlirize/lib/CurlHelper.d.ts.map +1 -0
- package/types/index.d.ts +11 -0
- package/types/index.d.ts.map +1 -0
- package/types/lib/FrodoLib.d.ts +407 -0
- package/types/lib/FrodoLib.d.ts.map +1 -0
- package/types/lib/Help.d.ts +18 -0
- package/types/lib/Help.d.ts.map +1 -0
- package/types/mcp/CapabilityMetadata.d.ts +48 -0
- package/types/mcp/CapabilityMetadata.d.ts.map +1 -0
- package/types/mcp/CapabilityPolicy.d.ts +22 -0
- package/types/mcp/CapabilityPolicy.d.ts.map +1 -0
- package/types/mcp/CapabilityRegistry.d.ts +62 -0
- package/types/mcp/CapabilityRegistry.d.ts.map +1 -0
- package/types/mcp/CapabilityRouting.d.ts +9 -0
- package/types/mcp/CapabilityRouting.d.ts.map +1 -0
- package/types/mcp/CapabilityTypes.d.ts +371 -0
- package/types/mcp/CapabilityTypes.d.ts.map +1 -0
- package/types/mcp/DiscoveryHydration.d.ts +21 -0
- package/types/mcp/DiscoveryHydration.d.ts.map +1 -0
- package/types/mcp/DocsContext.d.ts +123 -0
- package/types/mcp/DocsContext.d.ts.map +1 -0
- package/types/mcp/McpService.d.ts +94 -0
- package/types/mcp/McpService.d.ts.map +1 -0
- package/types/mcp/ProfileRegistry.d.ts +63 -0
- package/types/mcp/ProfileRegistry.d.ts.map +1 -0
- package/types/mcp/SemanticIdentifiers.d.ts +17 -0
- package/types/mcp/SemanticIdentifiers.d.ts.map +1 -0
- package/types/mcp/SemanticObjectFamilies.d.ts +24 -0
- package/types/mcp/SemanticObjectFamilies.d.ts.map +1 -0
- package/types/mcp/ToolManifest.d.ts +231 -0
- package/types/mcp/ToolManifest.d.ts.map +1 -0
- package/types/mcp/ToolRuntime.d.ts +477 -0
- package/types/mcp/ToolRuntime.d.ts.map +1 -0
- package/types/mcp/index.d.ts +20 -0
- package/types/mcp/index.d.ts.map +1 -0
- package/types/ops/AdminOps.d.ts +85 -0
- package/types/ops/AdminOps.d.ts.map +1 -0
- package/types/ops/AgentOps.d.ts +938 -0
- package/types/ops/AgentOps.d.ts.map +1 -0
- package/types/ops/AmConfigOps.d.ts +96 -0
- package/types/ops/AmConfigOps.d.ts.map +1 -0
- package/types/ops/ApiFactoryOps.d.ts +77 -0
- package/types/ops/ApiFactoryOps.d.ts.map +1 -0
- package/types/ops/ApplicationOps.d.ts +334 -0
- package/types/ops/ApplicationOps.d.ts.map +1 -0
- package/types/ops/AuthenticateOps.d.ts +196 -0
- package/types/ops/AuthenticateOps.d.ts.map +1 -0
- package/types/ops/AuthenticationSettingsOps.d.ts +78 -0
- package/types/ops/AuthenticationSettingsOps.d.ts.map +1 -0
- package/types/ops/BrowserAuthenticateOps.d.ts +188 -0
- package/types/ops/BrowserAuthenticateOps.d.ts.map +1 -0
- package/types/ops/CallbackOps.d.ts +27 -0
- package/types/ops/CallbackOps.d.ts.map +1 -0
- package/types/ops/CallerTrustTierOps.d.ts +103 -0
- package/types/ops/CallerTrustTierOps.d.ts.map +1 -0
- package/types/ops/CirclesOfTrustOps.d.ts +203 -0
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -0
- package/types/ops/ConfigOps.d.ts +214 -0
- package/types/ops/ConfigOps.d.ts.map +1 -0
- package/types/ops/ConnectionProfileOps.d.ts +346 -0
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -0
- package/types/ops/ConnectorOps.d.ts +269 -0
- package/types/ops/ConnectorOps.d.ts.map +1 -0
- package/types/ops/EmailTemplateOps.d.ts +160 -0
- package/types/ops/EmailTemplateOps.d.ts.map +1 -0
- package/types/ops/FrodoError.d.ts +40 -0
- package/types/ops/FrodoError.d.ts.map +1 -0
- package/types/ops/IdmConfigOps.d.ts +286 -0
- package/types/ops/IdmConfigOps.d.ts.map +1 -0
- package/types/ops/IdmCryptoOps.d.ts +68 -0
- package/types/ops/IdmCryptoOps.d.ts.map +1 -0
- package/types/ops/IdmScriptOps.d.ts +29 -0
- package/types/ops/IdmScriptOps.d.ts.map +1 -0
- package/types/ops/IdmSystemOps.d.ts +198 -0
- package/types/ops/IdmSystemOps.d.ts.map +1 -0
- package/types/ops/IdpOps.d.ts +234 -0
- package/types/ops/IdpOps.d.ts.map +1 -0
- package/types/ops/InfoOps.d.ts +28 -0
- package/types/ops/InfoOps.d.ts.map +1 -0
- package/types/ops/InternalRoleOps.d.ts +232 -0
- package/types/ops/InternalRoleOps.d.ts.map +1 -0
- package/types/ops/JoseOps.d.ts +87 -0
- package/types/ops/JoseOps.d.ts.map +1 -0
- package/types/ops/JourneyOps.d.ts +573 -0
- package/types/ops/JourneyOps.d.ts.map +1 -0
- package/types/ops/ManagedObjectOps.d.ts +393 -0
- package/types/ops/ManagedObjectOps.d.ts.map +1 -0
- package/types/ops/ManagedObjectSchemaOps.d.ts +757 -0
- package/types/ops/ManagedObjectSchemaOps.d.ts.map +1 -0
- package/types/ops/ManagedSystemObjectOps.d.ts +270 -0
- package/types/ops/ManagedSystemObjectOps.d.ts.map +1 -0
- package/types/ops/ManagedSystemObjectSchemaOps.d.ts +42 -0
- package/types/ops/ManagedSystemObjectSchemaOps.d.ts.map +1 -0
- package/types/ops/MappingOps.d.ts +332 -0
- package/types/ops/MappingOps.d.ts.map +1 -0
- package/types/ops/NodeOps.d.ts +627 -0
- package/types/ops/NodeOps.d.ts.map +1 -0
- package/types/ops/OAuth2ClientOps.d.ts +235 -0
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -0
- package/types/ops/OAuth2OidcOps.d.ts +64 -0
- package/types/ops/OAuth2OidcOps.d.ts.map +1 -0
- package/types/ops/OAuth2ProviderOps.d.ts +57 -0
- package/types/ops/OAuth2ProviderOps.d.ts.map +1 -0
- package/types/ops/OAuth2TrustedJwtIssuerOps.d.ts +223 -0
- package/types/ops/OAuth2TrustedJwtIssuerOps.d.ts.map +1 -0
- package/types/ops/OpsTypes.d.ts +12 -0
- package/types/ops/OpsTypes.d.ts.map +1 -0
- package/types/ops/OrganizationOps.d.ts +34 -0
- package/types/ops/OrganizationOps.d.ts.map +1 -0
- package/types/ops/PolicyOps.d.ts +294 -0
- package/types/ops/PolicyOps.d.ts.map +1 -0
- package/types/ops/PolicySetOps.d.ts +195 -0
- package/types/ops/PolicySetOps.d.ts.map +1 -0
- package/types/ops/PrivilegeEscalationOps.d.ts +51 -0
- package/types/ops/PrivilegeEscalationOps.d.ts.map +1 -0
- package/types/ops/RawConfigOps.d.ts +67 -0
- package/types/ops/RawConfigOps.d.ts.map +1 -0
- package/types/ops/RealmOps.d.ts +196 -0
- package/types/ops/RealmOps.d.ts.map +1 -0
- package/types/ops/ReconOps.d.ts +57 -0
- package/types/ops/ReconOps.d.ts.map +1 -0
- package/types/ops/RequiredScopesOps.d.ts +69 -0
- package/types/ops/RequiredScopesOps.d.ts.map +1 -0
- package/types/ops/ResourceTypeOps.d.ts +219 -0
- package/types/ops/ResourceTypeOps.d.ts.map +1 -0
- package/types/ops/Saml2Ops.d.ts +261 -0
- package/types/ops/Saml2Ops.d.ts.map +1 -0
- package/types/ops/ScriptOps.d.ts +426 -0
- package/types/ops/ScriptOps.d.ts.map +1 -0
- package/types/ops/ScriptTypeOps.d.ts +124 -0
- package/types/ops/ScriptTypeOps.d.ts.map +1 -0
- package/types/ops/SecretStoreOps.d.ts +357 -0
- package/types/ops/SecretStoreOps.d.ts.map +1 -0
- package/types/ops/ServiceOps.d.ts +194 -0
- package/types/ops/ServiceOps.d.ts.map +1 -0
- package/types/ops/SessionOps.d.ts +22 -0
- package/types/ops/SessionOps.d.ts.map +1 -0
- package/types/ops/ThemeOps.d.ts +245 -0
- package/types/ops/ThemeOps.d.ts.map +1 -0
- package/types/ops/TokenCacheOps.d.ts +243 -0
- package/types/ops/TokenCacheOps.d.ts.map +1 -0
- package/types/ops/UserOps.d.ts +199 -0
- package/types/ops/UserOps.d.ts.map +1 -0
- package/types/ops/VersionUtils.d.ts +29 -0
- package/types/ops/VersionUtils.d.ts.map +1 -0
- package/types/ops/classic/ServerOps.d.ts +195 -0
- package/types/ops/classic/ServerOps.d.ts.map +1 -0
- package/types/ops/classic/SiteOps.d.ts +117 -0
- package/types/ops/classic/SiteOps.d.ts.map +1 -0
- package/types/ops/cloud/AdminFederationOps.d.ts +165 -0
- package/types/ops/cloud/AdminFederationOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvAIAgentOps.d.ts +18 -0
- package/types/ops/cloud/EnvAIAgentOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvCSRsOps.d.ts +86 -0
- package/types/ops/cloud/EnvCSRsOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvCertificatesOps.d.ts +140 -0
- package/types/ops/cloud/EnvCertificatesOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvContentSecurityPolicyOps.d.ts +101 -0
- package/types/ops/cloud/EnvContentSecurityPolicyOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvCookieDomainsOps.d.ts +36 -0
- package/types/ops/cloud/EnvCookieDomainsOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvCustomDomainsOps.d.ts +53 -0
- package/types/ops/cloud/EnvCustomDomainsOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvDirectConfigurationSessionOps.d.ts +55 -0
- package/types/ops/cloud/EnvDirectConfigurationSessionOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvFederationEnforcementOps.d.ts +58 -0
- package/types/ops/cloud/EnvFederationEnforcementOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvPromotionOps.d.ts +175 -0
- package/types/ops/cloud/EnvPromotionOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvReleaseOps.d.ts +19 -0
- package/types/ops/cloud/EnvReleaseOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvSSOCookieConfigOps.d.ts +50 -0
- package/types/ops/cloud/EnvSSOCookieConfigOps.d.ts.map +1 -0
- package/types/ops/cloud/EnvServiceAccountScopesOps.d.ts +21 -0
- package/types/ops/cloud/EnvServiceAccountScopesOps.d.ts.map +1 -0
- package/types/ops/cloud/EsvCountOps.d.ts +15 -0
- package/types/ops/cloud/EsvCountOps.d.ts.map +1 -0
- package/types/ops/cloud/FeatureOps.d.ts +34 -0
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -0
- package/types/ops/cloud/IdmFeatureOps.d.ts +78 -0
- package/types/ops/cloud/IdmFeatureOps.d.ts.map +1 -0
- package/types/ops/cloud/LogOps.d.ts +271 -0
- package/types/ops/cloud/LogOps.d.ts.map +1 -0
- package/types/ops/cloud/SecretsOps.d.ts +306 -0
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -0
- package/types/ops/cloud/ServiceAccountOps.d.ts +86 -0
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -0
- package/types/ops/cloud/StartupOps.d.ts +62 -0
- package/types/ops/cloud/StartupOps.d.ts.map +1 -0
- package/types/ops/cloud/TelemetryOps.d.ts +109 -0
- package/types/ops/cloud/TelemetryOps.d.ts.map +1 -0
- package/types/ops/cloud/VariablesOps.d.ts +224 -0
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -0
- package/types/ops/cloud/WSFedOps.d.ts +412 -0
- package/types/ops/cloud/WSFedOps.d.ts.map +1 -0
- package/types/ops/cloud/iga/IgaCertificationTemplateOps.d.ts +261 -0
- package/types/ops/cloud/iga/IgaCertificationTemplateOps.d.ts.map +1 -0
- package/types/ops/cloud/iga/IgaEventOps.d.ts +242 -0
- package/types/ops/cloud/iga/IgaEventOps.d.ts.map +1 -0
- package/types/ops/cloud/iga/IgaGlossaryOps.d.ts +241 -0
- package/types/ops/cloud/iga/IgaGlossaryOps.d.ts.map +1 -0
- package/types/ops/cloud/iga/IgaRequestFormOps.d.ts +259 -0
- package/types/ops/cloud/iga/IgaRequestFormOps.d.ts.map +1 -0
- package/types/ops/cloud/iga/IgaRequestTypeOps.d.ts +240 -0
- package/types/ops/cloud/iga/IgaRequestTypeOps.d.ts.map +1 -0
- package/types/ops/cloud/iga/IgaWorkflowOps.d.ts +334 -0
- package/types/ops/cloud/iga/IgaWorkflowOps.d.ts.map +1 -0
- package/types/ops/internal/RelationshipHelpers.d.ts +111 -0
- package/types/ops/internal/RelationshipHelpers.d.ts.map +1 -0
- package/types/shared/Constants.d.ts +100 -0
- package/types/shared/Constants.d.ts.map +1 -0
- package/types/shared/OperationType.d.ts +14 -0
- package/types/shared/OperationType.d.ts.map +1 -0
- package/types/shared/State.d.ts +355 -0
- package/types/shared/State.d.ts.map +1 -0
- package/types/shared/Version.d.ts +16 -0
- package/types/shared/Version.d.ts.map +1 -0
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts +38 -0
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -0
- package/types/test/setup/EmailTemplateSetup.d.ts +8 -0
- package/types/test/setup/EmailTemplateSetup.d.ts.map +1 -0
- package/types/test/setup/IgaCertificationTemplateSetup.d.ts +12 -0
- package/types/test/setup/IgaCertificationTemplateSetup.d.ts.map +1 -0
- package/types/test/setup/IgaEventSetup.d.ts +22 -0
- package/types/test/setup/IgaEventSetup.d.ts.map +1 -0
- package/types/test/setup/IgaGlossarySetup.d.ts +11 -0
- package/types/test/setup/IgaGlossarySetup.d.ts.map +1 -0
- package/types/test/setup/IgaRequestFormSetup.d.ts +42 -0
- package/types/test/setup/IgaRequestFormSetup.d.ts.map +1 -0
- package/types/test/setup/IgaRequestTypeSetup.d.ts +10 -0
- package/types/test/setup/IgaRequestTypeSetup.d.ts.map +1 -0
- package/types/test/setup/IgaWorkflowSetup.d.ts +32 -0
- package/types/test/setup/IgaWorkflowSetup.d.ts.map +1 -0
- package/types/test/setup/JourneySetup.d.ts +18 -0
- package/types/test/setup/JourneySetup.d.ts.map +1 -0
- package/types/test/setup/NodeSetup.d.ts +14 -0
- package/types/test/setup/NodeSetup.d.ts.map +1 -0
- package/types/test/setup/RawConfigSetup.d.ts +2 -0
- package/types/test/setup/RawConfigSetup.d.ts.map +1 -0
- package/types/test/setup/SecretSetup.d.ts +69 -0
- package/types/test/setup/SecretSetup.d.ts.map +1 -0
- package/types/test/setup/StartupSetup.d.ts +2 -0
- package/types/test/setup/StartupSetup.d.ts.map +1 -0
- package/types/test/setup/TelemetrySetup.d.ts +8 -0
- package/types/test/setup/TelemetrySetup.d.ts.map +1 -0
- package/types/test/setup/VariablesSetup.d.ts +27 -0
- package/types/test/setup/VariablesSetup.d.ts.map +1 -0
- package/types/test/utils/TestUtils.d.ts +15 -0
- package/types/test/utils/TestUtils.d.ts.map +1 -0
- package/types/utils/AsyncUtils.d.ts +14 -0
- package/types/utils/AsyncUtils.d.ts.map +1 -0
- package/types/utils/AutoSetupPolly.d.ts +25 -0
- package/types/utils/AutoSetupPolly.d.ts.map +1 -0
- package/types/utils/Base64Utils.d.ts +41 -0
- package/types/utils/Base64Utils.d.ts.map +1 -0
- package/types/utils/ColorTheme.d.ts +40 -0
- package/types/utils/ColorTheme.d.ts.map +1 -0
- package/types/utils/Console.d.ts +110 -0
- package/types/utils/Console.d.ts.map +1 -0
- package/types/utils/CryptoUtils.d.ts +35 -0
- package/types/utils/CryptoUtils.d.ts.map +1 -0
- package/types/utils/DataProtection.d.ts +24 -0
- package/types/utils/DataProtection.d.ts.map +1 -0
- package/types/utils/ExportImportUtils.d.ts +415 -0
- package/types/utils/ExportImportUtils.d.ts.map +1 -0
- package/types/utils/ForgeRockUtils.d.ts +122 -0
- package/types/utils/ForgeRockUtils.d.ts.map +1 -0
- package/types/utils/FrodoNodeHttpAdapter.d.ts +5 -0
- package/types/utils/FrodoNodeHttpAdapter.d.ts.map +1 -0
- package/types/utils/FrodoUtils.d.ts +15 -0
- package/types/utils/FrodoUtils.d.ts.map +1 -0
- package/types/utils/HelpUtils.d.ts +19 -0
- package/types/utils/HelpUtils.d.ts.map +1 -0
- package/types/utils/JsonUtils.d.ts +105 -0
- package/types/utils/JsonUtils.d.ts.map +1 -0
- package/types/utils/JwtUtils.d.ts +19 -0
- package/types/utils/JwtUtils.d.ts.map +1 -0
- package/types/utils/PkceUtils.d.ts +17 -0
- package/types/utils/PkceUtils.d.ts.map +1 -0
- package/types/utils/PollyUtils.d.ts +65 -0
- package/types/utils/PollyUtils.d.ts.map +1 -0
- package/types/utils/ScriptValidationUtils.d.ts +38 -0
- package/types/utils/ScriptValidationUtils.d.ts.map +1 -0
- package/types/utils/SemverUtils.d.ts +61 -0
- package/types/utils/SemverUtils.d.ts.map +1 -0
- package/types/utils/SetupPollyForFrodoLib.d.ts +7 -0
- package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -0
- package/types/utils/TerminalBackgroundDetection.d.ts +48 -0
- package/types/utils/TerminalBackgroundDetection.d.ts.map +1 -0
- package/types/utils/TerminalContrast.d.ts +44 -0
- package/types/utils/TerminalContrast.d.ts.map +1 -0
|
@@ -0,0 +1,757 @@
|
|
|
1
|
+
import { type IdObjectSkeletonInterface } from '../api/ApiTypes';
|
|
2
|
+
import { type ManagedObjectSchema, type ManagedObjectSchemaProperty } from '../api/ManagedObjectApi';
|
|
3
|
+
import { State } from '../shared/State';
|
|
4
|
+
/**
|
|
5
|
+
* A managed-object type's **schema** is its resolved property/relationship
|
|
6
|
+
* definitions, readable in full via `readManagedObjectSchema` below — a
|
|
7
|
+
* read-only projection of the same underlying configuration
|
|
8
|
+
* `IdmConfigOps.ts`'s `readSubConfigEntity('managed', type)` /
|
|
9
|
+
* `importSubConfigEntity('managed', ...)` read and write as a whole
|
|
10
|
+
* document. See `ManagedObjectOps.ts`'s own header comment for how schema
|
|
11
|
+
* relates to managed-object *records* and *configuration*, the other two
|
|
12
|
+
* things this domain covers.
|
|
13
|
+
*
|
|
14
|
+
* Neither path is available on classic (AM-only) deployments at all — there
|
|
15
|
+
* is no IDM instance there, so neither the dedicated v2 API nor the generic
|
|
16
|
+
* config path below has anything to talk to. Both require a deployment that
|
|
17
|
+
* actually runs IDM (Cloud or ForgeOps); see
|
|
18
|
+
* {@link assertIdmDeploymentForSchemaPropertyApi}.
|
|
19
|
+
*
|
|
20
|
+
* There are two ways to *mutate* a type's schema on a deployment that does
|
|
21
|
+
* run IDM, and they are not interchangeable:
|
|
22
|
+
* 1. `readManagedObjectSchemaProperty` / `updateManagedObjectSchemaProperty` /
|
|
23
|
+
* `removeManagedObjectSchemaProperty` below use IDM's dedicated v2 schema
|
|
24
|
+
* API, which is specifically for **relationship-property definitions**,
|
|
25
|
+
* one at a time, in place, with no whole-blob read-modify-write. This is
|
|
26
|
+
* a standard IDM REST API, introduced in **IDM 7.5.0** (confirmed
|
|
27
|
+
* directly in IDM 7.5.0's own "New features" release notes, which link
|
|
28
|
+
* to this same endpoint) and present unchanged through IDM 8.1 — not
|
|
29
|
+
* Cloud-only, contrary to an earlier version of this comment, which
|
|
30
|
+
* wrongly assumed the API was Cloud-specific. Confirmed by directly
|
|
31
|
+
* comparing Ping's self-hosted PingIDM REST API reference (7.5 and 8.1)
|
|
32
|
+
* against the PingOne Advanced Identity Cloud REST API reference:
|
|
33
|
+
* identical endpoint (`/openidm/schema/managed/{type}/
|
|
34
|
+
* properties/{propertyName}`), identical `Accept-API-Version: resource=2.0`
|
|
35
|
+
* header, identical field shape (including `reverseProperty`), and no
|
|
36
|
+
* deployment restriction stated on either side. So this path specifically
|
|
37
|
+
* requires IDM 7.5+ (Cloud always qualifies; a ForgeOps deployment on an
|
|
38
|
+
* older IDM version would not, though Frodo has no way to detect that and
|
|
39
|
+
* doesn't attempt to — the deployment-type gate alone can't distinguish
|
|
40
|
+
* IDM versions within ForgeOps). See
|
|
41
|
+
* [rockcarver/frodo-lib#388](https://github.com/rockcarver/frodo-lib/issues/388)
|
|
42
|
+
* for the original feature request (which itself doesn't claim Cloud-only
|
|
43
|
+
* either).
|
|
44
|
+
* 2. For every other case — any non-relationship property, relationship
|
|
45
|
+
* properties on an IDM version that predates 7.5, and whole-type schema
|
|
46
|
+
* changes — use `IdmConfigOps.ts`'s `readSubConfigEntity('managed', type)`
|
|
47
|
+
* / `importSubConfigEntity('managed', ...)` to read-modify-write the
|
|
48
|
+
* entire type definition (edit `.schema.properties` on the object you
|
|
49
|
+
* read before writing it back). This is the general-purpose path,
|
|
50
|
+
* available on any IDM version; #1 above is an optimization for one
|
|
51
|
+
* particular case on a sufficiently recent one, not the default.
|
|
52
|
+
*
|
|
53
|
+
* Neither path touches the underlying repository's index/persistence-layer
|
|
54
|
+
* definitions (e.g. DS's `repo.ds` on ForgeOps) — Frodo has no support for
|
|
55
|
+
* reading or writing `repo.ds` today, so adding a genuinely new custom
|
|
56
|
+
* relationship property on ForgeOps still requires a manual, Frodo-unassisted
|
|
57
|
+
* edit to that file outside either API above.
|
|
58
|
+
*/
|
|
59
|
+
export type ManagedObjectSchemaOps = {
|
|
60
|
+
/**
|
|
61
|
+
* Read managed object schema
|
|
62
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
63
|
+
* @param {boolean} refreshCache whether to refresh the schema cache for the specified type
|
|
64
|
+
* @param {ManagedObjectSchemaOptions} options options to filter the returned schema
|
|
65
|
+
* @returns {Promise<ManagedObjectSchema>} a promise that resolves to a managed object schema
|
|
66
|
+
*/
|
|
67
|
+
readManagedObjectSchema(type: string, refreshCache?: boolean, options?: ManagedObjectSchemaOptions): Promise<ManagedObjectSchema>;
|
|
68
|
+
/**
|
|
69
|
+
* Read a single managed object relationship-property definition. Requires
|
|
70
|
+
* IDM 7.5+ (Cloud always qualifies) — uses IDM's dedicated v2
|
|
71
|
+
* relationship-schema API to read one relationship-property definition
|
|
72
|
+
* without fetching the type's entire schema. For any non-relationship
|
|
73
|
+
* property, or on an IDM version that predates 7.5, use
|
|
74
|
+
* readSubConfigEntity('managed', type) and read the property off the
|
|
75
|
+
* returned schema.properties instead. Neither path is reachable on
|
|
76
|
+
* classic (AM-only, no IDM at all).
|
|
77
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
78
|
+
* @param {string} propertyName schema property name, e.g. custom_merchantId
|
|
79
|
+
* @returns {Promise<ManagedObjectSchemaProperty>} a promise that resolves to the property definition
|
|
80
|
+
*/
|
|
81
|
+
readManagedObjectSchemaProperty(type: string, propertyName: string): Promise<ManagedObjectSchemaProperty>;
|
|
82
|
+
/**
|
|
83
|
+
* Create or update a single managed object relationship-property
|
|
84
|
+
* definition, leaving the rest of the type's schema untouched. Requires
|
|
85
|
+
* IDM 7.5+ — see {@link readManagedObjectSchemaProperty}. For any
|
|
86
|
+
* non-relationship property, or on an IDM version that predates 7.5, use
|
|
87
|
+
* importSubConfigEntity('managed', ...) with the full updated type
|
|
88
|
+
* definition instead. Neither path is reachable on classic.
|
|
89
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
90
|
+
* @param {string} propertyName schema property name, e.g. custom_merchantId
|
|
91
|
+
* @param {ManagedObjectSchemaProperty} propertyData the property definition to write
|
|
92
|
+
* @returns {Promise<ManagedObjectSchemaProperty>} a promise that resolves to the written property definition
|
|
93
|
+
*/
|
|
94
|
+
updateManagedObjectSchemaProperty(type: string, propertyName: string, propertyData: ManagedObjectSchemaProperty): Promise<ManagedObjectSchemaProperty>;
|
|
95
|
+
/**
|
|
96
|
+
* Remove a single managed object relationship-property definition, leaving
|
|
97
|
+
* the rest of the type's schema untouched. Requires IDM 7.5+ — see
|
|
98
|
+
* {@link readManagedObjectSchemaProperty}.
|
|
99
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
100
|
+
* @param {string} propertyName schema property name, e.g. custom_merchantId
|
|
101
|
+
* @returns {Promise<ManagedObjectSchemaProperty>} a promise that resolves to the removed property definition
|
|
102
|
+
*/
|
|
103
|
+
removeManagedObjectSchemaProperty(type: string, propertyName: string): Promise<ManagedObjectSchemaProperty>;
|
|
104
|
+
/**
|
|
105
|
+
* Create a flat (non-relationship) schema property on a managed object
|
|
106
|
+
* type -- or, with `subProperty`, nested inside an existing `type: object`
|
|
107
|
+
* property, as a dot-path relative to `propertyName`. Available on any
|
|
108
|
+
* deployment that runs IDM (Cloud and ForgeOps) -- unlike
|
|
109
|
+
* {@link updateManagedObjectSchemaProperty}, this goes through the generic
|
|
110
|
+
* `readSubConfigEntity`/`importSubConfigEntity` whole-type path, not the
|
|
111
|
+
* dedicated (relationship-only) v2 schema API, so it has no IDM 7.5+
|
|
112
|
+
* requirement. Refuses (throws `FrodoError`) if the property already
|
|
113
|
+
* exists at that path -- use
|
|
114
|
+
* {@link ManagedObjectSchemaOps.updateManagedObjectSchemaFlatProperty}
|
|
115
|
+
* instead.
|
|
116
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
117
|
+
* @param {string} propertyName schema property name, e.g. custom_merchantId
|
|
118
|
+
* @param {ManagedObjectSchemaPropertyFields} fields the property's field values
|
|
119
|
+
* @param {string} [subProperty] dot-path to nest the new property under an existing object property beneath propertyName, e.g. "address.street"
|
|
120
|
+
* @returns {Promise<Record<string, unknown>>} a promise that resolves to the written property definition
|
|
121
|
+
*/
|
|
122
|
+
createManagedObjectSchemaFlatProperty(type: string, propertyName: string, fields: ManagedObjectSchemaPropertyFields, subProperty?: string): Promise<Record<string, unknown>>;
|
|
123
|
+
/**
|
|
124
|
+
* Update an existing flat (non-relationship) schema property on a managed
|
|
125
|
+
* object type -- or, with `subProperty`, a nested property reached via
|
|
126
|
+
* that dot-path. Only the fields present in `changedFields` change;
|
|
127
|
+
* everything else keeps its current value. See
|
|
128
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectSchemaFlatProperty} for
|
|
129
|
+
* the deployment/API-path notes. Refuses (throws `FrodoError`) if the
|
|
130
|
+
* property doesn't exist at that path -- use
|
|
131
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectSchemaFlatProperty}
|
|
132
|
+
* instead.
|
|
133
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
134
|
+
* @param {string} propertyName schema property name, e.g. custom_merchantId
|
|
135
|
+
* @param {Partial<ManagedObjectSchemaPropertyFields>} changedFields only the field overrides to apply
|
|
136
|
+
* @param {string} [subProperty] dot-path to a nested property beneath propertyName, e.g. "address.street"
|
|
137
|
+
* @returns {Promise<{ current: Record<string, unknown>; propertyData: Record<string, unknown> }>} a promise that resolves to the property's prior and newly-written definitions
|
|
138
|
+
*/
|
|
139
|
+
updateManagedObjectSchemaFlatProperty(type: string, propertyName: string, changedFields: Partial<ManagedObjectSchemaPropertyFields>, subProperty?: string): Promise<{
|
|
140
|
+
current: Record<string, unknown>;
|
|
141
|
+
propertyData: Record<string, unknown>;
|
|
142
|
+
}>;
|
|
143
|
+
/**
|
|
144
|
+
* Remove a flat (non-relationship) schema property from a managed object
|
|
145
|
+
* type -- or, with `subProperty`, a nested property reached via that
|
|
146
|
+
* dot-path. See
|
|
147
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectSchemaFlatProperty} for
|
|
148
|
+
* the deployment/API-path notes. Refuses (throws `FrodoError`) if the
|
|
149
|
+
* property doesn't exist at that path.
|
|
150
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
151
|
+
* @param {string} propertyName schema property name, e.g. custom_merchantId
|
|
152
|
+
* @param {string} [subProperty] dot-path to a nested property beneath propertyName, e.g. "address.street"
|
|
153
|
+
* @returns {Promise<Record<string, unknown>>} a promise that resolves to the removed property definition
|
|
154
|
+
*/
|
|
155
|
+
removeManagedObjectSchemaFlatProperty(type: string, propertyName: string, subProperty?: string): Promise<Record<string, unknown>>;
|
|
156
|
+
/**
|
|
157
|
+
* Create a new managed object type. Refuses (throws `FrodoError`) if a
|
|
158
|
+
* type with that name already exists -- use
|
|
159
|
+
* {@link ManagedObjectSchemaOps.updateManagedObjectType} instead. Seeds a
|
|
160
|
+
* minimal schema (just the `_id` property, a populated `order` array, and
|
|
161
|
+
* a default icon if `fields.icon` isn't given); custom properties/
|
|
162
|
+
* relationships are added afterward via the flat-property/relationship-
|
|
163
|
+
* property paths, which already keep `order`/`required` in sync as they
|
|
164
|
+
* go.
|
|
165
|
+
* @param {string} type managed object type, e.g. alpha_widget
|
|
166
|
+
* @param {ManagedObjectTypeFields} fields the new type's field values (title required)
|
|
167
|
+
* @returns {Promise<Record<string, unknown>>} a promise that resolves to the written type schema
|
|
168
|
+
*/
|
|
169
|
+
createManagedObjectType(type: string, fields: ManagedObjectTypeFields): Promise<Record<string, unknown>>;
|
|
170
|
+
/**
|
|
171
|
+
* Update an existing managed object type's own metadata (title/icon/
|
|
172
|
+
* description). Only the fields present in `changedFields` change;
|
|
173
|
+
* everything else keeps its current value. Refuses (throws `FrodoError`)
|
|
174
|
+
* if the type doesn't exist -- use
|
|
175
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectType} instead.
|
|
176
|
+
* @param {string} type managed object type, e.g. alpha_widget
|
|
177
|
+
* @param {Partial<ManagedObjectTypeFields>} changedFields only the field overrides to apply
|
|
178
|
+
* @returns {Promise<{ current: ManagedObjectTypeFields; proposed: ManagedObjectTypeFields }>} a promise that resolves to the type's prior and newly-written metadata
|
|
179
|
+
*/
|
|
180
|
+
updateManagedObjectType(type: string, changedFields: Partial<ManagedObjectTypeFields>): Promise<{
|
|
181
|
+
current: ManagedObjectTypeFields;
|
|
182
|
+
proposed: ManagedObjectTypeFields;
|
|
183
|
+
}>;
|
|
184
|
+
/**
|
|
185
|
+
* Remove a managed object type's entire definition (schema included). No
|
|
186
|
+
* separate existence pre-check -- the underlying config write already
|
|
187
|
+
* throws its own not-found error if the type is missing, so a second read
|
|
188
|
+
* here would be a redundant round trip.
|
|
189
|
+
* @param {string} type managed object type, e.g. alpha_widget
|
|
190
|
+
* @returns {Promise<void>} a promise that resolves when the type has been removed
|
|
191
|
+
*/
|
|
192
|
+
removeManagedObjectType(type: string): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
* Create a new relationship schema property, via IDM's dedicated v2
|
|
195
|
+
* schema API (requires IDM 7.5+; Cloud always qualifies). Refuses
|
|
196
|
+
* (throws `FrodoError`) if a property with that name already exists --
|
|
197
|
+
* use {@link ManagedObjectSchemaOps.updateManagedObjectSchemaRelationshipProperty}
|
|
198
|
+
* instead. When `reverse` is given, the reverse side on
|
|
199
|
+
* `fields.targetObject` is auto-created by the server in the same write.
|
|
200
|
+
* @param {string} type managed object type, e.g. alpha_aiagentprivilege
|
|
201
|
+
* @param {string} propertyName relationship property name, e.g. agent
|
|
202
|
+
* @param {ManagedObjectSchemaRelationshipPropertyFields} fields the forward side's field values
|
|
203
|
+
* @param {ManagedObjectSchemaRelationshipReverseFields} [reverse] the reverse side's field values, if creating both sides
|
|
204
|
+
* @returns {Promise<Record<string, unknown>>} a promise that resolves to the written forward-side definition
|
|
205
|
+
*/
|
|
206
|
+
createManagedObjectSchemaRelationshipProperty(type: string, propertyName: string, fields: ManagedObjectSchemaRelationshipPropertyFields, reverse?: ManagedObjectSchemaRelationshipReverseFields): Promise<Record<string, unknown>>;
|
|
207
|
+
/**
|
|
208
|
+
* Update an existing relationship schema property, via IDM's dedicated
|
|
209
|
+
* v2 schema API. Refuses (throws `FrodoError`) if the property doesn't
|
|
210
|
+
* exist -- use
|
|
211
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectSchemaRelationshipProperty}
|
|
212
|
+
* instead. Only the fields present in `changedFields` change; everything
|
|
213
|
+
* else keeps its current value. A configured reverse side's descriptor is
|
|
214
|
+
* always re-supplied (required by the v2 API on every write of a
|
|
215
|
+
* bidirectional property), regardless of `withReverse`; `withReverse`
|
|
216
|
+
* additionally applies `changedFields`' overrides to the reverse side
|
|
217
|
+
* itself and writes it as a second, separate call -- if that second call
|
|
218
|
+
* fails after the forward write already succeeded, the thrown error says
|
|
219
|
+
* so explicitly; there is no automatic rollback.
|
|
220
|
+
* @param {string} type managed object type, e.g. alpha_aiagentprivilege
|
|
221
|
+
* @param {string} propertyName relationship property name, e.g. agent
|
|
222
|
+
* @param {Partial<ManagedObjectSchemaRelationshipPropertyFields>} changedFields only the field overrides to apply
|
|
223
|
+
* @param {boolean} [withReverse] true to also update the inferred reverse side
|
|
224
|
+
* @returns {Promise<{ forward: Record<string, unknown>; reverse?: { type: string; propertyName: string; propertyData: Record<string, unknown> } }>} a promise that resolves to the written definition(s)
|
|
225
|
+
*/
|
|
226
|
+
updateManagedObjectSchemaRelationshipProperty(type: string, propertyName: string, changedFields: Partial<ManagedObjectSchemaRelationshipPropertyFields>, withReverse?: boolean): Promise<{
|
|
227
|
+
forward: Record<string, unknown>;
|
|
228
|
+
reverse?: {
|
|
229
|
+
type: string;
|
|
230
|
+
propertyName: string;
|
|
231
|
+
propertyData: Record<string, unknown>;
|
|
232
|
+
};
|
|
233
|
+
}>;
|
|
234
|
+
/**
|
|
235
|
+
* Remove a relationship schema property, via IDM's dedicated v2 schema
|
|
236
|
+
* API. `withReverse` infers the reverse side from the forward property's
|
|
237
|
+
* own current definition and deletes it first, then the forward side.
|
|
238
|
+
* Deleting the reverse side of a bidirectionally-auto-created pair
|
|
239
|
+
* cascades and removes the forward side too, confirmed live -- a 404 on
|
|
240
|
+
* the forward-side delete immediately after a `withReverse` reverse-side
|
|
241
|
+
* delete means the desired end state (both sides gone) was already
|
|
242
|
+
* reached, and is treated as success, not surfaced as an error.
|
|
243
|
+
* @param {string} type managed object type, e.g. alpha_aiagentprivilege
|
|
244
|
+
* @param {string} propertyName relationship property name, e.g. agent
|
|
245
|
+
* @param {boolean} [withReverse] true to also delete the inferred reverse side
|
|
246
|
+
* @returns {Promise<{ current: Record<string, unknown>; reverse?: { type: string; propertyName: string; current: Record<string, unknown> } }>} a promise that resolves to the removed definition(s)
|
|
247
|
+
*/
|
|
248
|
+
removeManagedObjectSchemaRelationshipProperty(type: string, propertyName: string, withReverse?: boolean): Promise<{
|
|
249
|
+
current: Record<string, unknown>;
|
|
250
|
+
reverse?: {
|
|
251
|
+
type: string;
|
|
252
|
+
propertyName: string;
|
|
253
|
+
current: Record<string, unknown>;
|
|
254
|
+
};
|
|
255
|
+
}>;
|
|
256
|
+
/**
|
|
257
|
+
* Read a single relationship schema property, returning `null` (rather
|
|
258
|
+
* than throwing) if it doesn't exist. A confirmed 404 from the dedicated
|
|
259
|
+
* v2 API reliably means the property itself doesn't exist; any other
|
|
260
|
+
* failure propagates rather than being silently treated as "not found".
|
|
261
|
+
* @param {string} type managed object type, e.g. alpha_aiagentprivilege
|
|
262
|
+
* @param {string} propertyName relationship property name, e.g. agent
|
|
263
|
+
* @returns {Promise<Record<string, unknown> | null>} a promise that resolves to the property definition, or null if not found
|
|
264
|
+
*/
|
|
265
|
+
readManagedObjectSchemaRelationshipPropertyOrNull(type: string, propertyName: string): Promise<Record<string, unknown> | null>;
|
|
266
|
+
};
|
|
267
|
+
declare const _default: (state: State) => ManagedObjectSchemaOps;
|
|
268
|
+
export default _default;
|
|
269
|
+
export type ManagedObjectSchemaOptions = {
|
|
270
|
+
/**
|
|
271
|
+
* Whether to exclude virtual properties from the returned schema.
|
|
272
|
+
* Virtual properties are non-persisted properties that are calculated
|
|
273
|
+
* or derived at runtime.
|
|
274
|
+
* */
|
|
275
|
+
excludeVirtual?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* Whether to exclude relationship properties from the returned schema.
|
|
278
|
+
*/
|
|
279
|
+
excludeRelationships?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* If specified, only relationship properties whose resourceCollection
|
|
282
|
+
* path matches any of the values in this array will be included in the
|
|
283
|
+
* returned schema when excludeRelationships is true. This option is
|
|
284
|
+
* ignored if excludeRelationships is false.
|
|
285
|
+
*/
|
|
286
|
+
includeRelationshipsFilter?: string[];
|
|
287
|
+
};
|
|
288
|
+
export declare function readManagedObjectSchema({ type, refreshCache, options, state, }: {
|
|
289
|
+
type: string;
|
|
290
|
+
refreshCache?: boolean;
|
|
291
|
+
options?: ManagedObjectSchemaOptions;
|
|
292
|
+
state: State;
|
|
293
|
+
}): Promise<ManagedObjectSchema>;
|
|
294
|
+
/**
|
|
295
|
+
* Read a single managed object relationship-property definition. Available
|
|
296
|
+
* on any deployment that runs IDM (Cloud and ForgeOps) — see
|
|
297
|
+
* {@link assertIdmDeploymentForSchemaPropertyApi}.
|
|
298
|
+
*/
|
|
299
|
+
export declare function readManagedObjectSchemaProperty({ type, propertyName, state, }: {
|
|
300
|
+
type: string;
|
|
301
|
+
propertyName: string;
|
|
302
|
+
state: State;
|
|
303
|
+
}): Promise<ManagedObjectSchemaProperty>;
|
|
304
|
+
/**
|
|
305
|
+
* Create or update a single managed object relationship-property
|
|
306
|
+
* definition, leaving the rest of the type's schema untouched. Available
|
|
307
|
+
* on any deployment that runs IDM (Cloud and ForgeOps) — see
|
|
308
|
+
* {@link assertIdmDeploymentForSchemaPropertyApi}. Invalidates
|
|
309
|
+
* (rather than eagerly re-fetching) the cached whole-type schema
|
|
310
|
+
* readManagedObjectSchema uses, so the next read for this type picks up the
|
|
311
|
+
* change without an extra round-trip here.
|
|
312
|
+
* @param {boolean} wait wait for the config change to fully propagate before returning. Defaults to true — see {@link putManagedObjectSchemaProperty}.
|
|
313
|
+
*/
|
|
314
|
+
export declare function updateManagedObjectSchemaProperty({ type, propertyName, propertyData, wait, state, }: {
|
|
315
|
+
type: string;
|
|
316
|
+
propertyName: string;
|
|
317
|
+
propertyData: ManagedObjectSchemaProperty;
|
|
318
|
+
wait?: boolean;
|
|
319
|
+
state: State;
|
|
320
|
+
}): Promise<ManagedObjectSchemaProperty>;
|
|
321
|
+
/**
|
|
322
|
+
* Remove a single managed object relationship-property definition, leaving
|
|
323
|
+
* the rest of the type's schema untouched. Available on any deployment that
|
|
324
|
+
* runs IDM (Cloud and ForgeOps) — see
|
|
325
|
+
* {@link assertIdmDeploymentForSchemaPropertyApi}. Invalidates the cached
|
|
326
|
+
* whole-type schema; see {@link updateManagedObjectSchemaProperty}.
|
|
327
|
+
* @param {boolean} wait wait for the config change to fully propagate before returning. Defaults to true — see {@link putManagedObjectSchemaProperty}.
|
|
328
|
+
*/
|
|
329
|
+
export declare function removeManagedObjectSchemaProperty({ type, propertyName, wait, state, }: {
|
|
330
|
+
type: string;
|
|
331
|
+
propertyName: string;
|
|
332
|
+
wait?: boolean;
|
|
333
|
+
state: State;
|
|
334
|
+
}): Promise<ManagedObjectSchemaProperty>;
|
|
335
|
+
/**
|
|
336
|
+
* ---------------------------------------------------------------------
|
|
337
|
+
* Flat (non-relationship) schema property support.
|
|
338
|
+
* ---------------------------------------------------------------------
|
|
339
|
+
* Everything below this point supports `createManagedObjectSchemaFlatProperty`
|
|
340
|
+
* / `updateManagedObjectSchemaFlatProperty` /
|
|
341
|
+
* `removeManagedObjectSchemaFlatProperty` — the generic, always-available
|
|
342
|
+
* (path 2 in this file's module header) read-modify-write of a single flat
|
|
343
|
+
* property definition, via `readSubConfigEntity`/`importSubConfigEntity`.
|
|
344
|
+
* Unlike the dedicated v2 relationship-property API above, this path has no
|
|
345
|
+
* IDM-version requirement and is not limited to relationship properties, but
|
|
346
|
+
* it is also not atomic against a concurrent writer of the same type — the
|
|
347
|
+
* same tradeoff `readSubConfigEntity`/`importSubConfigEntity` always carry.
|
|
348
|
+
*/
|
|
349
|
+
type ManagedObjectTypeConfig = IdObjectSkeletonInterface & {
|
|
350
|
+
name: string;
|
|
351
|
+
schema?: ManagedObjectSchema;
|
|
352
|
+
};
|
|
353
|
+
/** A schema property container: a managed-object type's own schema, or a nested `type: object` property's own sub-schema — both shapes carry the same `properties`/`order`/`required` triad. */
|
|
354
|
+
export type PropertyContainer = {
|
|
355
|
+
properties?: Record<string, Record<string, unknown>>;
|
|
356
|
+
order?: string[];
|
|
357
|
+
required?: string[];
|
|
358
|
+
};
|
|
359
|
+
/**
|
|
360
|
+
* Sets or replaces a schema property definition within a property container
|
|
361
|
+
* (a managed-object type's own schema, or — via a sub-property path — a
|
|
362
|
+
* nested `type: object` property's own sub-schema), keeping that container's
|
|
363
|
+
* own order/required arrays in sync.
|
|
364
|
+
*/
|
|
365
|
+
export declare function setSchemaProperty(container: PropertyContainer, propertyName: string, propertyData: Record<string, unknown>): void;
|
|
366
|
+
/**
|
|
367
|
+
* Removes a schema property definition (and its required/order bookkeeping)
|
|
368
|
+
* from a property container — see {@link setSchemaProperty}.
|
|
369
|
+
*/
|
|
370
|
+
export declare function removeSchemaProperty(container: PropertyContainer, propertyName: string): void;
|
|
371
|
+
/** Splits a sub-property dot-path (e.g. `"address.geo.lat"`) into segments; `undefined`/empty yields no segments. */
|
|
372
|
+
export declare function parseSubPropertyPath(subProperty?: string): string[];
|
|
373
|
+
/**
|
|
374
|
+
* Walks a property path (e.g. `["profile", "address"]`) starting from the
|
|
375
|
+
* type's own schema, down through `type: object` (or array-of-object)
|
|
376
|
+
* properties, requiring every segment to already exist and be `type:
|
|
377
|
+
* object`. Returns the resulting container — itself a valid target for
|
|
378
|
+
* `setSchemaProperty`/`removeSchemaProperty`/further navigation, since a
|
|
379
|
+
* nested object property's own body has the same
|
|
380
|
+
* `properties`/`order`/`required` shape as the type's top-level schema.
|
|
381
|
+
*/
|
|
382
|
+
export declare function navigateToPropertyContainer(schema: PropertyContainer, path: string[]): PropertyContainer;
|
|
383
|
+
/**
|
|
384
|
+
* Walks a property path (e.g. `["profile", "address", "street"]`, where
|
|
385
|
+
* `"profile"` is the top-level property name and `["address", "street"]`
|
|
386
|
+
* came from a sub-property path) down to its leaf. Every segment except the
|
|
387
|
+
* last must already exist and be `type: object`. Returns the immediate
|
|
388
|
+
* parent container (whose `.properties`/`.order`/`.required` the caller
|
|
389
|
+
* reads/writes) and the leaf property name, so the same read/write logic
|
|
390
|
+
* works identically whether the target is top-level or nested.
|
|
391
|
+
*/
|
|
392
|
+
export declare function navigatePropertyPath(schema: PropertyContainer, path: string[]): {
|
|
393
|
+
container: PropertyContainer;
|
|
394
|
+
propertyName: string;
|
|
395
|
+
};
|
|
396
|
+
/**
|
|
397
|
+
* Every schema property type the Admin UI's own property-type picker offers
|
|
398
|
+
* (confirmed live against a hand-built managed-object type). Single source
|
|
399
|
+
* of truth feeding both frodo-cli's `--property-type` CLI `.choices()`/help
|
|
400
|
+
* text and this module's own {@link buildManagedObjectSchemaPropertyPayload}
|
|
401
|
+
* validation: add a type here once IDM's picker offers it, and every
|
|
402
|
+
* consumer picks it up automatically, instead of drifting out of sync as
|
|
403
|
+
* separately-maintained lists.
|
|
404
|
+
*/
|
|
405
|
+
export declare const MANAGED_OBJECT_SCHEMA_CREATABLE_PROPERTY_TYPES: readonly ["string", "number", "boolean", "date", "time", "datetime", "duration", "object"];
|
|
406
|
+
export type ManagedObjectSchemaCreatablePropertyType = (typeof MANAGED_OBJECT_SCHEMA_CREATABLE_PROPERTY_TYPES)[number];
|
|
407
|
+
/**
|
|
408
|
+
* Field values for a flat (non-relationship) schema property. Used both for
|
|
409
|
+
* create (fully specified) and update (only the explicitly-changed subset,
|
|
410
|
+
* merged onto the property's current definition via
|
|
411
|
+
* {@link extractManagedObjectSchemaPropertyFields}).
|
|
412
|
+
*/
|
|
413
|
+
export type ManagedObjectSchemaPropertyFields = {
|
|
414
|
+
type?: ManagedObjectSchemaCreatablePropertyType;
|
|
415
|
+
array?: boolean;
|
|
416
|
+
title?: string;
|
|
417
|
+
description?: string;
|
|
418
|
+
required?: boolean;
|
|
419
|
+
searchable?: boolean;
|
|
420
|
+
userEditable?: boolean;
|
|
421
|
+
notViewable?: boolean;
|
|
422
|
+
returnByDefault?: boolean;
|
|
423
|
+
defaultValue?: unknown;
|
|
424
|
+
enumValues?: string[];
|
|
425
|
+
enumTitles?: string[];
|
|
426
|
+
/** JS source (already read from the file a caller's --on-retrieve-script points at), not a file path. */
|
|
427
|
+
onRetrieveScript?: string;
|
|
428
|
+
/** JS source (already read from the file a caller's --on-store-script points at), not a file path. */
|
|
429
|
+
onStoreScript?: string;
|
|
430
|
+
/** Relationship property name(s) this RDVP derives its value through — IDM's `queryConfig.referencedRelationshipFields`. */
|
|
431
|
+
deriveFromRelationship?: string[];
|
|
432
|
+
/** Fields to pull from each referenced object — IDM's `queryConfig.referencedObjectFields`. */
|
|
433
|
+
deriveFields?: string[];
|
|
434
|
+
flatten?: boolean;
|
|
435
|
+
};
|
|
436
|
+
/**
|
|
437
|
+
* Assembles a schema-property payload (a leaf type, or an array of that
|
|
438
|
+
* type) from resolved field values, validating `type` and the
|
|
439
|
+
* `enumValues`/`enumTitles` pairing along the way (throws `FrodoError`).
|
|
440
|
+
* `date`/`time`/`datetime`/`duration` are all `type: "string"` with a
|
|
441
|
+
* `format` field under the hood — confirmed against a type created via the
|
|
442
|
+
* Admin UI's own property-type picker (which offers exactly these four
|
|
443
|
+
* alongside String/Number/Boolean/Object), including the exact `format`
|
|
444
|
+
* values (`"date"`, `"time"`, `"datetime"` — not the more common
|
|
445
|
+
* `"date-time"` — and `"duration"`). `object` is always written as a bare
|
|
446
|
+
* `{ type: "object" }` with no `properties`/`order`, matching a live example
|
|
447
|
+
* of an empty object property — a *structured* object property (its own
|
|
448
|
+
* nested set of sub-properties) is a deliberate scope choice, not a
|
|
449
|
+
* technical limitation of the property itself: these fields only cover a
|
|
450
|
+
* flat property definition, so a structured object needs a verbatim
|
|
451
|
+
* `readSubConfigEntity`/`importSubConfigEntity` round trip instead, which
|
|
452
|
+
* writes the definition as-is and has no such restriction.
|
|
453
|
+
*
|
|
454
|
+
* `default`/`enum`/`enumTitles` sit on the leaf type node (so they land on
|
|
455
|
+
* `items` for an array property, constraining each element) — confirmed
|
|
456
|
+
* against a live `enum` property. `isVirtual`/`onRetrieve`/`onStore`/
|
|
457
|
+
* `queryConfig` sit at the top level instead, confirmed against two live
|
|
458
|
+
* managed-object examples: a pure RDVP (relationship-derived virtual
|
|
459
|
+
* property, `queryConfig` only, no script), and a script-derived virtual
|
|
460
|
+
* property (`onRetrieve` only, no `queryConfig`) — both live entirely inside
|
|
461
|
+
* `schema.properties`, the same place create/update already read and write,
|
|
462
|
+
* so no new API surface was needed for either.
|
|
463
|
+
*
|
|
464
|
+
* Note on the `type` validation below: it runs against whatever ends up in
|
|
465
|
+
* `fields.type`, including a value merely carried through unchanged from an
|
|
466
|
+
* existing property's current definition during an update (see
|
|
467
|
+
* {@link extractManagedObjectSchemaPropertyFields}) — so updating so much as
|
|
468
|
+
* the title of a property whose type isn't one of
|
|
469
|
+
* {@link MANAGED_OBJECT_SCHEMA_CREATABLE_PROPERTY_TYPES} (e.g. one
|
|
470
|
+
* hand-crafted outside this flat-property path) fails here too. That's a
|
|
471
|
+
* deliberate tradeoff for a single, consistently-enforced source of truth
|
|
472
|
+
* rather than validating only caller-supplied overrides; a property in that
|
|
473
|
+
* situation still has the unrestricted `readSubConfigEntity`/
|
|
474
|
+
* `importSubConfigEntity` verbatim round trip available as an escape hatch.
|
|
475
|
+
*/
|
|
476
|
+
export declare function buildManagedObjectSchemaPropertyPayload(propertyName: string, fields: ManagedObjectSchemaPropertyFields): Record<string, unknown>;
|
|
477
|
+
/**
|
|
478
|
+
* Reverse-parses a live schema property definition back into
|
|
479
|
+
* {@link ManagedObjectSchemaPropertyFields}, so update can merge only the
|
|
480
|
+
* explicitly-changed overrides onto the property's actual current state
|
|
481
|
+
* rather than create-time defaults.
|
|
482
|
+
*/
|
|
483
|
+
export declare function extractManagedObjectSchemaPropertyFields(current: Record<string, unknown>): ManagedObjectSchemaPropertyFields;
|
|
484
|
+
/**
|
|
485
|
+
* Create a flat (non-relationship) schema property. See
|
|
486
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectSchemaFlatProperty} for
|
|
487
|
+
* the full doc comment.
|
|
488
|
+
*/
|
|
489
|
+
export declare function createManagedObjectSchemaFlatProperty({ type, propertyName, fields, subProperty, state, }: {
|
|
490
|
+
type: string;
|
|
491
|
+
propertyName: string;
|
|
492
|
+
fields: ManagedObjectSchemaPropertyFields;
|
|
493
|
+
subProperty?: string;
|
|
494
|
+
state: State;
|
|
495
|
+
}): Promise<Record<string, unknown>>;
|
|
496
|
+
/**
|
|
497
|
+
* Update a flat (non-relationship) schema property. See
|
|
498
|
+
* {@link ManagedObjectSchemaOps.updateManagedObjectSchemaFlatProperty} for
|
|
499
|
+
* the full doc comment.
|
|
500
|
+
*/
|
|
501
|
+
export declare function updateManagedObjectSchemaFlatProperty({ type, propertyName, changedFields, subProperty, state, }: {
|
|
502
|
+
type: string;
|
|
503
|
+
propertyName: string;
|
|
504
|
+
changedFields: Partial<ManagedObjectSchemaPropertyFields>;
|
|
505
|
+
subProperty?: string;
|
|
506
|
+
state: State;
|
|
507
|
+
}): Promise<{
|
|
508
|
+
current: Record<string, unknown>;
|
|
509
|
+
propertyData: Record<string, unknown>;
|
|
510
|
+
}>;
|
|
511
|
+
/**
|
|
512
|
+
* Remove a flat (non-relationship) schema property. See
|
|
513
|
+
* {@link ManagedObjectSchemaOps.removeManagedObjectSchemaFlatProperty} for
|
|
514
|
+
* the full doc comment.
|
|
515
|
+
*/
|
|
516
|
+
export declare function removeManagedObjectSchemaFlatProperty({ type, propertyName, subProperty, state, }: {
|
|
517
|
+
type: string;
|
|
518
|
+
propertyName: string;
|
|
519
|
+
subProperty?: string;
|
|
520
|
+
state: State;
|
|
521
|
+
}): Promise<Record<string, unknown>>;
|
|
522
|
+
/**
|
|
523
|
+
* ---------------------------------------------------------------------
|
|
524
|
+
* Managed-object type-level create/update/remove support.
|
|
525
|
+
* ---------------------------------------------------------------------
|
|
526
|
+
* Everything below this point supports `createManagedObjectType` /
|
|
527
|
+
* `updateManagedObjectType` / `removeManagedObjectType` -- creating,
|
|
528
|
+
* renaming/re-iconing/re-describing, and removing a managed-object type's
|
|
529
|
+
* own definition (as opposed to one of its schema properties, above). Uses
|
|
530
|
+
* the same `readSubConfigEntity`/`importSubConfigEntity`/
|
|
531
|
+
* `removeSubConfigEntity` path as the flat-property functions, since a
|
|
532
|
+
* type's own metadata (title/icon/description) lives on the same
|
|
533
|
+
* `schema` object as its `properties`.
|
|
534
|
+
*/
|
|
535
|
+
/**
|
|
536
|
+
* Default icon written for a new managed-object type when `fields.icon`
|
|
537
|
+
* isn't given. A Material Design Icon name (not a Font Awesome name) --
|
|
538
|
+
* confirmed via PingIDM's docs that `icon` only applies to standalone IDM,
|
|
539
|
+
* while `mat-icon` is what the Ping Identity Platform's own Admin UI reads,
|
|
540
|
+
* and managed-object type create/update only ever target Cloud/ForgeOps
|
|
541
|
+
* (Platform deployments), never standalone IDM.
|
|
542
|
+
*/
|
|
543
|
+
export declare const MANAGED_OBJECT_TYPE_DEFAULT_ICON = "widgets";
|
|
544
|
+
/**
|
|
545
|
+
* A managed-object type's own metadata, as resolved from caller-supplied
|
|
546
|
+
* field values. Used both for create (title required) and update (only the
|
|
547
|
+
* explicitly-changed subset, merged onto the type's current definition).
|
|
548
|
+
*/
|
|
549
|
+
export type ManagedObjectTypeFields = {
|
|
550
|
+
title?: string;
|
|
551
|
+
icon?: string;
|
|
552
|
+
description?: string;
|
|
553
|
+
};
|
|
554
|
+
/**
|
|
555
|
+
* Assembles a minimal managed-object type definition from resolved field
|
|
556
|
+
* values -- just the type's own identity/metadata, no custom properties
|
|
557
|
+
* (those are added afterward via the flat-property/relationship-property
|
|
558
|
+
* paths, which already keep `schema.order`/`schema.required` in sync as
|
|
559
|
+
* they go). Always writes a populated `order` array (`['_id']`) and a
|
|
560
|
+
* `mat-icon`, even when `fields.icon` isn't given -- a type whose schema
|
|
561
|
+
* lacks a populated `order` array has been observed to cause the v2
|
|
562
|
+
* relationship-property API to fail later, so an icon is kept as a paired
|
|
563
|
+
* default rather than risking that failure mode.
|
|
564
|
+
*
|
|
565
|
+
* Cast via `unknown`: the real API doesn't require `resourceCollection` on
|
|
566
|
+
* the whole-type schema (absent in every real fixture confirmed this
|
|
567
|
+
* session), even though `ManagedObjectSchema`'s type declares it required;
|
|
568
|
+
* `mat-icon`/`description` aren't in `ManagedObjectSchema`'s type at all
|
|
569
|
+
* (frodo-lib only declares `icon`), same reason.
|
|
570
|
+
*/
|
|
571
|
+
export declare function buildManagedObjectTypeSchema(type: string, fields: ManagedObjectTypeFields): ManagedObjectTypeConfig;
|
|
572
|
+
/**
|
|
573
|
+
* Create a managed object type. See
|
|
574
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectType} for the full doc
|
|
575
|
+
* comment.
|
|
576
|
+
*/
|
|
577
|
+
export declare function createManagedObjectType({ type, fields, state, }: {
|
|
578
|
+
type: string;
|
|
579
|
+
fields: ManagedObjectTypeFields;
|
|
580
|
+
state: State;
|
|
581
|
+
}): Promise<Record<string, unknown>>;
|
|
582
|
+
/**
|
|
583
|
+
* Update a managed object type. See
|
|
584
|
+
* {@link ManagedObjectSchemaOps.updateManagedObjectType} for the full doc
|
|
585
|
+
* comment.
|
|
586
|
+
*/
|
|
587
|
+
export declare function updateManagedObjectType({ type, changedFields, state, }: {
|
|
588
|
+
type: string;
|
|
589
|
+
changedFields: Partial<ManagedObjectTypeFields>;
|
|
590
|
+
state: State;
|
|
591
|
+
}): Promise<{
|
|
592
|
+
current: ManagedObjectTypeFields;
|
|
593
|
+
proposed: ManagedObjectTypeFields;
|
|
594
|
+
}>;
|
|
595
|
+
/**
|
|
596
|
+
* Remove a managed object type. See
|
|
597
|
+
* {@link ManagedObjectSchemaOps.removeManagedObjectType} for the full doc
|
|
598
|
+
* comment.
|
|
599
|
+
*/
|
|
600
|
+
export declare function removeManagedObjectType({ type, state, }: {
|
|
601
|
+
type: string;
|
|
602
|
+
state: State;
|
|
603
|
+
}): Promise<void>;
|
|
604
|
+
/**
|
|
605
|
+
* ---------------------------------------------------------------------
|
|
606
|
+
* Relationship-property create/update/remove support.
|
|
607
|
+
* ---------------------------------------------------------------------
|
|
608
|
+
* Everything below this point supports
|
|
609
|
+
* `createManagedObjectSchemaRelationshipProperty` /
|
|
610
|
+
* `updateManagedObjectSchemaRelationshipProperty` /
|
|
611
|
+
* `removeManagedObjectSchemaRelationshipProperty` -- unlike the flat-
|
|
612
|
+
* property and type-level functions above, these go through the dedicated
|
|
613
|
+
* v2 relationship-schema API (`readManagedObjectSchemaProperty` /
|
|
614
|
+
* `updateManagedObjectSchemaProperty` / `removeManagedObjectSchemaProperty`,
|
|
615
|
+
* already defined earlier in this file), not the generic
|
|
616
|
+
* `readSubConfigEntity`/`importSubConfigEntity` whole-type path -- see this
|
|
617
|
+
* file's own module header for why. A bidirectional relationship has a
|
|
618
|
+
* forward and a reverse side, each its own separate property on (usually)
|
|
619
|
+
* two different managed-object types; creation can auto-create both sides
|
|
620
|
+
* in one write (the server does this), but update/remove of an existing
|
|
621
|
+
* bidirectional pair always requires two separate API calls, one per side,
|
|
622
|
+
* with no cross-call transaction -- the ordering and partial-failure
|
|
623
|
+
* handling below exists specifically to keep that reality honest rather
|
|
624
|
+
* than pretending it's atomic.
|
|
625
|
+
*/
|
|
626
|
+
/** Field values for a relationship (or array-of-relationship) schema property, as resolved from caller-supplied values. */
|
|
627
|
+
export type ManagedObjectSchemaRelationshipPropertyFields = {
|
|
628
|
+
targetObject?: string;
|
|
629
|
+
many?: boolean;
|
|
630
|
+
queryFields?: string[];
|
|
631
|
+
title?: string;
|
|
632
|
+
description?: string;
|
|
633
|
+
label?: string;
|
|
634
|
+
queryFilter?: string;
|
|
635
|
+
sortKeys?: string[];
|
|
636
|
+
notify?: boolean;
|
|
637
|
+
notifySelf?: boolean;
|
|
638
|
+
searchable?: boolean;
|
|
639
|
+
userEditable?: boolean;
|
|
640
|
+
notViewable?: boolean;
|
|
641
|
+
notValidate?: boolean;
|
|
642
|
+
returnByDefault?: boolean;
|
|
643
|
+
reversePropertyName?: string;
|
|
644
|
+
};
|
|
645
|
+
/** Field values for the reverse side of a bidirectional relationship, embedded in the forward side's own write. */
|
|
646
|
+
export type ManagedObjectSchemaRelationshipReverseFields = {
|
|
647
|
+
propertyName: string;
|
|
648
|
+
many: boolean;
|
|
649
|
+
queryFields: string[];
|
|
650
|
+
title?: string;
|
|
651
|
+
description?: string;
|
|
652
|
+
};
|
|
653
|
+
/**
|
|
654
|
+
* Assembles a full relationship (or array-of-relationship) schema-property
|
|
655
|
+
* payload from resolved field values: `validate`/`viewable` default true,
|
|
656
|
+
* `userEditable`/`returnByDefault`/`notifySelf`/resourceCollection `notify`
|
|
657
|
+
* default false, `queryFilter` defaults `'true'`, and `searchable`/
|
|
658
|
+
* `sortKeys` are omitted entirely unless explicitly given. `reverse`, when
|
|
659
|
+
* given (create, or update re-supplying an existing bidirectional
|
|
660
|
+
* property's required descriptor), embeds a reverse-property descriptor --
|
|
661
|
+
* see {@link buildReversePropertyDescriptor}.
|
|
662
|
+
*
|
|
663
|
+
* Built as a plain object and cast at the call site rather than typed as
|
|
664
|
+
* `ManagedObjectSchemaProperty` throughout: the real IDM v2 API is more
|
|
665
|
+
* lenient than that type declares (`sortKeys`/`searchable` in particular
|
|
666
|
+
* are routinely absent from real property definitions returned by the
|
|
667
|
+
* server).
|
|
668
|
+
*/
|
|
669
|
+
export declare function buildManagedObjectSchemaRelationshipPropertyPayload(propertyName: string, fields: ManagedObjectSchemaRelationshipPropertyFields, reverse?: ManagedObjectSchemaRelationshipReverseFields): Record<string, unknown>;
|
|
670
|
+
/**
|
|
671
|
+
* Reverse-parses a live relationship (or array-of-relationship) property
|
|
672
|
+
* definition back into {@link ManagedObjectSchemaRelationshipPropertyFields},
|
|
673
|
+
* so update can merge only the explicitly-changed overrides onto the
|
|
674
|
+
* property's actual current state rather than create-time defaults.
|
|
675
|
+
*/
|
|
676
|
+
export declare function extractManagedObjectSchemaRelationshipPropertyFields(current: Record<string, unknown>): ManagedObjectSchemaRelationshipPropertyFields;
|
|
677
|
+
/**
|
|
678
|
+
* Turns an already-fetched relationship property's extracted fields into
|
|
679
|
+
* the descriptor shape {@link buildManagedObjectSchemaRelationshipPropertyPayload}'s
|
|
680
|
+
* `reverse` parameter expects. Used on update: the v2 API requires a
|
|
681
|
+
* `resourceCollection[0].reverseProperty` descriptor on *every* write of a
|
|
682
|
+
* property that has `reverseRelationship: true` set, not just its initial
|
|
683
|
+
* creation -- live-confirmed via a 400 ("field is required") when updating
|
|
684
|
+
* an already-bidirectional property without one -- so any update to a
|
|
685
|
+
* property with a configured reverse side must re-supply this descriptor
|
|
686
|
+
* even when the caller isn't touching the reverse side's own fields.
|
|
687
|
+
*/
|
|
688
|
+
export declare function toManagedObjectSchemaRelationshipReverseFields(propertyName: string, fields: ManagedObjectSchemaRelationshipPropertyFields): ManagedObjectSchemaRelationshipReverseFields;
|
|
689
|
+
/**
|
|
690
|
+
* Infers a relationship property's reverse side (type + property name) from
|
|
691
|
+
* its own definition -- the source of truth `withReverse` reads from on
|
|
692
|
+
* update/remove, needing no separate identity parameters.
|
|
693
|
+
*/
|
|
694
|
+
export declare function inferManagedObjectSchemaRelationshipReverseIdentity(property: Record<string, unknown>): {
|
|
695
|
+
type: string;
|
|
696
|
+
propertyName: string;
|
|
697
|
+
} | null;
|
|
698
|
+
/**
|
|
699
|
+
* Read a relationship schema property. See
|
|
700
|
+
* {@link ManagedObjectSchemaOps.readManagedObjectSchemaRelationshipPropertyOrNull}
|
|
701
|
+
* for the full doc comment.
|
|
702
|
+
*/
|
|
703
|
+
export declare function readManagedObjectSchemaRelationshipPropertyOrNull({ type, propertyName, state, }: {
|
|
704
|
+
type: string;
|
|
705
|
+
propertyName: string;
|
|
706
|
+
state: State;
|
|
707
|
+
}): Promise<Record<string, unknown> | null>;
|
|
708
|
+
/**
|
|
709
|
+
* Create a relationship schema property. See
|
|
710
|
+
* {@link ManagedObjectSchemaOps.createManagedObjectSchemaRelationshipProperty}
|
|
711
|
+
* for the full doc comment.
|
|
712
|
+
*/
|
|
713
|
+
export declare function createManagedObjectSchemaRelationshipProperty({ type, propertyName, fields, reverse, state, }: {
|
|
714
|
+
type: string;
|
|
715
|
+
propertyName: string;
|
|
716
|
+
fields: ManagedObjectSchemaRelationshipPropertyFields;
|
|
717
|
+
reverse?: ManagedObjectSchemaRelationshipReverseFields;
|
|
718
|
+
state: State;
|
|
719
|
+
}): Promise<Record<string, unknown>>;
|
|
720
|
+
/**
|
|
721
|
+
* Update a relationship schema property. See
|
|
722
|
+
* {@link ManagedObjectSchemaOps.updateManagedObjectSchemaRelationshipProperty}
|
|
723
|
+
* for the full doc comment.
|
|
724
|
+
*/
|
|
725
|
+
export declare function updateManagedObjectSchemaRelationshipProperty({ type, propertyName, changedFields, withReverse, state, }: {
|
|
726
|
+
type: string;
|
|
727
|
+
propertyName: string;
|
|
728
|
+
changedFields: Partial<ManagedObjectSchemaRelationshipPropertyFields>;
|
|
729
|
+
withReverse?: boolean;
|
|
730
|
+
state: State;
|
|
731
|
+
}): Promise<{
|
|
732
|
+
forward: Record<string, unknown>;
|
|
733
|
+
reverse?: {
|
|
734
|
+
type: string;
|
|
735
|
+
propertyName: string;
|
|
736
|
+
propertyData: Record<string, unknown>;
|
|
737
|
+
};
|
|
738
|
+
}>;
|
|
739
|
+
/**
|
|
740
|
+
* Remove a relationship schema property. See
|
|
741
|
+
* {@link ManagedObjectSchemaOps.removeManagedObjectSchemaRelationshipProperty}
|
|
742
|
+
* for the full doc comment.
|
|
743
|
+
*/
|
|
744
|
+
export declare function removeManagedObjectSchemaRelationshipProperty({ type, propertyName, withReverse, state, }: {
|
|
745
|
+
type: string;
|
|
746
|
+
propertyName: string;
|
|
747
|
+
withReverse?: boolean;
|
|
748
|
+
state: State;
|
|
749
|
+
}): Promise<{
|
|
750
|
+
current: Record<string, unknown>;
|
|
751
|
+
reverse?: {
|
|
752
|
+
type: string;
|
|
753
|
+
propertyName: string;
|
|
754
|
+
current: Record<string, unknown>;
|
|
755
|
+
};
|
|
756
|
+
}>;
|
|
757
|
+
//# sourceMappingURL=ManagedObjectSchemaOps.d.ts.map
|