11const utils = require ( "./utils" ) ;
22const call_api = require ( "./api_client/call_api" ) ;
33
4- const { extend, pickOnlyExistingValues } = utils ;
4+ const {
5+ extend,
6+ pickOnlyExistingValues
7+ } = utils ;
58
69const TRANSFORMATIONS_URI = "transformations" ;
710
@@ -10,7 +13,7 @@ function deleteResourcesParams(options, params = {}) {
1013}
1114
1215function getResourceParams ( options ) {
13- return pickOnlyExistingValues ( options , "exif" , "cinemagraph_analysis" , "colors" , "derived_next_cursor" , "faces" , "image_metadata" , "media_metadata" , "pages" , "phash" , "coordinates" , "max_results" , "versions" , "accessibility_analysis" ) ;
16+ return pickOnlyExistingValues ( options , "exif" , "cinemagraph_analysis" , "colors" , "derived_next_cursor" , "faces" , "image_metadata" , "media_metadata" , "pages" , "phash" , "coordinates" , "max_results" , "versions" , "accessibility_analysis" , 'related' , 'related_next_cursor' ) ;
1417}
1518
1619exports . ping = function ping ( callback , options = { } ) {
@@ -175,6 +178,38 @@ exports.delete_all_resources = function delete_all_resources(callback, options =
175178 } ) , callback , options ) ;
176179} ;
177180
181+ const createRelationParams = ( publicIds = [ ] ) => {
182+ return {
183+ assets_to_relate : Array . isArray ( publicIds ) ? publicIds : [ publicIds ]
184+ } ;
185+ } ;
186+
187+ const deleteRelationParams = ( publicIds = [ ] ) => {
188+ return {
189+ assets_to_unrelate : Array . isArray ( publicIds ) ? publicIds : [ publicIds ]
190+ } ;
191+ } ;
192+
193+ exports . add_related_assets = ( publicId , assetsToRelate , callback , options = { } ) => {
194+ const params = createRelationParams ( assetsToRelate ) ;
195+ return call_api ( 'post' , [ 'resources' , 'related_assets' , options . resource_type , options . type , publicId ] , params , callback , options ) ;
196+ } ;
197+
198+ exports . add_related_assets_by_asset_id = ( assetId , assetsToRelate , callback , options = { } ) => {
199+ const params = createRelationParams ( assetsToRelate ) ;
200+ return call_api ( 'post' , [ 'resources' , 'related_assets' , assetId ] , params , callback , options ) ;
201+ } ;
202+
203+ exports . delete_related_assets = ( publicId , assetsToUnrelate , callback , options = { } ) => {
204+ const params = deleteRelationParams ( assetsToUnrelate ) ;
205+ return call_api ( 'delete' , [ 'resources' , 'related_assets' , options . resource_type , options . type , publicId ] , params , callback , options ) ;
206+ } ;
207+
208+ exports . delete_related_assets_by_asset_id = ( assetId , assetsToUnrelate , callback , options = { } ) => {
209+ const params = deleteRelationParams ( assetsToUnrelate ) ;
210+ return call_api ( 'delete' , [ 'resources' , 'related_assets' , assetId ] , params , callback , options ) ;
211+ } ;
212+
178213exports . delete_derived_resources = function delete_derived_resources ( derived_resource_ids , callback , options = { } ) {
179214 let uri ;
180215 uri = [ "derived_resources" ] ;
@@ -235,7 +270,7 @@ exports.update_transformation = function update_transformation(transformationNam
235270} ;
236271
237272exports . create_transformation = function create_transformation ( name , definition , callback , options = { } ) {
238- const params = { name } ;
273+ const params = { name} ;
239274 params . transformation = utils . build_eager ( definition ) ;
240275 return call_api ( "post" , TRANSFORMATIONS_URI , params , callback , options ) ;
241276} ;
@@ -560,7 +595,7 @@ exports.update_metadata_field_datasource = function update_metadata_field_dataso
560595 */
561596exports . delete_datasource_entries = function delete_datasource_entries ( field_external_id , entries_external_id , callback , options = { } ) {
562597 options . content_type = "json" ;
563- const params = { external_ids : entries_external_id } ;
598+ const params = { external_ids : entries_external_id } ;
564599 return call_api ( "delete" , [ "metadata_fields" , field_external_id , "datasource" ] , params , callback , options ) ;
565600} ;
566601
@@ -581,7 +616,7 @@ exports.delete_datasource_entries = function delete_datasource_entries(field_ext
581616 */
582617exports . restore_metadata_field_datasource = function restore_metadata_field_datasource ( field_external_id , entries_external_id , callback , options = { } ) {
583618 options . content_type = "json" ;
584- const params = { external_ids : entries_external_id } ;
619+ const params = { external_ids : entries_external_id } ;
585620 return call_api ( "post" , [ "metadata_fields" , field_external_id , "datasource_restore" ] , params , callback , options ) ;
586621} ;
587622
@@ -597,7 +632,10 @@ exports.restore_metadata_field_datasource = function restore_metadata_field_data
597632 */
598633exports . order_metadata_field_datasource = function order_metadata_field_datasource ( field_external_id , sort_by , direction , callback , options = { } ) {
599634 options . content_type = "json" ;
600- const params = { order_by : sort_by , direction : direction } ;
635+ const params = {
636+ order_by : sort_by ,
637+ direction : direction
638+ } ;
601639 return call_api ( "post" , [ "metadata_fields" , field_external_id , "datasource" , "order" ] , params , callback , options ) ;
602640} ;
603641
@@ -613,7 +651,10 @@ exports.order_metadata_field_datasource = function order_metadata_field_datasour
613651 */
614652exports . reorder_metadata_fields = function reorder_metadata_fields ( order_by , direction , callback , options = { } ) {
615653 options . content_type = "json" ;
616- const params = { order_by, direction } ;
654+ const params = {
655+ order_by,
656+ direction
657+ } ;
617658 return call_api ( "put" , [ "metadata_fields" , "order" ] , params , callback , options ) ;
618659} ;
619660
0 commit comments