@smartsheet-extensions/handler 1.0.0-beta.3 → 1.0.0-beta.6

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.
@@ -1,3 +1,8 @@
1
+ import FormData from 'form-data';
1
2
  import { ExtensionHandlerEnhancer } from '../handler';
2
- export declare const handleBigPayLoad: ExtensionHandlerEnhancer;
3
+ export interface PostResult {
4
+ data: FormData;
5
+ urlVal: string;
6
+ }
7
+ export declare const handleBigPayLoad: ExtensionHandlerEnhancer<import("../handler").DefaultExtensionHandler, import("../handler").DefaultExtensionHandler>;
3
8
  //# sourceMappingURL=handleBigPayLoad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleBigPayLoad.d.ts","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAiGtD,eAAO,MAAM,gBAAgB,EAAE,wBA+B9B,CAAC"}
1
+ {"version":3,"file":"handleBigPayLoad.d.ts","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AActD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAoLD,eAAO,MAAM,gBAAgB,sHAiB5B,CAAC"}
@@ -15,39 +15,53 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.handleBigPayLoad = void 0;
16
16
  const axios_1 = __importDefault(require("axios"));
17
17
  const form_data_1 = __importDefault(require("form-data"));
18
- const PlatformResponse_1 = require("../responses/PlatformResponse");
19
18
  const PayloadFetchError_1 = require("../errors/PayloadFetchError");
20
19
  const PayloadPostError_1 = require("../errors/PayloadPostError");
21
- const S3_EXECUTION = 's3Execution';
22
- const STREAM_EXECUTION = 'streamExecution';
20
+ const PlatformResponse_1 = require("../responses/PlatformResponse");
21
+ const xorHandler_1 = require("./xorHandler");
22
+ const normalizeError_1 = require("../utils/normalizeError");
23
+ const PayloadLimitExceedError_1 = require("../errors/PayloadLimitExceedError");
24
+ const constants_1 = require("../utils/constants");
23
25
  const getPayloadFromS3 = (url) => __awaiter(void 0, void 0, void 0, function* () {
24
26
  const resp = yield axios_1.default.get(url);
25
27
  return resp.data;
26
28
  });
