"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetUserResponse$ = exports.GetUserResponse$outboundSchema = exports.GetUserResponse$inboundSchema = exports.GetUserUser$ = exports.GetUserUser$outboundSchema = exports.GetUserUser$inboundSchema = exports.GetUserPrimaryOrg$ = exports.GetUserPrimaryOrg$outboundSchema = exports.GetUserPrimaryOrg$inboundSchema = exports.GetUserAgent$ = exports.GetUserAgent$outboundSchema = exports.GetUserAgent$inboundSchema = exports.GetUserType$ = exports.GetUserType$outboundSchema = exports.GetUserType$inboundSchema = exports.GetUserRole$ = exports.GetUserRole$outboundSchema = exports.GetUserRole$inboundSchema = exports.GetUserOrg$ = exports.GetUserOrg$outboundSchema = exports.GetUserOrg$inboundSchema = exports.GetUserRoleEnum$ = exports.GetUserRoleEnum$outboundSchema = exports.GetUserRoleEnum$inboundSchema = exports.GetUserRoleType$ = exports.GetUserRoleType$outboundSchema = exports.GetUserRoleType$inboundSchema = exports.GetUserUserId$ = exports.GetUserUserId$outboundSchema = exports.GetUserUserId$inboundSchema = exports.GetUserStatus$ = exports.GetUserStatus$outboundSchema = exports.GetUserStatus$inboundSchema = exports.GetUserRequest$ = exports.GetUserRequest$outboundSchema = exports.GetUserRequest$inboundSchema = exports.GetUserType = exports.GetUserRoleEnum = exports.GetUserRoleType = exports.GetUserStatus = void 0;
exports.getUserRequestToJSON = getUserRequestToJSON;
exports.getUserRequestFromJSON = getUserRequestFromJSON;
exports.getUserUserIdToJSON = getUserUserIdToJSON;
exports.getUserUserIdFromJSON = getUserUserIdFromJSON;
exports.getUserOrgToJSON = getUserOrgToJSON;
exports.getUserOrgFromJSON = getUserOrgFromJSON;
exports.getUserRoleToJSON = getUserRoleToJSON;
exports.getUserRoleFromJSON = getUserRoleFromJSON;
exports.getUserAgentToJSON = getUserAgentToJSON;
exports.getUserAgentFromJSON = getUserAgentFromJSON;
exports.getUserPrimaryOrgToJSON = getUserPrimaryOrgToJSON;
exports.getUserPrimaryOrgFromJSON = getUserPrimaryOrgFromJSON;
exports.getUserUserToJSON = getUserUserToJSON;
exports.getUserUserFromJSON = getUserUserFromJSON;
exports.getUserResponseToJSON = getUserResponseToJSON;
exports.getUserResponseFromJSON = getUserResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
exports.GetUserStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetUserRoleType = {
    Primary: "primary",
    Secondary: "secondary",
};
exports.GetUserRoleEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
exports.GetUserType = {
    AcademicSession: "academicSession",
    AssessmentLineItem: "assessmentLineItem",
    Category: "category",
    Class: "class",
    Course: "course",
    Demographics: "demographics",
    Enrollment: "enrollment",
    GradingPeriod: "gradingPeriod",
    LineItem: "lineItem",
    Org: "org",
    Resource: "resource",
    Result: "result",
    ScoreScale: "scoreScale",
    Student: "student",
    Teacher: "teacher",
    Term: "term",
    User: "user",
    ComponentResource: "componentResource",
    CourseComponent: "courseComponent",
};
/** @internal */
exports.GetUserRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.GetUserRequest$outboundSchema = z.object({
    sourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserRequest$;
(function (GetUserRequest$) {
    /** @deprecated use `GetUserRequest$inboundSchema` instead. */
    GetUserRequest$.inboundSchema = exports.GetUserRequest$inboundSchema;
    /** @deprecated use `GetUserRequest$outboundSchema` instead. */
    GetUserRequest$.outboundSchema = exports.GetUserRequest$outboundSchema;
})(GetUserRequest$ || (exports.GetUserRequest$ = GetUserRequest$ = {}));
function getUserRequestToJSON(getUserRequest) {
    return JSON.stringify(exports.GetUserRequest$outboundSchema.parse(getUserRequest));
}
function getUserRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserRequest' from JSON`);
}
/** @internal */
exports.GetUserStatus$inboundSchema = z.nativeEnum(exports.GetUserStatus);
/** @internal */
exports.GetUserStatus$outboundSchema = exports.GetUserStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserStatus$;
(function (GetUserStatus$) {
    /** @deprecated use `GetUserStatus$inboundSchema` instead. */
    GetUserStatus$.inboundSchema = exports.GetUserStatus$inboundSchema;
    /** @deprecated use `GetUserStatus$outboundSchema` instead. */
    GetUserStatus$.outboundSchema = exports.GetUserStatus$outboundSchema;
})(GetUserStatus$ || (exports.GetUserStatus$ = GetUserStatus$ = {}));
/** @internal */
exports.GetUserUserId$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
exports.GetUserUserId$outboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserUserId$;
(function (GetUserUserId$) {
    /** @deprecated use `GetUserUserId$inboundSchema` instead. */
    GetUserUserId$.inboundSchema = exports.GetUserUserId$inboundSchema;
    /** @deprecated use `GetUserUserId$outboundSchema` instead. */
    GetUserUserId$.outboundSchema = exports.GetUserUserId$outboundSchema;
})(GetUserUserId$ || (exports.GetUserUserId$ = GetUserUserId$ = {}));
function getUserUserIdToJSON(getUserUserId) {
    return JSON.stringify(exports.GetUserUserId$outboundSchema.parse(getUserUserId));
}
function getUserUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserUserId' from JSON`);
}
/** @internal */
exports.GetUserRoleType$inboundSchema = z.nativeEnum(exports.GetUserRoleType);
/** @internal */
exports.GetUserRoleType$outboundSchema = exports.GetUserRoleType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserRoleType$;
(function (GetUserRoleType$) {
    /** @deprecated use `GetUserRoleType$inboundSchema` instead. */
    GetUserRoleType$.inboundSchema = exports.GetUserRoleType$inboundSchema;
    /** @deprecated use `GetUserRoleType$outboundSchema` instead. */
    GetUserRoleType$.outboundSchema = exports.GetUserRoleType$outboundSchema;
})(GetUserRoleType$ || (exports.GetUserRoleType$ = GetUserRoleType$ = {}));
/** @internal */
exports.GetUserRoleEnum$inboundSchema = z.nativeEnum(exports.GetUserRoleEnum);
/** @internal */
exports.GetUserRoleEnum$outboundSchema = exports.GetUserRoleEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserRoleEnum$;
(function (GetUserRoleEnum$) {
    /** @deprecated use `GetUserRoleEnum$inboundSchema` instead. */
    GetUserRoleEnum$.inboundSchema = exports.GetUserRoleEnum$inboundSchema;
    /** @deprecated use `GetUserRoleEnum$outboundSchema` instead. */
    GetUserRoleEnum$.outboundSchema = exports.GetUserRoleEnum$outboundSchema;
})(GetUserRoleEnum$ || (exports.GetUserRoleEnum$ = GetUserRoleEnum$ = {}));
/** @internal */
exports.GetUserOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetUserOrg$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserOrg$;
(function (GetUserOrg$) {
    /** @deprecated use `GetUserOrg$inboundSchema` instead. */
    GetUserOrg$.inboundSchema = exports.GetUserOrg$inboundSchema;
    /** @deprecated use `GetUserOrg$outboundSchema` instead. */
    GetUserOrg$.outboundSchema = exports.GetUserOrg$outboundSchema;
})(GetUserOrg$ || (exports.GetUserOrg$ = GetUserOrg$ = {}));
function getUserOrgToJSON(getUserOrg) {
    return JSON.stringify(exports.GetUserOrg$outboundSchema.parse(getUserOrg));
}
function getUserOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserOrg' from JSON`);
}
/** @internal */
exports.GetUserRole$inboundSchema = z.object({
    roleType: exports.GetUserRoleType$inboundSchema,
    role: exports.GetUserRoleEnum$inboundSchema,
    org: z.lazy(() => exports.GetUserOrg$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
exports.GetUserRole$outboundSchema = z.object({
    roleType: exports.GetUserRoleType$outboundSchema,
    role: exports.GetUserRoleEnum$outboundSchema,
    org: z.lazy(() => exports.GetUserOrg$outboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserRole$;
(function (GetUserRole$) {
    /** @deprecated use `GetUserRole$inboundSchema` instead. */
    GetUserRole$.inboundSchema = exports.GetUserRole$inboundSchema;
    /** @deprecated use `GetUserRole$outboundSchema` instead. */
    GetUserRole$.outboundSchema = exports.GetUserRole$outboundSchema;
})(GetUserRole$ || (exports.GetUserRole$ = GetUserRole$ = {}));
function getUserRoleToJSON(getUserRole) {
    return JSON.stringify(exports.GetUserRole$outboundSchema.parse(getUserRole));
}
function getUserRoleFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserRole$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserRole' from JSON`);
}
/** @internal */
exports.GetUserType$inboundSchema = z
    .nativeEnum(exports.GetUserType);
/** @internal */
exports.GetUserType$outboundSchema = exports.GetUserType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserType$;
(function (GetUserType$) {
    /** @deprecated use `GetUserType$inboundSchema` instead. */
    GetUserType$.inboundSchema = exports.GetUserType$inboundSchema;
    /** @deprecated use `GetUserType$outboundSchema` instead. */
    GetUserType$.outboundSchema = exports.GetUserType$outboundSchema;
})(GetUserType$ || (exports.GetUserType$ = GetUserType$ = {}));
/** @internal */
exports.GetUserAgent$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetUserType$inboundSchema,
});
/** @internal */
exports.GetUserAgent$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetUserType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserAgent$;
(function (GetUserAgent$) {
    /** @deprecated use `GetUserAgent$inboundSchema` instead. */
    GetUserAgent$.inboundSchema = exports.GetUserAgent$inboundSchema;
    /** @deprecated use `GetUserAgent$outboundSchema` instead. */
    GetUserAgent$.outboundSchema = exports.GetUserAgent$outboundSchema;
})(GetUserAgent$ || (exports.GetUserAgent$ = GetUserAgent$ = {}));
function getUserAgentToJSON(getUserAgent) {
    return JSON.stringify(exports.GetUserAgent$outboundSchema.parse(getUserAgent));
}
function getUserAgentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserAgent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserAgent' from JSON`);
}
/** @internal */
exports.GetUserPrimaryOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetUserPrimaryOrg$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserPrimaryOrg$;
(function (GetUserPrimaryOrg$) {
    /** @deprecated use `GetUserPrimaryOrg$inboundSchema` instead. */
    GetUserPrimaryOrg$.inboundSchema = exports.GetUserPrimaryOrg$inboundSchema;
    /** @deprecated use `GetUserPrimaryOrg$outboundSchema` instead. */
    GetUserPrimaryOrg$.outboundSchema = exports.GetUserPrimaryOrg$outboundSchema;
})(GetUserPrimaryOrg$ || (exports.GetUserPrimaryOrg$ = GetUserPrimaryOrg$ = {}));
function getUserPrimaryOrgToJSON(getUserPrimaryOrg) {
    return JSON.stringify(exports.GetUserPrimaryOrg$outboundSchema.parse(getUserPrimaryOrg));
}
function getUserPrimaryOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserPrimaryOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserPrimaryOrg' from JSON`);
}
/** @internal */
exports.GetUserUser$inboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetUserStatus$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => exports.GetUserUserId$inboundSchema)).optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetUserRole$inboundSchema)),
    agents: z.array(z.lazy(() => exports.GetUserAgent$inboundSchema)),
    primaryOrg: z.lazy(() => exports.GetUserPrimaryOrg$inboundSchema).optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(z.string()).optional(),
});
/** @internal */
exports.GetUserUser$outboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetUserStatus$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => exports.GetUserUserId$outboundSchema)).optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetUserRole$outboundSchema)),
    agents: z.array(z.lazy(() => exports.GetUserAgent$outboundSchema)),
    primaryOrg: z.lazy(() => exports.GetUserPrimaryOrg$outboundSchema).optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(z.string()).optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserUser$;
