@dbos-inc/aws-s3-workflows 3.0.29-preview → 3.0.35-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/README.md +4 -4
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js.map +1 -1
- package/dist/src/s3_utils.d.ts +7 -22
- package/dist/src/s3_utils.d.ts.map +1 -1
- package/dist/src/s3_utils.js +9 -9
- package/dist/src/s3_utils.js.map +1 -1
- package/dist/src/s3_utils.test.js +3 -3
- package/dist/src/s3_utils.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/knexfile.ts +6 -7
- package/package.json +1 -1
- package/src/s3_utils.test.ts +3 -3
- package/src/s3_utils.ts +10 -25
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]
|
|
4
|
+
const [dbosConfig] = parseConfigFile();
|
|
6
5
|
|
|
7
6
|
const config: Knex.Config = {
|
|
8
7
|
client: 'pg',
|
|
9
8
|
connection: {
|
|
10
|
-
host: dbosConfig.poolConfig
|
|
11
|
-
user: dbosConfig.poolConfig
|
|
12
|
-
password: dbosConfig.poolConfig
|
|
13
|
-
database: dbosConfig.poolConfig
|
|
14
|
-
ssl: dbosConfig.poolConfig
|
|
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
package/src/s3_utils.test.ts
CHANGED
|
@@ -196,9 +196,9 @@ const s3callback: S3WorkflowCallbacks<UserFile, Opts> = {
|
|
|
196
196
|
},
|
|
197
197
|
};
|
|
198
198
|
|
|
199
|
-
export const uploadWF = registerS3UploadWorkflow({ className: 'UserFile', name: 'uploadWF' }
|
|
200
|
-
export const uploadPWF = registerS3PresignedUploadWorkflow({ className: 'UserFile', name: 'uploadPWF' }
|
|
201
|
-
export const deleteWF = registerS3DeleteWorkflow({ className: 'UserFile', name: 'deleteWF' }
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
141
|
+
}, config);
|
|
157
142
|
}
|