From 87b129c36edaf2182a064d6a40840cf8877230f0 Mon Sep 17 00:00:00 2001 From: Raya Straus Date: Sun, 22 Mar 2020 16:22:42 +0200 Subject: [PATCH 1/5] Add types for Structured Metadata functions --- types/cloudinary_ts_spec.ts | 36 ++++++++++++++++++++ types/index.d.ts | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) diff --git a/types/cloudinary_ts_spec.ts b/types/cloudinary_ts_spec.ts index 418cf839..99543ab2 100644 --- a/types/cloudinary_ts_spec.ts +++ b/types/cloudinary_ts_spec.ts @@ -561,6 +561,42 @@ cloudinary.v2.api.usage(function (error, result) { // $ExpectType Promise cloudinary.v2.api.usage({public_id: 'demo'}); +cloudinary.v2.api.add_metadata_field({ + external_id: 'EXTERNAL_ID_GET_LIST', + label: 'LABEL_INT_1', + type: "integer", + default_value: 10, +}).then((result)=> { + console.log(result); +}); + +cloudinary.v2.api.list_metadata_fields().then((result)=> { + console.log(result.metadata_fields[0].datasource); +}); + +cloudinary.v2.api.delete_metadata_field('EXTERNAL_ID_GET_LIST').then((res) => { + console.log(res.message) +}).catch((err)=> {console.log(err)}) + +cloudinary.v2.api.update_metadata_field('EXTERNAL_ID_GET_LIST',{mandatory: true}, + function (res) { + console.log(res); +}) + +const datasource_changes = { + values: [ + { external_id: "color_1", value: "brown" }, + { external_id: "color_2", value: "black" }, + ], +}; + +cloudinary.v2.api.update_metadata_field_datasource('EXTERNAL_ID_GET_LIST1', datasource_changes) + .then((res)=> {console.log(res)}) + .catch((err)=> {console.log(err)}); + +cloudinary.v2.api.delete_datasource_entries('EXTERNAL_ID_DELETE_DATASOURCE_ENTRIES', ['size_2']) + .then((res)=>{console.log(res)}) + // $ExpectType Promise cloudinary.v2.uploader.add_context('alt=Animal|class=Mammalia', ['dog', 'lion'], function (error, result) { diff --git a/types/index.d.ts b/types/index.d.ts index ace1e6d5..8fe3736e 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -555,6 +555,39 @@ declare module 'cloudinary' { class UploadStream extends Transform { } + export interface Delete { + message: string; + http_code: number; + } + + export interface MetadataField { + external_id?: string; + type?: string; + label?: string; + mandatory?: boolean; + default_value?: number; + validation?: object; + datasource?: object; + } + + export interface MetadataFields { + metadata_fields: [ + { + external_id?: string; + type?: string; + label?: string; + mandatory?: boolean; + default_value?: number; + validation?: object; + datasource?: object; + } + ] + } + + export interface datasourceChange { + values: Array + } + export namespace v2 { /****************************** Global Utils *************************************/ @@ -774,6 +807,40 @@ declare module 'cloudinary' { function usage(callback?: ResponseCallback, options?: AdminApiOptions): Promise; function usage(options?: AdminApiOptions): Promise; + + /****************************** Structured Metadata API V2 Methods *************************************/ + + function add_metadata_field(field: MetadataField, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function add_metadata_field(field: MetadataField, callback?: ResponseCallback): Promise; + + function list_metadata_fields(callback?: ResponseCallback, options?: AdminApiOptions): Promise; + + function list_metadata_fields(options?: AdminApiOptions): Promise; + + function delete_metadata_field(field_external_id: string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function delete_metadata_field(field_external_id: string, callback?: ResponseCallback): Promise; + + function metadata_field_by_field_id(external_id:string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function metadata_field_by_field_id(external_id:string, callback?: ResponseCallback): Promise; + + function update_metadata_field(external_id: string, field: MetadataField, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function update_metadata_field(external_id: string, field: MetadataField, callback?: ResponseCallback): Promise; + + function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, callback?: ResponseCallback): Promise; + + function delete_datasource_entries(field_external_id: string, entries_external_id: string[], options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function delete_datasource_entries(field_external_id: string, entries_external_id: string[], callback?: ResponseCallback): Promise; + + function restore_metadata_field_datasource(field_external_id: string, entries_external_id: string[], options?: AdminApiOptions, callback?: ResponseCallback): Promise; + + function restore_metadata_field_datasource(field_external_id: string, entries_external_id: string[], callback?: ResponseCallback): Promise; } /****************************** Upload API V2 Methods *************************************/ From 812f3c6a5db8019381717f42aeb6eaab1adc96c8 Mon Sep 17 00:00:00 2001 From: Raya Straus Date: Mon, 23 Mar 2020 17:01:47 +0200 Subject: [PATCH 2/5] updated api response interface name and added futurkey to types --- types/index.d.ts | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index 8fe3736e..30510da9 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -555,12 +555,12 @@ declare module 'cloudinary' { class UploadStream extends Transform { } - export interface Delete { + export interface DeleteApiResponse { message: string; http_code: number; } - export interface MetadataField { + export interface MetadataFieldApiOptions { external_id?: string; type?: string; label?: string; @@ -568,20 +568,24 @@ declare module 'cloudinary' { default_value?: number; validation?: object; datasource?: object; + + [futureKey: string]: any; + } + + export interface MetadataFieldApiResponse { + external_id: string; + type: string; + label: string; + mandatory: boolean; + default_value: number; + validation: object; + datasource: object; + + [futureKey: string]: any; } export interface MetadataFields { - metadata_fields: [ - { - external_id?: string; - type?: string; - label?: string; - mandatory?: boolean; - default_value?: number; - validation?: object; - datasource?: object; - } - ] + metadata_fields: MetadataFieldApiResponse[] } export interface datasourceChange { @@ -810,25 +814,25 @@ declare module 'cloudinary' { /****************************** Structured Metadata API V2 Methods *************************************/ - function add_metadata_field(field: MetadataField, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function add_metadata_field(field: MetadataFieldApiOptions, options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function add_metadata_field(field: MetadataField, callback?: ResponseCallback): Promise; + function add_metadata_field(field: MetadataFieldApiOptions, callback?: ResponseCallback): Promise; function list_metadata_fields(callback?: ResponseCallback, options?: AdminApiOptions): Promise; function list_metadata_fields(options?: AdminApiOptions): Promise; - function delete_metadata_field(field_external_id: string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function delete_metadata_field(field_external_id: string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function delete_metadata_field(field_external_id: string, callback?: ResponseCallback): Promise; + function delete_metadata_field(field_external_id: string, callback?: ResponseCallback): Promise; - function metadata_field_by_field_id(external_id:string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function metadata_field_by_field_id(external_id:string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function metadata_field_by_field_id(external_id:string, callback?: ResponseCallback): Promise; + function metadata_field_by_field_id(external_id:string, callback?: ResponseCallback): Promise; - function update_metadata_field(external_id: string, field: MetadataField, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function update_metadata_field(external_id: string, field: MetadataFieldApiOptions, options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function update_metadata_field(external_id: string, field: MetadataField, callback?: ResponseCallback): Promise; + function update_metadata_field(external_id: string, field: MetadataFieldApiOptions, callback?: ResponseCallback): Promise; function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, options?: AdminApiOptions, callback?: ResponseCallback): Promise; From 5f6adae3a2ac92b379ae59ca9e1827502a17cbe7 Mon Sep 17 00:00:00 2001 From: Raya Straus Date: Tue, 24 Mar 2020 11:37:08 +0200 Subject: [PATCH 3/5] Updated interface names --- types/index.d.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index 30510da9..44005df3 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -584,11 +584,11 @@ declare module 'cloudinary' { [futureKey: string]: any; } - export interface MetadataFields { + export interface MetadataFieldsApiResponse { metadata_fields: MetadataFieldApiResponse[] } - export interface datasourceChange { + export interface DatasourceChange { values: Array } @@ -818,9 +818,9 @@ declare module 'cloudinary' { function add_metadata_field(field: MetadataFieldApiOptions, callback?: ResponseCallback): Promise; - function list_metadata_fields(callback?: ResponseCallback, options?: AdminApiOptions): Promise; + function list_metadata_fields(callback?: ResponseCallback, options?: AdminApiOptions): Promise; - function list_metadata_fields(options?: AdminApiOptions): Promise; + function list_metadata_fields(options?: AdminApiOptions): Promise; function delete_metadata_field(field_external_id: string, options?: AdminApiOptions, callback?: ResponseCallback): Promise; @@ -834,17 +834,17 @@ declare module 'cloudinary' { function update_metadata_field(external_id: string, field: MetadataFieldApiOptions, callback?: ResponseCallback): Promise; - function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, callback?: ResponseCallback): Promise; + function update_metadata_field_datasource(field_external_id: string, entries_external_id: object, callback?: ResponseCallback): Promise; - function delete_datasource_entries(field_external_id: string, entries_external_id: string[], options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function delete_datasource_entries(field_external_id: string, entries_external_id: string[], options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function delete_datasource_entries(field_external_id: string, entries_external_id: string[], callback?: ResponseCallback): Promise; + function delete_datasource_entries(field_external_id: string, entries_external_id: string[], callback?: ResponseCallback): Promise; - function restore_metadata_field_datasource(field_external_id: string, entries_external_id: string[], options?: AdminApiOptions, callback?: ResponseCallback): Promise; + function restore_metadata_field_datasource(field_external_id: string, entries_external_id: string[], options?: AdminApiOptions, callback?: ResponseCallback): Promise; - function restore_metadata_field_datasource(field_external_id: string, entries_external_id: string[], callback?: ResponseCallback): Promise; + function restore_metadata_field_datasource(field_external_id: string, entries_external_id: string[], callback?: ResponseCallback): Promise; } /****************************** Upload API V2 Methods *************************************/ From 2b8513accb132246e318dd73e1cc98d5b05795a7 Mon Sep 17 00:00:00 2001 From: Raya Straus Date: Wed, 25 Mar 2020 23:18:31 +0200 Subject: [PATCH 4/5] update index --- types/index.d.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/types/index.d.ts b/types/index.d.ts index 8e768d1e..2b3c237b 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -68,6 +68,7 @@ declare module 'cloudinary' { | "blue" | "negate" | "brightness" + | "auto_brightness" | "brightness_hsb" | "sepia" | "grayscale" @@ -79,6 +80,10 @@ declare module 'cloudinary' { | "assist_colorblind" | "recolor" | "tint" + | "contrast" + | "auto_contrast" + | "auto_color" + | "vibrance" | "noise" | "ordered_dither" | "pixelate_faces" From 289c6b2e52ae7f9724466adb324bd75f8267b694 Mon Sep 17 00:00:00 2001 From: Raya Straus Date: Wed, 25 Mar 2020 23:20:58 +0200 Subject: [PATCH 5/5] update types --- types/index.d.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/types/index.d.ts b/types/index.d.ts index 2b3c237b..b5a58051 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -148,6 +148,7 @@ declare module 'cloudinary' { | "clip_evenodd" | "cutter" | "force_strip" + | "force_strip" | "getinfo" | "ignore_aspect_ratio" | "immutable_cache" @@ -157,6 +158,7 @@ declare module 'cloudinary' { | "lossy" | "preserve_transparency" | "png8" + | "png8" | "png32" | "progressive" | "rasterize"