ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
47 lines • 2.54 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubmissionReviewRequestSchema = exports.DeepLinkingRequestSchema = exports.ResourceLinkRequestSchema = exports.JwksResponseSchema = void 0;
const zod_1 = require("zod");
const id_token_constants_1 = require("#services/launch/id-token.constants");
const oidc_constants_1 = require("#services/oidc/oidc.constants");
exports.JwksResponseSchema = zod_1.z
.object({
keys: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())),
})
.loose();
const CommonClaims = {
[]: zod_1.z.literal(oidc_constants_1.LTI_VERSION),
[]: zod_1.z.string(),
[]: zod_1.z.array(zod_1.z.string()),
[]: zod_1.z.string().min(1),
[]: zod_1.z.string().min(1),
[]: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]),
[]: zod_1.z.string().optional(),
[]: zod_1.z.number(),
[]: zod_1.z.number(),
[]: zod_1.z.string().min(1),
};
exports.ResourceLinkRequestSchema = zod_1.z
.object({
...CommonClaims,
[]: zod_1.z.literal(id_token_constants_1.LtiMessageType.ResourceLinkRequest),
[]: zod_1.z.string(),
[]: zod_1.z.object({ id: zod_1.z.string() }).loose(),
})
.loose();
exports.DeepLinkingRequestSchema = zod_1.z
.object({
...CommonClaims,
[]: zod_1.z.literal(id_token_constants_1.LtiMessageType.DeepLinkingRequest),
})
.loose();
exports.SubmissionReviewRequestSchema = zod_1.z
.object({
...CommonClaims,
[]: zod_1.z.literal(id_token_constants_1.LtiMessageType.SubmissionReviewRequest),
[]: zod_1.z.string(),
[]: zod_1.z.object({ user_id: zod_1.z.string() }).loose(),
[]: zod_1.z.unknown().refine(value => value !== undefined, { message: 'Required' }),
})
.loose();
//# sourceMappingURL=oidc.schemas.js.map