27
- const putPayloadToS3 = (url, payload) => __awaiter(void 0, void 0, void 0, function* () {
29
+ const preparePostResult = (url, payload) => {
28
30
  const urlObj = new URL(decodeURI(url));
29
31
  const formData = new form_data_1.default();
30
32
  const urlVal = urlObj.origin + urlObj.pathname;
31
- urlObj.searchParams.forEach(function (value, key) {
33
+ urlObj.searchParams.forEach((value, key) => {
32
34
  formData.append(key, value);
33
35
  });
34
- formData.append('file', JSON.stringify(payload));
35
- const resp = yield axios_1.default.post(urlVal, formData, {
36
+ let payloadStr = JSON.stringify(payload);
37
+ if (payloadStr.length > constants_1.PAYLOAD_LIMIT) {
38
+ payloadStr = JSON.stringify(normalizeError_1.normalizeError(new PayloadLimitExceedError_1.PayloadLimitExceedError()).toJSON());
39
+ }
40
+ formData.append('file', payloadStr);
41
+ return {
42
+ data: formData,
43
+ urlVal,
44
+ };
45
+ };
46
+ const putPayloadToS3 = (result) => __awaiter(void 0, void 0, void 0, function* () {
47
+ const resp = yield axios_1.default.post(result.urlVal, result.data, {
36
48
  headers: {
37
49
  'Content-Type': 'multipart/form-data',
38
- 'Content-Length': formData.getLengthSync(),
50
+ 'Content-Length': result.data.getLengthSync(),
39
51
  },
52
+ maxContentLength: Infinity,
53
+ maxBodyLength: Infinity,
40
54
  });
41
55
  return resp.data;
42
56
  });
43
57
  const isStreamExecution = (payload) => {
44
58
  if (payload.meta !== undefined && payload.meta.type !== undefined) {
45
- return payload.meta.type === STREAM_EXECUTION;
59
+ return payload.meta.type === constants_1.STREAM_EXECUTION;
46
60
  }
47
61
  };
48
62
  const isS3Execution = (payload) => {
49
63
  if (payload.meta !== undefined && payload.meta.type !== undefined) {
50
- return payload.meta.type === S3_EXECUTION;
64
+ return payload.meta.type === constants_1.S3_EXECUTION;
51
65
  }
52
66
  };
53
67
  const wrapS3Response = (result) => {
@@ -82,39 +96,92 @@ const handlePostError = (err) => {
82
96
  return new PayloadPostError_1.PayloadPostError(err.stack);
83
97
  }
84
98
  };
85
- exports.handleBigPayLoad = create => {
99
+ /**
100
+ * Handles payloads that aren't wrapped.
101
+ */
102
+ const handlePassThroughPayload = create => {
86
103
  return () => {
87
104
  const handler = create();
88
105
  return (payload, callback) => {
89
- if (isS3Execution(payload)) {
90
- getPayloadFromS3(payload.body.getURL)
91
- .then(resultFromS3 => {
92
- handler(resultFromS3, (err, result) => {
93
- if (err) {
94
- callback(err);
95
- }
96
- else {
97
- putPayloadToS3(payload.body.postURL, result)
98
- .then(resultNext => {
99
- callback(err, wrapS3Response(resultNext));
100
- })
101
- .catch(s3Error => {
102
- callback(handlePostError(s3Error));
103
- });
104
- }
105
- });
106
- })
107
- .catch(s3GetErr => {
108
- callback(handleFetchError(s3GetErr));
109
- });
106
+ try {
107
+ handler(payload, callback);
108
+ }
109
+ catch (err) {
110
+ callback(err);
110
111
  }
111
- else if (isStreamExecution(payload)) {
112
+ };
113
+ };
114
+ };
115
+ /**
116
+ * Handles payloads that are wrapped and `meta.type === 'streamExecution'`.
117
+ * The payload is wrapped but the response is still raw, passed straight
118
+ * from the extension's usercode.
119
+ */
120
+ const handleStreamPayLoad = create => {
121
+ return () => {
122
+ const handler = create();
123
+ return (payload, callback) => {
124
+ try {
112
125
  handler(payload.body.payload, callback);
113
126
  }
114
- else {
115
- handler(payload, callback);
127
+ catch (err) {
128
+ callback(err);
116
129
  }
117
130
  };
118
131
  };
119
132
  };
133
+ /**
134
+ * Handles payloads that are wrapped and `meta.type === 's3Execution'`.
135
+ * The payload is fetched from S3 and the response is posted to S3.
136
+ * Only Platform errors are returned via the callback.
137
+ */
138
+ const handleS3PayLoad = create => {
139
+ return () => {
140
+ const handler = create();
141
+ const handlerAsPromise = (payload) => new Promise((resolve, reject) => {
142
+ handler(payload, (err, result) => {
143
+ if (err) {
144
+ reject(err);
145
+ }
146
+ else {
147
+ resolve(result);
148
+ }
149
+ });
150
+ });
151
+ return ({ body: { getURL, postURL } }, callback) => __awaiter(void 0, void 0, void 0, function* () {
152
+ getPayloadFromS3(getURL).then((payload) => {
153
+ return handlerAsPromise(payload)
154
+ .catch(upstreamErr => normalizeError_1.normalizeError(upstreamErr).toJSON())
155
+ .then(result => {
156
+ const resultToPost = preparePostResult(postURL, result);
157
+ // All upstream results, including errors.
158
+ putPayloadToS3(resultToPost).then(response => {
159
+ callback(null, wrapS3Response(response));
160
+ }, s3Error => {
161
+ // Only putPayloadToS3 error
162
+ callback(handlePostError(s3Error));
163
+ });
164
+ });
165
+ }, s3GetErr => {
166
+ // Only getPayloadFromS3 error
167
+ callback(handleFetchError(s3GetErr));
168
+ });
169
+ });
170
+ };
171
+ };
172
+ exports.handleBigPayLoad = xorHandler_1.xorHandler({
173
+ passThroughPayload: handlePassThroughPayload,
174
+ streamPayload: handleStreamPayLoad,
175
+ s3Payload: handleS3PayLoad,
176
+ }, {
177
+ getFunctionKey: (payload) => {
178
+ if (isS3Execution(payload)) {
179
+ return 's3Payload';
180
+ }
181
+ if (isStreamExecution(payload)) {
182
+ return 'streamPayload';
183
+ }
184
+ return 'passThroughPayload';
185
+ },
186
+ });
120
187
  //# sourceMappingURL=handleBigPayLoad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleBigPayLoad.js","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,0DAAiC;AAEjC,oEAGuC;AACvC,mEAAgE;AAChE,iEAA8D;AAE9D,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,gBAAgB,GAAG,CAAO,GAAW,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC,CAAA,CAAC;AAEF,MAAM,cAAc,GAAG,CAAO,GAAW,EAAE,OAAY,EAAE,EAAE;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE,GAAG;QAC9C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;QAC9C,OAAO,EAAE;YACP,cAAc,EAAE,qBAAqB;YACrC,gBAAgB,EAAE,QAAQ,CAAC,aAAa,EAAE;SAC3C;KACF,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC,CAAA,CAAC;AAsBF,MAAM,iBAAiB,GAAG,CAAC,OAAY,EAA8B,EAAE;IACrE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QACjE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;KAC/C;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAAY,EAA0B,EAAE;IAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QACjE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;KAC3C;AACH,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,MAAW,EAAoB,EAAE;IACvD,OAAO;QACL,MAAM,EAAE,iCAAc,CAAC,OAAO;QAC9B,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAU,EAAqB,EAAE;IACzD,IAAI,eAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QAC3B,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,OAAO,IAAI,qCAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,OAAO,IAAI,qCAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChD;KACF;SAAM;QACL,OAAO,IAAI,qCAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACzC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,GAAU,EAAoB,EAAE;IACvD,IAAI,eAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QAC3B,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,OAAO,IAAI,mCAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChD;QACD,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,OAAO,IAAI,mCAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/C;KACF;SAAM;QACL,OAAO,IAAI,mCAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACxC;AACH,CAAC,CAAC;AAEW,QAAA,gBAAgB,GAA6B,MAAM,CAAC,EAAE;IACjE,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAC3B,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;gBAC1B,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;qBAClC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACnB,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAW,EAAE,EAAE;wBACzC,IAAI,GAAG,EAAE;4BACP,QAAQ,CAAC,GAAG,CAAC,CAAC;yBACf;6BAAM;4BACL,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;iCACzC,IAAI,CAAC,UAAU,CAAC,EAAE;gCACjB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;4BAC5C,CAAC,CAAC;iCACD,KAAK,CAAC,OAAO,CAAC,EAAE;gCACf,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;4BACrC,CAAC,CAAC,CAAC;yBACN;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;qBACD,KAAK,CAAC,QAAQ,CAAC,EAAE;oBAChB,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aACzC;iBAAM;gBACL,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"handleBigPayLoad.js","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { AbstractError } from './AbstractError';
2
+ export declare class PayloadLimitExceedError extends AbstractError {
3
+ static CODE: string;
4
+ static STATUS: number;
5
+ static DESCRIPTION: string;
6
+ constructor();
7
+ }
8
+ //# sourceMappingURL=PayloadLimitExceedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadLimitExceedError.d.ts","sourceRoot":"","sources":["../../src/errors/PayloadLimitExceedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAc,IAAI,SAAgC;IAClD,OAAc,MAAM,SAAO;IAC3B,OAAc,WAAW,SACiC;;CAQ3D"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayloadLimitExceedError = void 0;
4
+ const AbstractError_1 = require("./AbstractError");
5
+ const InternalError_1 = require("./InternalError");
6
+ class PayloadLimitExceedError extends AbstractError_1.AbstractError {
7
+ constructor() {
8
+ super({
9
+ httpStatus: InternalError_1.InternalError.STATUS,
10
+ code: PayloadLimitExceedError.CODE,
11
+ description: PayloadLimitExceedError.DESCRIPTION,
12
+ });
13
+ }
14
+ }
15
+ exports.PayloadLimitExceedError = PayloadLimitExceedError;
16
+ PayloadLimitExceedError.CODE = 'PAYLOAD_LIMIT_EXCEED_ERROR';
17
+ PayloadLimitExceedError.STATUS = 413;
18
+ PayloadLimitExceedError.DESCRIPTION = 'Platform does not support payloads larger than 48 MB.';
19
+ //# sourceMappingURL=PayloadLimitExceedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadLimitExceedError.js","sourceRoot":"","sources":["../../src/errors/PayloadLimitExceedError.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,mDAAgD;AAEhD,MAAa,uBAAwB,SAAQ,6BAAa;IAKxD;QACE,KAAK,CAAC;YACJ,UAAU,EAAE,6BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,uBAAuB,CAAC,IAAI;YAClC,WAAW,EAAE,uBAAuB,CAAC,WAAW;SACjD,CAAC,CAAC;IACL,CAAC;;AAXH,0DAYC;AAXe,4BAAI,GAAG,4BAA4B,CAAC;AACpC,8BAAM,GAAG,GAAG,CAAC;AACb,mCAAW,GACvB,uDAAuD,CAAC"}
package/lib/index.d.ts CHANGED
@@ -18,4 +18,5 @@ export * from './transports/httpTransport';
18
18
  export * from './transports/lambdaTransport';
19
19
  export * from './utils/compose';
20
20
  export * from './utils/serializable';
21
+ export * from './utils/constants';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
package/lib/index.js CHANGED
@@ -30,4 +30,5 @@ __exportStar(require("./transports/httpTransport"), exports);
30
30
  __exportStar(require("./transports/lambdaTransport"), exports);
31
31
  __exportStar(require("./utils/compose"), exports);
32
32
  __exportStar(require("./utils/serializable"), exports);
33
+ __exportStar(require("./utils/constants"), exports);
33
34
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,6DAA2C;AAC3C,2DAAyC;AACzC,mEAAiD;AACjD,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,2DAAyC;AACzC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,4CAA0B;AAC1B,4DAA0C;AAC1C,gEAA8C;AAC9C,6DAA2C;AAC3C,+DAA6C;AAC7C,kDAAgC;AAChC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,6DAA2C;AAC3C,2DAAyC;AACzC,mEAAiD;AACjD,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,2DAAyC;AACzC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,4CAA0B;AAC1B,4DAA0C;AAC1C,gEAA8C;AAC9C,6DAA2C;AAC3C,+DAA6C;AAC7C,kDAAgC;AAChC,uDAAqC;AACrC,oDAAkC"}
@@ -0,0 +1,4 @@
1
+ export declare const S3_EXECUTION = "s3Execution";
2
+ export declare const STREAM_EXECUTION = "streamExecution";
3
+ export declare const PAYLOAD_LIMIT: number;
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,aAAa,QAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PAYLOAD_LIMIT = exports.STREAM_EXECUTION = exports.S3_EXECUTION = void 0;
4
+ exports.S3_EXECUTION = 's3Execution';
5
+ exports.STREAM_EXECUTION = 'streamExecution';
6
+ exports.PAYLOAD_LIMIT = 48 * 1024 * 1024;
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AACrC,QAAA,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsheet-extensions/handler",
3
- "version": "1.0.0-beta.3",
3
+ "version": "1.0.0-beta.6",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "main": "./lib/index.js",
@@ -11,7 +11,6 @@
11
11
  },
12
12
  "author": "graeme.cassels@smartsheet.com",
13
13
  "devDependencies": {
14
- "@types/aws-lambda": "^8.10.89",
15
14
  "@types/supertest": "^2.0.8",
16
15
  "body-parser": "^1.19.0",
17
16
  "express": "^4.17.1",
@@ -19,6 +18,7 @@
19
18
  "supertest": "^4.0.2"
20
19
  },
21
20
  "dependencies": {
21
+ "@types/aws-lambda": "^8.10.89",
22
22
  "@types/express": "^4.17.0",
23
23
  "axios": "^0.27.2",
24
24
  "form-data": "^4.0.0"