Skip to content

Commit ae47535

Browse files
chore: types for asset relations api
1 parent 64bdffa commit ae47535

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

types/cloudinary_ts_spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,6 +1131,18 @@ cloudinary.v2.api.delete_folder('foo',{
11311131
agent: new Http.Agent()
11321132
});
11331133

1134+
// $ExpectType Promise<NewAssetRelationResponse>
1135+
cloudinary.v2.api.add_related_assets('public-id', 'public-id-to-relate');
1136+
1137+
// $ExpectType Promise<NewAssetRelationResponse>
1138+
cloudinary.v2.api.add_related_assets_by_asset_id('asset-id', 'public-id-to-relate');
1139+
1140+
// $ExpectType Promise<DeleteAssetRelation>
1141+
cloudinary.v2.api.delete_related_assets('public-id', 'public-id-to-unrelate');
1142+
1143+
// $ExpectType Promise<DeleteAssetRelation>
1144+
cloudinary.v2.api.delete_related_assets_by_asset_id('asset-id', 'public-id-to-unrelate');
1145+
11341146
// $ExpectType Promise<any>
11351147
cloudinary.v2.uploader.create_slideshow({
11361148
manifest_json: {

types/index.d.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,30 @@ declare module 'cloudinary' {
642642
http_code: number;
643643
}
644644

645+
export interface BaseAssetRelation {
646+
asset: string;
647+
status: 200;
648+
}
649+
export interface AssetRelationSuccess extends BaseAssetRelation {
650+
message: 'success';
651+
code: 'success_ids'
652+
}
653+
654+
export interface AssetRelationAlreadyExists extends BaseAssetRelation {
655+
message: 'resource already exists';
656+
code: 'already_exists_ids';
657+
}
658+
659+
export interface NewAssetRelationResponse {
660+
failed: [any],
661+
success: Array<AssetRelationSuccess | AssetRelationAlreadyExists>
662+
}
663+
664+
export interface DeleteAssetRelation {
665+
failed: [any],
666+
success: Array<AssetRelationSuccess>
667+
}
668+
645669
export interface MetadataFieldApiOptions {
646670
external_id?: string;
647671
type?: string;
@@ -1092,6 +1116,14 @@ declare module 'cloudinary' {
10921116

10931117
function delete_folder(path: string, options?: AdminApiOptions, callback?: ResponseCallback): Promise<any>;
10941118

1119+
function add_related_assets(public_id: string, public_ids_to_relate: string | Array<string>, options?: AdminApiOptions, callback?: ResponseCallback): Promise<NewAssetRelationResponse>;
1120+
1121+
function add_related_assets_by_asset_id(asset_id: string, public_ids_to_relate: string | Array<string>, options?: AdminApiOptions, callback?: ResponseCallback): Promise<NewAssetRelationResponse>;
1122+
1123+
function delete_related_assets(public_id: string, public_ids_to_unrelate: string | Array<string>, options?: AdminApiOptions, callback?: ResponseCallback): Promise<DeleteAssetRelation>;
1124+
1125+
function delete_related_assets_by_asset_id(asset_id: string, public_ids_to_unrelate: string | Array<string>, options?: AdminApiOptions, callback?: ResponseCallback): Promise<DeleteAssetRelation>;
1126+
10951127
/****************************** Structured Metadata API V2 Methods *************************************/
10961128

10971129
function add_metadata_field(field: MetadataFieldApiOptions, options?: AdminApiOptions, callback?: ResponseCallback): Promise<MetadataFieldApiResponse>;

0 commit comments

Comments
 (0)