(function (GetUserUser$) {
    /** @deprecated use `GetUserUser$inboundSchema` instead. */
    GetUserUser$.inboundSchema = exports.GetUserUser$inboundSchema;
    /** @deprecated use `GetUserUser$outboundSchema` instead. */
    GetUserUser$.outboundSchema = exports.GetUserUser$outboundSchema;
})(GetUserUser$ || (exports.GetUserUser$ = GetUserUser$ = {}));
function getUserUserToJSON(getUserUser) {
    return JSON.stringify(exports.GetUserUser$outboundSchema.parse(getUserUser));
}
function getUserUserFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserUser$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserUser' from JSON`);
}
/** @internal */
exports.GetUserResponse$inboundSchema = z.object({
    user: z.lazy(() => exports.GetUserUser$inboundSchema),
});
/** @internal */
exports.GetUserResponse$outboundSchema = z.object({
    user: z.lazy(() => exports.GetUserUser$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetUserResponse$;
(function (GetUserResponse$) {
    /** @deprecated use `GetUserResponse$inboundSchema` instead. */
    GetUserResponse$.inboundSchema = exports.GetUserResponse$inboundSchema;
    /** @deprecated use `GetUserResponse$outboundSchema` instead. */
    GetUserResponse$.outboundSchema = exports.GetUserResponse$outboundSchema;
})(GetUserResponse$ || (exports.GetUserResponse$ = GetUserResponse$ = {}));
function getUserResponseToJSON(getUserResponse) {
    return JSON.stringify(exports.GetUserResponse$outboundSchema.parse(getUserResponse));
}
function getUserResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetUserResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUserResponse' from JSON`);
}
//# sourceMappingURL=getuser.js.map