import {Extension, HttpMethod, IServiceCall, SessionRequirement} from "@chaosinsight/portalclient" import type {IPortalResponse} from "../index" export default class EZDataDefinition extends Extension { protected readonly extensionName = "EZDataDefinition" public getGet(): IServiceCall> { return this.call("Get", null, HttpMethod.Get, SessionRequirement.basic) } } export interface IEZDataDefinition { Identifier: string Name: string Type: string TypeId: string IsEditable: boolean Description: string Fields: {[key: string]: IEZDataDefinitionField} } export interface IEZDataDefinitionField { DisplayName: string Type: EZDataDefinitionFieldType IsRequired: boolean Options: string[] | null Placeholder: string | null } export enum EZDataDefinitionFieldType { string = "String", dateTime = "Datetime", boolean = "Boolean", multipleChoice = "MultipleChoice" } Extension.add(EZDataDefinition, "ezDataDefinition") declare module "@chaosinsight/portalclient" { interface ExtensionHandler { ezDataDefinition: EZDataDefinition } }