diff --git a/src/lib/api/upload/network.ts b/src/lib/api/upload/network.ts index adbd746f..bd31d6df 100644 --- a/src/lib/api/upload/network.ts +++ b/src/lib/api/upload/network.ts @@ -180,8 +180,9 @@ export const complete = (etags: string, { config, file, params }: Context): Prom ...params, }; - if (config.workflowIds && config.workflowIds.length) { - fields['workflow_ids'] = JSON.stringify(config.workflowIds); + if (config.store.workflowIds && config.store.workflowIds.length) { + fields['workflow_ids'] = JSON.stringify(config.store.workflowIds); + delete config.store.workflowIds; } // Intelligent Ingestion diff --git a/src/lib/api/upload/types.ts b/src/lib/api/upload/types.ts index 707f4c03..ce904b8a 100644 --- a/src/lib/api/upload/types.ts +++ b/src/lib/api/upload/types.ts @@ -98,11 +98,6 @@ export interface UploadOptions { * Set the default intiial chunk size for Intelligent Ingestion. Defaults to 8MB on desktop and 1MB on mobile. */ intelligentChunkSize?: number; - - /** - * Array with workflow ids - */ - workflowIds?: string[]; } export interface FSProgressEvent { diff --git a/src/lib/api/upload/upload.spec.ts b/src/lib/api/upload/upload.spec.ts index 4f49c4fb..2a0a6347 100644 --- a/src/lib/api/upload/upload.spec.ts +++ b/src/lib/api/upload/upload.spec.ts @@ -471,7 +471,8 @@ if (ENV.testEnv === 'unit') { it('should upload a file successfully with provided workflows ids', (done) => { upload(session, smallFile, { retry: 0, - mimetype: 'image/gif', + mimetype: 'image/gif' + }, { workflowIds: ['test', 'test1'] }) .then((res: any) => { diff --git a/src/lib/api/upload/upload.ts b/src/lib/api/upload/upload.ts index 7b85ac9b..aa1f9d2f 100644 --- a/src/lib/api/upload/upload.ts +++ b/src/lib/api/upload/upload.ts @@ -456,8 +456,8 @@ export const upload = ( { name: 'timeout', type: t.Integer }, { name: 'intelligent', type: t.union([t.Boolean, t.enums.of('fallback')]) }, { name: 'intelligentChunkSize', type: t.Number }, - { name: 'workflowIds', type: t.list(t.String) }, ]; + const allowedStoreOptions = [ { name: 'location', type: t.enums.of('s3 gcs rackspace azure dropbox') }, { name: 'region', type: t.String }, @@ -465,6 +465,7 @@ export const upload = ( { name: 'container', type: t.String }, { name: 'filename', type: t.String }, { name: 'access', type: t.enums.of('public private') }, + { name: 'workflowIds', type: t.list(t.String) }, ]; // Throw if any options are invalid @@ -517,6 +518,7 @@ export const upload = ( customName, mimetype: options.mimetype, store: { + workflowIds: storeOpts.workflowIds, store_location: storeOpts.location, store_region: storeOpts.region, store_container: storeOpts.container, diff --git a/src/lib/client.ts b/src/lib/client.ts index 73ed9f55..2616c843 100644 --- a/src/lib/client.ts +++ b/src/lib/client.ts @@ -66,6 +66,11 @@ export interface StoreOptions { * S3 container access. 'public' or 'private'. */ access?: string; + + /** + * Workflows ids to run after upload + */ + workflowIds?: string[]; } export interface ClientOptions { diff --git a/src/lib/picker.ts b/src/lib/picker.ts index d15d2364..4aa79dae 100644 --- a/src/lib/picker.ts +++ b/src/lib/picker.ts @@ -245,6 +245,11 @@ export interface PickerStoreOptions { * S3 container access. 'public' or 'private'. */ access?: string; + + /** + * Workflows ids to run after upload + */ + workflowsIds?: string[]; } export interface PickerCustomText {