"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.GetStudentResponse$ = exports.GetStudentResponse$outboundSchema = exports.GetStudentResponse$inboundSchema = exports.GetStudentUser$ = exports.GetStudentUser$outboundSchema = exports.GetStudentUser$inboundSchema = exports.GetStudentPrimaryOrg$ = exports.GetStudentPrimaryOrg$outboundSchema = exports.GetStudentPrimaryOrg$inboundSchema = exports.GetStudentAgent$ = exports.GetStudentAgent$outboundSchema = exports.GetStudentAgent$inboundSchema = exports.GetStudentType$ = exports.GetStudentType$outboundSchema = exports.GetStudentType$inboundSchema = exports.GetStudentRole$ = exports.GetStudentRole$outboundSchema = exports.GetStudentRole$inboundSchema = exports.GetStudentOrg$ = exports.GetStudentOrg$outboundSchema = exports.GetStudentOrg$inboundSchema = exports.GetStudentRoleEnum$ = exports.GetStudentRoleEnum$outboundSchema = exports.GetStudentRoleEnum$inboundSchema = exports.GetStudentRoleType$ = exports.GetStudentRoleType$outboundSchema = exports.GetStudentRoleType$inboundSchema = exports.GetStudentUserId$ = exports.GetStudentUserId$outboundSchema = exports.GetStudentUserId$inboundSchema = exports.GetStudentStatus$ = exports.GetStudentStatus$outboundSchema = exports.GetStudentStatus$inboundSchema = exports.GetStudentRequest$ = exports.GetStudentRequest$outboundSchema = exports.GetStudentRequest$inboundSchema = exports.GetStudentType = exports.GetStudentRoleEnum = exports.GetStudentRoleType = exports.GetStudentStatus = void 0;
exports.getStudentRequestToJSON = getStudentRequestToJSON;
exports.getStudentRequestFromJSON = getStudentRequestFromJSON;
exports.getStudentUserIdToJSON = getStudentUserIdToJSON;
exports.getStudentUserIdFromJSON = getStudentUserIdFromJSON;
exports.getStudentOrgToJSON = getStudentOrgToJSON;
exports.getStudentOrgFromJSON = getStudentOrgFromJSON;
exports.getStudentRoleToJSON = getStudentRoleToJSON;
exports.getStudentRoleFromJSON = getStudentRoleFromJSON;
exports.getStudentAgentToJSON = getStudentAgentToJSON;
exports.getStudentAgentFromJSON = getStudentAgentFromJSON;
exports.getStudentPrimaryOrgToJSON = getStudentPrimaryOrgToJSON;
exports.getStudentPrimaryOrgFromJSON = getStudentPrimaryOrgFromJSON;
exports.getStudentUserToJSON = getStudentUserToJSON;
exports.getStudentUserFromJSON = getStudentUserFromJSON;
exports.getStudentResponseToJSON = getStudentResponseToJSON;
exports.getStudentResponseFromJSON = getStudentResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
exports.GetStudentStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetStudentRoleType = {
    Primary: "primary",
    Secondary: "secondary",
};
exports.GetStudentRoleEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
exports.GetStudentType = {
    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.GetStudentRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.GetStudentRequest$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 GetStudentRequest$;
(function (GetStudentRequest$) {
    /** @deprecated use `GetStudentRequest$inboundSchema` instead. */
    GetStudentRequest$.inboundSchema = exports.GetStudentRequest$inboundSchema;
    /** @deprecated use `GetStudentRequest$outboundSchema` instead. */
    GetStudentRequest$.outboundSchema = exports.GetStudentRequest$outboundSchema;
})(GetStudentRequest$ || (exports.GetStudentRequest$ = GetStudentRequest$ = {}));
function getStudentRequestToJSON(getStudentRequest) {
    return JSON.stringify(exports.GetStudentRequest$outboundSchema.parse(getStudentRequest));
}
function getStudentRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentRequest' from JSON`);
}
/** @internal */
exports.GetStudentStatus$inboundSchema = z.nativeEnum(exports.GetStudentStatus);
/** @internal */
exports.GetStudentStatus$outboundSchema = exports.GetStudentStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentStatus$;
(function (GetStudentStatus$) {
    /** @deprecated use `GetStudentStatus$inboundSchema` instead. */
    GetStudentStatus$.inboundSchema = exports.GetStudentStatus$inboundSchema;
    /** @deprecated use `GetStudentStatus$outboundSchema` instead. */
    GetStudentStatus$.outboundSchema = exports.GetStudentStatus$outboundSchema;
})(GetStudentStatus$ || (exports.GetStudentStatus$ = GetStudentStatus$ = {}));
/** @internal */
exports.GetStudentUserId$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
exports.GetStudentUserId$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 GetStudentUserId$;
(function (GetStudentUserId$) {
    /** @deprecated use `GetStudentUserId$inboundSchema` instead. */
    GetStudentUserId$.inboundSchema = exports.GetStudentUserId$inboundSchema;
    /** @deprecated use `GetStudentUserId$outboundSchema` instead. */
    GetStudentUserId$.outboundSchema = exports.GetStudentUserId$outboundSchema;
})(GetStudentUserId$ || (exports.GetStudentUserId$ = GetStudentUserId$ = {}));
function getStudentUserIdToJSON(getStudentUserId) {
    return JSON.stringify(exports.GetStudentUserId$outboundSchema.parse(getStudentUserId));
}
function getStudentUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentUserId' from JSON`);
}
/** @internal */
exports.GetStudentRoleType$inboundSchema = z.nativeEnum(exports.GetStudentRoleType);
/** @internal */
exports.GetStudentRoleType$outboundSchema = exports.GetStudentRoleType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentRoleType$;
(function (GetStudentRoleType$) {
    /** @deprecated use `GetStudentRoleType$inboundSchema` instead. */
    GetStudentRoleType$.inboundSchema = exports.GetStudentRoleType$inboundSchema;
    /** @deprecated use `GetStudentRoleType$outboundSchema` instead. */
    GetStudentRoleType$.outboundSchema = exports.GetStudentRoleType$outboundSchema;
})(GetStudentRoleType$ || (exports.GetStudentRoleType$ = GetStudentRoleType$ = {}));
/** @internal */
exports.GetStudentRoleEnum$inboundSchema = z.nativeEnum(exports.GetStudentRoleEnum);
/** @internal */
exports.GetStudentRoleEnum$outboundSchema = exports.GetStudentRoleEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentRoleEnum$;
(function (GetStudentRoleEnum$) {
    /** @deprecated use `GetStudentRoleEnum$inboundSchema` instead. */
    GetStudentRoleEnum$.inboundSchema = exports.GetStudentRoleEnum$inboundSchema;
    /** @deprecated use `GetStudentRoleEnum$outboundSchema` instead. */
    GetStudentRoleEnum$.outboundSchema = exports.GetStudentRoleEnum$outboundSchema;
})(GetStudentRoleEnum$ || (exports.GetStudentRoleEnum$ = GetStudentRoleEnum$ = {}));
/** @internal */
exports.GetStudentOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetStudentOrg$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 GetStudentOrg$;
(function (GetStudentOrg$) {
    /** @deprecated use `GetStudentOrg$inboundSchema` instead. */
    GetStudentOrg$.inboundSchema = exports.GetStudentOrg$inboundSchema;
    /** @deprecated use `GetStudentOrg$outboundSchema` instead. */
    GetStudentOrg$.outboundSchema = exports.GetStudentOrg$outboundSchema;
})(GetStudentOrg$ || (exports.GetStudentOrg$ = GetStudentOrg$ = {}));
function getStudentOrgToJSON(getStudentOrg) {
    return JSON.stringify(exports.GetStudentOrg$outboundSchema.parse(getStudentOrg));
}
function getStudentOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentOrg' from JSON`);
}
/** @internal */
exports.GetStudentRole$inboundSchema = z.object({
    roleType: exports.GetStudentRoleType$inboundSchema,
    role: exports.GetStudentRoleEnum$inboundSchema,
    org: z.lazy(() => exports.GetStudentOrg$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
exports.GetStudentRole$outboundSchema = z.object({
    roleType: exports.GetStudentRoleType$outboundSchema,
    role: exports.GetStudentRoleEnum$outboundSchema,
    org: z.lazy(() => exports.GetStudentOrg$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 GetStudentRole$;
(function (GetStudentRole$) {
    /** @deprecated use `GetStudentRole$inboundSchema` instead. */
    GetStudentRole$.inboundSchema = exports.GetStudentRole$inboundSchema;
    /** @deprecated use `GetStudentRole$outboundSchema` instead. */
    GetStudentRole$.outboundSchema = exports.GetStudentRole$outboundSchema;
})(GetStudentRole$ || (exports.GetStudentRole$ = GetStudentRole$ = {}));
function getStudentRoleToJSON(getStudentRole) {
    return JSON.stringify(exports.GetStudentRole$outboundSchema.parse(getStudentRole));
}
function getStudentRoleFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentRole$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentRole' from JSON`);
}
/** @internal */
exports.GetStudentType$inboundSchema = z.nativeEnum(exports.GetStudentType);
/** @internal */
exports.GetStudentType$outboundSchema = exports.GetStudentType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentType$;
(function (GetStudentType$) {
    /** @deprecated use `GetStudentType$inboundSchema` instead. */
    GetStudentType$.inboundSchema = exports.GetStudentType$inboundSchema;
    /** @deprecated use `GetStudentType$outboundSchema` instead. */
    GetStudentType$.outboundSchema = exports.GetStudentType$outboundSchema;
})(GetStudentType$ || (exports.GetStudentType$ = GetStudentType$ = {}));
/** @internal */
exports.GetStudentAgent$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetStudentType$inboundSchema,
});
/** @internal */
exports.GetStudentAgent$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetStudentType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentAgent$;
(function (GetStudentAgent$) {
    /** @deprecated use `GetStudentAgent$inboundSchema` instead. */
    GetStudentAgent$.inboundSchema = exports.GetStudentAgent$inboundSchema;
    /** @deprecated use `GetStudentAgent$outboundSchema` instead. */
    GetStudentAgent$.outboundSchema = exports.GetStudentAgent$outboundSchema;
})(GetStudentAgent$ || (exports.GetStudentAgent$ = GetStudentAgent$ = {}));
function getStudentAgentToJSON(getStudentAgent) {
    return JSON.stringify(exports.GetStudentAgent$outboundSchema.parse(getStudentAgent));
}
function getStudentAgentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentAgent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentAgent' from JSON`);
}
/** @internal */
exports.GetStudentPrimaryOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetStudentPrimaryOrg$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 GetStudentPrimaryOrg$;
(function (GetStudentPrimaryOrg$) {
    /** @deprecated use `GetStudentPrimaryOrg$inboundSchema` instead. */
    GetStudentPrimaryOrg$.inboundSchema = exports.GetStudentPrimaryOrg$inboundSchema;
    /** @deprecated use `GetStudentPrimaryOrg$outboundSchema` instead. */
    GetStudentPrimaryOrg$.outboundSchema = exports.GetStudentPrimaryOrg$outboundSchema;
})(GetStudentPrimaryOrg$ || (exports.GetStudentPrimaryOrg$ = GetStudentPrimaryOrg$ = {}));
function getStudentPrimaryOrgToJSON(getStudentPrimaryOrg) {
    return JSON.stringify(exports.GetStudentPrimaryOrg$outboundSchema.parse(getStudentPrimaryOrg));
}
function getStudentPrimaryOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentPrimaryOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentPrimaryOrg' from JSON`);
}
/** @internal */
exports.GetStudentUser$inboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetStudentStatus$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.GetStudentUserId$inboundSchema)).optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetStudentRole$inboundSchema)),
    agents: z.array(z.lazy(() => exports.GetStudentAgent$inboundSchema)),
    primaryOrg: z.lazy(() => exports.GetStudentPrimaryOrg$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.GetStudentUser$outboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetStudentStatus$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.GetStudentUserId$outboundSchema)).optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetStudentRole$outboundSchema)),
    agents: z.array(z.lazy(() => exports.GetStudentAgent$outboundSchema)),
    primaryOrg: z.lazy(() => exports.GetStudentPrimaryOrg$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 GetStudentUser$;
(function (GetStudentUser$) {
    /** @deprecated use `GetStudentUser$inboundSchema` instead. */
    GetStudentUser$.inboundSchema = exports.GetStudentUser$inboundSchema;
    /** @deprecated use `GetStudentUser$outboundSchema` instead. */
    GetStudentUser$.outboundSchema = exports.GetStudentUser$outboundSchema;
})(GetStudentUser$ || (exports.GetStudentUser$ = GetStudentUser$ = {}));
function getStudentUserToJSON(getStudentUser) {
    return JSON.stringify(exports.GetStudentUser$outboundSchema.parse(getStudentUser));
}
function getStudentUserFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentUser$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentUser' from JSON`);
}
/** @internal */
exports.GetStudentResponse$inboundSchema = z.object({
    user: z.lazy(() => exports.GetStudentUser$inboundSchema),
});
/** @internal */
exports.GetStudentResponse$outboundSchema = z.object({
    user: z.lazy(() => exports.GetStudentUser$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentResponse$;
(function (GetStudentResponse$) {
    /** @deprecated use `GetStudentResponse$inboundSchema` instead. */
    GetStudentResponse$.inboundSchema = exports.GetStudentResponse$inboundSchema;
    /** @deprecated use `GetStudentResponse$outboundSchema` instead. */
    GetStudentResponse$.outboundSchema = exports.GetStudentResponse$outboundSchema;
})(GetStudentResponse$ || (exports.GetStudentResponse$ = GetStudentResponse$ = {}));
function getStudentResponseToJSON(getStudentResponse) {
    return JSON.stringify(exports.GetStudentResponse$outboundSchema.parse(getStudentResponse));
}
function getStudentResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentResponse' from JSON`);
}
//# sourceMappingURL=getstudent.js.map