Define a JSON Schema for a Template
// Direct JSON Schema definition
const schema = {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {"type": "string", "description": "The name of the organization."},
"description": {"type": "string", "description": "A brief description of the organization."},
"website": {"type": "string", "description": "The URL of the organization's website.", "format": "uri"}
},
"required": ["name"],
};
// Generate JSON schema from a TypeScript interface
const dataName = 'User';
const myDataType = `interface ${dataName} {
name: string;
age: number;
}`;
const schema = generateJsonSchema(dataName, myDataType);
const metadata = { name: "Template Name", description: "Template Description", readme: "Markdown document" }; // Optional metadata
const template = await ctx.createTemplate("template_path", schema, [], metadata /* optional */);
const document = await ctx.document("document_path");
if (!document.success) {
// Handle error
}
const templateArrayToInstall = ["template_path"];
const newDoc = await document.data.install(templateArrayToInstall);
const document = await ctx.document("document_path");
if (!document.success) {
// Handle error
}
const templateArrayToUninstall = ["template_path"];
const newDoc = await document.data.uninstall(templateArrayToUninstall);