@kontent-ai/management-sdk
Version:
Official Kontent.ai management SDK
60 lines (52 loc) • 1.98 kB
text/typescript
import { SharedModels } from '../shared/shared-models';
import { LanguageContracts } from '../../contracts';
export namespace LanguageModels {
export class LanguageModel implements SharedModels.IBaseModel<LanguageContracts.ILanguageModelContract> {
public name: string;
public id: string;
public codename: string;
public externalId?: string;
public isActive: boolean;
public isDefault: boolean;
public fallbackLanguage?: FallbackLanguageModel;
public _raw!: LanguageContracts.ILanguageModelContract;
constructor(data: {
name: string;
id: string;
codename: string;
externalId?: string;
isActive: boolean;
isDefault: boolean;
fallbackLanguage?: FallbackLanguageModel;
_raw: LanguageContracts.ILanguageModelContract;
}) {
this.name = data.name;
this.id = data.id;
this.codename = data.codename;
this.externalId = data.externalId;
this.isActive = data.isActive;
this.isDefault = data.isDefault;
this.fallbackLanguage = data.fallbackLanguage;
this._raw = data._raw;
}
}
export class FallbackLanguageModel {
public id: string;
constructor(data: { id: string }) {
this.id = data.id;
}
}
export type ModifyLanguageOperation = 'replace';
export interface IModifyLanguageData {
op: ModifyLanguageOperation;
property_name: 'name' | 'codename' | 'fallback_language' | 'is_active';
value: string | boolean | SharedModels.IReferenceObject;
}
export interface IAddLanguageData {
name: string;
codename: string;
is_active?: boolean;
fallback_language?: SharedModels.IReferenceObject;
external_id?: string;
}
}