Skip to content

Instantly share code, notes, and snippets.

@pfgray
Created July 28, 2022 13:26
Show Gist options
  • Save pfgray/98c4ec6e1bf15ec5cd71ba11a598cf26 to your computer and use it in GitHub Desktop.
Save pfgray/98c4ec6e1bf15ec5cd71ba11a598cf26 to your computer and use it in GitHub Desktop.
/* tslint:disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
/**
* Author-Claude Vervoort (Cengage), Colin Smythe (IMS Global) and James Rissler (IMS Global); Version-Final 1.0; Release Date-6th May, 2019. The contents for the LTI Deep Linking 2.0 request message JWT [ Schema version 1.0 ].
*/
export type LearningToolsInteroperabilityVersion13FinalReleaseJSONSchemaBindingSchemaDeeplinkingrequest =
LTIJWTMessageCore & {
/**
* This required attribute indicates the type of the sender's LTI message. Each message type MUST have a unique value.
*/
"https://purl.imsglobal.org/spec/lti/claim/message_type": "LtiDeepLinkingRequest";
"https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings": DeepLinkingSettings;
};
/**
* This is the common set of JWT claims that are either available or must be used for the set of messages used in LTI Advantage.
*/
export type LTIJWTMessageCore = LTISecurityFrameworkJWT & {
/**
* Model Primitive Datatype = String. End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences.
*/
name?: string;
/**
* Model Primitive Datatype = String. Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.
*/
given_name?: string;
/**
* Model Primitive Datatype = String. Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.
*/
family_name?: string;
/**
* Model Primitive Datatype = String. Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used.
*/
middle_name?: string;
/**
* Model Primitive Datatype = String. URL of the End-User's profile picture. This URL MUST refer to an image file (for example, a PNG, JPEG, or GIF image file), rather than to a Web page containing an image. Note that this URL SHOULD specifically reference a profile photo of the End-User suitable for displaying when describing the End-User, rather than an arbitrary photo taken by the End-User.
*/
picture?: string;
/**
* Model Primitive Datatype = String. End-User's preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC 5322] addr-spec syntax. The Tool MUST NOT rely upon this value being unique.
*/
email?: string;
/**
* Model Primitive Datatype = String. End-User's locale, represented as a BCP47 [RFC5646] language tag. This is typically an ISO 639-1 Alpha-2 [ISO 639-1] language code in lowercase and an ISO 3166-1 Alpha-2 [ISO 3166-1] country code in uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example, en_US; Tools MAY choose to accept this locale syntax as well.
*/
locale?: string;
/**
* This required attribute contains an array of URI values for roles that the user has within the message's associated context. The permitted set of roles are enumerated.
*
* @minItems 1
*/
"https://purl.imsglobal.org/spec/lti/claim/roles": [
(
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#Non"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#AccountAdmin"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#Creator"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#SysAdmin"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#SysSupport"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#User"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Guest"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#None"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Other"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Staff"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Student"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Alumni"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Faculty"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Learner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Member"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Mentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Observer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#ProspectiveStudent"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#ContentDeveloper"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Instructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Learner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Mentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Manager"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Member"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Officer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#Developer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#ExternalDeveloper"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#ExternalSupport"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#ExternalSystemAdministrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#SystemAdministrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#Support"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#ContentDeveloper"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#ContentExpert"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#ExternalContentExpert"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#Librarian"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#ExternalInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#Grade"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#GuestInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#Instructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#Lecturer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#PrimaryInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#SecondaryInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistant"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantGroup"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantOfferuing"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantSection"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantTemplate"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#ExternalLearner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#GuestLearner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#Learner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#NonCreditLearner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#AreaManager"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#CourseCoordinator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#ExternalObserver"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#Manager"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#Observer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Member#Member"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Advisor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Auditor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalAdvisor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalAuditor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalLearningFacilitator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalMentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalReviewer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#LearningFacilitator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Mentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Reviewer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Tutor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Chair"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Secretary"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Treasurer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Vice-Chair"
),
...(
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#Non"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#AccountAdmin"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#Creator"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#SysAdmin"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#SysSupport"
| "http://purl.imsglobal.org/vocab/lis/v2/system/person#User"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Guest"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#None"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Other"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Staff"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Student"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Alumni"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Faculty"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Learner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Member"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Mentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Observer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/person#ProspectiveStudent"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#ContentDeveloper"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Instructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Learner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Mentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Manager"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Member"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership#Officer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#Administrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#Developer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#ExternalDeveloper"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#ExternalSupport"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#ExternalSystemAdministrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#SystemAdministrator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Administrator#Support"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#ContentDeveloper"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#ContentExpert"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#ExternalContentExpert"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/ContentDeveloper#Librarian"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#ExternalInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#Grade"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#GuestInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#Instructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#Lecturer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#PrimaryInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#SecondaryInstructor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistant"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantGroup"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantOfferuing"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantSection"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Instructor#TeachingAssistantTemplate"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#ExternalLearner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#GuestLearner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#Learner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Learner#NonCreditLearner"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#AreaManager"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#CourseCoordinator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#ExternalObserver"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#Manager"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Manager#Observer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Member#Member"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Advisor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Auditor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalAdvisor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalAuditor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalLearningFacilitator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalMentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#ExternalReviewer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#LearningFacilitator"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Mentor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Reviewer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Mentor#Tutor"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Chair"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Secretary"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Treasurer"
| "http://purl.imsglobal.org/vocab/lis/v2/institution/membership/Officer#Vice-Chair"
)[]
];
/**
* Model Primitive Datatype = String. Contains an array of the user ID values which the current, launching user can access as a mentor.
*
* @minItems 0
*/
"https://purl.imsglobal.org/spec/lti/claim/role_scope_mentor"?: string[];
"https://purl.imsglobal.org/spec/lti/claim/context"?: ContextClaim;
"https://purl.imsglobal.org/spec/lti/claim/tool_platform": ToolPlatformClaim;
"https://purl.imsglobal.org/spec/lti/claim/launch_presentation"?: LaunchPresentationClaim;
"https://purl.imsglobal.org/spec/lti/claim/custom"?: CustomClaim;
};
/**
* This is the set of claims as defined by the IMS Security Framework.
*/
export interface LTISecurityFrameworkJWT {
/**
* Model Primitive Datatype = String. Issuer Identifier for the Issuer of the token. The iss value is a case sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components.
*/
iss: string;
/**
* Model Primitive Datatype = String. A locally unique and never reassigned identifier within the Issuer for the End-User, which is intended to be consumed by the Client, e.g., 24400320 or AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4. It MUST NOT exceed 255 ASCII characters in length. The sub value is a case sensitive string.
*/
sub?: string;
/**
* Model Primitive Datatype = String. Audience(s) that this ID Token is intended for. It MUST contain the OAuth 2.0 client_id of the tool provider. It MAY also contain identifiers for other audiences. In the general case, the aud value is an array of case sensitive strings. In the common special case when there is one audience, the aud value MAY be a single case sensitive string.
*
* @minItems 1
*/
aud: [string, ...string[]];
/**
* Model Primitive Datatype = Integer. Expiration time on or after which the ID Token MUST NOT be accepted for processing. The processing of this parameter requires that the current date/time MUST be before the expiration date/time listed in the value. Implementers MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time. See RFC 3339 [RFC3339] for details regarding date/times in general and UTC in particular.
*/
exp: number;
/**
* Model Primitive Datatype = Integer. Time at which the JWT was issued. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.
*/
iat: number;
/**
* Model Primitive Datatype = String. Authorized party - the party to which the ID Token was issued. If present, it MUST contain the OAuth 2.0 Client ID of this party.
*/
azp?: string;
/**
* Model Primitive Datatype = String. String value used to associate a Client session with an ID Token, and to mitigate replay attacks.
*/
nonce: string;
/**
* This required attribute indicates the version of LTI to which the message conforms.
*/
"https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0";
/**
* Model Primitive Datatype = String. This required attribute contains a string that defines the platform-tool integration governing the message.
*/
"https://purl.imsglobal.org/spec/lti/claim/deployment_id": string;
}
/**
* This optional attribute contains properties for the context from within which the resource link launch occurs.
*/
export interface ContextClaim {
/**
* Model Primitive Datatype = String. Stable identifier that uniquely identifies the context from which the LTI message initiates. This MUST be locally unique to the 'deployment_id.
*/
id: string;
/**
* Model Primitive Datatype = String. Short descriptive name for the context.
*/
label?: string;
/**
* Model Primitive Datatype = String. Full descriptive name for the context.
*/
title?: string;
/**
* An array of URI values for context types. The contained values come from either the associated enumerated vocabulary or a proprietary URI.
*
* @minItems 0
*/
type?: (
| string
| (
| "http://purl.imsglobal.org/vocab/lis/v2/course#CourseTemplate"
| "http://purl.imsglobal.org/vocab/lis/v2/course#CourseOffering"
| "http://purl.imsglobal.org/vocab/lis/v2/course#CourseSection"
| "http://purl.imsglobal.org/vocab/lis/v2/course#CourseGroup"
)
)[];
}
/**
* The set of claims for the properties associated with the platform initiating the launch.
*/
export interface ToolPlatformClaim {
/**
* Model Primitive Datatype = String. A stable locally unique, to the 'iss' identifier, for an instance of the tool platform.
*/
guid: string;
/**
* Model Primitive Datatype = String. Administrative contact email for the platform instance.
*/
contact_email?: string;
/**
* Model Primitive Datatype = String. A human readable description of the platform instance.
*/
description?: string;
/**
* Model Primitive Datatype = String. Name for the platform instance.
*/
name?: string;
/**
* Model Primitive Datatype = String. Home HTTPS URL endpoint for the platform instance.
*/
url?: string;
/**
* Model Primitive Datatype = String. Vendor product family code for the type of platform.
*/
product_family_code?: string;
/**
* Model Primitive Datatype = String. Vendor product version for the platform.
*/
version?: string;
}
/**
* The set of claims for the properties that describe aspects of how the sender expects to host the presentation of the message receiver's user experience.
*/
export interface LaunchPresentationClaim {
/**
* The kind of browser window or frame from which the user launched inside the message sender's system.
*/
document_target?: "frame" | "iframe" | "window";
/**
* Model Primitive Datatype = Integer. The height of the window or frame where the content from the message receiver will be displayed to the user.
*/
height?: number;
/**
* Model Primitive Datatype = Integer. The width of the window or frame where the content from the message receiver will be displayed to the user.
*/
width?: number;
/**
* Model Primitive Datatype = String. Fully qualified HTTPS URL within the message sender's user experience to where the message receiver can redirect the user back.
*/
return_url?: string;
/**
* Model Primitive Datatype = String. Language, country and varuiant as represented using the IETF Best Practices for Tags for Identifying Languages.
*/
locale?: string;
}
/**
* The set of custom parameters that are to be used by the tool.
*/
export interface CustomClaim {
[k: string]: unknown;
}
/**
* The claim composes properties that characterize the kind of deep linking request the playtform user is making.
*/
export interface DeepLinkingSettings {
/**
* Model Primitive Datatype = String. This is a fully qualified URL where the Platform redirects the user back to the tool interface. This URL can be use once the Platform is finished.
*/
deep_link_return_url: string;
/**
* Model Primitive Datatype = String. The set of types accepted.
*
* @minItems 1
*/
accept_types: [string, ...string[]];
/**
* Model Primitive Datatype = String. The set of documents supported e.g. 'iframe', 'window', etc.
*
* @minItems 1
*/
accept_presentation_document_targets: [string, ...string[]];
/**
* Model Primitive Datatype = String. The set of media types (as defined in RFC 7321) the Platform accepts. This only applies to the file types.
*
* @minItems 0
*/
accept_media_types?: string[];
/**
* Whether the Platform allows multiple content items to be submitted in a single response.
*/
accept_multiple?: "true" | "false";
/**
* Whether any content items returned by the Tool would be automatically persisted without any option for the user to cancel the operation.
*/
auto_create?: "true" | "false";
/**
* Model Primitive Datatype = String. Default text to be used as the title or alt text for the content item returned by the Tool. This value is normally short in length, for example, suitable for use as a heading.
*/
title?: string;
/**
* Model Primitive Datatype = String. Default text to be used as the visible text for the content item returned by the Tool. If no text is returned by the Tool, the Platform may use the value of the 'title' parameter instead (if any). This value may be a long description of the content item.
*/
text?: string;
/**
* Model Primitive Datatype = String. An opaque value which must be returned by the Tool in its response if it was passed in on the request.
*/
data?: string;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment