@dbos-inc/koa-serve 3.5.44-preview.gc094fdab44 → 3.6.5-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/dist/src/dboshttp.d.ts +54 -0
- package/dist/src/dboshttp.d.ts.map +1 -1
- package/dist/src/dboshttp.js +418 -4
- package/dist/src/dboshttp.js.map +1 -1
- package/dist/src/dboskoa.js +1 -1
- package/dist/src/dboskoa.js.map +1 -1
- package/dist/src/index.d.ts +9 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -3
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/dboshttp.ts +523 -4
- package/src/dboskoa.ts +1 -1
- package/src/index.ts +17 -0
- package/tests/argsource.test.ts +150 -0
- package/tests/auth.test.ts +26 -4
- package/tests/endpoints.test.ts +58 -34
- package/tests/steps.test.ts +5 -0
- package/tests/transactions.test.ts +5 -0
- package/tests/validation.test.ts +531 -0
package/dist/src/dboshttp.d.ts
CHANGED
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node/http" />
|
|
4
|
+
import 'reflect-metadata';
|
|
4
5
|
import { IncomingHttpHeaders } from 'http';
|
|
5
6
|
import { ParsedUrlQuery } from 'querystring';
|
|
7
|
+
import { MethodRegistrationBase } from '@dbos-inc/dbos-sdk';
|
|
6
8
|
import { DBOSLifecycleCallback, MethodParameter } from '@dbos-inc/dbos-sdk';
|
|
9
|
+
export declare enum ArgRequiredOptions {
|
|
10
|
+
REQUIRED = "REQUIRED",
|
|
11
|
+
OPTIONAL = "OPTIONAL",
|
|
12
|
+
DEFAULT = "DEFAULT"
|
|
13
|
+
}
|
|
14
|
+
export declare function requestArgValidation(methReg: MethodRegistrationBase): void;
|
|
15
|
+
export declare function ArgRequired(target: object, propertyKey: PropertyKey, param: number): void;
|
|
16
|
+
export declare function ArgOptional(target: object, propertyKey: PropertyKey, param: number): void;
|
|
17
|
+
export declare function ArgDate(): (target: object, propertyKey: PropertyKey, param: number) => void;
|
|
18
|
+
export declare function ArgVarchar(length: number): (target: object, propertyKey: PropertyKey, param: number) => void;
|
|
19
|
+
export declare function DefaultArgRequired<T extends {
|
|
20
|
+
new (...args: unknown[]): object;
|
|
21
|
+
}>(ctor: T): void;
|
|
22
|
+
export declare function DefaultArgValidate<T extends {
|
|
23
|
+
new (...args: unknown[]): object;
|
|
24
|
+
}>(ctor: T): void;
|
|
25
|
+
export declare function DefaultArgOptional<T extends {
|
|
26
|
+
new (...args: unknown[]): object;
|
|
27
|
+
}>(ctor: T): void;
|
|
28
|
+
export declare enum LogMasks {
|
|
29
|
+
NONE = "NONE",
|
|
30
|
+
HASH = "HASH",
|
|
31
|
+
SKIP = "SKIP"
|
|
32
|
+
}
|
|
33
|
+
export declare const LOGGER = "log";
|
|
34
|
+
export declare function SkipLogging(target: object, propertyKey: PropertyKey, param: number): void;
|
|
35
|
+
export declare function LogMask(mask: LogMasks): (target: object, propertyKey: PropertyKey, param: number) => void;
|
|
36
|
+
export declare function logMethodArgs<Args extends unknown[]>(methReg: MethodRegistrationBase, args: Args): Args;
|
|
7
37
|
export declare enum APITypes {
|
|
8
38
|
GET = "GET",
|
|
9
39
|
POST = "POST",
|
|
@@ -31,6 +61,15 @@ export interface DBOSHTTPMethodInfo {
|
|
|
31
61
|
export interface DBOSHTTPArgInfo {
|
|
32
62
|
argSource?: ArgSources;
|
|
33
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* This error can be thrown by DBOS applications to indicate
|
|
66
|
+
* the HTTP response code, in addition to the message.
|
|
67
|
+
* Note that any error with a 'status' field can be used.
|
|
68
|
+
*/
|
|
69
|
+
export declare class DBOSResponseError extends Error {
|
|
70
|
+
readonly status: number;
|
|
71
|
+
constructor(msg: string, status?: number);
|
|
72
|
+
}
|
|
34
73
|
/**
|
|
35
74
|
* HTTPRequest includes useful information from http.IncomingMessage and parsed body,
|
|
36
75
|
* URL parameters, and parsed query string.
|
|
@@ -68,7 +107,22 @@ export declare class DBOSHTTPBase implements DBOSLifecycleCallback {
|
|
|
68
107
|
patchApi(url: string): <This, Args extends unknown[], Return>(target: object, propertyKey: string, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
|
|
69
108
|
/** Decorator indicating that the method is the target of HTTP DELETE operations for `url` */
|
|
70
109
|
deleteApi(url: string): <This, Args extends unknown[], Return>(target: object, propertyKey: string, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
|
|
110
|
+
/** Parameter decorator indicating which source to use (URL, BODY, etc) for arg data */
|
|
111
|
+
static argSource(source: ArgSources): (target: object, propertyKey: PropertyKey, param: number) => void;
|
|
71
112
|
protected getArgSource(arg: MethodParameter): ArgSources;
|
|
72
113
|
logRegisteredEndpoints(): void;
|
|
114
|
+
static argRequired(target: object, propertyKey: PropertyKey, parameterIndex: number): void;
|
|
115
|
+
static argOptional(target: object, propertyKey: PropertyKey, parameterIndex: number): void;
|
|
116
|
+
static argDate(): (target: object, propertyKey: PropertyKey, param: number) => void;
|
|
117
|
+
static argVarchar(n: number): (target: object, propertyKey: PropertyKey, param: number) => void;
|
|
118
|
+
static defaultArgRequired<T extends {
|
|
119
|
+
new (...args: unknown[]): object;
|
|
120
|
+
}>(ctor: T): void;
|
|
121
|
+
static defaultArgOptional<T extends {
|
|
122
|
+
new (...args: unknown[]): object;
|
|
123
|
+
}>(ctor: T): void;
|
|
124
|
+
static defaultArgValidate<T extends {
|
|
125
|
+
new (...args: unknown[]): object;
|
|
126
|
+
}>(ctor: T): void;
|
|
73
127
|
}
|
|
74
128
|
//# sourceMappingURL=dboshttp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dboshttp.d.ts","sourceRoot":"","sources":["../../src/dboshttp.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"dboshttp.d.ts","sourceRoot":"","sources":["../../src/dboshttp.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dboshttp.js
CHANGED
|
@@ -1,8 +1,374 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DBOSHTTPBase = exports.isClientRequestError = exports.getOrGenerateRequestID = exports.RequestIDHeader = exports.WorkflowIDHeader = exports.DBOSHTTP = exports.ArgSources = exports.APITypes = void 0;
|
|
6
|
+
exports.DBOSHTTPBase = exports.isClientRequestError = exports.getOrGenerateRequestID = exports.RequestIDHeader = exports.WorkflowIDHeader = exports.DBOSHTTP = exports.DBOSResponseError = exports.ArgSources = exports.APITypes = exports.logMethodArgs = exports.LogMask = exports.SkipLogging = exports.LOGGER = exports.LogMasks = exports.DefaultArgOptional = exports.DefaultArgValidate = exports.DefaultArgRequired = exports.ArgVarchar = exports.ArgDate = exports.ArgOptional = exports.ArgRequired = exports.requestArgValidation = exports.ArgRequiredOptions = void 0;
|
|
7
|
+
require("reflect-metadata");
|
|
4
8
|
const node_crypto_1 = require("node:crypto");
|
|
9
|
+
const node_crypto_2 = __importDefault(require("node:crypto"));
|
|
5
10
|
const dbos_sdk_1 = require("@dbos-inc/dbos-sdk");
|
|
11
|
+
const VALIDATOR = 'validator';
|
|
12
|
+
var ArgRequiredOptions;
|
|
13
|
+
(function (ArgRequiredOptions) {
|
|
14
|
+
ArgRequiredOptions["REQUIRED"] = "REQUIRED";
|
|
15
|
+
ArgRequiredOptions["OPTIONAL"] = "OPTIONAL";
|
|
16
|
+
ArgRequiredOptions["DEFAULT"] = "DEFAULT";
|
|
17
|
+
})(ArgRequiredOptions || (exports.ArgRequiredOptions = ArgRequiredOptions = {}));
|
|
18
|
+
function getValidatorClassInfo(methReg) {
|
|
19
|
+
const valInfo = methReg.defaults?.getRegisteredInfo(VALIDATOR);
|
|
20
|
+
return {
|
|
21
|
+
defaultArgRequired: valInfo?.defaultArgRequired ?? ArgRequiredOptions.DEFAULT,
|
|
22
|
+
defaultArgValidate: valInfo?.defaultArgValidate ?? false,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function requestArgValidation(methReg) {
|
|
26
|
+
methReg.getRegisteredInfo(VALIDATOR).performArgValidation = true;
|
|
27
|
+
}
|
|
28
|
+
exports.requestArgValidation = requestArgValidation;
|
|
29
|
+
function getValidatorFuncInfo(methReg) {
|
|
30
|
+
const valInfo = methReg.getRegisteredInfo(VALIDATOR);
|
|
31
|
+
return {
|
|
32
|
+
performArgValidation: valInfo.performArgValidation ?? false,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function getValidatorArgInfo(param) {
|
|
36
|
+
const valInfo = param.getRegisteredInfo(VALIDATOR);
|
|
37
|
+
return {
|
|
38
|
+
required: valInfo.required ?? ArgRequiredOptions.DEFAULT,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
class ValidationMiddleware {
|
|
42
|
+
installMiddleware(methReg) {
|
|
43
|
+
const valInfo = getValidatorClassInfo(methReg);
|
|
44
|
+
const defaultArgRequired = valInfo.defaultArgRequired;
|
|
45
|
+
const defaultArgValidate = valInfo.defaultArgValidate;
|
|
46
|
+
let shouldValidate = getValidatorFuncInfo(methReg).performArgValidation ||
|
|
47
|
+
defaultArgRequired === ArgRequiredOptions.REQUIRED ||
|
|
48
|
+
defaultArgValidate;
|
|
49
|
+
for (const a of methReg.args) {
|
|
50
|
+
if (getValidatorArgInfo(a).required === ArgRequiredOptions.REQUIRED) {
|
|
51
|
+
shouldValidate = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (shouldValidate) {
|
|
55
|
+
requestArgValidation(methReg);
|
|
56
|
+
methReg.addEntryInterceptor(validateMethodArgs, 20);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const validationMiddleware = new ValidationMiddleware();
|
|
61
|
+
function validateMethodArgs(methReg, args) {
|
|
62
|
+
const validationError = (msg) => {
|
|
63
|
+
const err = new dbos_sdk_1.Error.DBOSDataValidationError(msg);
|
|
64
|
+
dbos_sdk_1.DBOS.span?.addEvent('DataValidationError', { message: err.message });
|
|
65
|
+
return err;
|
|
66
|
+
};
|
|
67
|
+
// Input validation
|
|
68
|
+
methReg.args.forEach((argDescriptor, idx) => {
|
|
69
|
+
let argValue = args[idx];
|
|
70
|
+
// So... there is such a thing as "undefined", and another thing called "null"
|
|
71
|
+
// We will fold this to "undefined" for our APIs. It's just a rule of ours.
|
|
72
|
+
if (argValue === null) {
|
|
73
|
+
argValue = undefined;
|
|
74
|
+
args[idx] = undefined;
|
|
75
|
+
}
|
|
76
|
+
if (argValue === undefined) {
|
|
77
|
+
const valInfo = getValidatorClassInfo(methReg);
|
|
78
|
+
const defaultArgRequired = valInfo.defaultArgRequired;
|
|
79
|
+
const defaultArgValidate = valInfo.defaultArgValidate;
|
|
80
|
+
const argRequired = getValidatorArgInfo(argDescriptor).required;
|
|
81
|
+
if (argRequired === ArgRequiredOptions.REQUIRED ||
|
|
82
|
+
(argRequired === ArgRequiredOptions.DEFAULT &&
|
|
83
|
+
(defaultArgRequired === ArgRequiredOptions.REQUIRED || defaultArgValidate))) {
|
|
84
|
+
if (idx >= args.length) {
|
|
85
|
+
throw validationError(`Insufficient number of arguments calling ${methReg.name} - ${args.length}/${methReg.args.length}`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw validationError(`Missing required argument ${argDescriptor.name} of ${methReg.name}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (argValue === undefined) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (argValue instanceof String) {
|
|
96
|
+
argValue = argValue.toString();
|
|
97
|
+
args[idx] = argValue;
|
|
98
|
+
}
|
|
99
|
+
if (argValue instanceof Boolean) {
|
|
100
|
+
argValue = argValue.valueOf();
|
|
101
|
+
args[idx] = argValue;
|
|
102
|
+
}
|
|
103
|
+
if (argValue instanceof Number) {
|
|
104
|
+
argValue = argValue.valueOf();
|
|
105
|
+
args[idx] = argValue;
|
|
106
|
+
}
|
|
107
|
+
if (argValue instanceof BigInt) {
|
|
108
|
+
// ES2020+
|
|
109
|
+
argValue = argValue.valueOf();
|
|
110
|
+
args[idx] = argValue;
|
|
111
|
+
}
|
|
112
|
+
// Argument validation - below - if we have any info about it
|
|
113
|
+
if (!argDescriptor.dataType)
|
|
114
|
+
return;
|
|
115
|
+
// Maybe look into https://www.npmjs.com/package/validator
|
|
116
|
+
// We could support emails and other validations too with something like that...
|
|
117
|
+
if (argDescriptor.dataType.dataType === 'text' || argDescriptor.dataType.dataType === 'varchar') {
|
|
118
|
+
if (typeof argValue !== 'string') {
|
|
119
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and should be a string`);
|
|
120
|
+
}
|
|
121
|
+
if (argDescriptor.dataType.length > 0) {
|
|
122
|
+
if (argValue.length > argDescriptor.dataType.length) {
|
|
123
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' with maximum length ${argDescriptor.dataType.length} but has length ${argValue.length}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (argDescriptor.dataType.dataType === 'boolean') {
|
|
128
|
+
if (typeof argValue !== 'boolean') {
|
|
129
|
+
if (typeof argValue === 'number') {
|
|
130
|
+
if (argValue === 0 || argValue === 1) {
|
|
131
|
+
argValue = argValue !== 0 ? true : false;
|
|
132
|
+
args[idx] = argValue;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and may be a number (0 or 1) convertible to boolean, but was ${argValue}.`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else if (typeof argValue === 'string') {
|
|
139
|
+
if (argValue.toLowerCase() === 't' || argValue.toLowerCase() === 'true' || argValue === '1') {
|
|
140
|
+
argValue = true;
|
|
141
|
+
args[idx] = argValue;
|
|
142
|
+
}
|
|
143
|
+
else if (argValue.toLowerCase() === 'f' || argValue.toLowerCase() === 'false' || argValue === '0') {
|
|
144
|
+
argValue = false;
|
|
145
|
+
args[idx] = argValue;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and may be a string convertible to boolean, but was ${argValue}.`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and should be a boolean`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (argDescriptor.dataType.dataType === 'decimal') {
|
|
157
|
+
// Range check precision and scale... wishing there was a bigdecimal
|
|
158
|
+
// Floats don't really permit us to check the scale.
|
|
159
|
+
if (typeof argValue !== 'number') {
|
|
160
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and should be a number`);
|
|
161
|
+
}
|
|
162
|
+
let prec = argDescriptor.dataType.precision;
|
|
163
|
+
if (prec > 0) {
|
|
164
|
+
if (argDescriptor.dataType.scale > 0) {
|
|
165
|
+
prec = prec - argDescriptor.dataType.scale;
|
|
166
|
+
}
|
|
167
|
+
if (Math.abs(argValue) >= Math.exp(prec)) {
|
|
168
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is out of range for type '${argDescriptor.dataType.formatAsString()}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (argDescriptor.dataType.dataType === 'double' || argDescriptor.dataType.dataType === 'integer') {
|
|
173
|
+
if (typeof argValue !== 'number') {
|
|
174
|
+
if (typeof argValue === 'string') {
|
|
175
|
+
const n = parseFloat(argValue);
|
|
176
|
+
if (isNaN(n)) {
|
|
177
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and should be a number`);
|
|
178
|
+
}
|
|
179
|
+
argValue = n;
|
|
180
|
+
args[idx] = argValue;
|
|
181
|
+
}
|
|
182
|
+
else if (typeof argValue === 'bigint') {
|
|
183
|
+
// Hum, maybe we should allow bigint as a type, number won't even do 64-bit.
|
|
184
|
+
argValue = Number(argValue).valueOf();
|
|
185
|
+
args[idx] = argValue;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' and should be a number`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (argDescriptor.dataType.dataType === 'integer') {
|
|
192
|
+
if (!Number.isInteger(argValue)) {
|
|
193
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' but has a fractional part`);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (argDescriptor.dataType.dataType === 'timestamp') {
|
|
198
|
+
if (!(argValue instanceof Date)) {
|
|
199
|
+
if (typeof argValue === 'string') {
|
|
200
|
+
const d = Date.parse(argValue);
|
|
201
|
+
if (isNaN(d)) {
|
|
202
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' but is a string that will not parse as Date`);
|
|
203
|
+
}
|
|
204
|
+
argValue = new Date(d);
|
|
205
|
+
args[idx] = argValue;
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' but is not a date or time`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (argDescriptor.dataType.dataType === 'uuid') {
|
|
213
|
+
// This validation is loose. A tighter one would be:
|
|
214
|
+
// /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/
|
|
215
|
+
// That matches UUID version 1-5.
|
|
216
|
+
if (!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(String(argValue))) {
|
|
217
|
+
throw validationError(`Argument ${argDescriptor.name} of ${methReg.name} is marked as type '${argDescriptor.dataType.dataType}' but is not a valid UUID`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// JSON can be anything. We can validate it against a schema at some later version...
|
|
221
|
+
});
|
|
222
|
+
return args;
|
|
223
|
+
}
|
|
224
|
+
function ArgRequired(target, propertyKey, param) {
|
|
225
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo(VALIDATOR,
|
|
226
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
227
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
228
|
+
ctorOrProto: target,
|
|
229
|
+
name: propertyKey.toString(),
|
|
230
|
+
param,
|
|
231
|
+
});
|
|
232
|
+
curParam.required = ArgRequiredOptions.REQUIRED;
|
|
233
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
234
|
+
}
|
|
235
|
+
exports.ArgRequired = ArgRequired;
|
|
236
|
+
function ArgOptional(target, propertyKey, param) {
|
|
237
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo(VALIDATOR,
|
|
238
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
239
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
240
|
+
ctorOrProto: target,
|
|
241
|
+
name: propertyKey.toString(),
|
|
242
|
+
param,
|
|
243
|
+
});
|
|
244
|
+
curParam.required = ArgRequiredOptions.OPTIONAL;
|
|
245
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
246
|
+
}
|
|
247
|
+
exports.ArgOptional = ArgOptional;
|
|
248
|
+
function ArgDate() {
|
|
249
|
+
// TODO a little more info about it - is it a date or timestamp precision?
|
|
250
|
+
return function (target, propertyKey, param) {
|
|
251
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo('type',
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
253
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
254
|
+
ctorOrProto: target,
|
|
255
|
+
name: propertyKey.toString(),
|
|
256
|
+
param,
|
|
257
|
+
});
|
|
258
|
+
if (!curParam.dataType)
|
|
259
|
+
curParam.dataType = new dbos_sdk_1.DBOSDataType();
|
|
260
|
+
curParam.dataType.dataType = 'timestamp';
|
|
261
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
exports.ArgDate = ArgDate;
|
|
265
|
+
function ArgVarchar(length) {
|
|
266
|
+
return function (target, propertyKey, param) {
|
|
267
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo('type',
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
269
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
270
|
+
ctorOrProto: target,
|
|
271
|
+
name: propertyKey.toString(),
|
|
272
|
+
param,
|
|
273
|
+
});
|
|
274
|
+
curParam.dataType = dbos_sdk_1.DBOSDataType.varchar(length);
|
|
275
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
exports.ArgVarchar = ArgVarchar;
|
|
279
|
+
function DefaultArgRequired(ctor) {
|
|
280
|
+
const clsreg = dbos_sdk_1.DBOS.associateClassWithInfo(VALIDATOR, ctor);
|
|
281
|
+
clsreg.defaultArgRequired = ArgRequiredOptions.REQUIRED;
|
|
282
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
283
|
+
}
|
|
284
|
+
exports.DefaultArgRequired = DefaultArgRequired;
|
|
285
|
+
function DefaultArgValidate(ctor) {
|
|
286
|
+
const clsreg = dbos_sdk_1.DBOS.associateClassWithInfo(VALIDATOR, ctor);
|
|
287
|
+
clsreg.defaultArgValidate = true;
|
|
288
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
289
|
+
}
|
|
290
|
+
exports.DefaultArgValidate = DefaultArgValidate;
|
|
291
|
+
function DefaultArgOptional(ctor) {
|
|
292
|
+
const clsreg = dbos_sdk_1.DBOS.associateClassWithInfo(VALIDATOR, ctor);
|
|
293
|
+
clsreg.defaultArgRequired = ArgRequiredOptions.OPTIONAL;
|
|
294
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(validationMiddleware);
|
|
295
|
+
}
|
|
296
|
+
exports.DefaultArgOptional = DefaultArgOptional;
|
|
297
|
+
var LogMasks;
|
|
298
|
+
(function (LogMasks) {
|
|
299
|
+
LogMasks["NONE"] = "NONE";
|
|
300
|
+
LogMasks["HASH"] = "HASH";
|
|
301
|
+
LogMasks["SKIP"] = "SKIP";
|
|
302
|
+
})(LogMasks || (exports.LogMasks = LogMasks = {}));
|
|
303
|
+
exports.LOGGER = 'log';
|
|
304
|
+
function SkipLogging(target, propertyKey, param) {
|
|
305
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo(exports.LOGGER,
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
307
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
308
|
+
ctorOrProto: target,
|
|
309
|
+
name: propertyKey.toString(),
|
|
310
|
+
param,
|
|
311
|
+
});
|
|
312
|
+
curParam.logMask = LogMasks.SKIP;
|
|
313
|
+
}
|
|
314
|
+
exports.SkipLogging = SkipLogging;
|
|
315
|
+
function LogMask(mask) {
|
|
316
|
+
return function (target, propertyKey, param) {
|
|
317
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo(exports.LOGGER,
|
|
318
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
319
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
320
|
+
ctorOrProto: target,
|
|
321
|
+
name: propertyKey.toString(),
|
|
322
|
+
param,
|
|
323
|
+
});
|
|
324
|
+
curParam.logMask = mask;
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
exports.LogMask = LogMask;
|
|
328
|
+
function generateSaltedHash(data, salt) {
|
|
329
|
+
const hash = node_crypto_2.default.createHash('sha256'); // You can use other algorithms like 'md5', 'sha512', etc.
|
|
330
|
+
hash.update(data + salt);
|
|
331
|
+
return hash.digest('hex');
|
|
332
|
+
}
|
|
333
|
+
function getLoggerArgInfo(param) {
|
|
334
|
+
const valInfo = param.getRegisteredInfo(exports.LOGGER);
|
|
335
|
+
return {
|
|
336
|
+
logMask: valInfo.logMask ?? LogMasks.NONE,
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
class LoggingMiddleware {
|
|
340
|
+
installMiddleware(methReg) {
|
|
341
|
+
methReg.addEntryInterceptor(logMethodArgs, 30);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
const logMiddleware = new LoggingMiddleware();
|
|
345
|
+
dbos_sdk_1.DBOS.registerMiddlewareInstaller(logMiddleware);
|
|
346
|
+
function logMethodArgs(methReg, args) {
|
|
347
|
+
// Argument logging
|
|
348
|
+
args.forEach((argValue, idx) => {
|
|
349
|
+
let loggedArgValue = argValue;
|
|
350
|
+
const logMask = getLoggerArgInfo(methReg.args[idx]).logMask;
|
|
351
|
+
if (logMask === LogMasks.SKIP) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
if (logMask !== LogMasks.NONE) {
|
|
356
|
+
// For now this means hash
|
|
357
|
+
if (methReg.args[idx].dataType?.dataType === 'json') {
|
|
358
|
+
loggedArgValue = generateSaltedHash(JSON.stringify(argValue), 'JSONSALT');
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
// Yes, we are doing the same as above for now.
|
|
362
|
+
// It can be better if we have verified the type of the data
|
|
363
|
+
loggedArgValue = generateSaltedHash(JSON.stringify(argValue), 'DBOSSALT');
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
dbos_sdk_1.DBOS.span?.setAttribute(methReg.args[idx].name, loggedArgValue);
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
return args;
|
|
370
|
+
}
|
|
371
|
+
exports.logMethodArgs = logMethodArgs;
|
|
6
372
|
var APITypes;
|
|
7
373
|
(function (APITypes) {
|
|
8
374
|
APITypes["GET"] = "GET";
|
|
@@ -18,6 +384,19 @@ var ArgSources;
|
|
|
18
384
|
ArgSources["BODY"] = "BODY";
|
|
19
385
|
ArgSources["QUERY"] = "QUERY";
|
|
20
386
|
})(ArgSources || (exports.ArgSources = ArgSources = {}));
|
|
387
|
+
/**
|
|
388
|
+
* This error can be thrown by DBOS applications to indicate
|
|
389
|
+
* the HTTP response code, in addition to the message.
|
|
390
|
+
* Note that any error with a 'status' field can be used.
|
|
391
|
+
*/
|
|
392
|
+
class DBOSResponseError extends Error {
|
|
393
|
+
status;
|
|
394
|
+
constructor(msg, status = 500) {
|
|
395
|
+
super(msg);
|
|
396
|
+
this.status = status;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
exports.DBOSResponseError = DBOSResponseError;
|
|
21
400
|
exports.DBOSHTTP = 'dboshttp';
|
|
22
401
|
exports.WorkflowIDHeader = 'dbos-idempotency-key';
|
|
23
402
|
exports.RequestIDHeader = 'X-Request-ID';
|
|
@@ -48,7 +427,7 @@ class DBOSHTTPBase {
|
|
|
48
427
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
49
428
|
const er = this;
|
|
50
429
|
return function apidec(target, propertyKey, descriptor) {
|
|
51
|
-
const { regInfo } = dbos_sdk_1.DBOS.associateFunctionWithInfo(er, descriptor.value, {
|
|
430
|
+
const { registration, regInfo } = dbos_sdk_1.DBOS.associateFunctionWithInfo(er, descriptor.value, {
|
|
52
431
|
ctorOrProto: target,
|
|
53
432
|
name: propertyKey,
|
|
54
433
|
});
|
|
@@ -59,6 +438,7 @@ class DBOSHTTPBase {
|
|
|
59
438
|
apiURL: url,
|
|
60
439
|
apiType: verb,
|
|
61
440
|
});
|
|
441
|
+
requestArgValidation(registration);
|
|
62
442
|
return descriptor;
|
|
63
443
|
};
|
|
64
444
|
}
|
|
@@ -82,9 +462,22 @@ class DBOSHTTPBase {
|
|
|
82
462
|
deleteApi(url) {
|
|
83
463
|
return this.httpApiDec(APITypes.DELETE, url);
|
|
84
464
|
}
|
|
465
|
+
/** Parameter decorator indicating which source to use (URL, BODY, etc) for arg data */
|
|
466
|
+
static argSource(source) {
|
|
467
|
+
return function (target, propertyKey, param) {
|
|
468
|
+
const curParam = dbos_sdk_1.DBOS.associateParamWithInfo(exports.DBOSHTTP,
|
|
469
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
470
|
+
Object.getOwnPropertyDescriptor(target, propertyKey).value, {
|
|
471
|
+
ctorOrProto: target,
|
|
472
|
+
name: propertyKey.toString(),
|
|
473
|
+
param,
|
|
474
|
+
});
|
|
475
|
+
curParam.argSource = source;
|
|
476
|
+
};
|
|
477
|
+
}
|
|
85
478
|
getArgSource(arg) {
|
|
86
|
-
|
|
87
|
-
return ArgSources.AUTO;
|
|
479
|
+
const arginfo = arg.getRegisteredInfo(exports.DBOSHTTP);
|
|
480
|
+
return arginfo?.argSource ?? ArgSources.AUTO;
|
|
88
481
|
}
|
|
89
482
|
logRegisteredEndpoints() {
|
|
90
483
|
dbos_sdk_1.DBOS.logger.info('HTTP endpoints supported:');
|
|
@@ -103,6 +496,27 @@ class DBOSHTTPBase {
|
|
|
103
496
|
}
|
|
104
497
|
}
|
|
105
498
|
}
|
|
499
|
+
static argRequired(target, propertyKey, parameterIndex) {
|
|
500
|
+
ArgRequired(target, propertyKey, parameterIndex);
|
|
501
|
+
}
|
|
502
|
+
static argOptional(target, propertyKey, parameterIndex) {
|
|
503
|
+
ArgOptional(target, propertyKey, parameterIndex);
|
|
504
|
+
}
|
|
505
|
+
static argDate() {
|
|
506
|
+
return ArgDate();
|
|
507
|
+
}
|
|
508
|
+
static argVarchar(n) {
|
|
509
|
+
return ArgVarchar(n);
|
|
510
|
+
}
|
|
511
|
+
static defaultArgRequired(ctor) {
|
|
512
|
+
return DefaultArgRequired(ctor);
|
|
513
|
+
}
|
|
514
|
+
static defaultArgOptional(ctor) {
|
|
515
|
+
return DefaultArgOptional(ctor);
|
|
516
|
+
}
|
|
517
|
+
static defaultArgValidate(ctor) {
|
|
518
|
+
return DefaultArgValidate(ctor);
|
|
519
|
+
}
|
|
106
520
|
}
|
|
107
521
|
exports.DBOSHTTPBase = DBOSHTTPBase;
|
|
108
522
|
//# sourceMappingURL=dboshttp.js.map
|
package/dist/src/dboshttp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dboshttp.js","sourceRoot":"","sources":["../../src/dboshttp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dboshttp.js","sourceRoot":"","sources":["../../src/dboshttp.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dboskoa.js
CHANGED
|
@@ -268,7 +268,7 @@ class DBOSKoa extends dboshttp_1.DBOSHTTPBase {
|
|
|
268
268
|
catch (e) {
|
|
269
269
|
if (e instanceof Error) {
|
|
270
270
|
span?.setStatus({ code: api_1.SpanStatusCode.ERROR, message: e.message });
|
|
271
|
-
let st = 500;
|
|
271
|
+
let st = e?.status || 500;
|
|
272
272
|
if ((0, dboshttp_1.isClientRequestError)(e)) {
|
|
273
273
|
st = 400; // Set to 400: client-side error.
|
|
274
274
|
}
|