@kontent-ai/management-sdk
Version:
Official Kontent.ai management SDK
89 lines (72 loc) • 2.71 kB
text/typescript
import { SharedContracts, ContentTypeContracts } from '../../contracts';
import { ContentTypeElements } from '../elements/content-type-element.models';
import { SharedModels } from '../shared/shared-models';
export namespace ContentTypeModels {
export type ModifyContentTypeOperation = 'addInto' | 'remove' | 'replace' | 'move';
export interface IModifyContentTypeData {
op: ModifyContentTypeOperation;
path: string;
value?: any;
before?: SharedModels.IReferenceObject;
after?: SharedModels.IReferenceObject;
}
export class ContentTypeGroup {
public name!: string;
public codename?: string;
public externalId?: string;
public id?: string;
constructor(data: {
name: string;
codename?: string;
externalId?: string;
id?: string;
}) {
Object.assign(this, data);
}
}
export class ContentType implements SharedModels.IBaseModel<ContentTypeContracts.IContentTypeContract> {
public id!: string;
public name!: string;
public codename!: string;
public lastModified!: Date;
public elements!: ContentTypeElements.ContentTypeElementModel[];
public contentGroups?: ContentTypeGroup[];
public externalId?: string;
public _raw!: ContentTypeContracts.IContentTypeContract;
constructor(data: {
id: string;
name: string;
codename: string;
lastModified: Date;
elements: ContentTypeElements.ContentTypeElementModel[];
externalId?: string;
contentGroups?: ContentTypeGroup[];
_raw: ContentTypeContracts.IContentTypeContract;
}) {
Object.assign(this, data);
}
}
export interface IAddContentTypeContentGroup {
name: string;
external_id?: string;
codename?: string;
}
export interface IAddContentTypeData {
name: string;
elements: ContentTypeElements.Element[];
external_id?: string;
codename?: string;
content_groups?: IAddContentTypeContentGroup[];
}
export interface IAddContentTypeCustomElementData {
sourceUrl: string;
json_parameters?: string;
}
export interface IAddContentTypeElementDependsOnData {
element?: SharedContracts.IReferenceObjectContract;
snippet?: SharedContracts.IReferenceObjectContract;
}
export interface IAddContentTypeElementMultipleChoiceElementOptionsData {
name: string;
}
}