@dbos-inc/aws-s3-workflows 3.0.29-preview → 3.0.38-preview

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/knexfile.ts CHANGED
@@ -1,17 +1,16 @@
1
1
  import { Knex } from 'knex';
2
2
  import { parseConfigFile } from '@dbos-inc/dbos-sdk';
3
- import { DBOSConfig } from '@dbos-inc/dbos-sdk';
4
3
 
5
- const [dbosConfig]: [DBOSConfig, unknown] = parseConfigFile();
4
+ const [dbosConfig] = parseConfigFile();
6
5
 
7
6
  const config: Knex.Config = {
8
7
  client: 'pg',
9
8
  connection: {
10
- host: dbosConfig.poolConfig!.host,
11
- user: dbosConfig.poolConfig!.user,
12
- password: dbosConfig.poolConfig!.password,
13
- database: dbosConfig.poolConfig!.database,
14
- ssl: dbosConfig.poolConfig!.ssl,
9
+ host: dbosConfig.poolConfig.host,
10
+ user: dbosConfig.poolConfig.user,
11
+ password: dbosConfig.poolConfig.password,
12
+ database: dbosConfig.poolConfig.database,
13
+ ssl: dbosConfig.poolConfig.ssl,
15
14
  },
16
15
  migrations: {
17
16
  directory: './migrations',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dbos-inc/aws-s3-workflows",
3
- "version": "3.0.29-preview",
3
+ "version": "3.0.38-preview",
4
4
  "description": "Component library - DBOS S3 steps and workflows",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -196,9 +196,9 @@ const s3callback: S3WorkflowCallbacks<UserFile, Opts> = {
196
196
  },
197
197
  };
198
198
 
199
- export const uploadWF = registerS3UploadWorkflow({ className: 'UserFile', name: 'uploadWF' }, s3callback);
200
- export const uploadPWF = registerS3PresignedUploadWorkflow({ className: 'UserFile', name: 'uploadPWF' }, s3callback);
201
- export const deleteWF = registerS3DeleteWorkflow({ className: 'UserFile', name: 'deleteWF' }, s3callback);
199
+ export const uploadWF = registerS3UploadWorkflow(s3callback, { className: 'UserFile', name: 'uploadWF' });
200
+ export const uploadPWF = registerS3PresignedUploadWorkflow(s3callback, { className: 'UserFile', name: 'uploadPWF' });
201
+ export const deleteWF = registerS3DeleteWorkflow(s3callback, { className: 'UserFile', name: 'deleteWF' });
202
202
 
203
203
  describe('ses-tests', () => {
204
204
  let s3IsAvailable = true;
package/src/s3_utils.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type PresignedPost } from '@aws-sdk/s3-presigned-post';
2
2
 
3
- import { DBOS, WorkflowConfig } from '@dbos-inc/dbos-sdk';
3
+ import { DBOS, FunctionName, WorkflowConfig } from '@dbos-inc/dbos-sdk';
4
4
 
5
5
  export interface FileRecord {
6
6
  key: string;
@@ -30,17 +30,12 @@ export interface S3WorkflowCallbacks<R extends FileRecord, Options = unknown> {
30
30
 
31
31
  /**
32
32
  * Create a workflow function for deleting S3 objects and removing the DB entry
33
- * @param options - Registration options for the workflow
34
33
  * @param callbacks - S3 operation implementation and database recordkeeping transactions
34
+ * @param config - Workflow configuration and target function name for registration
35
35
  */
36
36
  export function registerS3DeleteWorkflow<R extends FileRecord, Options = unknown>(
37
- options: {
38
- name?: string;
39
- ctorOrProto?: object;
40
- className?: string;
41
- config?: WorkflowConfig;
42
- },
43
37
  callbacks: S3WorkflowCallbacks<R, Options>,
38
+ config?: WorkflowConfig & FunctionName,
44
39
  ) {
45
40
  return DBOS.registerWorkflow(async (fileDetails: R) => {
46
41
  await callbacks.fileDeleted(fileDetails);
@@ -50,22 +45,17 @@ export function registerS3DeleteWorkflow<R extends FileRecord, Options = unknown
50
45
  },
51
46
  { name: 'deleteS3Object' },
52
47
  );
53
- }, options);
48
+ }, config);
54
49
  }
55
50
 
56
51
  /**
57
52
  * Create a workflow function for uploading S3 contents from DBOS
58
- * @param options - Registration options for the workflow
59
53
  * @param callbacks - S3 operation implementation and database recordkeeping transactions
54
+ * @param config - Workflow configuration and target function name for registration
60
55
  */
61
56
  export function registerS3UploadWorkflow<R extends FileRecord, Options = unknown>(
62
- options: {
63
- name?: string;
64
- ctorOrProto?: object;
65
- className?: string;
66
- config?: WorkflowConfig;
67
- },
68
57
  callbacks: S3WorkflowCallbacks<R, Options>,
58
+ config?: WorkflowConfig & FunctionName,
69
59
  ) {
70
60
  return DBOS.registerWorkflow(async (fileDetails: R, content: string, objOptions?: Options) => {
71
61
  try {
@@ -91,22 +81,17 @@ export function registerS3UploadWorkflow<R extends FileRecord, Options = unknown
91
81
 
92
82
  await callbacks.newActiveFile(fileDetails);
93
83
  return fileDetails;
94
- }, options);
84
+ }, config);
95
85
  }
96
86
 
97
87
  /**
98
88
  * Create a workflow function for uploading S3 contents externally, via a presigned URL
99
- * @param options - Registration options for the workflow
100
89
  * @param callbacks - S3 operation implementation and database recordkeeping transactions
90
+ * @param config - Workflow configuration and target function name for registration
101
91
  */
102
92
  export function registerS3PresignedUploadWorkflow<R extends FileRecord, Options = unknown>(
103
- options: {
104
- name?: string;
105
- ctorOrProto?: object;
106
- className?: string;
107
- config?: WorkflowConfig;
108
- },
109
93
  callbacks: S3WorkflowCallbacks<R, Options>,
94
+ config?: WorkflowConfig & FunctionName,
110
95
  ) {
111
96
  return DBOS.registerWorkflow(async (fileDetails: R, timeoutSeconds: number, objOptions?: Options) => {
112
97
  await callbacks.newPendingFile(fileDetails);
@@ -153,5 +138,5 @@ export function registerS3PresignedUploadWorkflow<R extends FileRecord, Options
153
138
  }
154
139
 
155
140
  return fileDetails;
156
- }, options);
141
+ }, config);
157
142
  }