UNPKG

@zitadel/node

Version:

Library for API access to ZITADEL. Provides compiled gRPC service clients and helpers for applications and service accounts.

3,348 lines 123 kB
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v2.7.5
//   protoc               unknown
// source: zitadel/idp.proto
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { Duration } from "../google/protobuf/duration.js";
import { ObjectDetails, textQueryMethodFromJSON, textQueryMethodToJSON } from "./object.js";
export const protobufPackage = "zitadel.idp.v1";
export var IDPState;
(function (IDPState) {
    IDPState[IDPState["IDP_STATE_UNSPECIFIED"] = 0] = "IDP_STATE_UNSPECIFIED";
    IDPState[IDPState["IDP_STATE_ACTIVE"] = 1] = "IDP_STATE_ACTIVE";
    IDPState[IDPState["IDP_STATE_INACTIVE"] = 2] = "IDP_STATE_INACTIVE";
    IDPState[IDPState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(IDPState || (IDPState = {}));
export function iDPStateFromJSON(object) {
    switch (object) {
        case 0:
        case "IDP_STATE_UNSPECIFIED":
            return IDPState.IDP_STATE_UNSPECIFIED;
        case 1:
        case "IDP_STATE_ACTIVE":
            return IDPState.IDP_STATE_ACTIVE;
        case 2:
        case "IDP_STATE_INACTIVE":
            return IDPState.IDP_STATE_INACTIVE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return IDPState.UNRECOGNIZED;
    }
}
export function iDPStateToJSON(object) {
    switch (object) {
        case IDPState.IDP_STATE_UNSPECIFIED:
            return "IDP_STATE_UNSPECIFIED";
        case IDPState.IDP_STATE_ACTIVE:
            return "IDP_STATE_ACTIVE";
        case IDPState.IDP_STATE_INACTIVE:
            return "IDP_STATE_INACTIVE";
        case IDPState.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var IDPStylingType;
(function (IDPStylingType) {
    IDPStylingType[IDPStylingType["STYLING_TYPE_UNSPECIFIED"] = 0] = "STYLING_TYPE_UNSPECIFIED";
    IDPStylingType[IDPStylingType["STYLING_TYPE_GOOGLE"] = 1] = "STYLING_TYPE_GOOGLE";
    IDPStylingType[IDPStylingType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(IDPStylingType || (IDPStylingType = {}));
export function iDPStylingTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "STYLING_TYPE_UNSPECIFIED":
            return IDPStylingType.STYLING_TYPE_UNSPECIFIED;
        case 1:
        case "STYLING_TYPE_GOOGLE":
            return IDPStylingType.STYLING_TYPE_GOOGLE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return IDPStylingType.UNRECOGNIZED;
    }
}
export function iDPStylingTypeToJSON(object) {
    switch (object) {
        case IDPStylingType.STYLING_TYPE_UNSPECIFIED:
            return "STYLING_TYPE_UNSPECIFIED";
        case IDPStylingType.STYLING_TYPE_GOOGLE:
            return "STYLING_TYPE_GOOGLE";
        case IDPStylingType.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
/** authorization framework of the identity provider */
export var IDPType;
(function (IDPType) {
    IDPType[IDPType["IDP_TYPE_UNSPECIFIED"] = 0] = "IDP_TYPE_UNSPECIFIED";
    IDPType[IDPType["IDP_TYPE_OIDC"] = 1] = "IDP_TYPE_OIDC";
    IDPType[IDPType["IDP_TYPE_JWT"] = 3] = "IDP_TYPE_JWT";
    IDPType[IDPType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(IDPType || (IDPType = {}));
export function iDPTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "IDP_TYPE_UNSPECIFIED":
            return IDPType.IDP_TYPE_UNSPECIFIED;
        case 1:
        case "IDP_TYPE_OIDC":
            return IDPType.IDP_TYPE_OIDC;
        case 3:
        case "IDP_TYPE_JWT":
            return IDPType.IDP_TYPE_JWT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return IDPType.UNRECOGNIZED;
    }
}
export function iDPTypeToJSON(object) {
    switch (object) {
        case IDPType.IDP_TYPE_UNSPECIFIED:
            return "IDP_TYPE_UNSPECIFIED";
        case IDPType.IDP_TYPE_OIDC:
            return "IDP_TYPE_OIDC";
        case IDPType.IDP_TYPE_JWT:
            return "IDP_TYPE_JWT";
        case IDPType.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
/** the owner of the identity provider. */
export var IDPOwnerType;
(function (IDPOwnerType) {
    IDPOwnerType[IDPOwnerType["IDP_OWNER_TYPE_UNSPECIFIED"] = 0] = "IDP_OWNER_TYPE_UNSPECIFIED";
    /** IDP_OWNER_TYPE_SYSTEM - system is managed by the ZITADEL administrators */
    IDPOwnerType[IDPOwnerType["IDP_OWNER_TYPE_SYSTEM"] = 1] = "IDP_OWNER_TYPE_SYSTEM";
    /** IDP_OWNER_TYPE_ORG - org is managed by de organization administrators */
    IDPOwnerType[IDPOwnerType["IDP_OWNER_TYPE_ORG"] = 2] = "IDP_OWNER_TYPE_ORG";
    IDPOwnerType[IDPOwnerType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(IDPOwnerType || (IDPOwnerType = {}));
export function iDPOwnerTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "IDP_OWNER_TYPE_UNSPECIFIED":
            return IDPOwnerType.IDP_OWNER_TYPE_UNSPECIFIED;
        case 1:
        case "IDP_OWNER_TYPE_SYSTEM":
            return IDPOwnerType.IDP_OWNER_TYPE_SYSTEM;
        case 2:
        case "IDP_OWNER_TYPE_ORG":
            return IDPOwnerType.IDP_OWNER_TYPE_ORG;
        case -1:
        case "UNRECOGNIZED":
        default:
            return IDPOwnerType.UNRECOGNIZED;
    }
}
export function iDPOwnerTypeToJSON(object) {
    switch (object) {
        case IDPOwnerType.IDP_OWNER_TYPE_UNSPECIFIED:
            return "IDP_OWNER_TYPE_UNSPECIFIED";
        case IDPOwnerType.IDP_OWNER_TYPE_SYSTEM:
            return "IDP_OWNER_TYPE_SYSTEM";
        case IDPOwnerType.IDP_OWNER_TYPE_ORG:
            return "IDP_OWNER_TYPE_ORG";
        case IDPOwnerType.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var OIDCMappingField;
(function (OIDCMappingField) {
    OIDCMappingField[OIDCMappingField["OIDC_MAPPING_FIELD_UNSPECIFIED"] = 0] = "OIDC_MAPPING_FIELD_UNSPECIFIED";
    OIDCMappingField[OIDCMappingField["OIDC_MAPPING_FIELD_PREFERRED_USERNAME"] = 1] = "OIDC_MAPPING_FIELD_PREFERRED_USERNAME";
    OIDCMappingField[OIDCMappingField["OIDC_MAPPING_FIELD_EMAIL"] = 2] = "OIDC_MAPPING_FIELD_EMAIL";
    OIDCMappingField[OIDCMappingField["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(OIDCMappingField || (OIDCMappingField = {}));
export function oIDCMappingFieldFromJSON(object) {
    switch (object) {
        case 0:
        case "OIDC_MAPPING_FIELD_UNSPECIFIED":
            return OIDCMappingField.OIDC_MAPPING_FIELD_UNSPECIFIED;
        case 1:
        case "OIDC_MAPPING_FIELD_PREFERRED_USERNAME":
            return OIDCMappingField.OIDC_MAPPING_FIELD_PREFERRED_USERNAME;
        case 2:
        case "OIDC_MAPPING_FIELD_EMAIL":
            return OIDCMappingField.OIDC_MAPPING_FIELD_EMAIL;
        case -1:
        case "UNRECOGNIZED":
        default:
            return OIDCMappingField.UNRECOGNIZED;
    }
}
export function oIDCMappingFieldToJSON(object) {
    switch (object) {
        case OIDCMappingField.OIDC_MAPPING_FIELD_UNSPECIFIED:
            return "OIDC_MAPPING_FIELD_UNSPECIFIED";
        case OIDCMappingField.OIDC_MAPPING_FIELD_PREFERRED_USERNAME:
            return "OIDC_MAPPING_FIELD_PREFERRED_USERNAME";
        case OIDCMappingField.OIDC_MAPPING_FIELD_EMAIL:
            return "OIDC_MAPPING_FIELD_EMAIL";
        case OIDCMappingField.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var IDPFieldName;
(function (IDPFieldName) {
    IDPFieldName[IDPFieldName["IDP_FIELD_NAME_UNSPECIFIED"] = 0] = "IDP_FIELD_NAME_UNSPECIFIED";
    IDPFieldName[IDPFieldName["IDP_FIELD_NAME_NAME"] = 1] = "IDP_FIELD_NAME_NAME";
    IDPFieldName[IDPFieldName["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(IDPFieldName || (IDPFieldName = {}));
export function iDPFieldNameFromJSON(object) {
    switch (object) {
        case 0:
        case "IDP_FIELD_NAME_UNSPECIFIED":
            return IDPFieldName.IDP_FIELD_NAME_UNSPECIFIED;
        case 1:
        case "IDP_FIELD_NAME_NAME":
            return IDPFieldName.IDP_FIELD_NAME_NAME;
        case -1:
        case "UNRECOGNIZED":
        default:
            return IDPFieldName.UNRECOGNIZED;
    }
}
export function iDPFieldNameToJSON(object) {
    switch (object) {
        case IDPFieldName.IDP_FIELD_NAME_UNSPECIFIED:
            return "IDP_FIELD_NAME_UNSPECIFIED";
        case IDPFieldName.IDP_FIELD_NAME_NAME:
            return "IDP_FIELD_NAME_NAME";
        case IDPFieldName.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var ProviderType;
(function (ProviderType) {
    ProviderType[ProviderType["PROVIDER_TYPE_UNSPECIFIED"] = 0] = "PROVIDER_TYPE_UNSPECIFIED";
    ProviderType[ProviderType["PROVIDER_TYPE_OIDC"] = 1] = "PROVIDER_TYPE_OIDC";
    ProviderType[ProviderType["PROVIDER_TYPE_JWT"] = 2] = "PROVIDER_TYPE_JWT";
    ProviderType[ProviderType["PROVIDER_TYPE_LDAP"] = 3] = "PROVIDER_TYPE_LDAP";
    ProviderType[ProviderType["PROVIDER_TYPE_OAUTH"] = 4] = "PROVIDER_TYPE_OAUTH";
    ProviderType[ProviderType["PROVIDER_TYPE_AZURE_AD"] = 5] = "PROVIDER_TYPE_AZURE_AD";
    ProviderType[ProviderType["PROVIDER_TYPE_GITHUB"] = 6] = "PROVIDER_TYPE_GITHUB";
    ProviderType[ProviderType["PROVIDER_TYPE_GITHUB_ES"] = 7] = "PROVIDER_TYPE_GITHUB_ES";
    ProviderType[ProviderType["PROVIDER_TYPE_GITLAB"] = 8] = "PROVIDER_TYPE_GITLAB";
    ProviderType[ProviderType["PROVIDER_TYPE_GITLAB_SELF_HOSTED"] = 9] = "PROVIDER_TYPE_GITLAB_SELF_HOSTED";
    ProviderType[ProviderType["PROVIDER_TYPE_GOOGLE"] = 10] = "PROVIDER_TYPE_GOOGLE";
    ProviderType[ProviderType["PROVIDER_TYPE_APPLE"] = 11] = "PROVIDER_TYPE_APPLE";
    ProviderType[ProviderType["PROVIDER_TYPE_SAML"] = 12] = "PROVIDER_TYPE_SAML";
    ProviderType[ProviderType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(ProviderType || (ProviderType = {}));
export function providerTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "PROVIDER_TYPE_UNSPECIFIED":
            return ProviderType.PROVIDER_TYPE_UNSPECIFIED;
        case 1:
        case "PROVIDER_TYPE_OIDC":
            return ProviderType.PROVIDER_TYPE_OIDC;
        case 2:
        case "PROVIDER_TYPE_JWT":
            return ProviderType.PROVIDER_TYPE_JWT;
        case 3:
        case "PROVIDER_TYPE_LDAP":
            return ProviderType.PROVIDER_TYPE_LDAP;
        case 4:
        case "PROVIDER_TYPE_OAUTH":
            return ProviderType.PROVIDER_TYPE_OAUTH;
        case 5:
        case "PROVIDER_TYPE_AZURE_AD":
            return ProviderType.PROVIDER_TYPE_AZURE_AD;
        case 6:
        case "PROVIDER_TYPE_GITHUB":
            return ProviderType.PROVIDER_TYPE_GITHUB;
        case 7:
        case "PROVIDER_TYPE_GITHUB_ES":
            return ProviderType.PROVIDER_TYPE_GITHUB_ES;
        case 8:
        case "PROVIDER_TYPE_GITLAB":
            return ProviderType.PROVIDER_TYPE_GITLAB;
        case 9:
        case "PROVIDER_TYPE_GITLAB_SELF_HOSTED":
            return ProviderType.PROVIDER_TYPE_GITLAB_SELF_HOSTED;
        case 10:
        case "PROVIDER_TYPE_GOOGLE":
            return ProviderType.PROVIDER_TYPE_GOOGLE;
        case 11:
        case "PROVIDER_TYPE_APPLE":
            return ProviderType.PROVIDER_TYPE_APPLE;
        case 12:
        case "PROVIDER_TYPE_SAML":
            return ProviderType.PROVIDER_TYPE_SAML;
        case -1:
        case "UNRECOGNIZED":
        default:
            return ProviderType.UNRECOGNIZED;
    }
}
export function providerTypeToJSON(object) {
    switch (object) {
        case ProviderType.PROVIDER_TYPE_UNSPECIFIED:
            return "PROVIDER_TYPE_UNSPECIFIED";
        case ProviderType.PROVIDER_TYPE_OIDC:
            return "PROVIDER_TYPE_OIDC";
        case ProviderType.PROVIDER_TYPE_JWT:
            return "PROVIDER_TYPE_JWT";
        case ProviderType.PROVIDER_TYPE_LDAP:
            return "PROVIDER_TYPE_LDAP";
        case ProviderType.PROVIDER_TYPE_OAUTH:
            return "PROVIDER_TYPE_OAUTH";
        case ProviderType.PROVIDER_TYPE_AZURE_AD:
            return "PROVIDER_TYPE_AZURE_AD";
        case ProviderType.PROVIDER_TYPE_GITHUB:
            return "PROVIDER_TYPE_GITHUB";
        case ProviderType.PROVIDER_TYPE_GITHUB_ES:
            return "PROVIDER_TYPE_GITHUB_ES";
        case ProviderType.PROVIDER_TYPE_GITLAB:
            return "PROVIDER_TYPE_GITLAB";
        case ProviderType.PROVIDER_TYPE_GITLAB_SELF_HOSTED:
            return "PROVIDER_TYPE_GITLAB_SELF_HOSTED";
        case ProviderType.PROVIDER_TYPE_GOOGLE:
            return "PROVIDER_TYPE_GOOGLE";
        case ProviderType.PROVIDER_TYPE_APPLE:
            return "PROVIDER_TYPE_APPLE";
        case ProviderType.PROVIDER_TYPE_SAML:
            return "PROVIDER_TYPE_SAML";
        case ProviderType.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var SAMLBinding;
(function (SAMLBinding) {
    SAMLBinding[SAMLBinding["SAML_BINDING_UNSPECIFIED"] = 0] = "SAML_BINDING_UNSPECIFIED";
    SAMLBinding[SAMLBinding["SAML_BINDING_POST"] = 1] = "SAML_BINDING_POST";
    SAMLBinding[SAMLBinding["SAML_BINDING_REDIRECT"] = 2] = "SAML_BINDING_REDIRECT";
    SAMLBinding[SAMLBinding["SAML_BINDING_ARTIFACT"] = 3] = "SAML_BINDING_ARTIFACT";
    SAMLBinding[SAMLBinding["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SAMLBinding || (SAMLBinding = {}));
export function sAMLBindingFromJSON(object) {
    switch (object) {
        case 0:
        case "SAML_BINDING_UNSPECIFIED":
            return SAMLBinding.SAML_BINDING_UNSPECIFIED;
        case 1:
        case "SAML_BINDING_POST":
            return SAMLBinding.SAML_BINDING_POST;
        case 2:
        case "SAML_BINDING_REDIRECT":
            return SAMLBinding.SAML_BINDING_REDIRECT;
        case 3:
        case "SAML_BINDING_ARTIFACT":
            return SAMLBinding.SAML_BINDING_ARTIFACT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return SAMLBinding.UNRECOGNIZED;
    }
}
export function sAMLBindingToJSON(object) {
    switch (object) {
        case SAMLBinding.SAML_BINDING_UNSPECIFIED:
            return "SAML_BINDING_UNSPECIFIED";
        case SAMLBinding.SAML_BINDING_POST:
            return "SAML_BINDING_POST";
        case SAMLBinding.SAML_BINDING_REDIRECT:
            return "SAML_BINDING_REDIRECT";
        case SAMLBinding.SAML_BINDING_ARTIFACT:
            return "SAML_BINDING_ARTIFACT";
        case SAMLBinding.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var SAMLNameIDFormat;
(function (SAMLNameIDFormat) {
    SAMLNameIDFormat[SAMLNameIDFormat["SAML_NAME_ID_FORMAT_UNSPECIFIED"] = 0] = "SAML_NAME_ID_FORMAT_UNSPECIFIED";
    SAMLNameIDFormat[SAMLNameIDFormat["SAML_NAME_ID_FORMAT_EMAIL_ADDRESS"] = 1] = "SAML_NAME_ID_FORMAT_EMAIL_ADDRESS";
    SAMLNameIDFormat[SAMLNameIDFormat["SAML_NAME_ID_FORMAT_PERSISTENT"] = 2] = "SAML_NAME_ID_FORMAT_PERSISTENT";
    SAMLNameIDFormat[SAMLNameIDFormat["SAML_NAME_ID_FORMAT_TRANSIENT"] = 3] = "SAML_NAME_ID_FORMAT_TRANSIENT";
    SAMLNameIDFormat[SAMLNameIDFormat["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SAMLNameIDFormat || (SAMLNameIDFormat = {}));
export function sAMLNameIDFormatFromJSON(object) {
    switch (object) {
        case 0:
        case "SAML_NAME_ID_FORMAT_UNSPECIFIED":
            return SAMLNameIDFormat.SAML_NAME_ID_FORMAT_UNSPECIFIED;
        case 1:
        case "SAML_NAME_ID_FORMAT_EMAIL_ADDRESS":
            return SAMLNameIDFormat.SAML_NAME_ID_FORMAT_EMAIL_ADDRESS;
        case 2:
        case "SAML_NAME_ID_FORMAT_PERSISTENT":
            return SAMLNameIDFormat.SAML_NAME_ID_FORMAT_PERSISTENT;
        case 3:
        case "SAML_NAME_ID_FORMAT_TRANSIENT":
            return SAMLNameIDFormat.SAML_NAME_ID_FORMAT_TRANSIENT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return SAMLNameIDFormat.UNRECOGNIZED;
    }
}
export function sAMLNameIDFormatToJSON(object) {
    switch (object) {
        case SAMLNameIDFormat.SAML_NAME_ID_FORMAT_UNSPECIFIED:
            return "SAML_NAME_ID_FORMAT_UNSPECIFIED";
        case SAMLNameIDFormat.SAML_NAME_ID_FORMAT_EMAIL_ADDRESS:
            return "SAML_NAME_ID_FORMAT_EMAIL_ADDRESS";
        case SAMLNameIDFormat.SAML_NAME_ID_FORMAT_PERSISTENT:
            return "SAML_NAME_ID_FORMAT_PERSISTENT";
        case SAMLNameIDFormat.SAML_NAME_ID_FORMAT_TRANSIENT:
            return "SAML_NAME_ID_FORMAT_TRANSIENT";
        case SAMLNameIDFormat.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var AutoLinkingOption;
(function (AutoLinkingOption) {
    /** AUTO_LINKING_OPTION_UNSPECIFIED - AUTO_LINKING_OPTION_UNSPECIFIED disables the auto linking prompt. */
    AutoLinkingOption[AutoLinkingOption["AUTO_LINKING_OPTION_UNSPECIFIED"] = 0] = "AUTO_LINKING_OPTION_UNSPECIFIED";
    /** AUTO_LINKING_OPTION_USERNAME - AUTO_LINKING_OPTION_USERNAME will use the username of the external user to check for a corresponding ZITADEL user. */
    AutoLinkingOption[AutoLinkingOption["AUTO_LINKING_OPTION_USERNAME"] = 1] = "AUTO_LINKING_OPTION_USERNAME";
    /**
     * AUTO_LINKING_OPTION_EMAIL - AUTO_LINKING_OPTION_EMAIL  will use the email of the external user to check for a corresponding ZITADEL user with the same verified email
     * Note that in case multiple users match, no prompt will be shown.
     */
    AutoLinkingOption[AutoLinkingOption["AUTO_LINKING_OPTION_EMAIL"] = 2] = "AUTO_LINKING_OPTION_EMAIL";
    AutoLinkingOption[AutoLinkingOption["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(AutoLinkingOption || (AutoLinkingOption = {}));
export function autoLinkingOptionFromJSON(object) {
    switch (object) {
        case 0:
        case "AUTO_LINKING_OPTION_UNSPECIFIED":
            return AutoLinkingOption.AUTO_LINKING_OPTION_UNSPECIFIED;
        case 1:
        case "AUTO_LINKING_OPTION_USERNAME":
            return AutoLinkingOption.AUTO_LINKING_OPTION_USERNAME;
        case 2:
        case "AUTO_LINKING_OPTION_EMAIL":
            return AutoLinkingOption.AUTO_LINKING_OPTION_EMAIL;
        case -1:
        case "UNRECOGNIZED":
        default:
            return AutoLinkingOption.UNRECOGNIZED;
    }
}
export function autoLinkingOptionToJSON(object) {
    switch (object) {
        case AutoLinkingOption.AUTO_LINKING_OPTION_UNSPECIFIED:
            return "AUTO_LINKING_OPTION_UNSPECIFIED";
        case AutoLinkingOption.AUTO_LINKING_OPTION_USERNAME:
            return "AUTO_LINKING_OPTION_USERNAME";
        case AutoLinkingOption.AUTO_LINKING_OPTION_EMAIL:
            return "AUTO_LINKING_OPTION_EMAIL";
        case AutoLinkingOption.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var AzureADTenantType;
(function (AzureADTenantType) {
    AzureADTenantType[AzureADTenantType["AZURE_AD_TENANT_TYPE_COMMON"] = 0] = "AZURE_AD_TENANT_TYPE_COMMON";
    AzureADTenantType[AzureADTenantType["AZURE_AD_TENANT_TYPE_ORGANISATIONS"] = 1] = "AZURE_AD_TENANT_TYPE_ORGANISATIONS";
    AzureADTenantType[AzureADTenantType["AZURE_AD_TENANT_TYPE_CONSUMERS"] = 2] = "AZURE_AD_TENANT_TYPE_CONSUMERS";
    AzureADTenantType[AzureADTenantType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(AzureADTenantType || (AzureADTenantType = {}));
export function azureADTenantTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "AZURE_AD_TENANT_TYPE_COMMON":
            return AzureADTenantType.AZURE_AD_TENANT_TYPE_COMMON;
        case 1:
        case "AZURE_AD_TENANT_TYPE_ORGANISATIONS":
            return AzureADTenantType.AZURE_AD_TENANT_TYPE_ORGANISATIONS;
        case 2:
        case "AZURE_AD_TENANT_TYPE_CONSUMERS":
            return AzureADTenantType.AZURE_AD_TENANT_TYPE_CONSUMERS;
        case -1:
        case "UNRECOGNIZED":
        default:
            return AzureADTenantType.UNRECOGNIZED;
    }
}
export function azureADTenantTypeToJSON(object) {
    switch (object) {
        case AzureADTenantType.AZURE_AD_TENANT_TYPE_COMMON:
            return "AZURE_AD_TENANT_TYPE_COMMON";
        case AzureADTenantType.AZURE_AD_TENANT_TYPE_ORGANISATIONS:
            return "AZURE_AD_TENANT_TYPE_ORGANISATIONS";
        case AzureADTenantType.AZURE_AD_TENANT_TYPE_CONSUMERS:
            return "AZURE_AD_TENANT_TYPE_CONSUMERS";
        case AzureADTenantType.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
function createBaseIDP() {
    return {
        id: "",
        details: undefined,
        state: 0,
        name: "",
        stylingType: 0,
        owner: 0,
        oidcConfig: undefined,
        jwtConfig: undefined,
        autoRegister: false,
    };
}
export const IDP = {
    encode(message, writer = new BinaryWriter()) {
        if (message.id !== "") {
            writer.uint32(10).string(message.id);
        }
        if (message.details !== undefined) {
            ObjectDetails.encode(message.details, writer.uint32(18).fork()).join();
        }
        if (message.state !== 0) {
            writer.uint32(24).int32(message.state);
        }
        if (message.name !== "") {
            writer.uint32(34).string(message.name);
        }
        if (message.stylingType !== 0) {
            writer.uint32(40).int32(message.stylingType);
        }
        if (message.owner !== 0) {
            writer.uint32(48).int32(message.owner);
        }
        if (message.oidcConfig !== undefined) {
            OIDCConfig.encode(message.oidcConfig, writer.uint32(58).fork()).join();
        }
        if (message.jwtConfig !== undefined) {
            JWTConfig.encode(message.jwtConfig, writer.uint32(74).fork()).join();
        }
        if (message.autoRegister !== false) {
            writer.uint32(64).bool(message.autoRegister);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIDP();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.id = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.details = ObjectDetails.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.state = reader.int32();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 40) {
                        break;
                    }
                    message.stylingType = reader.int32();
                    continue;
                }
                case 6: {
                    if (tag !== 48) {
                        break;
                    }
                    message.owner = reader.int32();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.oidcConfig = OIDCConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.jwtConfig = JWTConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 8: {
                    if (tag !== 64) {
                        break;
                    }
                    message.autoRegister = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            id: isSet(object.id) ? globalThis.String(object.id) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            state: isSet(object.state) ? iDPStateFromJSON(object.state) : 0,
            name: isSet(object.name) ? globalThis.String(object.name) : "",
            stylingType: isSet(object.stylingType) ? iDPStylingTypeFromJSON(object.stylingType) : 0,
            owner: isSet(object.owner) ? iDPOwnerTypeFromJSON(object.owner) : 0,
            oidcConfig: isSet(object.oidcConfig) ? OIDCConfig.fromJSON(object.oidcConfig) : undefined,
            jwtConfig: isSet(object.jwtConfig) ? JWTConfig.fromJSON(object.jwtConfig) : undefined,
            autoRegister: isSet(object.autoRegister) ? globalThis.Boolean(object.autoRegister) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.state !== 0) {
            obj.state = iDPStateToJSON(message.state);
        }
        if (message.name !== "") {
            obj.name = message.name;
        }
        if (message.stylingType !== 0) {
            obj.stylingType = iDPStylingTypeToJSON(message.stylingType);
        }
        if (message.owner !== 0) {
            obj.owner = iDPOwnerTypeToJSON(message.owner);
        }
        if (message.oidcConfig !== undefined) {
            obj.oidcConfig = OIDCConfig.toJSON(message.oidcConfig);
        }
        if (message.jwtConfig !== undefined) {
            obj.jwtConfig = JWTConfig.toJSON(message.jwtConfig);
        }
        if (message.autoRegister !== false) {
            obj.autoRegister = message.autoRegister;
        }
        return obj;
    },
    create(base) {
        return IDP.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseIDP();
        message.id = object.id ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.state = object.state ?? 0;
        message.name = object.name ?? "";
        message.stylingType = object.stylingType ?? 0;
        message.owner = object.owner ?? 0;
        message.oidcConfig = (object.oidcConfig !== undefined && object.oidcConfig !== null)
            ? OIDCConfig.fromPartial(object.oidcConfig)
            : undefined;
        message.jwtConfig = (object.jwtConfig !== undefined && object.jwtConfig !== null)
            ? JWTConfig.fromPartial(object.jwtConfig)
            : undefined;
        message.autoRegister = object.autoRegister ?? false;
        return message;
    },
};
function createBaseIDPUserLink() {
    return { userId: "", idpId: "", idpName: "", providedUserId: "", providedUserName: "", idpType: 0 };
}
export const IDPUserLink = {
    encode(message, writer = new BinaryWriter()) {
        if (message.userId !== "") {
            writer.uint32(10).string(message.userId);
        }
        if (message.idpId !== "") {
            writer.uint32(18).string(message.idpId);
        }
        if (message.idpName !== "") {
            writer.uint32(26).string(message.idpName);
        }
        if (message.providedUserId !== "") {
            writer.uint32(34).string(message.providedUserId);
        }
        if (message.providedUserName !== "") {
            writer.uint32(42).string(message.providedUserName);
        }
        if (message.idpType !== 0) {
            writer.uint32(48).int32(message.idpType);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIDPUserLink();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.idpId = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.idpName = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.providedUserId = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.providedUserName = reader.string();
                    continue;
                }
                case 6: {
                    if (tag !== 48) {
                        break;
                    }
                    message.idpType = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            userId: isSet(object.userId) ? globalThis.String(object.userId) : "",
            idpId: isSet(object.idpId) ? globalThis.String(object.idpId) : "",
            idpName: isSet(object.idpName) ? globalThis.String(object.idpName) : "",
            providedUserId: isSet(object.providedUserId) ? globalThis.String(object.providedUserId) : "",
            providedUserName: isSet(object.providedUserName) ? globalThis.String(object.providedUserName) : "",
            idpType: isSet(object.idpType) ? iDPTypeFromJSON(object.idpType) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userId !== "") {
            obj.userId = message.userId;
        }
        if (message.idpId !== "") {
            obj.idpId = message.idpId;
        }
        if (message.idpName !== "") {
            obj.idpName = message.idpName;
        }
        if (message.providedUserId !== "") {
            obj.providedUserId = message.providedUserId;
        }
        if (message.providedUserName !== "") {
            obj.providedUserName = message.providedUserName;
        }
        if (message.idpType !== 0) {
            obj.idpType = iDPTypeToJSON(message.idpType);
        }
        return obj;
    },
    create(base) {
        return IDPUserLink.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseIDPUserLink();
        message.userId = object.userId ?? "";
        message.idpId = object.idpId ?? "";
        message.idpName = object.idpName ?? "";
        message.providedUserId = object.providedUserId ?? "";
        message.providedUserName = object.providedUserName ?? "";
        message.idpType = object.idpType ?? 0;
        return message;
    },
};
function createBaseIDPLoginPolicyLink() {
    return { idpId: "", idpName: "", idpType: 0 };
}
export const IDPLoginPolicyLink = {
    encode(message, writer = new BinaryWriter()) {
        if (message.idpId !== "") {
            writer.uint32(10).string(message.idpId);
        }
        if (message.idpName !== "") {
            writer.uint32(18).string(message.idpName);
        }
        if (message.idpType !== 0) {
            writer.uint32(24).int32(message.idpType);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIDPLoginPolicyLink();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.idpId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.idpName = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.idpType = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            idpId: isSet(object.idpId) ? globalThis.String(object.idpId) : "",
            idpName: isSet(object.idpName) ? globalThis.String(object.idpName) : "",
            idpType: isSet(object.idpType) ? iDPTypeFromJSON(object.idpType) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.idpId !== "") {
            obj.idpId = message.idpId;
        }
        if (message.idpName !== "") {
            obj.idpName = message.idpName;
        }
        if (message.idpType !== 0) {
            obj.idpType = iDPTypeToJSON(message.idpType);
        }
        return obj;
    },
    create(base) {
        return IDPLoginPolicyLink.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseIDPLoginPolicyLink();
        message.idpId = object.idpId ?? "";
        message.idpName = object.idpName ?? "";
        message.idpType = object.idpType ?? 0;
        return message;
    },
};
function createBaseOIDCConfig() {
    return { clientId: "", issuer: "", scopes: [], displayNameMapping: 0, usernameMapping: 0 };
}
export const OIDCConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        if (message.issuer !== "") {
            writer.uint32(18).string(message.issuer);
        }
        for (const v of message.scopes) {
            writer.uint32(26).string(v);
        }
        if (message.displayNameMapping !== 0) {
            writer.uint32(32).int32(message.displayNameMapping);
        }
        if (message.usernameMapping !== 0) {
            writer.uint32(40).int32(message.usernameMapping);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseOIDCConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.issuer = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
                case 4: {
                    if (tag !== 32) {
                        break;
                    }
                    message.displayNameMapping = reader.int32();
                    continue;
                }
                case 5: {
                    if (tag !== 40) {
                        break;
                    }
                    message.usernameMapping = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            issuer: isSet(object.issuer) ? globalThis.String(object.issuer) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
            displayNameMapping: isSet(object.displayNameMapping) ? oIDCMappingFieldFromJSON(object.displayNameMapping) : 0,
            usernameMapping: isSet(object.usernameMapping) ? oIDCMappingFieldFromJSON(object.usernameMapping) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.issuer !== "") {
            obj.issuer = message.issuer;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        if (message.displayNameMapping !== 0) {
            obj.displayNameMapping = oIDCMappingFieldToJSON(message.displayNameMapping);
        }
        if (message.usernameMapping !== 0) {
            obj.usernameMapping = oIDCMappingFieldToJSON(message.usernameMapping);
        }
        return obj;
    },
    create(base) {
        return OIDCConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseOIDCConfig();
        message.clientId = object.clientId ?? "";
        message.issuer = object.issuer ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        message.displayNameMapping = object.displayNameMapping ?? 0;
        message.usernameMapping = object.usernameMapping ?? 0;
        return message;
    },
};
function createBaseJWTConfig() {
    return { jwtEndpoint: "", issuer: "", keysEndpoint: "", headerName: "" };
}
export const JWTConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.jwtEndpoint !== "") {
            writer.uint32(10).string(message.jwtEndpoint);
        }
        if (message.issuer !== "") {
            writer.uint32(18).string(message.issuer);
        }
        if (message.keysEndpoint !== "") {
            writer.uint32(26).string(message.keysEndpoint);
        }
        if (message.headerName !== "") {
            writer.uint32(34).string(message.headerName);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseJWTConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.jwtEndpoint = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.issuer = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.keysEndpoint = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.headerName = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            jwtEndpoint: isSet(object.jwtEndpoint) ? globalThis.String(object.jwtEndpoint) : "",
            issuer: isSet(object.issuer) ? globalThis.String(object.issuer) : "",
            keysEndpoint: isSet(object.keysEndpoint) ? globalThis.String(object.keysEndpoint) : "",
            headerName: isSet(object.headerName) ? globalThis.String(object.headerName) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.jwtEndpoint !== "") {
            obj.jwtEndpoint = message.jwtEndpoint;
        }
        if (message.issuer !== "") {
            obj.issuer = message.issuer;
        }
        if (message.keysEndpoint !== "") {
            obj.keysEndpoint = message.keysEndpoint;
        }
        if (message.headerName !== "") {
            obj.headerName = message.headerName;
        }
        return obj;
    },
    create(base) {
        return JWTConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseJWTConfig();
        message.jwtEndpoint = object.jwtEndpoint ?? "";
        message.issuer = object.issuer ?? "";
        message.keysEndpoint = object.keysEndpoint ?? "";
        message.headerName = object.headerName ?? "";
        return message;
    },
};
function createBaseIDPIDQuery() {
    return { id: "" };
}
export const IDPIDQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.id !== "") {
            writer.uint32(10).string(message.id);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIDPIDQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.id = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { id: isSet(object.id) ? globalThis.String(object.id) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        return obj;
    },
    create(base) {
        return IDPIDQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseIDPIDQuery();
        message.id = object.id ?? "";
        return message;
    },
};
function createBaseIDPNameQuery() {
    return { name: "", method: 0 };
}
export const IDPNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.name !== "") {
            writer.uint32(10).string(message.name);
        }
        if (message.method !== 0) {
            writer.uint32(16).int32(message.method);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIDPNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 16) {
                        break;
                    }
                    message.method = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? globalThis.String(object.name) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.name !== "") {
            obj.name = message.name;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return IDPNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseIDPNameQuery();
        message.name = object.name ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseIDPOwnerTypeQuery() {
    return { ownerType: 0 };
}
export const IDPOwnerTypeQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.ownerType !== 0) {
            writer.uint32(8).int32(message.ownerType);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIDPOwnerTypeQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.ownerType = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { ownerType: isSet(object.ownerType) ? iDPOwnerTypeFromJSON(object.ownerType) : 0 };
    },
    toJSON(message) {
        const obj = {};
        if (message.ownerType !== 0) {
            obj.ownerType = iDPOwnerTypeToJSON(message.ownerType);
        }
        return obj;
    },
    create(base) {
        return IDPOwnerTypeQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseIDPOwnerTypeQuery();
        message.ownerType = object.ownerType ?? 0;
        return message;
    },
};
function createBaseProvider() {
    return { id: "", details: undefined, state: 0, name: "", owner: 0, type: 0, config: undefined };
}
export const Provider = {
    encode(message, writer = new BinaryWriter()) {
        if (message.id !== "") {
            writer.uint32(10).string(message.id);
        }
        if (message.details !== undefined) {
            ObjectDetails.encode(message.details, writer.uint32(18).fork()).join();
        }
        if (message.state !== 0) {
            writer.uint32(24).int32(message.state);
        }
        if (message.name !== "") {
            writer.uint32(34).string(message.name);
        }
        if (message.owner !== 0) {
            writer.uint32(40).int32(message.owner);
        }
        if (message.type !== 0) {
            writer.uint32(48).int32(message.type);
        }
        if (message.config !== undefined) {
            ProviderConfig.encode(message.config, writer.uint32(58).fork()).join();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseProvider();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.id = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.details = ObjectDetails.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.state = reader.int32();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 40) {
                        break;
                    }
                    message.owner = reader.int32();
                    continue;
                }
                case 6: {
                    if (tag !== 48) {
                        break;
                    }
                    message.type = reader.int32();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.config = ProviderConfig.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            id: isSet(object.id) ? globalThis.String(object.id) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            state: isSet(object.state) ? iDPStateFromJSON(object.state) : 0,
            name: isSet(object.name) ? globalThis.String(object.name) : "",
            owner: isSet(object.owner) ? iDPOwnerTypeFromJSON(object.owner) : 0,
            type: isSet(object.type) ? providerTypeFromJSON(object.type) : 0,
            config: isSet(object.config) ? ProviderConfig.fromJSON(object.config) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.state !== 0) {
            obj.state = iDPStateToJSON(message.state);
        }
        if (message.name !== "") {
            obj.name = message.name;
        }
        if (message.owner !== 0) {
            obj.owner = iDPOwnerTypeToJSON(message.owner);
        }
        if (message.type !== 0) {
            obj.type = providerTypeToJSON(message.type);
        }
        if (message.config !== undefined) {
            obj.config = ProviderConfig.toJSON(message.config);
        }
        return obj;
    },
    create(base) {
        return Provider.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseProvider();
        message.id = object.id ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.state = object.state ?? 0;
        message.name = object.name ?? "";
        message.owner = object.owner ?? 0;
        message.type = object.type ?? 0;
        message.config = (object.config !== undefined && object.config !== null)
            ? ProviderConfig.fromPartial(object.config)
            : undefined;
        return message;
    },
};
function createBaseProviderConfig() {
    return {
        options: undefined,
        ldap: undefined,
        google: undefined,
        oauth: undefined,
        oidc: undefined,
        jwt: undefined,
        github: undefined,
        githubEs: undefined,
        gitlab: undefined,
        gitlabSelfHosted: undefined,
        azureAd: undefined,
        apple: undefined,
        saml: undefined,
    };
}
export const ProviderConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.options !== undefined) {
            Options.encode(message.options, writer.uint32(10).fork()).join();
        }
        if (message.ldap !== undefined) {
            LDAPConfig.encode(message.ldap, writer.uint32(18).fork()).join();
        }
        if (message.google !== undefined) {
            GoogleConfig.encode(message.google, writer.uint32(26).fork()).join();
        }
        if (message.oauth !== undefined) {
            OAuthConfig.encode(message.oauth, writer.uint32(34).fork()).join();
        }
        if (message.oidc !== undefined) {
            GenericOIDCConfig.encode(message.oidc, writer.uint32(42).fork()).join();
        }
        if (message.jwt !== undefined) {
            JWTConfig.encode(message.jwt, writer.uint32(50).fork()).join();
        }
        if (message.github !== undefined) {
            GitHubConfig.encode(message.github, writer.uint32(58).fork()).join();
        }
        if (message.githubEs !== undefined) {
            GitHubEnterpriseServerConfig.encode(message.githubEs, writer.uint32(66).fork()).join();
        }
        if (message.gitlab !== undefined) {
            GitLabConfig.encode(message.gitlab, writer.uint32(74).fork()).join();
        }
        if (message.gitlabSelfHosted !== undefined) {
            GitLabSelfHostedConfig.encode(message.gitlabSelfHosted, writer.uint32(82).fork()).join();
        }
        if (message.azureAd !== undefined) {
            AzureADConfig.encode(message.azureAd, writer.uint32(90).fork()).join();
        }
        if (message.apple !== undefined) {
            AppleConfig.encode(message.apple, writer.uint32(98).fork()).join();
        }
        if (message.saml !== undefined) {
            SAMLConfig.encode(message.saml, writer.uint32(106).fork()).join();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseProviderConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.options = Options.decode(reader, reader.uint32());
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.ldap = LDAPConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.google = GoogleConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.oauth = OAuthConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.oidc = GenericOIDCConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.jwt = JWTConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.github = GitHubConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.githubEs = GitHubEnterpriseServerConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.gitlab = GitLabConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.gitlabSelfHosted = GitLabSelfHostedConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 11: {
                    if (tag !== 90) {
                        break;
                    }
                    message.azureAd = AzureADConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 12: {
                    if (tag !== 98) {
                        break;
                    }
                    message.apple = AppleConfig.decode(reader, reader.uint32());
                    continue;
                }
                case 13: {
                    if (tag !== 106) {
                        break;
                    }
                    message.saml = SAMLConfig.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            options: isSet(object.options) ? Options.fromJSON(object.options) : undefined,
            ldap: isSet(object.ldap) ? LDAPConfig.fromJSON(object.ldap) : undefined,
            google: isSet(object.google) ? GoogleConfig.fromJSON(object.google) : undefined,
            oauth: isSet(object.oauth) ? OAuthConfig.fromJSON(object.oauth) : undefined,
            oidc: isSet(object.oidc) ? GenericOIDCConfig.fromJSON(object.oidc) : undefined,
            jwt: isSet(object.jwt) ? JWTConfig.fromJSON(object.jwt) : undefined,
            github: isSet(object.github) ? GitHubConfig.fromJSON(object.github) : undefined,
            githubEs: isSet(object.githubEs) ? GitHubEnterpriseServerConfig.fromJSON(object.githubEs) : undefined,
            gitlab: isSet(object.gitlab) ? GitLabConfig.fromJSON(object.gitlab) : undefined,
            gitlabSelfHosted: isSet(object.gitlabSelfHosted)
                ? GitLabSelfHostedConfig.fromJSON(object.gitlabSelfHosted)
                : undefined,
            azureAd: isSet(object.azureAd) ? AzureADConfig.fromJSON(object.azureAd) : undefined,
            apple: isSet(object.apple) ? AppleConfig.fromJSON(object.apple) : undefined,
            saml: isSet(object.saml) ? SAMLConfig.fromJSON(object.saml) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.options !== undefined) {
            obj.options = Options.toJSON(message.options);
        }
        if (message.ldap !== undefined) {
            obj.ldap = LDAPConfig.toJSON(message.ldap);
        }
        if (message.google !== undefined) {
            obj.google = GoogleConfig.toJSON(message.google);
        }
        if (message.oauth !== undefined) {
            obj.oauth = OAuthConfig.toJSON(message.oauth);
        }
        if (message.oidc !== undefined) {
            obj.oidc = GenericOIDCConfig.toJSON(message.oidc);
        }
        if (message.jwt !== undefined) {
            obj.jwt = JWTConfig.toJSON(message.jwt);
        }
        if (message.github !== undefined) {
            obj.github = GitHubConfig.toJSON(message.github);
        }
        if (message.githubEs !== undefined) {
            obj.githubEs = GitHubEnterpriseServerConfig.toJSON(message.githubEs);
        }
        if (message.gitlab !== undefined) {
            obj.gitlab = GitLabConfig.toJSON(message.gitlab);
        }
        if (message.gitlabSelfHosted !== undefined) {
            obj.gitlabSelfHosted = GitLabSelfHostedConfig.toJSON(message.gitlabSelfHosted);
        }
        if (message.azureAd !== undefined) {
            obj.azureAd = AzureADConfig.toJSON(message.azureAd);
        }
        if (message.apple !== undefined) {
            obj.apple = AppleConfig.toJSON(message.apple);
        }
        if (message.saml !== undefined) {
            obj.saml = SAMLConfig.toJSON(message.saml);
        }
        return obj;
    },
    create(base) {
        return ProviderConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseProviderConfig();
        message.options = (object.options !== undefined && object.options !== null)
            ? Options.fromPartial(object.options)
            : undefined;
        message.ldap = (object.ldap !== undefined && object.ldap !== null)
            ? LDAPConfig.fromPartial(object.ldap)
            : undefined;
        message.google = (object.google !== undefined && object.google !== null)
            ? GoogleConfig.fromPartial(object.google)
            : undefined;
        message.oauth = (object.oauth !== undefined && object.oauth !== null)
            ? OAuthConfig.fromPartial(object.oauth)
            : undefined;
        message.oidc = (object.oidc !== undefined && object.oidc !== null)
            ? GenericOIDCConfig.fromPartial(object.oidc)
            : undefined;
        message.jwt = (object.jwt !== undefined && object.jwt !== null) ? JWTConfig.fromPartial(object.jwt) : undefined;
        message.github = (object.github !== undefined && object.github !== null)
            ? GitHubConfig.fromPartial(object.github)
            : undefined;
        message.githubEs = (object.githubEs !== undefined && object.githubEs !== null)
            ? GitHubEnterpriseServerConfig.fromPartial(object.githubEs)
            : undefined;
        message.gitlab = (object.gitlab !== undefined && object.gitlab !== null)
            ? GitLabConfig.fromPartial(object.gitlab)
            : undefined;
        message.gitlabSelfHosted = (object.gitlabSelfHosted !== undefined && object.gitlabSelfHosted !== null)
            ? GitLabSelfHostedConfig.fromPartial(object.gitlabSelfHosted)
            : undefined;
        message.azureAd = (object.azureAd !== undefined && object.azureAd !== null)
            ? AzureADConfig.fromPartial(object.azureAd)
            : undefined;
        message.apple = (object.apple !== undefined && object.apple !== null)
            ? AppleConfig.fromPartial(object.apple)
            : undefined;
        message.saml = (object.saml !== undefined && object.saml !== null)
            ? SAMLConfig.fromPartial(object.saml)
            : undefined;
        return message;
    },
};
function createBaseOAuthConfig() {
    return {
        clientId: "",
        authorizationEndpoint: "",
        tokenEndpoint: "",
        userEndpoint: "",
        scopes: [],
        idAttribute: "",
        usePkce: false,
    };
}
export const OAuthConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        if (message.authorizationEndpoint !== "") {
            writer.uint32(18).string(message.authorizationEndpoint);
        }
        if (message.tokenEndpoint !== "") {
            writer.uint32(26).string(message.tokenEndpoint);
        }
        if (message.userEndpoint !== "") {
            writer.uint32(34).string(message.userEndpoint);
        }
        for (const v of message.scopes) {
            writer.uint32(42).string(v);
        }
        if (message.idAttribute !== "") {
            writer.uint32(50).string(message.idAttribute);
        }
        if (message.usePkce !== false) {
            writer.uint32(56).bool(message.usePkce);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseOAuthConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.authorizationEndpoint = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.tokenEndpoint = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.userEndpoint = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.idAttribute = reader.string();
                    continue;
                }
                case 7: {
                    if (tag !== 56) {
                        break;
                    }
                    message.usePkce = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            authorizationEndpoint: isSet(object.authorizationEndpoint) ? globalThis.String(object.authorizationEndpoint) : "",
            tokenEndpoint: isSet(object.tokenEndpoint) ? globalThis.String(object.tokenEndpoint) : "",
            userEndpoint: isSet(object.userEndpoint) ? globalThis.String(object.userEndpoint) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
            idAttribute: isSet(object.idAttribute) ? globalThis.String(object.idAttribute) : "",
            usePkce: isSet(object.usePkce) ? globalThis.Boolean(object.usePkce) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.authorizationEndpoint !== "") {
            obj.authorizationEndpoint = message.authorizationEndpoint;
        }
        if (message.tokenEndpoint !== "") {
            obj.tokenEndpoint = message.tokenEndpoint;
        }
        if (message.userEndpoint !== "") {
            obj.userEndpoint = message.userEndpoint;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        if (message.idAttribute !== "") {
            obj.idAttribute = message.idAttribute;
        }
        if (message.usePkce !== false) {
            obj.usePkce = message.usePkce;
        }
        return obj;
    },
    create(base) {
        return OAuthConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseOAuthConfig();
        message.clientId = object.clientId ?? "";
        message.authorizationEndpoint = object.authorizationEndpoint ?? "";
        message.tokenEndpoint = object.tokenEndpoint ?? "";
        message.userEndpoint = object.userEndpoint ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        message.idAttribute = object.idAttribute ?? "";
        message.usePkce = object.usePkce ?? false;
        return message;
    },
};
function createBaseGenericOIDCConfig() {
    return { issuer: "", clientId: "", scopes: [], isIdTokenMapping: false, usePkce: false };
}
export const GenericOIDCConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.issuer !== "") {
            writer.uint32(10).string(message.issuer);
        }
        if (message.clientId !== "") {
            writer.uint32(18).string(message.clientId);
        }
        for (const v of message.scopes) {
            writer.uint32(26).string(v);
        }
        if (message.isIdTokenMapping !== false) {
            writer.uint32(32).bool(message.isIdTokenMapping);
        }
        if (message.usePkce !== false) {
            writer.uint32(40).bool(message.usePkce);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGenericOIDCConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.issuer = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
                case 4: {
                    if (tag !== 32) {
                        break;
                    }
                    message.isIdTokenMapping = reader.bool();
                    continue;
                }
                case 5: {
                    if (tag !== 40) {
                        break;
                    }
                    message.usePkce = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            issuer: isSet(object.issuer) ? globalThis.String(object.issuer) : "",
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
            isIdTokenMapping: isSet(object.isIdTokenMapping) ? globalThis.Boolean(object.isIdTokenMapping) : false,
            usePkce: isSet(object.usePkce) ? globalThis.Boolean(object.usePkce) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.issuer !== "") {
            obj.issuer = message.issuer;
        }
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        if (message.isIdTokenMapping !== false) {
            obj.isIdTokenMapping = message.isIdTokenMapping;
        }
        if (message.usePkce !== false) {
            obj.usePkce = message.usePkce;
        }
        return obj;
    },
    create(base) {
        return GenericOIDCConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseGenericOIDCConfig();
        message.issuer = object.issuer ?? "";
        message.clientId = object.clientId ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        message.isIdTokenMapping = object.isIdTokenMapping ?? false;
        message.usePkce = object.usePkce ?? false;
        return message;
    },
};
function createBaseGitHubConfig() {
    return { clientId: "", scopes: [] };
}
export const GitHubConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        for (const v of message.scopes) {
            writer.uint32(18).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitHubConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return GitHubConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseGitHubConfig();
        message.clientId = object.clientId ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseGitHubEnterpriseServerConfig() {
    return { clientId: "", authorizationEndpoint: "", tokenEndpoint: "", userEndpoint: "", scopes: [] };
}
export const GitHubEnterpriseServerConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        if (message.authorizationEndpoint !== "") {
            writer.uint32(18).string(message.authorizationEndpoint);
        }
        if (message.tokenEndpoint !== "") {
            writer.uint32(26).string(message.tokenEndpoint);
        }
        if (message.userEndpoint !== "") {
            writer.uint32(34).string(message.userEndpoint);
        }
        for (const v of message.scopes) {
            writer.uint32(42).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitHubEnterpriseServerConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.authorizationEndpoint = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.tokenEndpoint = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.userEndpoint = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            authorizationEndpoint: isSet(object.authorizationEndpoint) ? globalThis.String(object.authorizationEndpoint) : "",
            tokenEndpoint: isSet(object.tokenEndpoint) ? globalThis.String(object.tokenEndpoint) : "",
            userEndpoint: isSet(object.userEndpoint) ? globalThis.String(object.userEndpoint) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.authorizationEndpoint !== "") {
            obj.authorizationEndpoint = message.authorizationEndpoint;
        }
        if (message.tokenEndpoint !== "") {
            obj.tokenEndpoint = message.tokenEndpoint;
        }
        if (message.userEndpoint !== "") {
            obj.userEndpoint = message.userEndpoint;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return GitHubEnterpriseServerConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseGitHubEnterpriseServerConfig();
        message.clientId = object.clientId ?? "";
        message.authorizationEndpoint = object.authorizationEndpoint ?? "";
        message.tokenEndpoint = object.tokenEndpoint ?? "";
        message.userEndpoint = object.userEndpoint ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseGoogleConfig() {
    return { clientId: "", scopes: [] };
}
export const GoogleConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        for (const v of message.scopes) {
            writer.uint32(18).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGoogleConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return GoogleConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseGoogleConfig();
        message.clientId = object.clientId ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseGitLabConfig() {
    return { clientId: "", scopes: [] };
}
export const GitLabConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        for (const v of message.scopes) {
            writer.uint32(18).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitLabConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return GitLabConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseGitLabConfig();
        message.clientId = object.clientId ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseGitLabSelfHostedConfig() {
    return { issuer: "", clientId: "", scopes: [] };
}
export const GitLabSelfHostedConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.issuer !== "") {
            writer.uint32(10).string(message.issuer);
        }
        if (message.clientId !== "") {
            writer.uint32(18).string(message.clientId);
        }
        for (const v of message.scopes) {
            writer.uint32(26).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitLabSelfHostedConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.issuer = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            issuer: isSet(object.issuer) ? globalThis.String(object.issuer) : "",
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.issuer !== "") {
            obj.issuer = message.issuer;
        }
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return GitLabSelfHostedConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseGitLabSelfHostedConfig();
        message.issuer = object.issuer ?? "";
        message.clientId = object.clientId ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseLDAPConfig() {
    return {
        servers: [],
        startTls: false,
        baseDn: "",
        bindDn: "",
        userBase: "",
        userObjectClasses: [],
        userFilters: [],
        timeout: undefined,
        attributes: undefined,
        rootCa: Buffer.alloc(0),
    };
}
export const LDAPConfig = {
    encode(message, writer = new BinaryWriter()) {
        for (const v of message.servers) {
            writer.uint32(10).string(v);
        }
        if (message.startTls !== false) {
            writer.uint32(16).bool(message.startTls);
        }
        if (message.baseDn !== "") {
            writer.uint32(26).string(message.baseDn);
        }
        if (message.bindDn !== "") {
            writer.uint32(34).string(message.bindDn);
        }
        if (message.userBase !== "") {
            writer.uint32(42).string(message.userBase);
        }
        for (const v of message.userObjectClasses) {
            writer.uint32(50).string(v);
        }
        for (const v of message.userFilters) {
            writer.uint32(58).string(v);
        }
        if (message.timeout !== undefined) {
            Duration.encode(message.timeout, writer.uint32(66).fork()).join();
        }
        if (message.attributes !== undefined) {
            LDAPAttributes.encode(message.attributes, writer.uint32(74).fork()).join();
        }
        if (message.rootCa.length !== 0) {
            writer.uint32(82).bytes(message.rootCa);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLDAPConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.servers.push(reader.string());
                    continue;
                }
                case 2: {
                    if (tag !== 16) {
                        break;
                    }
                    message.startTls = reader.bool();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.baseDn = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.bindDn = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.userBase = reader.string();
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.userObjectClasses.push(reader.string());
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.userFilters.push(reader.string());
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.timeout = Duration.decode(reader, reader.uint32());
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.attributes = LDAPAttributes.decode(reader, reader.uint32());
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.rootCa = Buffer.from(reader.bytes());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            servers: globalThis.Array.isArray(object?.servers) ? object.servers.map((e) => globalThis.String(e)) : [],
            startTls: isSet(object.startTls) ? globalThis.Boolean(object.startTls) : false,
            baseDn: isSet(object.baseDn) ? globalThis.String(object.baseDn) : "",
            bindDn: isSet(object.bindDn) ? globalThis.String(object.bindDn) : "",
            userBase: isSet(object.userBase) ? globalThis.String(object.userBase) : "",
            userObjectClasses: globalThis.Array.isArray(object?.userObjectClasses)
                ? object.userObjectClasses.map((e) => globalThis.String(e))
                : [],
            userFilters: globalThis.Array.isArray(object?.userFilters)
                ? object.userFilters.map((e) => globalThis.String(e))
                : [],
            timeout: isSet(object.timeout) ? Duration.fromJSON(object.timeout) : undefined,
            attributes: isSet(object.attributes) ? LDAPAttributes.fromJSON(object.attributes) : undefined,
            rootCa: isSet(object.rootCa) ? Buffer.from(bytesFromBase64(object.rootCa)) : Buffer.alloc(0),
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.servers?.length) {
            obj.servers = message.servers;
        }
        if (message.startTls !== false) {
            obj.startTls = message.startTls;
        }
        if (message.baseDn !== "") {
            obj.baseDn = message.baseDn;
        }
        if (message.bindDn !== "") {
            obj.bindDn = message.bindDn;
        }
        if (message.userBase !== "") {
            obj.userBase = message.userBase;
        }
        if (message.userObjectClasses?.length) {
            obj.userObjectClasses = message.userObjectClasses;
        }
        if (message.userFilters?.length) {
            obj.userFilters = message.userFilters;
        }
        if (message.timeout !== undefined) {
            obj.timeout = Duration.toJSON(message.timeout);
        }
        if (message.attributes !== undefined) {
            obj.attributes = LDAPAttributes.toJSON(message.attributes);
        }
        if (message.rootCa.length !== 0) {
            obj.rootCa = base64FromBytes(message.rootCa);
        }
        return obj;
    },
    create(base) {
        return LDAPConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseLDAPConfig();
        message.servers = object.servers?.map((e) => e) || [];
        message.startTls = object.startTls ?? false;
        message.baseDn = object.baseDn ?? "";
        message.bindDn = object.bindDn ?? "";
        message.userBase = object.userBase ?? "";
        message.userObjectClasses = object.userObjectClasses?.map((e) => e) || [];
        message.userFilters = object.userFilters?.map((e) => e) || [];
        message.timeout = (object.timeout !== undefined && object.timeout !== null)
            ? Duration.fromPartial(object.timeout)
            : undefined;
        message.attributes = (object.attributes !== undefined && object.attributes !== null)
            ? LDAPAttributes.fromPartial(object.attributes)
            : undefined;
        message.rootCa = object.rootCa ?? Buffer.alloc(0);
        return message;
    },
};
function createBaseSAMLConfig() {
    return {
        metadataXml: Buffer.alloc(0),
        binding: 0,
        withSignedRequest: false,
        nameIdFormat: 0,
        transientMappingAttributeName: undefined,
        federatedLogoutEnabled: undefined,
    };
}
export const SAMLConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.metadataXml.length !== 0) {
            writer.uint32(10).bytes(message.metadataXml);
        }
        if (message.binding !== 0) {
            writer.uint32(16).int32(message.binding);
        }
        if (message.withSignedRequest !== false) {
            writer.uint32(24).bool(message.withSignedRequest);
        }
        if (message.nameIdFormat !== 0) {
            writer.uint32(32).int32(message.nameIdFormat);
        }
        if (message.transientMappingAttributeName !== undefined) {
            writer.uint32(42).string(message.transientMappingAttributeName);
        }
        if (message.federatedLogoutEnabled !== undefined) {
            writer.uint32(48).bool(message.federatedLogoutEnabled);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSAMLConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.metadataXml = Buffer.from(reader.bytes());
                    continue;
                }
                case 2: {
                    if (tag !== 16) {
                        break;
                    }
                    message.binding = reader.int32();
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.withSignedRequest = reader.bool();
                    continue;
                }
                case 4: {
                    if (tag !== 32) {
                        break;
                    }
                    message.nameIdFormat = reader.int32();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.transientMappingAttributeName = reader.string();
                    continue;
                }
                case 6: {
                    if (tag !== 48) {
                        break;
                    }
                    message.federatedLogoutEnabled = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            metadataXml: isSet(object.metadataXml) ? Buffer.from(bytesFromBase64(object.metadataXml)) : Buffer.alloc(0),
            binding: isSet(object.binding) ? sAMLBindingFromJSON(object.binding) : 0,
            withSignedRequest: isSet(object.withSignedRequest) ? globalThis.Boolean(object.withSignedRequest) : false,
            nameIdFormat: isSet(object.nameIdFormat) ? sAMLNameIDFormatFromJSON(object.nameIdFormat) : 0,
            transientMappingAttributeName: isSet(object.transientMappingAttributeName)
                ? globalThis.String(object.transientMappingAttributeName)
                : undefined,
            federatedLogoutEnabled: isSet(object.federatedLogoutEnabled)
                ? globalThis.Boolean(object.federatedLogoutEnabled)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.metadataXml.length !== 0) {
            obj.metadataXml = base64FromBytes(message.metadataXml);
        }
        if (message.binding !== 0) {
            obj.binding = sAMLBindingToJSON(message.binding);
        }
        if (message.withSignedRequest !== false) {
            obj.withSignedRequest = message.withSignedRequest;
        }
        if (message.nameIdFormat !== 0) {
            obj.nameIdFormat = sAMLNameIDFormatToJSON(message.nameIdFormat);
        }
        if (message.transientMappingAttributeName !== undefined) {
            obj.transientMappingAttributeName = message.transientMappingAttributeName;
        }
        if (message.federatedLogoutEnabled !== undefined) {
            obj.federatedLogoutEnabled = message.federatedLogoutEnabled;
        }
        return obj;
    },
    create(base) {
        return SAMLConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseSAMLConfig();
        message.metadataXml = object.metadataXml ?? Buffer.alloc(0);
        message.binding = object.binding ?? 0;
        message.withSignedRequest = object.withSignedRequest ?? false;
        message.nameIdFormat = object.nameIdFormat ?? 0;
        message.transientMappingAttributeName = object.transientMappingAttributeName ?? undefined;
        message.federatedLogoutEnabled = object.federatedLogoutEnabled ?? undefined;
        return message;
    },
};
function createBaseAzureADConfig() {
    return { clientId: "", tenant: undefined, emailVerified: false, scopes: [] };
}
export const AzureADConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        if (message.tenant !== undefined) {
            AzureADTenant.encode(message.tenant, writer.uint32(18).fork()).join();
        }
        if (message.emailVerified !== false) {
            writer.uint32(24).bool(message.emailVerified);
        }
        for (const v of message.scopes) {
            writer.uint32(34).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseAzureADConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.tenant = AzureADTenant.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.emailVerified = reader.bool();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            tenant: isSet(object.tenant) ? AzureADTenant.fromJSON(object.tenant) : undefined,
            emailVerified: isSet(object.emailVerified) ? globalThis.Boolean(object.emailVerified) : false,
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.tenant !== undefined) {
            obj.tenant = AzureADTenant.toJSON(message.tenant);
        }
        if (message.emailVerified !== false) {
            obj.emailVerified = message.emailVerified;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return AzureADConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseAzureADConfig();
        message.clientId = object.clientId ?? "";
        message.tenant = (object.tenant !== undefined && object.tenant !== null)
            ? AzureADTenant.fromPartial(object.tenant)
            : undefined;
        message.emailVerified = object.emailVerified ?? false;
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseOptions() {
    return {
        isLinkingAllowed: false,
        isCreationAllowed: false,
        isAutoCreation: false,
        isAutoUpdate: false,
        autoLinking: 0,
    };
}
export const Options = {
    encode(message, writer = new BinaryWriter()) {
        if (message.isLinkingAllowed !== false) {
            writer.uint32(8).bool(message.isLinkingAllowed);
        }
        if (message.isCreationAllowed !== false) {
            writer.uint32(16).bool(message.isCreationAllowed);
        }
        if (message.isAutoCreation !== false) {
            writer.uint32(24).bool(message.isAutoCreation);
        }
        if (message.isAutoUpdate !== false) {
            writer.uint32(32).bool(message.isAutoUpdate);
        }
        if (message.autoLinking !== 0) {
            writer.uint32(40).int32(message.autoLinking);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseOptions();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.isLinkingAllowed = reader.bool();
                    continue;
                }
                case 2: {
                    if (tag !== 16) {
                        break;
                    }
                    message.isCreationAllowed = reader.bool();
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.isAutoCreation = reader.bool();
                    continue;
                }
                case 4: {
                    if (tag !== 32) {
                        break;
                    }
                    message.isAutoUpdate = reader.bool();
                    continue;
                }
                case 5: {
                    if (tag !== 40) {
                        break;
                    }
                    message.autoLinking = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            isLinkingAllowed: isSet(object.isLinkingAllowed) ? globalThis.Boolean(object.isLinkingAllowed) : false,
            isCreationAllowed: isSet(object.isCreationAllowed) ? globalThis.Boolean(object.isCreationAllowed) : false,
            isAutoCreation: isSet(object.isAutoCreation) ? globalThis.Boolean(object.isAutoCreation) : false,
            isAutoUpdate: isSet(object.isAutoUpdate) ? globalThis.Boolean(object.isAutoUpdate) : false,
            autoLinking: isSet(object.autoLinking) ? autoLinkingOptionFromJSON(object.autoLinking) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.isLinkingAllowed !== false) {
            obj.isLinkingAllowed = message.isLinkingAllowed;
        }
        if (message.isCreationAllowed !== false) {
            obj.isCreationAllowed = message.isCreationAllowed;
        }
        if (message.isAutoCreation !== false) {
            obj.isAutoCreation = message.isAutoCreation;
        }
        if (message.isAutoUpdate !== false) {
            obj.isAutoUpdate = message.isAutoUpdate;
        }
        if (message.autoLinking !== 0) {
            obj.autoLinking = autoLinkingOptionToJSON(message.autoLinking);
        }
        return obj;
    },
    create(base) {
        return Options.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseOptions();
        message.isLinkingAllowed = object.isLinkingAllowed ?? false;
        message.isCreationAllowed = object.isCreationAllowed ?? false;
        message.isAutoCreation = object.isAutoCreation ?? false;
        message.isAutoUpdate = object.isAutoUpdate ?? false;
        message.autoLinking = object.autoLinking ?? 0;
        return message;
    },
};
function createBaseLDAPAttributes() {
    return {
        idAttribute: "",
        firstNameAttribute: "",
        lastNameAttribute: "",
        displayNameAttribute: "",
        nickNameAttribute: "",
        preferredUsernameAttribute: "",
        emailAttribute: "",
        emailVerifiedAttribute: "",
        phoneAttribute: "",
        phoneVerifiedAttribute: "",
        preferredLanguageAttribute: "",
        avatarUrlAttribute: "",
        profileAttribute: "",
    };
}
export const LDAPAttributes = {
    encode(message, writer = new BinaryWriter()) {
        if (message.idAttribute !== "") {
            writer.uint32(10).string(message.idAttribute);
        }
        if (message.firstNameAttribute !== "") {
            writer.uint32(18).string(message.firstNameAttribute);
        }
        if (message.lastNameAttribute !== "") {
            writer.uint32(26).string(message.lastNameAttribute);
        }
        if (message.displayNameAttribute !== "") {
            writer.uint32(34).string(message.displayNameAttribute);
        }
        if (message.nickNameAttribute !== "") {
            writer.uint32(42).string(message.nickNameAttribute);
        }
        if (message.preferredUsernameAttribute !== "") {
            writer.uint32(50).string(message.preferredUsernameAttribute);
        }
        if (message.emailAttribute !== "") {
            writer.uint32(58).string(message.emailAttribute);
        }
        if (message.emailVerifiedAttribute !== "") {
            writer.uint32(66).string(message.emailVerifiedAttribute);
        }
        if (message.phoneAttribute !== "") {
            writer.uint32(74).string(message.phoneAttribute);
        }
        if (message.phoneVerifiedAttribute !== "") {
            writer.uint32(82).string(message.phoneVerifiedAttribute);
        }
        if (message.preferredLanguageAttribute !== "") {
            writer.uint32(90).string(message.preferredLanguageAttribute);
        }
        if (message.avatarUrlAttribute !== "") {
            writer.uint32(98).string(message.avatarUrlAttribute);
        }
        if (message.profileAttribute !== "") {
            writer.uint32(106).string(message.profileAttribute);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLDAPAttributes();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.idAttribute = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.firstNameAttribute = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.lastNameAttribute = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.displayNameAttribute = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.nickNameAttribute = reader.string();
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.preferredUsernameAttribute = reader.string();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.emailAttribute = reader.string();
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.emailVerifiedAttribute = reader.string();
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.phoneAttribute = reader.string();
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.phoneVerifiedAttribute = reader.string();
                    continue;
                }
                case 11: {
                    if (tag !== 90) {
                        break;
                    }
                    message.preferredLanguageAttribute = reader.string();
                    continue;
                }
                case 12: {
                    if (tag !== 98) {
                        break;
                    }
                    message.avatarUrlAttribute = reader.string();
                    continue;
                }
                case 13: {
                    if (tag !== 106) {
                        break;
                    }
                    message.profileAttribute = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            idAttribute: isSet(object.idAttribute) ? globalThis.String(object.idAttribute) : "",
            firstNameAttribute: isSet(object.firstNameAttribute) ? globalThis.String(object.firstNameAttribute) : "",
            lastNameAttribute: isSet(object.lastNameAttribute) ? globalThis.String(object.lastNameAttribute) : "",
            displayNameAttribute: isSet(object.displayNameAttribute) ? globalThis.String(object.displayNameAttribute) : "",
            nickNameAttribute: isSet(object.nickNameAttribute) ? globalThis.String(object.nickNameAttribute) : "",
            preferredUsernameAttribute: isSet(object.preferredUsernameAttribute)
                ? globalThis.String(object.preferredUsernameAttribute)
                : "",
            emailAttribute: isSet(object.emailAttribute) ? globalThis.String(object.emailAttribute) : "",
            emailVerifiedAttribute: isSet(object.emailVerifiedAttribute)
                ? globalThis.String(object.emailVerifiedAttribute)
                : "",
            phoneAttribute: isSet(object.phoneAttribute) ? globalThis.String(object.phoneAttribute) : "",
            phoneVerifiedAttribute: isSet(object.phoneVerifiedAttribute)
                ? globalThis.String(object.phoneVerifiedAttribute)
                : "",
            preferredLanguageAttribute: isSet(object.preferredLanguageAttribute)
                ? globalThis.String(object.preferredLanguageAttribute)
                : "",
            avatarUrlAttribute: isSet(object.avatarUrlAttribute) ? globalThis.String(object.avatarUrlAttribute) : "",
            profileAttribute: isSet(object.profileAttribute) ? globalThis.String(object.profileAttribute) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.idAttribute !== "") {
            obj.idAttribute = message.idAttribute;
        }
        if (message.firstNameAttribute !== "") {
            obj.firstNameAttribute = message.firstNameAttribute;
        }
        if (message.lastNameAttribute !== "") {
            obj.lastNameAttribute = message.lastNameAttribute;
        }
        if (message.displayNameAttribute !== "") {
            obj.displayNameAttribute = message.displayNameAttribute;
        }
        if (message.nickNameAttribute !== "") {
            obj.nickNameAttribute = message.nickNameAttribute;
        }
        if (message.preferredUsernameAttribute !== "") {
            obj.preferredUsernameAttribute = message.preferredUsernameAttribute;
        }
        if (message.emailAttribute !== "") {
            obj.emailAttribute = message.emailAttribute;
        }
        if (message.emailVerifiedAttribute !== "") {
            obj.emailVerifiedAttribute = message.emailVerifiedAttribute;
        }
        if (message.phoneAttribute !== "") {
            obj.phoneAttribute = message.phoneAttribute;
        }
        if (message.phoneVerifiedAttribute !== "") {
            obj.phoneVerifiedAttribute = message.phoneVerifiedAttribute;
        }
        if (message.preferredLanguageAttribute !== "") {
            obj.preferredLanguageAttribute = message.preferredLanguageAttribute;
        }
        if (message.avatarUrlAttribute !== "") {
            obj.avatarUrlAttribute = message.avatarUrlAttribute;
        }
        if (message.profileAttribute !== "") {
            obj.profileAttribute = message.profileAttribute;
        }
        return obj;
    },
    create(base) {
        return LDAPAttributes.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseLDAPAttributes();
        message.idAttribute = object.idAttribute ?? "";
        message.firstNameAttribute = object.firstNameAttribute ?? "";
        message.lastNameAttribute = object.lastNameAttribute ?? "";
        message.displayNameAttribute = object.displayNameAttribute ?? "";
        message.nickNameAttribute = object.nickNameAttribute ?? "";
        message.preferredUsernameAttribute = object.preferredUsernameAttribute ?? "";
        message.emailAttribute = object.emailAttribute ?? "";
        message.emailVerifiedAttribute = object.emailVerifiedAttribute ?? "";
        message.phoneAttribute = object.phoneAttribute ?? "";
        message.phoneVerifiedAttribute = object.phoneVerifiedAttribute ?? "";
        message.preferredLanguageAttribute = object.preferredLanguageAttribute ?? "";
        message.avatarUrlAttribute = object.avatarUrlAttribute ?? "";
        message.profileAttribute = object.profileAttribute ?? "";
        return message;
    },
};
function createBaseAzureADTenant() {
    return { tenantType: undefined, tenantId: undefined };
}
export const AzureADTenant = {
    encode(message, writer = new BinaryWriter()) {
        if (message.tenantType !== undefined) {
            writer.uint32(8).int32(message.tenantType);
        }
        if (message.tenantId !== undefined) {
            writer.uint32(18).string(message.tenantId);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseAzureADTenant();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.tenantType = reader.int32();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.tenantId = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            tenantType: isSet(object.tenantType) ? azureADTenantTypeFromJSON(object.tenantType) : undefined,
            tenantId: isSet(object.tenantId) ? globalThis.String(object.tenantId) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.tenantType !== undefined) {
            obj.tenantType = azureADTenantTypeToJSON(message.tenantType);
        }
        if (message.tenantId !== undefined) {
            obj.tenantId = message.tenantId;
        }
        return obj;
    },
    create(base) {
        return AzureADTenant.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseAzureADTenant();
        message.tenantType = object.tenantType ?? undefined;
        message.tenantId = object.tenantId ?? undefined;
        return message;
    },
};
function createBaseAppleConfig() {
    return { clientId: "", teamId: "", keyId: "", scopes: [] };
}
export const AppleConfig = {
    encode(message, writer = new BinaryWriter()) {
        if (message.clientId !== "") {
            writer.uint32(10).string(message.clientId);
        }
        if (message.teamId !== "") {
            writer.uint32(18).string(message.teamId);
        }
        if (message.keyId !== "") {
            writer.uint32(26).string(message.keyId);
        }
        for (const v of message.scopes) {
            writer.uint32(34).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
        const end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseAppleConfig();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.teamId = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.keyId = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : "",
            keyId: isSet(object.keyId) ? globalThis.String(object.keyId) : "",
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.teamId !== "") {
            obj.teamId = message.teamId;
        }
        if (message.keyId !== "") {
            obj.keyId = message.keyId;
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return AppleConfig.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseAppleConfig();
        message.clientId = object.clientId ?? "";
        message.teamId = object.teamId ?? "";
        message.keyId = object.keyId ?? "";
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function bytesFromBase64(b64) {
    return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
}
function base64FromBytes(arr) {
    return globalThis.Buffer.from(arr).toString("base64");
}
function isSet(value) {
    return value !== null && value !== undefined;
}