ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
47 lines (46 loc) • 1.63 kB
TypeScript
import type { z } from 'zod';
import type { PlatformRegistrationInputSchema, PlatformSearchInputSchema, PlatformUpdateInputSchema } from '#services/platform-manager/platform-manager.schemas';
import type { IdTokenValidationMethod } from '#services/platform-manager/platform-manager.constants';
export interface IdTokenValidation {
readonly method: IdTokenValidationMethod;
readonly key: string;
}
export interface PlatformKeys {
readonly public: string;
readonly private: string;
}
export interface Platform {
readonly id: string;
readonly url: string;
readonly clientId: string;
readonly name: string;
readonly authenticationEndpoint: string;
readonly accessTokenEndpoint: string;
readonly authorizationServer: string;
readonly idTokenValidation: IdTokenValidation;
readonly active: boolean;
readonly keys: PlatformKeys;
/**
* @deprecated Use keys.public field instead
*/
readonly publicKey: string;
/**
* @deprecated Use keys.private field instead
*/
readonly privateKey: string;
/**
* @deprecated Use idTokenValidation field instead
*/
readonly authConfig: IdTokenValidation;
/**
* @deprecated Use accessTokenEndpoint field instead
*/
readonly accesstokenEndpoint: string;
}
export interface GeneratedKeyPair {
public: string;
private: string;
}
export type PlatformRegistrationInput = z.infer<typeof PlatformRegistrationInputSchema>;
export type PlatformUpdateInput = z.infer<typeof PlatformUpdateInputSchema>;
export type PlatformSearchInput = z.infer<typeof PlatformSearchInputSchema>;