@kontent-ai/management-sdk
Version:
Official Kontent.ai management SDK
121 lines (120 loc) • 4.17 kB
TypeScript
import { SharedModels } from '../shared/shared-models';
import { SharedContracts, AssetContracts } from '../../contracts';
export declare namespace AssetModels {
class Asset implements SharedModels.IBaseModel<AssetContracts.IAssetModelContract> {
id: string;
fileName: string;
title: string | null;
imageWidth: number | null;
imageHeight: number | null;
size: number;
type: string;
fileReference: AssetFileReference;
descriptions: AssetFileDescription[];
externalId?: string;
lastModified: Date;
url: string;
codename: string;
collection?: IAssetCollectionReferenceObject;
folder?: SharedContracts.IReferenceObjectContract;
elements?: IAssetElement[];
_raw: AssetContracts.IAssetModelContract;
constructor(data: {
id: string;
fileName: string;
title: string | null;
imageWidth: number | null;
imageHeight: number | null;
size: number;
type: string;
fileReference: AssetFileReference;
descriptions: AssetFileDescription[];
externalId?: string;
lastModified: Date;
url: string;
codename: string;
collection?: IAssetCollectionReferenceObject;
folder?: SharedContracts.IReferenceObjectContract;
elements?: IAssetElement[];
_raw: AssetContracts.IAssetModelContract;
});
}
interface IAssetElement {
element: SharedContracts.IIdReferenceContract;
value: SharedContracts.IIdReferenceContract[];
}
interface IAssetFileReference {
id: string;
type: 'internal';
}
class AssetFileReference implements IAssetFileReference {
id: string;
type: 'internal';
constructor(data: {
id: string;
type: 'internal';
});
}
interface IAssetFileDescription {
language: SharedContracts.IReferenceObjectContract;
description: string;
}
interface IAssetCollectionReferenceObject {
reference: SharedModels.IReferenceObject | null;
}
class AssetFileDescription {
language: SharedModels.ReferenceObject;
description: string | null;
constructor(data: {
language: SharedModels.ReferenceObject;
description: string | null;
});
}
interface IUploadBinaryFileRequestData {
binaryData: any;
contentType: string;
contentLength?: number;
filename: string;
}
/**
* Currently only reference to taxonomy terms are supported. In future more elements will be allowed
*/
type IAssetElementValueType = IAssetElementData<SharedContracts.IReferenceObjectContract[]>;
interface IAssetElementData<TValue> {
element: SharedContracts.IReferenceObjectContract;
value: TValue;
}
interface IAddAssetRequestData {
file_reference: IAssetFileReference;
title?: string;
external_id?: string;
descriptions?: IAssetFileDescription[];
folder?: SharedContracts.IReferenceObjectContract;
elements?: IAssetElementValueType[];
collection?: IAssetCollectionReferenceObject;
codename?: string;
}
interface IUpsertAssetRequestData {
descriptions: IAssetFileDescription[];
title?: string;
file_reference?: IAssetFileReference;
folder?: SharedContracts.IReferenceObjectContract;
collection?: IAssetCollectionReferenceObject;
elements?: IAssetElementValueType[];
}
interface IUploadAssetFromUrlRequestData {
asset: {
title?: string;
external_id?: string;
descriptions?: IAssetFileDescription[];
folder?: SharedContracts.IReferenceObjectContract;
elements?: IAssetElementValueType[];
collection?: IAssetCollectionReferenceObject;
codename?: string;
};
binaryFile: {
filename: string;
};
fileUrl: string;
}
}