UNPKG

@zitadel/node

Version:

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

5,209 lines 186 kB
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v2.7.5
//   protoc               unknown
// source: zitadel/user.proto
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import Long from "long";
import { Timestamp } from "../google/protobuf/timestamp.js";
import { ObjectDetails, textQueryMethodFromJSON, textQueryMethodToJSON } from "./object.js";
export const protobufPackage = "zitadel.user.v1";
export var UserState;
(function (UserState) {
    UserState[UserState["USER_STATE_UNSPECIFIED"] = 0] = "USER_STATE_UNSPECIFIED";
    UserState[UserState["USER_STATE_ACTIVE"] = 1] = "USER_STATE_ACTIVE";
    UserState[UserState["USER_STATE_INACTIVE"] = 2] = "USER_STATE_INACTIVE";
    UserState[UserState["USER_STATE_DELETED"] = 3] = "USER_STATE_DELETED";
    UserState[UserState["USER_STATE_LOCKED"] = 4] = "USER_STATE_LOCKED";
    UserState[UserState["USER_STATE_SUSPEND"] = 5] = "USER_STATE_SUSPEND";
    UserState[UserState["USER_STATE_INITIAL"] = 6] = "USER_STATE_INITIAL";
    UserState[UserState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(UserState || (UserState = {}));
export function userStateFromJSON(object) {
    switch (object) {
        case 0:
        case "USER_STATE_UNSPECIFIED":
            return UserState.USER_STATE_UNSPECIFIED;
        case 1:
        case "USER_STATE_ACTIVE":
            return UserState.USER_STATE_ACTIVE;
        case 2:
        case "USER_STATE_INACTIVE":
            return UserState.USER_STATE_INACTIVE;
        case 3:
        case "USER_STATE_DELETED":
            return UserState.USER_STATE_DELETED;
        case 4:
        case "USER_STATE_LOCKED":
            return UserState.USER_STATE_LOCKED;
        case 5:
        case "USER_STATE_SUSPEND":
            return UserState.USER_STATE_SUSPEND;
        case 6:
        case "USER_STATE_INITIAL":
            return UserState.USER_STATE_INITIAL;
        case -1:
        case "UNRECOGNIZED":
        default:
            return UserState.UNRECOGNIZED;
    }
}
export function userStateToJSON(object) {
    switch (object) {
        case UserState.USER_STATE_UNSPECIFIED:
            return "USER_STATE_UNSPECIFIED";
        case UserState.USER_STATE_ACTIVE:
            return "USER_STATE_ACTIVE";
        case UserState.USER_STATE_INACTIVE:
            return "USER_STATE_INACTIVE";
        case UserState.USER_STATE_DELETED:
            return "USER_STATE_DELETED";
        case UserState.USER_STATE_LOCKED:
            return "USER_STATE_LOCKED";
        case UserState.USER_STATE_SUSPEND:
            return "USER_STATE_SUSPEND";
        case UserState.USER_STATE_INITIAL:
            return "USER_STATE_INITIAL";
        case UserState.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var Gender;
(function (Gender) {
    Gender[Gender["GENDER_UNSPECIFIED"] = 0] = "GENDER_UNSPECIFIED";
    Gender[Gender["GENDER_FEMALE"] = 1] = "GENDER_FEMALE";
    Gender[Gender["GENDER_MALE"] = 2] = "GENDER_MALE";
    Gender[Gender["GENDER_DIVERSE"] = 3] = "GENDER_DIVERSE";
    Gender[Gender["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Gender || (Gender = {}));
export function genderFromJSON(object) {
    switch (object) {
        case 0:
        case "GENDER_UNSPECIFIED":
            return Gender.GENDER_UNSPECIFIED;
        case 1:
        case "GENDER_FEMALE":
            return Gender.GENDER_FEMALE;
        case 2:
        case "GENDER_MALE":
            return Gender.GENDER_MALE;
        case 3:
        case "GENDER_DIVERSE":
            return Gender.GENDER_DIVERSE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Gender.UNRECOGNIZED;
    }
}
export function genderToJSON(object) {
    switch (object) {
        case Gender.GENDER_UNSPECIFIED:
            return "GENDER_UNSPECIFIED";
        case Gender.GENDER_FEMALE:
            return "GENDER_FEMALE";
        case Gender.GENDER_MALE:
            return "GENDER_MALE";
        case Gender.GENDER_DIVERSE:
            return "GENDER_DIVERSE";
        case Gender.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var AccessTokenType;
(function (AccessTokenType) {
    AccessTokenType[AccessTokenType["ACCESS_TOKEN_TYPE_BEARER"] = 0] = "ACCESS_TOKEN_TYPE_BEARER";
    AccessTokenType[AccessTokenType["ACCESS_TOKEN_TYPE_JWT"] = 1] = "ACCESS_TOKEN_TYPE_JWT";
    AccessTokenType[AccessTokenType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(AccessTokenType || (AccessTokenType = {}));
export function accessTokenTypeFromJSON(object) {
    switch (object) {
        case 0:
        case "ACCESS_TOKEN_TYPE_BEARER":
            return AccessTokenType.ACCESS_TOKEN_TYPE_BEARER;
        case 1:
        case "ACCESS_TOKEN_TYPE_JWT":
            return AccessTokenType.ACCESS_TOKEN_TYPE_JWT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return AccessTokenType.UNRECOGNIZED;
    }
}
export function accessTokenTypeToJSON(object) {
    switch (object) {
        case AccessTokenType.ACCESS_TOKEN_TYPE_BEARER:
            return "ACCESS_TOKEN_TYPE_BEARER";
        case AccessTokenType.ACCESS_TOKEN_TYPE_JWT:
            return "ACCESS_TOKEN_TYPE_JWT";
        case AccessTokenType.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var Type;
(function (Type) {
    Type[Type["TYPE_UNSPECIFIED"] = 0] = "TYPE_UNSPECIFIED";
    Type[Type["TYPE_HUMAN"] = 1] = "TYPE_HUMAN";
    Type[Type["TYPE_MACHINE"] = 2] = "TYPE_MACHINE";
    Type[Type["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Type || (Type = {}));
export function typeFromJSON(object) {
    switch (object) {
        case 0:
        case "TYPE_UNSPECIFIED":
            return Type.TYPE_UNSPECIFIED;
        case 1:
        case "TYPE_HUMAN":
            return Type.TYPE_HUMAN;
        case 2:
        case "TYPE_MACHINE":
            return Type.TYPE_MACHINE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Type.UNRECOGNIZED;
    }
}
export function typeToJSON(object) {
    switch (object) {
        case Type.TYPE_UNSPECIFIED:
            return "TYPE_UNSPECIFIED";
        case Type.TYPE_HUMAN:
            return "TYPE_HUMAN";
        case Type.TYPE_MACHINE:
            return "TYPE_MACHINE";
        case Type.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var UserFieldName;
(function (UserFieldName) {
    UserFieldName[UserFieldName["USER_FIELD_NAME_UNSPECIFIED"] = 0] = "USER_FIELD_NAME_UNSPECIFIED";
    UserFieldName[UserFieldName["USER_FIELD_NAME_USER_NAME"] = 1] = "USER_FIELD_NAME_USER_NAME";
    UserFieldName[UserFieldName["USER_FIELD_NAME_FIRST_NAME"] = 2] = "USER_FIELD_NAME_FIRST_NAME";
    UserFieldName[UserFieldName["USER_FIELD_NAME_LAST_NAME"] = 3] = "USER_FIELD_NAME_LAST_NAME";
    UserFieldName[UserFieldName["USER_FIELD_NAME_NICK_NAME"] = 4] = "USER_FIELD_NAME_NICK_NAME";
    UserFieldName[UserFieldName["USER_FIELD_NAME_DISPLAY_NAME"] = 5] = "USER_FIELD_NAME_DISPLAY_NAME";
    UserFieldName[UserFieldName["USER_FIELD_NAME_EMAIL"] = 6] = "USER_FIELD_NAME_EMAIL";
    UserFieldName[UserFieldName["USER_FIELD_NAME_STATE"] = 7] = "USER_FIELD_NAME_STATE";
    UserFieldName[UserFieldName["USER_FIELD_NAME_TYPE"] = 8] = "USER_FIELD_NAME_TYPE";
    UserFieldName[UserFieldName["USER_FIELD_NAME_CREATION_DATE"] = 9] = "USER_FIELD_NAME_CREATION_DATE";
    UserFieldName[UserFieldName["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(UserFieldName || (UserFieldName = {}));
export function userFieldNameFromJSON(object) {
    switch (object) {
        case 0:
        case "USER_FIELD_NAME_UNSPECIFIED":
            return UserFieldName.USER_FIELD_NAME_UNSPECIFIED;
        case 1:
        case "USER_FIELD_NAME_USER_NAME":
            return UserFieldName.USER_FIELD_NAME_USER_NAME;
        case 2:
        case "USER_FIELD_NAME_FIRST_NAME":
            return UserFieldName.USER_FIELD_NAME_FIRST_NAME;
        case 3:
        case "USER_FIELD_NAME_LAST_NAME":
            return UserFieldName.USER_FIELD_NAME_LAST_NAME;
        case 4:
        case "USER_FIELD_NAME_NICK_NAME":
            return UserFieldName.USER_FIELD_NAME_NICK_NAME;
        case 5:
        case "USER_FIELD_NAME_DISPLAY_NAME":
            return UserFieldName.USER_FIELD_NAME_DISPLAY_NAME;
        case 6:
        case "USER_FIELD_NAME_EMAIL":
            return UserFieldName.USER_FIELD_NAME_EMAIL;
        case 7:
        case "USER_FIELD_NAME_STATE":
            return UserFieldName.USER_FIELD_NAME_STATE;
        case 8:
        case "USER_FIELD_NAME_TYPE":
            return UserFieldName.USER_FIELD_NAME_TYPE;
        case 9:
        case "USER_FIELD_NAME_CREATION_DATE":
            return UserFieldName.USER_FIELD_NAME_CREATION_DATE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return UserFieldName.UNRECOGNIZED;
    }
}
export function userFieldNameToJSON(object) {
    switch (object) {
        case UserFieldName.USER_FIELD_NAME_UNSPECIFIED:
            return "USER_FIELD_NAME_UNSPECIFIED";
        case UserFieldName.USER_FIELD_NAME_USER_NAME:
            return "USER_FIELD_NAME_USER_NAME";
        case UserFieldName.USER_FIELD_NAME_FIRST_NAME:
            return "USER_FIELD_NAME_FIRST_NAME";
        case UserFieldName.USER_FIELD_NAME_LAST_NAME:
            return "USER_FIELD_NAME_LAST_NAME";
        case UserFieldName.USER_FIELD_NAME_NICK_NAME:
            return "USER_FIELD_NAME_NICK_NAME";
        case UserFieldName.USER_FIELD_NAME_DISPLAY_NAME:
            return "USER_FIELD_NAME_DISPLAY_NAME";
        case UserFieldName.USER_FIELD_NAME_EMAIL:
            return "USER_FIELD_NAME_EMAIL";
        case UserFieldName.USER_FIELD_NAME_STATE:
            return "USER_FIELD_NAME_STATE";
        case UserFieldName.USER_FIELD_NAME_TYPE:
            return "USER_FIELD_NAME_TYPE";
        case UserFieldName.USER_FIELD_NAME_CREATION_DATE:
            return "USER_FIELD_NAME_CREATION_DATE";
        case UserFieldName.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var AuthFactorState;
(function (AuthFactorState) {
    AuthFactorState[AuthFactorState["AUTH_FACTOR_STATE_UNSPECIFIED"] = 0] = "AUTH_FACTOR_STATE_UNSPECIFIED";
    AuthFactorState[AuthFactorState["AUTH_FACTOR_STATE_NOT_READY"] = 1] = "AUTH_FACTOR_STATE_NOT_READY";
    AuthFactorState[AuthFactorState["AUTH_FACTOR_STATE_READY"] = 2] = "AUTH_FACTOR_STATE_READY";
    AuthFactorState[AuthFactorState["AUTH_FACTOR_STATE_REMOVED"] = 3] = "AUTH_FACTOR_STATE_REMOVED";
    AuthFactorState[AuthFactorState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(AuthFactorState || (AuthFactorState = {}));
export function authFactorStateFromJSON(object) {
    switch (object) {
        case 0:
        case "AUTH_FACTOR_STATE_UNSPECIFIED":
            return AuthFactorState.AUTH_FACTOR_STATE_UNSPECIFIED;
        case 1:
        case "AUTH_FACTOR_STATE_NOT_READY":
            return AuthFactorState.AUTH_FACTOR_STATE_NOT_READY;
        case 2:
        case "AUTH_FACTOR_STATE_READY":
            return AuthFactorState.AUTH_FACTOR_STATE_READY;
        case 3:
        case "AUTH_FACTOR_STATE_REMOVED":
            return AuthFactorState.AUTH_FACTOR_STATE_REMOVED;
        case -1:
        case "UNRECOGNIZED":
        default:
            return AuthFactorState.UNRECOGNIZED;
    }
}
export function authFactorStateToJSON(object) {
    switch (object) {
        case AuthFactorState.AUTH_FACTOR_STATE_UNSPECIFIED:
            return "AUTH_FACTOR_STATE_UNSPECIFIED";
        case AuthFactorState.AUTH_FACTOR_STATE_NOT_READY:
            return "AUTH_FACTOR_STATE_NOT_READY";
        case AuthFactorState.AUTH_FACTOR_STATE_READY:
            return "AUTH_FACTOR_STATE_READY";
        case AuthFactorState.AUTH_FACTOR_STATE_REMOVED:
            return "AUTH_FACTOR_STATE_REMOVED";
        case AuthFactorState.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var SessionState;
(function (SessionState) {
    SessionState[SessionState["SESSION_STATE_UNSPECIFIED"] = 0] = "SESSION_STATE_UNSPECIFIED";
    SessionState[SessionState["SESSION_STATE_ACTIVE"] = 1] = "SESSION_STATE_ACTIVE";
    SessionState[SessionState["SESSION_STATE_TERMINATED"] = 2] = "SESSION_STATE_TERMINATED";
    SessionState[SessionState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SessionState || (SessionState = {}));
export function sessionStateFromJSON(object) {
    switch (object) {
        case 0:
        case "SESSION_STATE_UNSPECIFIED":
            return SessionState.SESSION_STATE_UNSPECIFIED;
        case 1:
        case "SESSION_STATE_ACTIVE":
            return SessionState.SESSION_STATE_ACTIVE;
        case 2:
        case "SESSION_STATE_TERMINATED":
            return SessionState.SESSION_STATE_TERMINATED;
        case -1:
        case "UNRECOGNIZED":
        default:
            return SessionState.UNRECOGNIZED;
    }
}
export function sessionStateToJSON(object) {
    switch (object) {
        case SessionState.SESSION_STATE_UNSPECIFIED:
            return "SESSION_STATE_UNSPECIFIED";
        case SessionState.SESSION_STATE_ACTIVE:
            return "SESSION_STATE_ACTIVE";
        case SessionState.SESSION_STATE_TERMINATED:
            return "SESSION_STATE_TERMINATED";
        case SessionState.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
export var UserGrantState;
(function (UserGrantState) {
    UserGrantState[UserGrantState["USER_GRANT_STATE_UNSPECIFIED"] = 0] = "USER_GRANT_STATE_UNSPECIFIED";
    UserGrantState[UserGrantState["USER_GRANT_STATE_ACTIVE"] = 1] = "USER_GRANT_STATE_ACTIVE";
    UserGrantState[UserGrantState["USER_GRANT_STATE_INACTIVE"] = 2] = "USER_GRANT_STATE_INACTIVE";
    UserGrantState[UserGrantState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(UserGrantState || (UserGrantState = {}));
export function userGrantStateFromJSON(object) {
    switch (object) {
        case 0:
        case "USER_GRANT_STATE_UNSPECIFIED":
            return UserGrantState.USER_GRANT_STATE_UNSPECIFIED;
        case 1:
        case "USER_GRANT_STATE_ACTIVE":
            return UserGrantState.USER_GRANT_STATE_ACTIVE;
        case 2:
        case "USER_GRANT_STATE_INACTIVE":
            return UserGrantState.USER_GRANT_STATE_INACTIVE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return UserGrantState.UNRECOGNIZED;
    }
}
export function userGrantStateToJSON(object) {
    switch (object) {
        case UserGrantState.USER_GRANT_STATE_UNSPECIFIED:
            return "USER_GRANT_STATE_UNSPECIFIED";
        case UserGrantState.USER_GRANT_STATE_ACTIVE:
            return "USER_GRANT_STATE_ACTIVE";
        case UserGrantState.USER_GRANT_STATE_INACTIVE:
            return "USER_GRANT_STATE_INACTIVE";
        case UserGrantState.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
function createBaseUser() {
    return {
        id: "",
        details: undefined,
        state: 0,
        userName: "",
        loginNames: [],
        preferredLoginName: "",
        human: undefined,
        machine: undefined,
    };
}
export const User = {
    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.userName !== "") {
            writer.uint32(34).string(message.userName);
        }
        for (const v of message.loginNames) {
            writer.uint32(42).string(v);
        }
        if (message.preferredLoginName !== "") {
            writer.uint32(50).string(message.preferredLoginName);
        }
        if (message.human !== undefined) {
            Human.encode(message.human, writer.uint32(58).fork()).join();
        }
        if (message.machine !== undefined) {
            Machine.encode(message.machine, writer.uint32(66).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 = createBaseUser();
        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.userName = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.loginNames.push(reader.string());
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.preferredLoginName = reader.string();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.human = Human.decode(reader, reader.uint32());
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.machine = Machine.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) ? userStateFromJSON(object.state) : 0,
            userName: isSet(object.userName) ? globalThis.String(object.userName) : "",
            loginNames: globalThis.Array.isArray(object?.loginNames)
                ? object.loginNames.map((e) => globalThis.String(e))
                : [],
            preferredLoginName: isSet(object.preferredLoginName) ? globalThis.String(object.preferredLoginName) : "",
            human: isSet(object.human) ? Human.fromJSON(object.human) : undefined,
            machine: isSet(object.machine) ? Machine.fromJSON(object.machine) : 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 = userStateToJSON(message.state);
        }
        if (message.userName !== "") {
            obj.userName = message.userName;
        }
        if (message.loginNames?.length) {
            obj.loginNames = message.loginNames;
        }
        if (message.preferredLoginName !== "") {
            obj.preferredLoginName = message.preferredLoginName;
        }
        if (message.human !== undefined) {
            obj.human = Human.toJSON(message.human);
        }
        if (message.machine !== undefined) {
            obj.machine = Machine.toJSON(message.machine);
        }
        return obj;
    },
    create(base) {
        return User.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUser();
        message.id = object.id ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.state = object.state ?? 0;
        message.userName = object.userName ?? "";
        message.loginNames = object.loginNames?.map((e) => e) || [];
        message.preferredLoginName = object.preferredLoginName ?? "";
        message.human = (object.human !== undefined && object.human !== null) ? Human.fromPartial(object.human) : undefined;
        message.machine = (object.machine !== undefined && object.machine !== null)
            ? Machine.fromPartial(object.machine)
            : undefined;
        return message;
    },
};
function createBaseHuman() {
    return { profile: undefined, email: undefined, phone: undefined, passwordChanged: undefined };
}
export const Human = {
    encode(message, writer = new BinaryWriter()) {
        if (message.profile !== undefined) {
            Profile.encode(message.profile, writer.uint32(10).fork()).join();
        }
        if (message.email !== undefined) {
            Email.encode(message.email, writer.uint32(18).fork()).join();
        }
        if (message.phone !== undefined) {
            Phone.encode(message.phone, writer.uint32(26).fork()).join();
        }
        if (message.passwordChanged !== undefined) {
            Timestamp.encode(toTimestamp(message.passwordChanged), writer.uint32(34).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 = createBaseHuman();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.profile = Profile.decode(reader, reader.uint32());
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.email = Email.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.phone = Phone.decode(reader, reader.uint32());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.passwordChanged = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            profile: isSet(object.profile) ? Profile.fromJSON(object.profile) : undefined,
            email: isSet(object.email) ? Email.fromJSON(object.email) : undefined,
            phone: isSet(object.phone) ? Phone.fromJSON(object.phone) : undefined,
            passwordChanged: isSet(object.passwordChanged) ? fromJsonTimestamp(object.passwordChanged) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.profile !== undefined) {
            obj.profile = Profile.toJSON(message.profile);
        }
        if (message.email !== undefined) {
            obj.email = Email.toJSON(message.email);
        }
        if (message.phone !== undefined) {
            obj.phone = Phone.toJSON(message.phone);
        }
        if (message.passwordChanged !== undefined) {
            obj.passwordChanged = message.passwordChanged.toISOString();
        }
        return obj;
    },
    create(base) {
        return Human.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseHuman();
        message.profile = (object.profile !== undefined && object.profile !== null)
            ? Profile.fromPartial(object.profile)
            : undefined;
        message.email = (object.email !== undefined && object.email !== null) ? Email.fromPartial(object.email) : undefined;
        message.phone = (object.phone !== undefined && object.phone !== null) ? Phone.fromPartial(object.phone) : undefined;
        message.passwordChanged = object.passwordChanged ?? undefined;
        return message;
    },
};
function createBaseMachine() {
    return { name: "", description: "", hasSecret: false, accessTokenType: 0 };
}
export const Machine = {
    encode(message, writer = new BinaryWriter()) {
        if (message.name !== "") {
            writer.uint32(10).string(message.name);
        }
        if (message.description !== "") {
            writer.uint32(18).string(message.description);
        }
        if (message.hasSecret !== false) {
            writer.uint32(24).bool(message.hasSecret);
        }
        if (message.accessTokenType !== 0) {
            writer.uint32(32).int32(message.accessTokenType);
        }
        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 = createBaseMachine();
        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 !== 18) {
                        break;
                    }
                    message.description = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.hasSecret = reader.bool();
                    continue;
                }
                case 4: {
                    if (tag !== 32) {
                        break;
                    }
                    message.accessTokenType = 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) : "",
            description: isSet(object.description) ? globalThis.String(object.description) : "",
            hasSecret: isSet(object.hasSecret) ? globalThis.Boolean(object.hasSecret) : false,
            accessTokenType: isSet(object.accessTokenType) ? accessTokenTypeFromJSON(object.accessTokenType) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.name !== "") {
            obj.name = message.name;
        }
        if (message.description !== "") {
            obj.description = message.description;
        }
        if (message.hasSecret !== false) {
            obj.hasSecret = message.hasSecret;
        }
        if (message.accessTokenType !== 0) {
            obj.accessTokenType = accessTokenTypeToJSON(message.accessTokenType);
        }
        return obj;
    },
    create(base) {
        return Machine.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMachine();
        message.name = object.name ?? "";
        message.description = object.description ?? "";
        message.hasSecret = object.hasSecret ?? false;
        message.accessTokenType = object.accessTokenType ?? 0;
        return message;
    },
};
function createBaseProfile() {
    return {
        firstName: "",
        lastName: "",
        nickName: "",
        displayName: "",
        preferredLanguage: "",
        gender: 0,
        avatarUrl: "",
    };
}
export const Profile = {
    encode(message, writer = new BinaryWriter()) {
        if (message.firstName !== "") {
            writer.uint32(10).string(message.firstName);
        }
        if (message.lastName !== "") {
            writer.uint32(18).string(message.lastName);
        }
        if (message.nickName !== "") {
            writer.uint32(26).string(message.nickName);
        }
        if (message.displayName !== "") {
            writer.uint32(34).string(message.displayName);
        }
        if (message.preferredLanguage !== "") {
            writer.uint32(42).string(message.preferredLanguage);
        }
        if (message.gender !== 0) {
            writer.uint32(48).int32(message.gender);
        }
        if (message.avatarUrl !== "") {
            writer.uint32(58).string(message.avatarUrl);
        }
        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 = createBaseProfile();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.firstName = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.lastName = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.nickName = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.displayName = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.preferredLanguage = reader.string();
                    continue;
                }
                case 6: {
                    if (tag !== 48) {
                        break;
                    }
                    message.gender = reader.int32();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.avatarUrl = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            firstName: isSet(object.firstName) ? globalThis.String(object.firstName) : "",
            lastName: isSet(object.lastName) ? globalThis.String(object.lastName) : "",
            nickName: isSet(object.nickName) ? globalThis.String(object.nickName) : "",
            displayName: isSet(object.displayName) ? globalThis.String(object.displayName) : "",
            preferredLanguage: isSet(object.preferredLanguage) ? globalThis.String(object.preferredLanguage) : "",
            gender: isSet(object.gender) ? genderFromJSON(object.gender) : 0,
            avatarUrl: isSet(object.avatarUrl) ? globalThis.String(object.avatarUrl) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.firstName !== "") {
            obj.firstName = message.firstName;
        }
        if (message.lastName !== "") {
            obj.lastName = message.lastName;
        }
        if (message.nickName !== "") {
            obj.nickName = message.nickName;
        }
        if (message.displayName !== "") {
            obj.displayName = message.displayName;
        }
        if (message.preferredLanguage !== "") {
            obj.preferredLanguage = message.preferredLanguage;
        }
        if (message.gender !== 0) {
            obj.gender = genderToJSON(message.gender);
        }
        if (message.avatarUrl !== "") {
            obj.avatarUrl = message.avatarUrl;
        }
        return obj;
    },
    create(base) {
        return Profile.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseProfile();
        message.firstName = object.firstName ?? "";
        message.lastName = object.lastName ?? "";
        message.nickName = object.nickName ?? "";
        message.displayName = object.displayName ?? "";
        message.preferredLanguage = object.preferredLanguage ?? "";
        message.gender = object.gender ?? 0;
        message.avatarUrl = object.avatarUrl ?? "";
        return message;
    },
};
function createBaseEmail() {
    return { email: "", isEmailVerified: false };
}
export const Email = {
    encode(message, writer = new BinaryWriter()) {
        if (message.email !== "") {
            writer.uint32(10).string(message.email);
        }
        if (message.isEmailVerified !== false) {
            writer.uint32(16).bool(message.isEmailVerified);
        }
        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 = createBaseEmail();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.email = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 16) {
                        break;
                    }
                    message.isEmailVerified = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            email: isSet(object.email) ? globalThis.String(object.email) : "",
            isEmailVerified: isSet(object.isEmailVerified) ? globalThis.Boolean(object.isEmailVerified) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.email !== "") {
            obj.email = message.email;
        }
        if (message.isEmailVerified !== false) {
            obj.isEmailVerified = message.isEmailVerified;
        }
        return obj;
    },
    create(base) {
        return Email.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseEmail();
        message.email = object.email ?? "";
        message.isEmailVerified = object.isEmailVerified ?? false;
        return message;
    },
};
function createBasePhone() {
    return { phone: "", isPhoneVerified: false };
}
export const Phone = {
    encode(message, writer = new BinaryWriter()) {
        if (message.phone !== "") {
            writer.uint32(10).string(message.phone);
        }
        if (message.isPhoneVerified !== false) {
            writer.uint32(16).bool(message.isPhoneVerified);
        }
        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 = createBasePhone();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.phone = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 16) {
                        break;
                    }
                    message.isPhoneVerified = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            phone: isSet(object.phone) ? globalThis.String(object.phone) : "",
            isPhoneVerified: isSet(object.isPhoneVerified) ? globalThis.Boolean(object.isPhoneVerified) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.phone !== "") {
            obj.phone = message.phone;
        }
        if (message.isPhoneVerified !== false) {
            obj.isPhoneVerified = message.isPhoneVerified;
        }
        return obj;
    },
    create(base) {
        return Phone.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBasePhone();
        message.phone = object.phone ?? "";
        message.isPhoneVerified = object.isPhoneVerified ?? false;
        return message;
    },
};
function createBaseSearchQuery() {
    return {
        userNameQuery: undefined,
        firstNameQuery: undefined,
        lastNameQuery: undefined,
        nickNameQuery: undefined,
        displayNameQuery: undefined,
        emailQuery: undefined,
        stateQuery: undefined,
        typeQuery: undefined,
        loginNameQuery: undefined,
        inUserIdsQuery: undefined,
        orQuery: undefined,
        andQuery: undefined,
        notQuery: undefined,
        inUserEmailsQuery: undefined,
    };
}
export const SearchQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.userNameQuery !== undefined) {
            UserNameQuery.encode(message.userNameQuery, writer.uint32(10).fork()).join();
        }
        if (message.firstNameQuery !== undefined) {
            FirstNameQuery.encode(message.firstNameQuery, writer.uint32(18).fork()).join();
        }
        if (message.lastNameQuery !== undefined) {
            LastNameQuery.encode(message.lastNameQuery, writer.uint32(26).fork()).join();
        }
        if (message.nickNameQuery !== undefined) {
            NickNameQuery.encode(message.nickNameQuery, writer.uint32(34).fork()).join();
        }
        if (message.displayNameQuery !== undefined) {
            DisplayNameQuery.encode(message.displayNameQuery, writer.uint32(42).fork()).join();
        }
        if (message.emailQuery !== undefined) {
            EmailQuery.encode(message.emailQuery, writer.uint32(50).fork()).join();
        }
        if (message.stateQuery !== undefined) {
            StateQuery.encode(message.stateQuery, writer.uint32(58).fork()).join();
        }
        if (message.typeQuery !== undefined) {
            TypeQuery.encode(message.typeQuery, writer.uint32(66).fork()).join();
        }
        if (message.loginNameQuery !== undefined) {
            LoginNameQuery.encode(message.loginNameQuery, writer.uint32(74).fork()).join();
        }
        if (message.inUserIdsQuery !== undefined) {
            InUserIDQuery.encode(message.inUserIdsQuery, writer.uint32(82).fork()).join();
        }
        if (message.orQuery !== undefined) {
            OrQuery.encode(message.orQuery, writer.uint32(90).fork()).join();
        }
        if (message.andQuery !== undefined) {
            AndQuery.encode(message.andQuery, writer.uint32(98).fork()).join();
        }
        if (message.notQuery !== undefined) {
            NotQuery.encode(message.notQuery, writer.uint32(106).fork()).join();
        }
        if (message.inUserEmailsQuery !== undefined) {
            InUserEmailsQuery.encode(message.inUserEmailsQuery, writer.uint32(114).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 = createBaseSearchQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userNameQuery = UserNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.firstNameQuery = FirstNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.lastNameQuery = LastNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.nickNameQuery = NickNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.displayNameQuery = DisplayNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.emailQuery = EmailQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.stateQuery = StateQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.typeQuery = TypeQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.loginNameQuery = LoginNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.inUserIdsQuery = InUserIDQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 11: {
                    if (tag !== 90) {
                        break;
                    }
                    message.orQuery = OrQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 12: {
                    if (tag !== 98) {
                        break;
                    }
                    message.andQuery = AndQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 13: {
                    if (tag !== 106) {
                        break;
                    }
                    message.notQuery = NotQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 14: {
                    if (tag !== 114) {
                        break;
                    }
                    message.inUserEmailsQuery = InUserEmailsQuery.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            userNameQuery: isSet(object.userNameQuery) ? UserNameQuery.fromJSON(object.userNameQuery) : undefined,
            firstNameQuery: isSet(object.firstNameQuery) ? FirstNameQuery.fromJSON(object.firstNameQuery) : undefined,
            lastNameQuery: isSet(object.lastNameQuery) ? LastNameQuery.fromJSON(object.lastNameQuery) : undefined,
            nickNameQuery: isSet(object.nickNameQuery) ? NickNameQuery.fromJSON(object.nickNameQuery) : undefined,
            displayNameQuery: isSet(object.displayNameQuery) ? DisplayNameQuery.fromJSON(object.displayNameQuery) : undefined,
            emailQuery: isSet(object.emailQuery) ? EmailQuery.fromJSON(object.emailQuery) : undefined,
            stateQuery: isSet(object.stateQuery) ? StateQuery.fromJSON(object.stateQuery) : undefined,
            typeQuery: isSet(object.typeQuery) ? TypeQuery.fromJSON(object.typeQuery) : undefined,
            loginNameQuery: isSet(object.loginNameQuery) ? LoginNameQuery.fromJSON(object.loginNameQuery) : undefined,
            inUserIdsQuery: isSet(object.inUserIdsQuery) ? InUserIDQuery.fromJSON(object.inUserIdsQuery) : undefined,
            orQuery: isSet(object.orQuery) ? OrQuery.fromJSON(object.orQuery) : undefined,
            andQuery: isSet(object.andQuery) ? AndQuery.fromJSON(object.andQuery) : undefined,
            notQuery: isSet(object.notQuery) ? NotQuery.fromJSON(object.notQuery) : undefined,
            inUserEmailsQuery: isSet(object.inUserEmailsQuery)
                ? InUserEmailsQuery.fromJSON(object.inUserEmailsQuery)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userNameQuery !== undefined) {
            obj.userNameQuery = UserNameQuery.toJSON(message.userNameQuery);
        }
        if (message.firstNameQuery !== undefined) {
            obj.firstNameQuery = FirstNameQuery.toJSON(message.firstNameQuery);
        }
        if (message.lastNameQuery !== undefined) {
            obj.lastNameQuery = LastNameQuery.toJSON(message.lastNameQuery);
        }
        if (message.nickNameQuery !== undefined) {
            obj.nickNameQuery = NickNameQuery.toJSON(message.nickNameQuery);
        }
        if (message.displayNameQuery !== undefined) {
            obj.displayNameQuery = DisplayNameQuery.toJSON(message.displayNameQuery);
        }
        if (message.emailQuery !== undefined) {
            obj.emailQuery = EmailQuery.toJSON(message.emailQuery);
        }
        if (message.stateQuery !== undefined) {
            obj.stateQuery = StateQuery.toJSON(message.stateQuery);
        }
        if (message.typeQuery !== undefined) {
            obj.typeQuery = TypeQuery.toJSON(message.typeQuery);
        }
        if (message.loginNameQuery !== undefined) {
            obj.loginNameQuery = LoginNameQuery.toJSON(message.loginNameQuery);
        }
        if (message.inUserIdsQuery !== undefined) {
            obj.inUserIdsQuery = InUserIDQuery.toJSON(message.inUserIdsQuery);
        }
        if (message.orQuery !== undefined) {
            obj.orQuery = OrQuery.toJSON(message.orQuery);
        }
        if (message.andQuery !== undefined) {
            obj.andQuery = AndQuery.toJSON(message.andQuery);
        }
        if (message.notQuery !== undefined) {
            obj.notQuery = NotQuery.toJSON(message.notQuery);
        }
        if (message.inUserEmailsQuery !== undefined) {
            obj.inUserEmailsQuery = InUserEmailsQuery.toJSON(message.inUserEmailsQuery);
        }
        return obj;
    },
    create(base) {
        return SearchQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseSearchQuery();
        message.userNameQuery = (object.userNameQuery !== undefined && object.userNameQuery !== null)
            ? UserNameQuery.fromPartial(object.userNameQuery)
            : undefined;
        message.firstNameQuery = (object.firstNameQuery !== undefined && object.firstNameQuery !== null)
            ? FirstNameQuery.fromPartial(object.firstNameQuery)
            : undefined;
        message.lastNameQuery = (object.lastNameQuery !== undefined && object.lastNameQuery !== null)
            ? LastNameQuery.fromPartial(object.lastNameQuery)
            : undefined;
        message.nickNameQuery = (object.nickNameQuery !== undefined && object.nickNameQuery !== null)
            ? NickNameQuery.fromPartial(object.nickNameQuery)
            : undefined;
        message.displayNameQuery = (object.displayNameQuery !== undefined && object.displayNameQuery !== null)
            ? DisplayNameQuery.fromPartial(object.displayNameQuery)
            : undefined;
        message.emailQuery = (object.emailQuery !== undefined && object.emailQuery !== null)
            ? EmailQuery.fromPartial(object.emailQuery)
            : undefined;
        message.stateQuery = (object.stateQuery !== undefined && object.stateQuery !== null)
            ? StateQuery.fromPartial(object.stateQuery)
            : undefined;
        message.typeQuery = (object.typeQuery !== undefined && object.typeQuery !== null)
            ? TypeQuery.fromPartial(object.typeQuery)
            : undefined;
        message.loginNameQuery = (object.loginNameQuery !== undefined && object.loginNameQuery !== null)
            ? LoginNameQuery.fromPartial(object.loginNameQuery)
            : undefined;
        message.inUserIdsQuery = (object.inUserIdsQuery !== undefined && object.inUserIdsQuery !== null)
            ? InUserIDQuery.fromPartial(object.inUserIdsQuery)
            : undefined;
        message.orQuery = (object.orQuery !== undefined && object.orQuery !== null)
            ? OrQuery.fromPartial(object.orQuery)
            : undefined;
        message.andQuery = (object.andQuery !== undefined && object.andQuery !== null)
            ? AndQuery.fromPartial(object.andQuery)
            : undefined;
        message.notQuery = (object.notQuery !== undefined && object.notQuery !== null)
            ? NotQuery.fromPartial(object.notQuery)
            : undefined;
        message.inUserEmailsQuery = (object.inUserEmailsQuery !== undefined && object.inUserEmailsQuery !== null)
            ? InUserEmailsQuery.fromPartial(object.inUserEmailsQuery)
            : undefined;
        return message;
    },
};
function createBaseOrQuery() {
    return { queries: [] };
}
export const OrQuery = {
    encode(message, writer = new BinaryWriter()) {
        for (const v of message.queries) {
            SearchQuery.encode(v, writer.uint32(10).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 = createBaseOrQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.queries.push(SearchQuery.decode(reader, reader.uint32()));
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            queries: globalThis.Array.isArray(object?.queries) ? object.queries.map((e) => SearchQuery.fromJSON(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.queries?.length) {
            obj.queries = message.queries.map((e) => SearchQuery.toJSON(e));
        }
        return obj;
    },
    create(base) {
        return OrQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseOrQuery();
        message.queries = object.queries?.map((e) => SearchQuery.fromPartial(e)) || [];
        return message;
    },
};
function createBaseAndQuery() {
    return { queries: [] };
}
export const AndQuery = {
    encode(message, writer = new BinaryWriter()) {
        for (const v of message.queries) {
            SearchQuery.encode(v, writer.uint32(10).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 = createBaseAndQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.queries.push(SearchQuery.decode(reader, reader.uint32()));
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            queries: globalThis.Array.isArray(object?.queries) ? object.queries.map((e) => SearchQuery.fromJSON(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.queries?.length) {
            obj.queries = message.queries.map((e) => SearchQuery.toJSON(e));
        }
        return obj;
    },
    create(base) {
        return AndQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseAndQuery();
        message.queries = object.queries?.map((e) => SearchQuery.fromPartial(e)) || [];
        return message;
    },
};
function createBaseNotQuery() {
    return { query: undefined };
}
export const NotQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.query !== undefined) {
            SearchQuery.encode(message.query, writer.uint32(10).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 = createBaseNotQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.query = SearchQuery.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { query: isSet(object.query) ? SearchQuery.fromJSON(object.query) : undefined };
    },
    toJSON(message) {
        const obj = {};
        if (message.query !== undefined) {
            obj.query = SearchQuery.toJSON(message.query);
        }
        return obj;
    },
    create(base) {
        return NotQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseNotQuery();
        message.query = (object.query !== undefined && object.query !== null)
            ? SearchQuery.fromPartial(object.query)
            : undefined;
        return message;
    },
};
function createBaseInUserIDQuery() {
    return { userIds: [] };
}
export const InUserIDQuery = {
    encode(message, writer = new BinaryWriter()) {
        for (const v of message.userIds) {
            writer.uint32(10).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 = createBaseInUserIDQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userIds.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            userIds: globalThis.Array.isArray(object?.userIds) ? object.userIds.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userIds?.length) {
            obj.userIds = message.userIds;
        }
        return obj;
    },
    create(base) {
        return InUserIDQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseInUserIDQuery();
        message.userIds = object.userIds?.map((e) => e) || [];
        return message;
    },
};
function createBaseInUserEmailsQuery() {
    return { userEmails: [] };
}
export const InUserEmailsQuery = {
    encode(message, writer = new BinaryWriter()) {
        for (const v of message.userEmails) {
            writer.uint32(10).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 = createBaseInUserEmailsQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userEmails.push(reader.string());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            userEmails: globalThis.Array.isArray(object?.userEmails)
                ? object.userEmails.map((e) => globalThis.String(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userEmails?.length) {
            obj.userEmails = message.userEmails;
        }
        return obj;
    },
    create(base) {
        return InUserEmailsQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseInUserEmailsQuery();
        message.userEmails = object.userEmails?.map((e) => e) || [];
        return message;
    },
};
function createBaseUserNameQuery() {
    return { userName: "", method: 0 };
}
export const UserNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.userName !== "") {
            writer.uint32(10).string(message.userName);
        }
        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 = createBaseUserNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userName = 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 {
            userName: isSet(object.userName) ? globalThis.String(object.userName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userName !== "") {
            obj.userName = message.userName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserNameQuery();
        message.userName = object.userName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseFirstNameQuery() {
    return { firstName: "", method: 0 };
}
export const FirstNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.firstName !== "") {
            writer.uint32(10).string(message.firstName);
        }
        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 = createBaseFirstNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.firstName = 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 {
            firstName: isSet(object.firstName) ? globalThis.String(object.firstName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.firstName !== "") {
            obj.firstName = message.firstName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return FirstNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseFirstNameQuery();
        message.firstName = object.firstName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseLastNameQuery() {
    return { lastName: "", method: 0 };
}
export const LastNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.lastName !== "") {
            writer.uint32(10).string(message.lastName);
        }
        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 = createBaseLastNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.lastName = 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 {
            lastName: isSet(object.lastName) ? globalThis.String(object.lastName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.lastName !== "") {
            obj.lastName = message.lastName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return LastNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseLastNameQuery();
        message.lastName = object.lastName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseNickNameQuery() {
    return { nickName: "", method: 0 };
}
export const NickNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.nickName !== "") {
            writer.uint32(10).string(message.nickName);
        }
        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 = createBaseNickNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.nickName = 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 {
            nickName: isSet(object.nickName) ? globalThis.String(object.nickName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.nickName !== "") {
            obj.nickName = message.nickName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return NickNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseNickNameQuery();
        message.nickName = object.nickName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseDisplayNameQuery() {
    return { displayName: "", method: 0 };
}
export const DisplayNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.displayName !== "") {
            writer.uint32(10).string(message.displayName);
        }
        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 = createBaseDisplayNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.displayName = 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 {
            displayName: isSet(object.displayName) ? globalThis.String(object.displayName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.displayName !== "") {
            obj.displayName = message.displayName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return DisplayNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseDisplayNameQuery();
        message.displayName = object.displayName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseEmailQuery() {
    return { emailAddress: "", method: 0 };
}
export const EmailQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.emailAddress !== "") {
            writer.uint32(10).string(message.emailAddress);
        }
        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 = createBaseEmailQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.emailAddress = 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 {
            emailAddress: isSet(object.emailAddress) ? globalThis.String(object.emailAddress) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.emailAddress !== "") {
            obj.emailAddress = message.emailAddress;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return EmailQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseEmailQuery();
        message.emailAddress = object.emailAddress ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseLoginNameQuery() {
    return { loginName: "", method: 0 };
}
export const LoginNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.loginName !== "") {
            writer.uint32(10).string(message.loginName);
        }
        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 = createBaseLoginNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.loginName = 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 {
            loginName: isSet(object.loginName) ? globalThis.String(object.loginName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.loginName !== "") {
            obj.loginName = message.loginName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return LoginNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseLoginNameQuery();
        message.loginName = object.loginName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseStateQuery() {
    return { state: 0 };
}
export const StateQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.state !== 0) {
            writer.uint32(8).int32(message.state);
        }
        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 = createBaseStateQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.state = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { state: isSet(object.state) ? userStateFromJSON(object.state) : 0 };
    },
    toJSON(message) {
        const obj = {};
        if (message.state !== 0) {
            obj.state = userStateToJSON(message.state);
        }
        return obj;
    },
    create(base) {
        return StateQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseStateQuery();
        message.state = object.state ?? 0;
        return message;
    },
};
function createBaseTypeQuery() {
    return { type: 0 };
}
export const TypeQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.type !== 0) {
            writer.uint32(8).int32(message.type);
        }
        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 = createBaseTypeQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.type = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { type: isSet(object.type) ? typeFromJSON(object.type) : 0 };
    },
    toJSON(message) {
        const obj = {};
        if (message.type !== 0) {
            obj.type = typeToJSON(message.type);
        }
        return obj;
    },
    create(base) {
        return TypeQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseTypeQuery();
        message.type = object.type ?? 0;
        return message;
    },
};
function createBaseAuthFactor() {
    return { state: 0, otp: undefined, u2f: undefined, otpSms: undefined, otpEmail: undefined };
}
export const AuthFactor = {
    encode(message, writer = new BinaryWriter()) {
        if (message.state !== 0) {
            writer.uint32(8).int32(message.state);
        }
        if (message.otp !== undefined) {
            AuthFactorOTP.encode(message.otp, writer.uint32(18).fork()).join();
        }
        if (message.u2f !== undefined) {
            AuthFactorU2F.encode(message.u2f, writer.uint32(26).fork()).join();
        }
        if (message.otpSms !== undefined) {
            AuthFactorOTPSMS.encode(message.otpSms, writer.uint32(34).fork()).join();
        }
        if (message.otpEmail !== undefined) {
            AuthFactorOTPEmail.encode(message.otpEmail, writer.uint32(42).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 = createBaseAuthFactor();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.state = reader.int32();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.otp = AuthFactorOTP.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.u2f = AuthFactorU2F.decode(reader, reader.uint32());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.otpSms = AuthFactorOTPSMS.decode(reader, reader.uint32());
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.otpEmail = AuthFactorOTPEmail.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            state: isSet(object.state) ? authFactorStateFromJSON(object.state) : 0,
            otp: isSet(object.otp) ? AuthFactorOTP.fromJSON(object.otp) : undefined,
            u2f: isSet(object.u2f) ? AuthFactorU2F.fromJSON(object.u2f) : undefined,
            otpSms: isSet(object.otpSms) ? AuthFactorOTPSMS.fromJSON(object.otpSms) : undefined,
            otpEmail: isSet(object.otpEmail) ? AuthFactorOTPEmail.fromJSON(object.otpEmail) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.state !== 0) {
            obj.state = authFactorStateToJSON(message.state);
        }
        if (message.otp !== undefined) {
            obj.otp = AuthFactorOTP.toJSON(message.otp);
        }
        if (message.u2f !== undefined) {
            obj.u2f = AuthFactorU2F.toJSON(message.u2f);
        }
        if (message.otpSms !== undefined) {
            obj.otpSms = AuthFactorOTPSMS.toJSON(message.otpSms);
        }
        if (message.otpEmail !== undefined) {
            obj.otpEmail = AuthFactorOTPEmail.toJSON(message.otpEmail);
        }
        return obj;
    },
    create(base) {
        return AuthFactor.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseAuthFactor();
        message.state = object.state ?? 0;
        message.otp = (object.otp !== undefined && object.otp !== null) ? AuthFactorOTP.fromPartial(object.otp) : undefined;
        message.u2f = (object.u2f !== undefined && object.u2f !== null) ? AuthFactorU2F.fromPartial(object.u2f) : undefined;
        message.otpSms = (object.otpSms !== undefined && object.otpSms !== null)
            ? AuthFactorOTPSMS.fromPartial(object.otpSms)
            : undefined;
        message.otpEmail = (object.otpEmail !== undefined && object.otpEmail !== null)
            ? AuthFactorOTPEmail.fromPartial(object.otpEmail)
            : undefined;
        return message;
    },
};
function createBaseAuthFactorOTP() {
    return {};
}
export const AuthFactorOTP = {
    encode(_, writer = new BinaryWriter()) {
        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 = createBaseAuthFactorOTP();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return AuthFactorOTP.fromPartial(base ?? {});
    },
    fromPartial(_) {
        const message = createBaseAuthFactorOTP();
        return message;
    },
};
function createBaseAuthFactorOTPSMS() {
    return {};
}
export const AuthFactorOTPSMS = {
    encode(_, writer = new BinaryWriter()) {
        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 = createBaseAuthFactorOTPSMS();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return AuthFactorOTPSMS.fromPartial(base ?? {});
    },
    fromPartial(_) {
        const message = createBaseAuthFactorOTPSMS();
        return message;
    },
};
function createBaseAuthFactorOTPEmail() {
    return {};
}
export const AuthFactorOTPEmail = {
    encode(_, writer = new BinaryWriter()) {
        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 = createBaseAuthFactorOTPEmail();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return AuthFactorOTPEmail.fromPartial(base ?? {});
    },
    fromPartial(_) {
        const message = createBaseAuthFactorOTPEmail();
        return message;
    },
};
function createBaseAuthFactorU2F() {
    return { id: "", name: "" };
}
export const AuthFactorU2F = {
    encode(message, writer = new BinaryWriter()) {
        if (message.id !== "") {
            writer.uint32(10).string(message.id);
        }
        if (message.name !== "") {
            writer.uint32(18).string(message.name);
        }
        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 = createBaseAuthFactorU2F();
        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.name = 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) : "",
            name: isSet(object.name) ? globalThis.String(object.name) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.name !== "") {
            obj.name = message.name;
        }
        return obj;
    },
    create(base) {
        return AuthFactorU2F.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseAuthFactorU2F();
        message.id = object.id ?? "";
        message.name = object.name ?? "";
        return message;
    },
};
function createBaseWebAuthNKey() {
    return { publicKey: Buffer.alloc(0) };
}
export const WebAuthNKey = {
    encode(message, writer = new BinaryWriter()) {
        if (message.publicKey.length !== 0) {
            writer.uint32(10).bytes(message.publicKey);
        }
        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 = createBaseWebAuthNKey();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.publicKey = Buffer.from(reader.bytes());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { publicKey: isSet(object.publicKey) ? Buffer.from(bytesFromBase64(object.publicKey)) : Buffer.alloc(0) };
    },
    toJSON(message) {
        const obj = {};
        if (message.publicKey.length !== 0) {
            obj.publicKey = base64FromBytes(message.publicKey);
        }
        return obj;
    },
    create(base) {
        return WebAuthNKey.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseWebAuthNKey();
        message.publicKey = object.publicKey ?? Buffer.alloc(0);
        return message;
    },
};
function createBaseWebAuthNVerification() {
    return { publicKeyCredential: Buffer.alloc(0), tokenName: "" };
}
export const WebAuthNVerification = {
    encode(message, writer = new BinaryWriter()) {
        if (message.publicKeyCredential.length !== 0) {
            writer.uint32(10).bytes(message.publicKeyCredential);
        }
        if (message.tokenName !== "") {
            writer.uint32(18).string(message.tokenName);
        }
        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 = createBaseWebAuthNVerification();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.publicKeyCredential = Buffer.from(reader.bytes());
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.tokenName = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            publicKeyCredential: isSet(object.publicKeyCredential)
                ? Buffer.from(bytesFromBase64(object.publicKeyCredential))
                : Buffer.alloc(0),
            tokenName: isSet(object.tokenName) ? globalThis.String(object.tokenName) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.publicKeyCredential.length !== 0) {
            obj.publicKeyCredential = base64FromBytes(message.publicKeyCredential);
        }
        if (message.tokenName !== "") {
            obj.tokenName = message.tokenName;
        }
        return obj;
    },
    create(base) {
        return WebAuthNVerification.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseWebAuthNVerification();
        message.publicKeyCredential = object.publicKeyCredential ?? Buffer.alloc(0);
        message.tokenName = object.tokenName ?? "";
        return message;
    },
};
function createBaseWebAuthNToken() {
    return { id: "", state: 0, name: "" };
}
export const WebAuthNToken = {
    encode(message, writer = new BinaryWriter()) {
        if (message.id !== "") {
            writer.uint32(10).string(message.id);
        }
        if (message.state !== 0) {
            writer.uint32(16).int32(message.state);
        }
        if (message.name !== "") {
            writer.uint32(26).string(message.name);
        }
        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 = createBaseWebAuthNToken();
        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 !== 16) {
                        break;
                    }
                    message.state = reader.int32();
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.name = 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) : "",
            state: isSet(object.state) ? authFactorStateFromJSON(object.state) : 0,
            name: isSet(object.name) ? globalThis.String(object.name) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.state !== 0) {
            obj.state = authFactorStateToJSON(message.state);
        }
        if (message.name !== "") {
            obj.name = message.name;
        }
        return obj;
    },
    create(base) {
        return WebAuthNToken.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseWebAuthNToken();
        message.id = object.id ?? "";
        message.state = object.state ?? 0;
        message.name = object.name ?? "";
        return message;
    },
};
function createBaseMembership() {
    return {
        userId: "",
        details: undefined,
        roles: [],
        displayName: "",
        iam: undefined,
        orgId: undefined,
        projectId: undefined,
        projectGrantId: undefined,
    };
}
export const Membership = {
    encode(message, writer = new BinaryWriter()) {
        if (message.userId !== "") {
            writer.uint32(10).string(message.userId);
        }
        if (message.details !== undefined) {
            ObjectDetails.encode(message.details, writer.uint32(18).fork()).join();
        }
        for (const v of message.roles) {
            writer.uint32(26).string(v);
        }
        if (message.displayName !== "") {
            writer.uint32(34).string(message.displayName);
        }
        if (message.iam !== undefined) {
            writer.uint32(40).bool(message.iam);
        }
        if (message.orgId !== undefined) {
            writer.uint32(50).string(message.orgId);
        }
        if (message.projectId !== undefined) {
            writer.uint32(58).string(message.projectId);
        }
        if (message.projectGrantId !== undefined) {
            writer.uint32(66).string(message.projectGrantId);
        }
        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 = createBaseMembership();
        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.details = ObjectDetails.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.roles.push(reader.string());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.displayName = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 40) {
                        break;
                    }
                    message.iam = reader.bool();
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.orgId = reader.string();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.projectId = reader.string();
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.projectGrantId = reader.string();
                    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) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            roles: globalThis.Array.isArray(object?.roles) ? object.roles.map((e) => globalThis.String(e)) : [],
            displayName: isSet(object.displayName) ? globalThis.String(object.displayName) : "",
            iam: isSet(object.iam) ? globalThis.Boolean(object.iam) : undefined,
            orgId: isSet(object.orgId) ? globalThis.String(object.orgId) : undefined,
            projectId: isSet(object.projectId) ? globalThis.String(object.projectId) : undefined,
            projectGrantId: isSet(object.projectGrantId) ? globalThis.String(object.projectGrantId) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userId !== "") {
            obj.userId = message.userId;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.roles?.length) {
            obj.roles = message.roles;
        }
        if (message.displayName !== "") {
            obj.displayName = message.displayName;
        }
        if (message.iam !== undefined) {
            obj.iam = message.iam;
        }
        if (message.orgId !== undefined) {
            obj.orgId = message.orgId;
        }
        if (message.projectId !== undefined) {
            obj.projectId = message.projectId;
        }
        if (message.projectGrantId !== undefined) {
            obj.projectGrantId = message.projectGrantId;
        }
        return obj;
    },
    create(base) {
        return Membership.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMembership();
        message.userId = object.userId ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.roles = object.roles?.map((e) => e) || [];
        message.displayName = object.displayName ?? "";
        message.iam = object.iam ?? undefined;
        message.orgId = object.orgId ?? undefined;
        message.projectId = object.projectId ?? undefined;
        message.projectGrantId = object.projectGrantId ?? undefined;
        return message;
    },
};
function createBaseMembershipQuery() {
    return { orgQuery: undefined, projectQuery: undefined, projectGrantQuery: undefined, iamQuery: undefined };
}
export const MembershipQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.orgQuery !== undefined) {
            MembershipOrgQuery.encode(message.orgQuery, writer.uint32(10).fork()).join();
        }
        if (message.projectQuery !== undefined) {
            MembershipProjectQuery.encode(message.projectQuery, writer.uint32(18).fork()).join();
        }
        if (message.projectGrantQuery !== undefined) {
            MembershipProjectGrantQuery.encode(message.projectGrantQuery, writer.uint32(26).fork()).join();
        }
        if (message.iamQuery !== undefined) {
            MembershipIAMQuery.encode(message.iamQuery, writer.uint32(34).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 = createBaseMembershipQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.orgQuery = MembershipOrgQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.projectQuery = MembershipProjectQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.projectGrantQuery = MembershipProjectGrantQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.iamQuery = MembershipIAMQuery.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            orgQuery: isSet(object.orgQuery) ? MembershipOrgQuery.fromJSON(object.orgQuery) : undefined,
            projectQuery: isSet(object.projectQuery) ? MembershipProjectQuery.fromJSON(object.projectQuery) : undefined,
            projectGrantQuery: isSet(object.projectGrantQuery)
                ? MembershipProjectGrantQuery.fromJSON(object.projectGrantQuery)
                : undefined,
            iamQuery: isSet(object.iamQuery) ? MembershipIAMQuery.fromJSON(object.iamQuery) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.orgQuery !== undefined) {
            obj.orgQuery = MembershipOrgQuery.toJSON(message.orgQuery);
        }
        if (message.projectQuery !== undefined) {
            obj.projectQuery = MembershipProjectQuery.toJSON(message.projectQuery);
        }
        if (message.projectGrantQuery !== undefined) {
            obj.projectGrantQuery = MembershipProjectGrantQuery.toJSON(message.projectGrantQuery);
        }
        if (message.iamQuery !== undefined) {
            obj.iamQuery = MembershipIAMQuery.toJSON(message.iamQuery);
        }
        return obj;
    },
    create(base) {
        return MembershipQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMembershipQuery();
        message.orgQuery = (object.orgQuery !== undefined && object.orgQuery !== null)
            ? MembershipOrgQuery.fromPartial(object.orgQuery)
            : undefined;
        message.projectQuery = (object.projectQuery !== undefined && object.projectQuery !== null)
            ? MembershipProjectQuery.fromPartial(object.projectQuery)
            : undefined;
        message.projectGrantQuery = (object.projectGrantQuery !== undefined && object.projectGrantQuery !== null)
            ? MembershipProjectGrantQuery.fromPartial(object.projectGrantQuery)
            : undefined;
        message.iamQuery = (object.iamQuery !== undefined && object.iamQuery !== null)
            ? MembershipIAMQuery.fromPartial(object.iamQuery)
            : undefined;
        return message;
    },
};
function createBaseMembershipOrgQuery() {
    return { orgId: "" };
}
export const MembershipOrgQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.orgId !== "") {
            writer.uint32(10).string(message.orgId);
        }
        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 = createBaseMembershipOrgQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.orgId = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { orgId: isSet(object.orgId) ? globalThis.String(object.orgId) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.orgId !== "") {
            obj.orgId = message.orgId;
        }
        return obj;
    },
    create(base) {
        return MembershipOrgQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMembershipOrgQuery();
        message.orgId = object.orgId ?? "";
        return message;
    },
};
function createBaseMembershipProjectQuery() {
    return { projectId: "" };
}
export const MembershipProjectQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.projectId !== "") {
            writer.uint32(10).string(message.projectId);
        }
        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 = createBaseMembershipProjectQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.projectId = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { projectId: isSet(object.projectId) ? globalThis.String(object.projectId) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.projectId !== "") {
            obj.projectId = message.projectId;
        }
        return obj;
    },
    create(base) {
        return MembershipProjectQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMembershipProjectQuery();
        message.projectId = object.projectId ?? "";
        return message;
    },
};
function createBaseMembershipProjectGrantQuery() {
    return { projectGrantId: "" };
}
export const MembershipProjectGrantQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.projectGrantId !== "") {
            writer.uint32(10).string(message.projectGrantId);
        }
        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 = createBaseMembershipProjectGrantQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.projectGrantId = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { projectGrantId: isSet(object.projectGrantId) ? globalThis.String(object.projectGrantId) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.projectGrantId !== "") {
            obj.projectGrantId = message.projectGrantId;
        }
        return obj;
    },
    create(base) {
        return MembershipProjectGrantQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMembershipProjectGrantQuery();
        message.projectGrantId = object.projectGrantId ?? "";
        return message;
    },
};
function createBaseMembershipIAMQuery() {
    return { iam: false };
}
export const MembershipIAMQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.iam !== false) {
            writer.uint32(8).bool(message.iam);
        }
        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 = createBaseMembershipIAMQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.iam = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { iam: isSet(object.iam) ? globalThis.Boolean(object.iam) : false };
    },
    toJSON(message) {
        const obj = {};
        if (message.iam !== false) {
            obj.iam = message.iam;
        }
        return obj;
    },
    create(base) {
        return MembershipIAMQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseMembershipIAMQuery();
        message.iam = object.iam ?? false;
        return message;
    },
};
function createBaseSession() {
    return {
        sessionId: "",
        agentId: "",
        authState: 0,
        userId: "",
        userName: "",
        loginName: "",
        displayName: "",
        details: undefined,
        avatarUrl: "",
    };
}
export const Session = {
    encode(message, writer = new BinaryWriter()) {
        if (message.sessionId !== "") {
            writer.uint32(10).string(message.sessionId);
        }
        if (message.agentId !== "") {
            writer.uint32(18).string(message.agentId);
        }
        if (message.authState !== 0) {
            writer.uint32(24).int32(message.authState);
        }
        if (message.userId !== "") {
            writer.uint32(34).string(message.userId);
        }
        if (message.userName !== "") {
            writer.uint32(42).string(message.userName);
        }
        if (message.loginName !== "") {
            writer.uint32(58).string(message.loginName);
        }
        if (message.displayName !== "") {
            writer.uint32(66).string(message.displayName);
        }
        if (message.details !== undefined) {
            ObjectDetails.encode(message.details, writer.uint32(74).fork()).join();
        }
        if (message.avatarUrl !== "") {
            writer.uint32(82).string(message.avatarUrl);
        }
        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 = createBaseSession();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.sessionId = reader.string();
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.agentId = reader.string();
                    continue;
                }
                case 3: {
                    if (tag !== 24) {
                        break;
                    }
                    message.authState = reader.int32();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.userId = reader.string();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.userName = reader.string();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.loginName = reader.string();
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.displayName = reader.string();
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.details = ObjectDetails.decode(reader, reader.uint32());
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.avatarUrl = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            sessionId: isSet(object.sessionId) ? globalThis.String(object.sessionId) : "",
            agentId: isSet(object.agentId) ? globalThis.String(object.agentId) : "",
            authState: isSet(object.authState) ? sessionStateFromJSON(object.authState) : 0,
            userId: isSet(object.userId) ? globalThis.String(object.userId) : "",
            userName: isSet(object.userName) ? globalThis.String(object.userName) : "",
            loginName: isSet(object.loginName) ? globalThis.String(object.loginName) : "",
            displayName: isSet(object.displayName) ? globalThis.String(object.displayName) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            avatarUrl: isSet(object.avatarUrl) ? globalThis.String(object.avatarUrl) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.sessionId !== "") {
            obj.sessionId = message.sessionId;
        }
        if (message.agentId !== "") {
            obj.agentId = message.agentId;
        }
        if (message.authState !== 0) {
            obj.authState = sessionStateToJSON(message.authState);
        }
        if (message.userId !== "") {
            obj.userId = message.userId;
        }
        if (message.userName !== "") {
            obj.userName = message.userName;
        }
        if (message.loginName !== "") {
            obj.loginName = message.loginName;
        }
        if (message.displayName !== "") {
            obj.displayName = message.displayName;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.avatarUrl !== "") {
            obj.avatarUrl = message.avatarUrl;
        }
        return obj;
    },
    create(base) {
        return Session.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseSession();
        message.sessionId = object.sessionId ?? "";
        message.agentId = object.agentId ?? "";
        message.authState = object.authState ?? 0;
        message.userId = object.userId ?? "";
        message.userName = object.userName ?? "";
        message.loginName = object.loginName ?? "";
        message.displayName = object.displayName ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.avatarUrl = object.avatarUrl ?? "";
        return message;
    },
};
function createBaseRefreshToken() {
    return {
        id: "",
        details: undefined,
        clientId: "",
        authTime: undefined,
        idleExpiration: undefined,
        expiration: undefined,
        scopes: [],
        audience: [],
    };
}
export const RefreshToken = {
    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.clientId !== "") {
            writer.uint32(26).string(message.clientId);
        }
        if (message.authTime !== undefined) {
            Timestamp.encode(toTimestamp(message.authTime), writer.uint32(34).fork()).join();
        }
        if (message.idleExpiration !== undefined) {
            Timestamp.encode(toTimestamp(message.idleExpiration), writer.uint32(42).fork()).join();
        }
        if (message.expiration !== undefined) {
            Timestamp.encode(toTimestamp(message.expiration), writer.uint32(50).fork()).join();
        }
        for (const v of message.scopes) {
            writer.uint32(58).string(v);
        }
        for (const v of message.audience) {
            writer.uint32(66).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 = createBaseRefreshToken();
        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 !== 26) {
                        break;
                    }
                    message.clientId = reader.string();
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.authTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.idleExpiration = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.expiration = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.scopes.push(reader.string());
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.audience.push(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) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
            authTime: isSet(object.authTime) ? fromJsonTimestamp(object.authTime) : undefined,
            idleExpiration: isSet(object.idleExpiration) ? fromJsonTimestamp(object.idleExpiration) : undefined,
            expiration: isSet(object.expiration) ? fromJsonTimestamp(object.expiration) : undefined,
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
            audience: globalThis.Array.isArray(object?.audience) ? object.audience.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.clientId !== "") {
            obj.clientId = message.clientId;
        }
        if (message.authTime !== undefined) {
            obj.authTime = message.authTime.toISOString();
        }
        if (message.idleExpiration !== undefined) {
            obj.idleExpiration = message.idleExpiration.toISOString();
        }
        if (message.expiration !== undefined) {
            obj.expiration = message.expiration.toISOString();
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        if (message.audience?.length) {
            obj.audience = message.audience;
        }
        return obj;
    },
    create(base) {
        return RefreshToken.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseRefreshToken();
        message.id = object.id ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.clientId = object.clientId ?? "";
        message.authTime = object.authTime ?? undefined;
        message.idleExpiration = object.idleExpiration ?? undefined;
        message.expiration = object.expiration ?? undefined;
        message.scopes = object.scopes?.map((e) => e) || [];
        message.audience = object.audience?.map((e) => e) || [];
        return message;
    },
};
function createBasePersonalAccessToken() {
    return { id: "", details: undefined, expirationDate: undefined, scopes: [] };
}
export const PersonalAccessToken = {
    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.expirationDate !== undefined) {
            Timestamp.encode(toTimestamp(message.expirationDate), writer.uint32(26).fork()).join();
        }
        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 = createBasePersonalAccessToken();
        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 !== 26) {
                        break;
                    }
                    message.expirationDate = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
                    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 {
            id: isSet(object.id) ? globalThis.String(object.id) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            expirationDate: isSet(object.expirationDate) ? fromJsonTimestamp(object.expirationDate) : undefined,
            scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e) => globalThis.String(e)) : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.expirationDate !== undefined) {
            obj.expirationDate = message.expirationDate.toISOString();
        }
        if (message.scopes?.length) {
            obj.scopes = message.scopes;
        }
        return obj;
    },
    create(base) {
        return PersonalAccessToken.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBasePersonalAccessToken();
        message.id = object.id ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.expirationDate = object.expirationDate ?? undefined;
        message.scopes = object.scopes?.map((e) => e) || [];
        return message;
    },
};
function createBaseUserGrant() {
    return {
        id: "",
        details: undefined,
        roleKeys: [],
        state: 0,
        userId: "",
        userName: "",
        firstName: "",
        lastName: "",
        email: "",
        displayName: "",
        orgId: "",
        orgName: "",
        orgDomain: "",
        projectId: "",
        projectName: "",
        projectGrantId: "",
        avatarUrl: "",
        preferredLoginName: "",
        userType: 0,
        grantedOrgId: "",
        grantedOrgName: "",
        grantedOrgDomain: "",
    };
}
export const UserGrant = {
    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();
        }
        for (const v of message.roleKeys) {
            writer.uint32(26).string(v);
        }
        if (message.state !== 0) {
            writer.uint32(32).int32(message.state);
        }
        if (message.userId !== "") {
            writer.uint32(42).string(message.userId);
        }
        if (message.userName !== "") {
            writer.uint32(50).string(message.userName);
        }
        if (message.firstName !== "") {
            writer.uint32(58).string(message.firstName);
        }
        if (message.lastName !== "") {
            writer.uint32(66).string(message.lastName);
        }
        if (message.email !== "") {
            writer.uint32(74).string(message.email);
        }
        if (message.displayName !== "") {
            writer.uint32(82).string(message.displayName);
        }
        if (message.orgId !== "") {
            writer.uint32(90).string(message.orgId);
        }
        if (message.orgName !== "") {
            writer.uint32(98).string(message.orgName);
        }
        if (message.orgDomain !== "") {
            writer.uint32(106).string(message.orgDomain);
        }
        if (message.projectId !== "") {
            writer.uint32(114).string(message.projectId);
        }
        if (message.projectName !== "") {
            writer.uint32(122).string(message.projectName);
        }
        if (message.projectGrantId !== "") {
            writer.uint32(130).string(message.projectGrantId);
        }
        if (message.avatarUrl !== "") {
            writer.uint32(138).string(message.avatarUrl);
        }
        if (message.preferredLoginName !== "") {
            writer.uint32(146).string(message.preferredLoginName);
        }
        if (message.userType !== 0) {
            writer.uint32(152).int32(message.userType);
        }
        if (message.grantedOrgId !== "") {
            writer.uint32(162).string(message.grantedOrgId);
        }
        if (message.grantedOrgName !== "") {
            writer.uint32(170).string(message.grantedOrgName);
        }
        if (message.grantedOrgDomain !== "") {
            writer.uint32(178).string(message.grantedOrgDomain);
        }
        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 = createBaseUserGrant();
        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 !== 26) {
                        break;
                    }
                    message.roleKeys.push(reader.string());
                    continue;
                }
                case 4: {
                    if (tag !== 32) {
                        break;
                    }
                    message.state = reader.int32();
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.userId = reader.string();
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.userName = reader.string();
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.firstName = reader.string();
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.lastName = reader.string();
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.email = reader.string();
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.displayName = reader.string();
                    continue;
                }
                case 11: {
                    if (tag !== 90) {
                        break;
                    }
                    message.orgId = reader.string();
                    continue;
                }
                case 12: {
                    if (tag !== 98) {
                        break;
                    }
                    message.orgName = reader.string();
                    continue;
                }
                case 13: {
                    if (tag !== 106) {
                        break;
                    }
                    message.orgDomain = reader.string();
                    continue;
                }
                case 14: {
                    if (tag !== 114) {
                        break;
                    }
                    message.projectId = reader.string();
                    continue;
                }
                case 15: {
                    if (tag !== 122) {
                        break;
                    }
                    message.projectName = reader.string();
                    continue;
                }
                case 16: {
                    if (tag !== 130) {
                        break;
                    }
                    message.projectGrantId = reader.string();
                    continue;
                }
                case 17: {
                    if (tag !== 138) {
                        break;
                    }
                    message.avatarUrl = reader.string();
                    continue;
                }
                case 18: {
                    if (tag !== 146) {
                        break;
                    }
                    message.preferredLoginName = reader.string();
                    continue;
                }
                case 19: {
                    if (tag !== 152) {
                        break;
                    }
                    message.userType = reader.int32();
                    continue;
                }
                case 20: {
                    if (tag !== 162) {
                        break;
                    }
                    message.grantedOrgId = reader.string();
                    continue;
                }
                case 21: {
                    if (tag !== 170) {
                        break;
                    }
                    message.grantedOrgName = reader.string();
                    continue;
                }
                case 22: {
                    if (tag !== 178) {
                        break;
                    }
                    message.grantedOrgDomain = 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) : "",
            details: isSet(object.details) ? ObjectDetails.fromJSON(object.details) : undefined,
            roleKeys: globalThis.Array.isArray(object?.roleKeys) ? object.roleKeys.map((e) => globalThis.String(e)) : [],
            state: isSet(object.state) ? userGrantStateFromJSON(object.state) : 0,
            userId: isSet(object.userId) ? globalThis.String(object.userId) : "",
            userName: isSet(object.userName) ? globalThis.String(object.userName) : "",
            firstName: isSet(object.firstName) ? globalThis.String(object.firstName) : "",
            lastName: isSet(object.lastName) ? globalThis.String(object.lastName) : "",
            email: isSet(object.email) ? globalThis.String(object.email) : "",
            displayName: isSet(object.displayName) ? globalThis.String(object.displayName) : "",
            orgId: isSet(object.orgId) ? globalThis.String(object.orgId) : "",
            orgName: isSet(object.orgName) ? globalThis.String(object.orgName) : "",
            orgDomain: isSet(object.orgDomain) ? globalThis.String(object.orgDomain) : "",
            projectId: isSet(object.projectId) ? globalThis.String(object.projectId) : "",
            projectName: isSet(object.projectName) ? globalThis.String(object.projectName) : "",
            projectGrantId: isSet(object.projectGrantId) ? globalThis.String(object.projectGrantId) : "",
            avatarUrl: isSet(object.avatarUrl) ? globalThis.String(object.avatarUrl) : "",
            preferredLoginName: isSet(object.preferredLoginName) ? globalThis.String(object.preferredLoginName) : "",
            userType: isSet(object.userType) ? typeFromJSON(object.userType) : 0,
            grantedOrgId: isSet(object.grantedOrgId) ? globalThis.String(object.grantedOrgId) : "",
            grantedOrgName: isSet(object.grantedOrgName) ? globalThis.String(object.grantedOrgName) : "",
            grantedOrgDomain: isSet(object.grantedOrgDomain) ? globalThis.String(object.grantedOrgDomain) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.id !== "") {
            obj.id = message.id;
        }
        if (message.details !== undefined) {
            obj.details = ObjectDetails.toJSON(message.details);
        }
        if (message.roleKeys?.length) {
            obj.roleKeys = message.roleKeys;
        }
        if (message.state !== 0) {
            obj.state = userGrantStateToJSON(message.state);
        }
        if (message.userId !== "") {
            obj.userId = message.userId;
        }
        if (message.userName !== "") {
            obj.userName = message.userName;
        }
        if (message.firstName !== "") {
            obj.firstName = message.firstName;
        }
        if (message.lastName !== "") {
            obj.lastName = message.lastName;
        }
        if (message.email !== "") {
            obj.email = message.email;
        }
        if (message.displayName !== "") {
            obj.displayName = message.displayName;
        }
        if (message.orgId !== "") {
            obj.orgId = message.orgId;
        }
        if (message.orgName !== "") {
            obj.orgName = message.orgName;
        }
        if (message.orgDomain !== "") {
            obj.orgDomain = message.orgDomain;
        }
        if (message.projectId !== "") {
            obj.projectId = message.projectId;
        }
        if (message.projectName !== "") {
            obj.projectName = message.projectName;
        }
        if (message.projectGrantId !== "") {
            obj.projectGrantId = message.projectGrantId;
        }
        if (message.avatarUrl !== "") {
            obj.avatarUrl = message.avatarUrl;
        }
        if (message.preferredLoginName !== "") {
            obj.preferredLoginName = message.preferredLoginName;
        }
        if (message.userType !== 0) {
            obj.userType = typeToJSON(message.userType);
        }
        if (message.grantedOrgId !== "") {
            obj.grantedOrgId = message.grantedOrgId;
        }
        if (message.grantedOrgName !== "") {
            obj.grantedOrgName = message.grantedOrgName;
        }
        if (message.grantedOrgDomain !== "") {
            obj.grantedOrgDomain = message.grantedOrgDomain;
        }
        return obj;
    },
    create(base) {
        return UserGrant.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrant();
        message.id = object.id ?? "";
        message.details = (object.details !== undefined && object.details !== null)
            ? ObjectDetails.fromPartial(object.details)
            : undefined;
        message.roleKeys = object.roleKeys?.map((e) => e) || [];
        message.state = object.state ?? 0;
        message.userId = object.userId ?? "";
        message.userName = object.userName ?? "";
        message.firstName = object.firstName ?? "";
        message.lastName = object.lastName ?? "";
        message.email = object.email ?? "";
        message.displayName = object.displayName ?? "";
        message.orgId = object.orgId ?? "";
        message.orgName = object.orgName ?? "";
        message.orgDomain = object.orgDomain ?? "";
        message.projectId = object.projectId ?? "";
        message.projectName = object.projectName ?? "";
        message.projectGrantId = object.projectGrantId ?? "";
        message.avatarUrl = object.avatarUrl ?? "";
        message.preferredLoginName = object.preferredLoginName ?? "";
        message.userType = object.userType ?? 0;
        message.grantedOrgId = object.grantedOrgId ?? "";
        message.grantedOrgName = object.grantedOrgName ?? "";
        message.grantedOrgDomain = object.grantedOrgDomain ?? "";
        return message;
    },
};
function createBaseUserGrantQuery() {
    return {
        projectIdQuery: undefined,
        userIdQuery: undefined,
        withGrantedQuery: undefined,
        roleKeyQuery: undefined,
        projectGrantIdQuery: undefined,
        userNameQuery: undefined,
        firstNameQuery: undefined,
        lastNameQuery: undefined,
        emailQuery: undefined,
        orgNameQuery: undefined,
        orgDomainQuery: undefined,
        projectNameQuery: undefined,
        displayNameQuery: undefined,
        userTypeQuery: undefined,
    };
}
export const UserGrantQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.projectIdQuery !== undefined) {
            UserGrantProjectIDQuery.encode(message.projectIdQuery, writer.uint32(10).fork()).join();
        }
        if (message.userIdQuery !== undefined) {
            UserGrantUserIDQuery.encode(message.userIdQuery, writer.uint32(18).fork()).join();
        }
        if (message.withGrantedQuery !== undefined) {
            UserGrantWithGrantedQuery.encode(message.withGrantedQuery, writer.uint32(26).fork()).join();
        }
        if (message.roleKeyQuery !== undefined) {
            UserGrantRoleKeyQuery.encode(message.roleKeyQuery, writer.uint32(34).fork()).join();
        }
        if (message.projectGrantIdQuery !== undefined) {
            UserGrantProjectGrantIDQuery.encode(message.projectGrantIdQuery, writer.uint32(42).fork()).join();
        }
        if (message.userNameQuery !== undefined) {
            UserGrantUserNameQuery.encode(message.userNameQuery, writer.uint32(50).fork()).join();
        }
        if (message.firstNameQuery !== undefined) {
            UserGrantFirstNameQuery.encode(message.firstNameQuery, writer.uint32(58).fork()).join();
        }
        if (message.lastNameQuery !== undefined) {
            UserGrantLastNameQuery.encode(message.lastNameQuery, writer.uint32(66).fork()).join();
        }
        if (message.emailQuery !== undefined) {
            UserGrantEmailQuery.encode(message.emailQuery, writer.uint32(74).fork()).join();
        }
        if (message.orgNameQuery !== undefined) {
            UserGrantOrgNameQuery.encode(message.orgNameQuery, writer.uint32(82).fork()).join();
        }
        if (message.orgDomainQuery !== undefined) {
            UserGrantOrgDomainQuery.encode(message.orgDomainQuery, writer.uint32(90).fork()).join();
        }
        if (message.projectNameQuery !== undefined) {
            UserGrantProjectNameQuery.encode(message.projectNameQuery, writer.uint32(98).fork()).join();
        }
        if (message.displayNameQuery !== undefined) {
            UserGrantDisplayNameQuery.encode(message.displayNameQuery, writer.uint32(106).fork()).join();
        }
        if (message.userTypeQuery !== undefined) {
            UserGrantUserTypeQuery.encode(message.userTypeQuery, writer.uint32(114).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 = createBaseUserGrantQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.projectIdQuery = UserGrantProjectIDQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 2: {
                    if (tag !== 18) {
                        break;
                    }
                    message.userIdQuery = UserGrantUserIDQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 3: {
                    if (tag !== 26) {
                        break;
                    }
                    message.withGrantedQuery = UserGrantWithGrantedQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 4: {
                    if (tag !== 34) {
                        break;
                    }
                    message.roleKeyQuery = UserGrantRoleKeyQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 5: {
                    if (tag !== 42) {
                        break;
                    }
                    message.projectGrantIdQuery = UserGrantProjectGrantIDQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 6: {
                    if (tag !== 50) {
                        break;
                    }
                    message.userNameQuery = UserGrantUserNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 7: {
                    if (tag !== 58) {
                        break;
                    }
                    message.firstNameQuery = UserGrantFirstNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 8: {
                    if (tag !== 66) {
                        break;
                    }
                    message.lastNameQuery = UserGrantLastNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 9: {
                    if (tag !== 74) {
                        break;
                    }
                    message.emailQuery = UserGrantEmailQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 10: {
                    if (tag !== 82) {
                        break;
                    }
                    message.orgNameQuery = UserGrantOrgNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 11: {
                    if (tag !== 90) {
                        break;
                    }
                    message.orgDomainQuery = UserGrantOrgDomainQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 12: {
                    if (tag !== 98) {
                        break;
                    }
                    message.projectNameQuery = UserGrantProjectNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 13: {
                    if (tag !== 106) {
                        break;
                    }
                    message.displayNameQuery = UserGrantDisplayNameQuery.decode(reader, reader.uint32());
                    continue;
                }
                case 14: {
                    if (tag !== 114) {
                        break;
                    }
                    message.userTypeQuery = UserGrantUserTypeQuery.decode(reader, reader.uint32());
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            projectIdQuery: isSet(object.projectIdQuery)
                ? UserGrantProjectIDQuery.fromJSON(object.projectIdQuery)
                : undefined,
            userIdQuery: isSet(object.userIdQuery) ? UserGrantUserIDQuery.fromJSON(object.userIdQuery) : undefined,
            withGrantedQuery: isSet(object.withGrantedQuery)
                ? UserGrantWithGrantedQuery.fromJSON(object.withGrantedQuery)
                : undefined,
            roleKeyQuery: isSet(object.roleKeyQuery) ? UserGrantRoleKeyQuery.fromJSON(object.roleKeyQuery) : undefined,
            projectGrantIdQuery: isSet(object.projectGrantIdQuery)
                ? UserGrantProjectGrantIDQuery.fromJSON(object.projectGrantIdQuery)
                : undefined,
            userNameQuery: isSet(object.userNameQuery) ? UserGrantUserNameQuery.fromJSON(object.userNameQuery) : undefined,
            firstNameQuery: isSet(object.firstNameQuery)
                ? UserGrantFirstNameQuery.fromJSON(object.firstNameQuery)
                : undefined,
            lastNameQuery: isSet(object.lastNameQuery) ? UserGrantLastNameQuery.fromJSON(object.lastNameQuery) : undefined,
            emailQuery: isSet(object.emailQuery) ? UserGrantEmailQuery.fromJSON(object.emailQuery) : undefined,
            orgNameQuery: isSet(object.orgNameQuery) ? UserGrantOrgNameQuery.fromJSON(object.orgNameQuery) : undefined,
            orgDomainQuery: isSet(object.orgDomainQuery)
                ? UserGrantOrgDomainQuery.fromJSON(object.orgDomainQuery)
                : undefined,
            projectNameQuery: isSet(object.projectNameQuery)
                ? UserGrantProjectNameQuery.fromJSON(object.projectNameQuery)
                : undefined,
            displayNameQuery: isSet(object.displayNameQuery)
                ? UserGrantDisplayNameQuery.fromJSON(object.displayNameQuery)
                : undefined,
            userTypeQuery: isSet(object.userTypeQuery) ? UserGrantUserTypeQuery.fromJSON(object.userTypeQuery) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.projectIdQuery !== undefined) {
            obj.projectIdQuery = UserGrantProjectIDQuery.toJSON(message.projectIdQuery);
        }
        if (message.userIdQuery !== undefined) {
            obj.userIdQuery = UserGrantUserIDQuery.toJSON(message.userIdQuery);
        }
        if (message.withGrantedQuery !== undefined) {
            obj.withGrantedQuery = UserGrantWithGrantedQuery.toJSON(message.withGrantedQuery);
        }
        if (message.roleKeyQuery !== undefined) {
            obj.roleKeyQuery = UserGrantRoleKeyQuery.toJSON(message.roleKeyQuery);
        }
        if (message.projectGrantIdQuery !== undefined) {
            obj.projectGrantIdQuery = UserGrantProjectGrantIDQuery.toJSON(message.projectGrantIdQuery);
        }
        if (message.userNameQuery !== undefined) {
            obj.userNameQuery = UserGrantUserNameQuery.toJSON(message.userNameQuery);
        }
        if (message.firstNameQuery !== undefined) {
            obj.firstNameQuery = UserGrantFirstNameQuery.toJSON(message.firstNameQuery);
        }
        if (message.lastNameQuery !== undefined) {
            obj.lastNameQuery = UserGrantLastNameQuery.toJSON(message.lastNameQuery);
        }
        if (message.emailQuery !== undefined) {
            obj.emailQuery = UserGrantEmailQuery.toJSON(message.emailQuery);
        }
        if (message.orgNameQuery !== undefined) {
            obj.orgNameQuery = UserGrantOrgNameQuery.toJSON(message.orgNameQuery);
        }
        if (message.orgDomainQuery !== undefined) {
            obj.orgDomainQuery = UserGrantOrgDomainQuery.toJSON(message.orgDomainQuery);
        }
        if (message.projectNameQuery !== undefined) {
            obj.projectNameQuery = UserGrantProjectNameQuery.toJSON(message.projectNameQuery);
        }
        if (message.displayNameQuery !== undefined) {
            obj.displayNameQuery = UserGrantDisplayNameQuery.toJSON(message.displayNameQuery);
        }
        if (message.userTypeQuery !== undefined) {
            obj.userTypeQuery = UserGrantUserTypeQuery.toJSON(message.userTypeQuery);
        }
        return obj;
    },
    create(base) {
        return UserGrantQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantQuery();
        message.projectIdQuery = (object.projectIdQuery !== undefined && object.projectIdQuery !== null)
            ? UserGrantProjectIDQuery.fromPartial(object.projectIdQuery)
            : undefined;
        message.userIdQuery = (object.userIdQuery !== undefined && object.userIdQuery !== null)
            ? UserGrantUserIDQuery.fromPartial(object.userIdQuery)
            : undefined;
        message.withGrantedQuery = (object.withGrantedQuery !== undefined && object.withGrantedQuery !== null)
            ? UserGrantWithGrantedQuery.fromPartial(object.withGrantedQuery)
            : undefined;
        message.roleKeyQuery = (object.roleKeyQuery !== undefined && object.roleKeyQuery !== null)
            ? UserGrantRoleKeyQuery.fromPartial(object.roleKeyQuery)
            : undefined;
        message.projectGrantIdQuery = (object.projectGrantIdQuery !== undefined && object.projectGrantIdQuery !== null)
            ? UserGrantProjectGrantIDQuery.fromPartial(object.projectGrantIdQuery)
            : undefined;
        message.userNameQuery = (object.userNameQuery !== undefined && object.userNameQuery !== null)
            ? UserGrantUserNameQuery.fromPartial(object.userNameQuery)
            : undefined;
        message.firstNameQuery = (object.firstNameQuery !== undefined && object.firstNameQuery !== null)
            ? UserGrantFirstNameQuery.fromPartial(object.firstNameQuery)
            : undefined;
        message.lastNameQuery = (object.lastNameQuery !== undefined && object.lastNameQuery !== null)
            ? UserGrantLastNameQuery.fromPartial(object.lastNameQuery)
            : undefined;
        message.emailQuery = (object.emailQuery !== undefined && object.emailQuery !== null)
            ? UserGrantEmailQuery.fromPartial(object.emailQuery)
            : undefined;
        message.orgNameQuery = (object.orgNameQuery !== undefined && object.orgNameQuery !== null)
            ? UserGrantOrgNameQuery.fromPartial(object.orgNameQuery)
            : undefined;
        message.orgDomainQuery = (object.orgDomainQuery !== undefined && object.orgDomainQuery !== null)
            ? UserGrantOrgDomainQuery.fromPartial(object.orgDomainQuery)
            : undefined;
        message.projectNameQuery = (object.projectNameQuery !== undefined && object.projectNameQuery !== null)
            ? UserGrantProjectNameQuery.fromPartial(object.projectNameQuery)
            : undefined;
        message.displayNameQuery = (object.displayNameQuery !== undefined && object.displayNameQuery !== null)
            ? UserGrantDisplayNameQuery.fromPartial(object.displayNameQuery)
            : undefined;
        message.userTypeQuery = (object.userTypeQuery !== undefined && object.userTypeQuery !== null)
            ? UserGrantUserTypeQuery.fromPartial(object.userTypeQuery)
            : undefined;
        return message;
    },
};
function createBaseUserGrantProjectIDQuery() {
    return { projectId: "" };
}
export const UserGrantProjectIDQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.projectId !== "") {
            writer.uint32(10).string(message.projectId);
        }
        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 = createBaseUserGrantProjectIDQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.projectId = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { projectId: isSet(object.projectId) ? globalThis.String(object.projectId) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.projectId !== "") {
            obj.projectId = message.projectId;
        }
        return obj;
    },
    create(base) {
        return UserGrantProjectIDQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantProjectIDQuery();
        message.projectId = object.projectId ?? "";
        return message;
    },
};
function createBaseUserGrantUserIDQuery() {
    return { userId: "" };
}
export const UserGrantUserIDQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.userId !== "") {
            writer.uint32(10).string(message.userId);
        }
        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 = createBaseUserGrantUserIDQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userId = reader.string();
                    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) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.userId !== "") {
            obj.userId = message.userId;
        }
        return obj;
    },
    create(base) {
        return UserGrantUserIDQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantUserIDQuery();
        message.userId = object.userId ?? "";
        return message;
    },
};
function createBaseUserGrantWithGrantedQuery() {
    return { withGranted: false };
}
export const UserGrantWithGrantedQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.withGranted !== false) {
            writer.uint32(8).bool(message.withGranted);
        }
        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 = createBaseUserGrantWithGrantedQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.withGranted = reader.bool();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { withGranted: isSet(object.withGranted) ? globalThis.Boolean(object.withGranted) : false };
    },
    toJSON(message) {
        const obj = {};
        if (message.withGranted !== false) {
            obj.withGranted = message.withGranted;
        }
        return obj;
    },
    create(base) {
        return UserGrantWithGrantedQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantWithGrantedQuery();
        message.withGranted = object.withGranted ?? false;
        return message;
    },
};
function createBaseUserGrantRoleKeyQuery() {
    return { roleKey: "", method: 0 };
}
export const UserGrantRoleKeyQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.roleKey !== "") {
            writer.uint32(10).string(message.roleKey);
        }
        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 = createBaseUserGrantRoleKeyQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.roleKey = 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 {
            roleKey: isSet(object.roleKey) ? globalThis.String(object.roleKey) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.roleKey !== "") {
            obj.roleKey = message.roleKey;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantRoleKeyQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantRoleKeyQuery();
        message.roleKey = object.roleKey ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantProjectGrantIDQuery() {
    return { projectGrantId: "" };
}
export const UserGrantProjectGrantIDQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.projectGrantId !== "") {
            writer.uint32(10).string(message.projectGrantId);
        }
        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 = createBaseUserGrantProjectGrantIDQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.projectGrantId = reader.string();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { projectGrantId: isSet(object.projectGrantId) ? globalThis.String(object.projectGrantId) : "" };
    },
    toJSON(message) {
        const obj = {};
        if (message.projectGrantId !== "") {
            obj.projectGrantId = message.projectGrantId;
        }
        return obj;
    },
    create(base) {
        return UserGrantProjectGrantIDQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantProjectGrantIDQuery();
        message.projectGrantId = object.projectGrantId ?? "";
        return message;
    },
};
function createBaseUserGrantUserNameQuery() {
    return { userName: "", method: 0 };
}
export const UserGrantUserNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.userName !== "") {
            writer.uint32(10).string(message.userName);
        }
        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 = createBaseUserGrantUserNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.userName = 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 {
            userName: isSet(object.userName) ? globalThis.String(object.userName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.userName !== "") {
            obj.userName = message.userName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantUserNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantUserNameQuery();
        message.userName = object.userName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantFirstNameQuery() {
    return { firstName: "", method: 0 };
}
export const UserGrantFirstNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.firstName !== "") {
            writer.uint32(10).string(message.firstName);
        }
        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 = createBaseUserGrantFirstNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.firstName = 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 {
            firstName: isSet(object.firstName) ? globalThis.String(object.firstName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.firstName !== "") {
            obj.firstName = message.firstName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantFirstNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantFirstNameQuery();
        message.firstName = object.firstName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantLastNameQuery() {
    return { lastName: "", method: 0 };
}
export const UserGrantLastNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.lastName !== "") {
            writer.uint32(10).string(message.lastName);
        }
        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 = createBaseUserGrantLastNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.lastName = 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 {
            lastName: isSet(object.lastName) ? globalThis.String(object.lastName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.lastName !== "") {
            obj.lastName = message.lastName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantLastNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantLastNameQuery();
        message.lastName = object.lastName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantEmailQuery() {
    return { email: "", method: 0 };
}
export const UserGrantEmailQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.email !== "") {
            writer.uint32(10).string(message.email);
        }
        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 = createBaseUserGrantEmailQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.email = 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 {
            email: isSet(object.email) ? globalThis.String(object.email) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.email !== "") {
            obj.email = message.email;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantEmailQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantEmailQuery();
        message.email = object.email ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantOrgNameQuery() {
    return { orgName: "", method: 0 };
}
export const UserGrantOrgNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.orgName !== "") {
            writer.uint32(10).string(message.orgName);
        }
        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 = createBaseUserGrantOrgNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.orgName = 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 {
            orgName: isSet(object.orgName) ? globalThis.String(object.orgName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.orgName !== "") {
            obj.orgName = message.orgName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantOrgNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantOrgNameQuery();
        message.orgName = object.orgName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantOrgDomainQuery() {
    return { orgDomain: "", method: 0 };
}
export const UserGrantOrgDomainQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.orgDomain !== "") {
            writer.uint32(10).string(message.orgDomain);
        }
        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 = createBaseUserGrantOrgDomainQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.orgDomain = 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 {
            orgDomain: isSet(object.orgDomain) ? globalThis.String(object.orgDomain) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.orgDomain !== "") {
            obj.orgDomain = message.orgDomain;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantOrgDomainQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantOrgDomainQuery();
        message.orgDomain = object.orgDomain ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantProjectNameQuery() {
    return { projectName: "", method: 0 };
}
export const UserGrantProjectNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.projectName !== "") {
            writer.uint32(10).string(message.projectName);
        }
        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 = createBaseUserGrantProjectNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.projectName = 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 {
            projectName: isSet(object.projectName) ? globalThis.String(object.projectName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.projectName !== "") {
            obj.projectName = message.projectName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantProjectNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantProjectNameQuery();
        message.projectName = object.projectName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantDisplayNameQuery() {
    return { displayName: "", method: 0 };
}
export const UserGrantDisplayNameQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.displayName !== "") {
            writer.uint32(10).string(message.displayName);
        }
        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 = createBaseUserGrantDisplayNameQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 10) {
                        break;
                    }
                    message.displayName = 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 {
            displayName: isSet(object.displayName) ? globalThis.String(object.displayName) : "",
            method: isSet(object.method) ? textQueryMethodFromJSON(object.method) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.displayName !== "") {
            obj.displayName = message.displayName;
        }
        if (message.method !== 0) {
            obj.method = textQueryMethodToJSON(message.method);
        }
        return obj;
    },
    create(base) {
        return UserGrantDisplayNameQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantDisplayNameQuery();
        message.displayName = object.displayName ?? "";
        message.method = object.method ?? 0;
        return message;
    },
};
function createBaseUserGrantUserTypeQuery() {
    return { type: 0 };
}
export const UserGrantUserTypeQuery = {
    encode(message, writer = new BinaryWriter()) {
        if (message.type !== 0) {
            writer.uint32(8).int32(message.type);
        }
        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 = createBaseUserGrantUserTypeQuery();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1: {
                    if (tag !== 8) {
                        break;
                    }
                    message.type = reader.int32();
                    continue;
                }
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skip(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return { type: isSet(object.type) ? typeFromJSON(object.type) : 0 };
    },
    toJSON(message) {
        const obj = {};
        if (message.type !== 0) {
            obj.type = typeToJSON(message.type);
        }
        return obj;
    },
    create(base) {
        return UserGrantUserTypeQuery.fromPartial(base ?? {});
    },
    fromPartial(object) {
        const message = createBaseUserGrantUserTypeQuery();
        message.type = object.type ?? 0;
        return message;
    },
};
function bytesFromBase64(b64) {
    return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
}
function base64FromBytes(arr) {
    return globalThis.Buffer.from(arr).toString("base64");
}
function toTimestamp(date) {
    const seconds = numberToLong(Math.trunc(date.getTime() / 1_000));
    const nanos = (date.getTime() % 1_000) * 1_000_000;
    return { seconds, nanos };
}
function fromTimestamp(t) {
    let millis = (t.seconds.toNumber() || 0) * 1_000;
    millis += (t.nanos || 0) / 1_000_000;
    return new globalThis.Date(millis);
}
function fromJsonTimestamp(o) {
    if (o instanceof globalThis.Date) {
        return o;
    }
    else if (typeof o === "string") {
        return new globalThis.Date(o);
    }
    else {
        return fromTimestamp(Timestamp.fromJSON(o));
    }
}
function numberToLong(number) {
    return Long.fromNumber(number);
}
function isSet(value) {
    return value !== null && value !== undefined;
}