@mbc-cqrs-serverless/core 1.1.0-beta.0 → 1.1.0
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/commands/command.event.handler.d.ts +1 -1
- package/dist/commands/command.event.handler.js +1 -1
- package/dist/commands/command.event.handler.js.map +1 -1
- package/dist/constants/tenant.js.map +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.js +2 -2
- package/dist/helpers/index.js.map +1 -1
- package/dist/integration/utilities/aws-error-factory.d.ts +141 -0
- package/dist/integration/utilities/aws-error-factory.js +392 -0
- package/dist/integration/utilities/aws-error-factory.js.map +1 -0
- package/dist/integration/utilities/aws-mock-manager.d.ts +136 -0
- package/dist/integration/utilities/aws-mock-manager.js +336 -0
- package/dist/integration/utilities/aws-mock-manager.js.map +1 -0
- package/dist/integration/utilities/index.d.ts +22 -0
- package/dist/integration/utilities/index.js +99 -0
- package/dist/integration/utilities/index.js.map +1 -0
- package/dist/integration/utilities/test-assertions.d.ts +112 -0
- package/dist/integration/utilities/test-assertions.js +345 -0
- package/dist/integration/utilities/test-assertions.js.map +1 -0
- package/dist/integration/utilities/test-data-builders.d.ts +202 -0
- package/dist/integration/utilities/test-data-builders.js +320 -0
- package/dist/integration/utilities/test-data-builders.js.map +1 -0
- package/dist/interfaces/notification.interface.d.ts +13 -0
- package/dist/notifications/email.service.js +16 -4
- package/dist/notifications/email.service.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,10 +3,10 @@ import { DataSyncCommandSfnEvent, StepFunctionStateInput } from '../command-even
|
|
|
3
3
|
import { S3Service } from '../data-store';
|
|
4
4
|
import { CommandModuleOptions } from '../interfaces';
|
|
5
5
|
import { SnsService } from '../queue';
|
|
6
|
+
import { StepFunctionService } from '../step-func/step-function.service';
|
|
6
7
|
import { CommandService } from './command.service';
|
|
7
8
|
import { DataService } from './data.service';
|
|
8
9
|
import { HistoryService } from './history.service';
|
|
9
|
-
import { StepFunctionService } from '../step-func/step-function.service';
|
|
10
10
|
export declare class CommandEventHandler {
|
|
11
11
|
private readonly options;
|
|
12
12
|
private readonly commandService;
|
|
@@ -20,12 +20,12 @@ const sfn_name_enum_1 = require("../command-events/sfn-name.enum");
|
|
|
20
20
|
const data_store_1 = require("../data-store");
|
|
21
21
|
const key_1 = require("../helpers/key");
|
|
22
22
|
const queue_1 = require("../queue");
|
|
23
|
+
const step_function_service_1 = require("../step-func/step-function.service");
|
|
23
24
|
const command_module_definition_1 = require("./command.module-definition");
|
|
24
25
|
const command_service_1 = require("./command.service");
|
|
25
26
|
const data_service_1 = require("./data.service");
|
|
26
27
|
const status_enum_1 = require("./enums/status.enum");
|
|
27
28
|
const history_service_1 = require("./history.service");
|
|
28
|
-
const step_function_service_1 = require("../step-func/step-function.service");
|
|
29
29
|
let CommandEventHandler = CommandEventHandler_1 = class CommandEventHandler {
|
|
30
30
|
constructor(options, commandService, dataService, historyService, s3Service, snsService, config, sfnService) {
|
|
31
31
|
this.options = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.event.handler.js","sourceRoot":"","sources":["../../src/commands/command.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2D;AAC3D,2CAA8C;AAM9C,mEAAwE;AACxE,8CAAyC;AACzC,wCAAwE;AAExE,oCAAqC;AACrC,2EAAkE;AAClE,uDAAkD;AAClD,iDAA4C;AAC5C,qDAAqE;AACrE,uDAAkD;
|
|
1
|
+
{"version":3,"file":"command.event.handler.js","sourceRoot":"","sources":["../../src/commands/command.event.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/constants/tenant.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,eAAe,CAAA;AAEjD;;;GAGG;AACU,QAAA,aAAa,
|
|
1
|
+
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/constants/tenant.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,eAAe,CAAA;AAEjD;;;GAGG;AACU,QAAA,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAA;AAEvD,QAAA,mBAAmB,GAAG,QAAQ,CAAA;AAE3C;;;;;;GAMG;AACU,QAAA,2BAA2B,GAAG,CACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,QAAQ,CAC5C;KACE,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAE9B;;;;;;GAMG;AACU,QAAA,0BAA0B,GAAG,CACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,cAAc,CACjD;KACE,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export * from './key';
|
|
|
4
4
|
export * from './object';
|
|
5
5
|
export * from './serializer';
|
|
6
6
|
export * from './source';
|
|
7
|
-
export {
|
|
7
|
+
export { deserializeToInternal, serializeToExternal } from './serializer';
|
|
8
8
|
export declare const IS_LAMBDA_RUNNING: boolean;
|
package/dist/helpers/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.IS_LAMBDA_RUNNING = exports.
|
|
17
|
+
exports.IS_LAMBDA_RUNNING = exports.serializeToExternal = exports.deserializeToInternal = void 0;
|
|
18
18
|
__exportStar(require("./datetime"), exports);
|
|
19
19
|
__exportStar(require("./event-type"), exports);
|
|
20
20
|
__exportStar(require("./key"), exports);
|
|
@@ -23,8 +23,8 @@ __exportStar(require("./serializer"), exports);
|
|
|
23
23
|
__exportStar(require("./source"), exports);
|
|
24
24
|
// Re-export serialization helpers for convenience
|
|
25
25
|
var serializer_1 = require("./serializer");
|
|
26
|
-
Object.defineProperty(exports, "serializeToExternal", { enumerable: true, get: function () { return serializer_1.serializeToExternal; } });
|
|
27
26
|
Object.defineProperty(exports, "deserializeToInternal", { enumerable: true, get: function () { return serializer_1.deserializeToInternal; } });
|
|
27
|
+
Object.defineProperty(exports, "serializeToExternal", { enumerable: true, get: function () { return serializer_1.serializeToExternal; } });
|
|
28
28
|
exports.IS_LAMBDA_RUNNING = !!process.env.AWS_LAMBDA_FUNCTION_NAME &&
|
|
29
29
|
!!process.env.AWS_LAMBDA_FUNCTION_VERSION &&
|
|
30
30
|
!!process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,+CAA4B;AAC5B,wCAAqB;AACrB,2CAAwB;AACxB,+CAA4B;AAC5B,2CAAwB;AAExB,kDAAkD;AAClD,2CAAyE;AAAhE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,+CAA4B;AAC5B,wCAAqB;AACrB,2CAAwB;AACxB,+CAA4B;AAC5B,2CAAwB;AAExB,kDAAkD;AAClD,2CAAyE;AAAhE,mHAAA,qBAAqB,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAEtC,QAAA,iBAAiB,GAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB;IACtC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B;IACzC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Error Factory
|
|
3
|
+
*
|
|
4
|
+
* Provides standardized factory functions for creating AWS SDK errors
|
|
5
|
+
* used in integration tests. This eliminates code duplication across
|
|
6
|
+
* test files and ensures consistent error structure.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { createDynamoDBError, createS3Error } from './utilities/aws-error-factory'
|
|
10
|
+
*
|
|
11
|
+
* const error = createDynamoDBError('ProvisionedThroughputExceededException', {
|
|
12
|
+
* message: 'Rate exceeded',
|
|
13
|
+
* httpStatusCode: 400,
|
|
14
|
+
* throttling: true,
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Base AWS error structure used across all AWS SDK errors
|
|
19
|
+
*/
|
|
20
|
+
export interface AWSErrorMetadata {
|
|
21
|
+
httpStatusCode?: number;
|
|
22
|
+
requestId?: string;
|
|
23
|
+
extendedRequestId?: string;
|
|
24
|
+
cfId?: string;
|
|
25
|
+
attempts?: number;
|
|
26
|
+
totalRetryDelay?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extended error type that matches AWS SDK v3 error structure
|
|
30
|
+
*/
|
|
31
|
+
export interface AWSError extends Error {
|
|
32
|
+
name: string;
|
|
33
|
+
$metadata: AWSErrorMetadata;
|
|
34
|
+
$fault?: 'client' | 'server';
|
|
35
|
+
$retryable?: {
|
|
36
|
+
throttling?: boolean;
|
|
37
|
+
};
|
|
38
|
+
$service?: string;
|
|
39
|
+
code?: string;
|
|
40
|
+
retryAfterSeconds?: number;
|
|
41
|
+
time?: Date;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Options for creating AWS errors
|
|
45
|
+
*/
|
|
46
|
+
export interface CreateAWSErrorOptions {
|
|
47
|
+
message?: string;
|
|
48
|
+
httpStatusCode?: number;
|
|
49
|
+
requestId?: string;
|
|
50
|
+
throttling?: boolean;
|
|
51
|
+
fault?: 'client' | 'server';
|
|
52
|
+
retryAfterSeconds?: number;
|
|
53
|
+
code?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Common DynamoDB error names
|
|
57
|
+
*/
|
|
58
|
+
export type DynamoDBErrorName = 'ProvisionedThroughputExceededException' | 'ResourceNotFoundException' | 'ConditionalCheckFailedException' | 'ValidationException' | 'TransactionCanceledException' | 'TransactionConflictException' | 'ItemCollectionSizeLimitExceededException' | 'RequestLimitExceeded' | 'InternalServerError' | 'ServiceUnavailable' | 'ThrottlingException' | 'AccessDeniedException';
|
|
59
|
+
/**
|
|
60
|
+
* Creates a DynamoDB-specific error
|
|
61
|
+
*/
|
|
62
|
+
export declare function createDynamoDBError(name: DynamoDBErrorName, options?: CreateAWSErrorOptions): AWSError;
|
|
63
|
+
/**
|
|
64
|
+
* Common S3 error names
|
|
65
|
+
*/
|
|
66
|
+
export type S3ErrorName = 'NoSuchKey' | 'NoSuchBucket' | 'BucketNotEmpty' | 'BucketAlreadyExists' | 'BucketAlreadyOwnedByYou' | 'AccessDenied' | 'InvalidAccessKeyId' | 'SignatureDoesNotMatch' | 'EntityTooLarge' | 'EntityTooSmall' | 'InvalidPart' | 'InvalidPartOrder' | 'NoSuchUpload' | 'SlowDown' | 'InternalError' | 'ServiceUnavailable';
|
|
67
|
+
/**
|
|
68
|
+
* Creates an S3-specific error
|
|
69
|
+
*/
|
|
70
|
+
export declare function createS3Error(name: S3ErrorName, options?: CreateAWSErrorOptions): AWSError;
|
|
71
|
+
/**
|
|
72
|
+
* Common SQS error names
|
|
73
|
+
*/
|
|
74
|
+
export type SQSErrorName = 'QueueDoesNotExist' | 'QueueDeletedRecently' | 'QueueNameExists' | 'InvalidMessageContents' | 'MessageNotInflight' | 'ReceiptHandleIsInvalid' | 'PurgeQueueInProgress' | 'BatchEntryIdsNotDistinct' | 'BatchRequestTooLong' | 'EmptyBatchRequest' | 'InvalidBatchEntryId' | 'TooManyEntriesInBatchRequest' | 'OverLimit' | 'ThrottlingException' | 'AccessDeniedException';
|
|
75
|
+
/**
|
|
76
|
+
* Creates an SQS-specific error
|
|
77
|
+
*/
|
|
78
|
+
export declare function createSQSError(name: SQSErrorName, options?: CreateAWSErrorOptions): AWSError;
|
|
79
|
+
/**
|
|
80
|
+
* Common SNS error names
|
|
81
|
+
*/
|
|
82
|
+
export type SNSErrorName = 'NotFoundException' | 'TopicLimitExceededException' | 'SubscriptionLimitExceededException' | 'InvalidParameterException' | 'InvalidParameterValueException' | 'EndpointDisabledException' | 'PlatformApplicationDisabledException' | 'AuthorizationErrorException' | 'ThrottledException' | 'InternalErrorException';
|
|
83
|
+
/**
|
|
84
|
+
* Creates an SNS-specific error
|
|
85
|
+
*/
|
|
86
|
+
export declare function createSNSError(name: SNSErrorName, options?: CreateAWSErrorOptions): AWSError;
|
|
87
|
+
/**
|
|
88
|
+
* Common Step Functions error names
|
|
89
|
+
*/
|
|
90
|
+
export type SFNErrorName = 'ExecutionDoesNotExist' | 'ExecutionAlreadyExists' | 'ExecutionLimitExceeded' | 'InvalidArn' | 'InvalidDefinition' | 'InvalidExecutionInput' | 'InvalidName' | 'InvalidToken' | 'StateMachineDoesNotExist' | 'StateMachineLimitExceeded' | 'TaskDoesNotExist' | 'TaskTimedOut' | 'ActivityDoesNotExist' | 'ActivityLimitExceeded' | 'ResourceNotFound' | 'ThrottlingException' | 'ServiceQuotaExceededException';
|
|
91
|
+
/**
|
|
92
|
+
* Creates a Step Functions-specific error
|
|
93
|
+
*/
|
|
94
|
+
export declare function createSFNError(name: SFNErrorName, options?: CreateAWSErrorOptions): AWSError;
|
|
95
|
+
/**
|
|
96
|
+
* Common SES error names
|
|
97
|
+
*/
|
|
98
|
+
export type SESErrorName = 'MessageRejected' | 'MailFromDomainNotVerifiedException' | 'ConfigurationSetDoesNotExistException' | 'AccountSendingPausedException' | 'LimitExceededException' | 'NotFoundException' | 'TooManyRequestsException' | 'BadRequestException';
|
|
99
|
+
/**
|
|
100
|
+
* Creates an SES-specific error
|
|
101
|
+
*/
|
|
102
|
+
export declare function createSESError(name: SESErrorName, options?: CreateAWSErrorOptions): AWSError;
|
|
103
|
+
/**
|
|
104
|
+
* Network error codes
|
|
105
|
+
*/
|
|
106
|
+
export type NetworkErrorCode = 'ECONNRESET' | 'ECONNREFUSED' | 'ETIMEDOUT' | 'ENETUNREACH' | 'ENOTFOUND' | 'EPIPE' | 'EAI_AGAIN';
|
|
107
|
+
/**
|
|
108
|
+
* Creates a network-level error
|
|
109
|
+
*/
|
|
110
|
+
export declare function createNetworkError(code: NetworkErrorCode, message?: string): Error & {
|
|
111
|
+
code: string;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Creates a timeout error
|
|
115
|
+
*/
|
|
116
|
+
export declare function createTimeoutError(message?: string): Error & {
|
|
117
|
+
name: string;
|
|
118
|
+
code?: string;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Creates an error for a specific HTTP status code
|
|
122
|
+
*/
|
|
123
|
+
export declare function createHttpStatusError(statusCode: number, options?: {
|
|
124
|
+
name?: string;
|
|
125
|
+
message?: string;
|
|
126
|
+
requestId?: string;
|
|
127
|
+
}): AWSError;
|
|
128
|
+
/**
|
|
129
|
+
* Checks if an error is retriable based on AWS SDK v3 patterns
|
|
130
|
+
*/
|
|
131
|
+
export declare function isRetriableAWSError(error: AWSError): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Checks if an error is a throttling error
|
|
134
|
+
*/
|
|
135
|
+
export declare function isThrottlingError(error: AWSError): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Checks if an error is a network error
|
|
138
|
+
*/
|
|
139
|
+
export declare function isNetworkError(error: Error & {
|
|
140
|
+
code?: string;
|
|
141
|
+
}): boolean;
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AWS Error Factory
|
|
4
|
+
*
|
|
5
|
+
* Provides standardized factory functions for creating AWS SDK errors
|
|
6
|
+
* used in integration tests. This eliminates code duplication across
|
|
7
|
+
* test files and ensures consistent error structure.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* import { createDynamoDBError, createS3Error } from './utilities/aws-error-factory'
|
|
11
|
+
*
|
|
12
|
+
* const error = createDynamoDBError('ProvisionedThroughputExceededException', {
|
|
13
|
+
* message: 'Rate exceeded',
|
|
14
|
+
* httpStatusCode: 400,
|
|
15
|
+
* throttling: true,
|
|
16
|
+
* })
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.createDynamoDBError = createDynamoDBError;
|
|
20
|
+
exports.createS3Error = createS3Error;
|
|
21
|
+
exports.createSQSError = createSQSError;
|
|
22
|
+
exports.createSNSError = createSNSError;
|
|
23
|
+
exports.createSFNError = createSFNError;
|
|
24
|
+
exports.createSESError = createSESError;
|
|
25
|
+
exports.createNetworkError = createNetworkError;
|
|
26
|
+
exports.createTimeoutError = createTimeoutError;
|
|
27
|
+
exports.createHttpStatusError = createHttpStatusError;
|
|
28
|
+
exports.isRetriableAWSError = isRetriableAWSError;
|
|
29
|
+
exports.isThrottlingError = isThrottlingError;
|
|
30
|
+
exports.isNetworkError = isNetworkError;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a base AWS error with the standard structure
|
|
33
|
+
*/
|
|
34
|
+
function createBaseAWSError(name, options = {}) {
|
|
35
|
+
const { message = name, httpStatusCode = 400, requestId = `test-request-${Date.now()}`, throttling, fault = httpStatusCode >= 500 ? 'server' : 'client', retryAfterSeconds, code, } = options;
|
|
36
|
+
const error = new Error(message);
|
|
37
|
+
error.name = name;
|
|
38
|
+
error.$metadata = {
|
|
39
|
+
httpStatusCode,
|
|
40
|
+
requestId,
|
|
41
|
+
};
|
|
42
|
+
error.$fault = fault;
|
|
43
|
+
if (throttling !== undefined) {
|
|
44
|
+
error.$retryable = { throttling };
|
|
45
|
+
}
|
|
46
|
+
if (retryAfterSeconds !== undefined) {
|
|
47
|
+
error.retryAfterSeconds = retryAfterSeconds;
|
|
48
|
+
}
|
|
49
|
+
if (code !== undefined) {
|
|
50
|
+
error.code = code;
|
|
51
|
+
}
|
|
52
|
+
return error;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Creates a DynamoDB-specific error
|
|
56
|
+
*/
|
|
57
|
+
function createDynamoDBError(name, options = {}) {
|
|
58
|
+
const defaultOptions = {};
|
|
59
|
+
// Set default properties based on error type
|
|
60
|
+
switch (name) {
|
|
61
|
+
case 'ProvisionedThroughputExceededException':
|
|
62
|
+
case 'ThrottlingException':
|
|
63
|
+
case 'RequestLimitExceeded':
|
|
64
|
+
defaultOptions.throttling = true;
|
|
65
|
+
defaultOptions.httpStatusCode = 400;
|
|
66
|
+
break;
|
|
67
|
+
case 'InternalServerError':
|
|
68
|
+
defaultOptions.httpStatusCode = 500;
|
|
69
|
+
defaultOptions.fault = 'server';
|
|
70
|
+
break;
|
|
71
|
+
case 'ServiceUnavailable':
|
|
72
|
+
defaultOptions.httpStatusCode = 503;
|
|
73
|
+
defaultOptions.fault = 'server';
|
|
74
|
+
break;
|
|
75
|
+
case 'ValidationException':
|
|
76
|
+
case 'ConditionalCheckFailedException':
|
|
77
|
+
case 'ResourceNotFoundException':
|
|
78
|
+
defaultOptions.httpStatusCode = 400;
|
|
79
|
+
defaultOptions.fault = 'client';
|
|
80
|
+
break;
|
|
81
|
+
case 'TransactionCanceledException':
|
|
82
|
+
case 'TransactionConflictException':
|
|
83
|
+
defaultOptions.httpStatusCode = 400;
|
|
84
|
+
break;
|
|
85
|
+
case 'ItemCollectionSizeLimitExceededException':
|
|
86
|
+
defaultOptions.httpStatusCode = 400;
|
|
87
|
+
break;
|
|
88
|
+
case 'AccessDeniedException':
|
|
89
|
+
defaultOptions.httpStatusCode = 403;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
const error = createBaseAWSError(name, { ...defaultOptions, ...options });
|
|
93
|
+
error.$service = 'DynamoDB';
|
|
94
|
+
return error;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Creates an S3-specific error
|
|
98
|
+
*/
|
|
99
|
+
function createS3Error(name, options = {}) {
|
|
100
|
+
const defaultOptions = {};
|
|
101
|
+
switch (name) {
|
|
102
|
+
case 'NoSuchKey':
|
|
103
|
+
case 'NoSuchBucket':
|
|
104
|
+
case 'NoSuchUpload':
|
|
105
|
+
defaultOptions.httpStatusCode = 404;
|
|
106
|
+
break;
|
|
107
|
+
case 'AccessDenied':
|
|
108
|
+
case 'InvalidAccessKeyId':
|
|
109
|
+
case 'SignatureDoesNotMatch':
|
|
110
|
+
defaultOptions.httpStatusCode = 403;
|
|
111
|
+
break;
|
|
112
|
+
case 'EntityTooLarge':
|
|
113
|
+
defaultOptions.httpStatusCode = 400;
|
|
114
|
+
break;
|
|
115
|
+
case 'SlowDown':
|
|
116
|
+
defaultOptions.httpStatusCode = 503;
|
|
117
|
+
defaultOptions.throttling = true;
|
|
118
|
+
break;
|
|
119
|
+
case 'InternalError':
|
|
120
|
+
defaultOptions.httpStatusCode = 500;
|
|
121
|
+
defaultOptions.fault = 'server';
|
|
122
|
+
break;
|
|
123
|
+
case 'ServiceUnavailable':
|
|
124
|
+
defaultOptions.httpStatusCode = 503;
|
|
125
|
+
defaultOptions.fault = 'server';
|
|
126
|
+
break;
|
|
127
|
+
case 'BucketNotEmpty':
|
|
128
|
+
case 'BucketAlreadyExists':
|
|
129
|
+
case 'BucketAlreadyOwnedByYou':
|
|
130
|
+
defaultOptions.httpStatusCode = 409;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
const error = createBaseAWSError(name, { ...defaultOptions, ...options });
|
|
134
|
+
error.$service = 'S3';
|
|
135
|
+
return error;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates an SQS-specific error
|
|
139
|
+
*/
|
|
140
|
+
function createSQSError(name, options = {}) {
|
|
141
|
+
const defaultOptions = {};
|
|
142
|
+
switch (name) {
|
|
143
|
+
case 'QueueDoesNotExist':
|
|
144
|
+
defaultOptions.httpStatusCode = 400;
|
|
145
|
+
break;
|
|
146
|
+
case 'ThrottlingException':
|
|
147
|
+
case 'OverLimit':
|
|
148
|
+
defaultOptions.throttling = true;
|
|
149
|
+
defaultOptions.httpStatusCode = 400;
|
|
150
|
+
break;
|
|
151
|
+
case 'AccessDeniedException':
|
|
152
|
+
defaultOptions.httpStatusCode = 403;
|
|
153
|
+
break;
|
|
154
|
+
case 'InvalidMessageContents':
|
|
155
|
+
case 'BatchEntryIdsNotDistinct':
|
|
156
|
+
case 'BatchRequestTooLong':
|
|
157
|
+
case 'EmptyBatchRequest':
|
|
158
|
+
case 'InvalidBatchEntryId':
|
|
159
|
+
case 'TooManyEntriesInBatchRequest':
|
|
160
|
+
defaultOptions.httpStatusCode = 400;
|
|
161
|
+
break;
|
|
162
|
+
case 'MessageNotInflight':
|
|
163
|
+
case 'ReceiptHandleIsInvalid':
|
|
164
|
+
defaultOptions.httpStatusCode = 400;
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
const error = createBaseAWSError(name, { ...defaultOptions, ...options });
|
|
168
|
+
error.$service = 'SQS';
|
|
169
|
+
return error;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Creates an SNS-specific error
|
|
173
|
+
*/
|
|
174
|
+
function createSNSError(name, options = {}) {
|
|
175
|
+
const defaultOptions = {};
|
|
176
|
+
switch (name) {
|
|
177
|
+
case 'NotFoundException':
|
|
178
|
+
defaultOptions.httpStatusCode = 404;
|
|
179
|
+
break;
|
|
180
|
+
case 'TopicLimitExceededException':
|
|
181
|
+
case 'SubscriptionLimitExceededException':
|
|
182
|
+
case 'ThrottledException':
|
|
183
|
+
defaultOptions.throttling = true;
|
|
184
|
+
defaultOptions.httpStatusCode = 400;
|
|
185
|
+
break;
|
|
186
|
+
case 'AuthorizationErrorException':
|
|
187
|
+
defaultOptions.httpStatusCode = 403;
|
|
188
|
+
break;
|
|
189
|
+
case 'InternalErrorException':
|
|
190
|
+
defaultOptions.httpStatusCode = 500;
|
|
191
|
+
defaultOptions.fault = 'server';
|
|
192
|
+
break;
|
|
193
|
+
case 'InvalidParameterException':
|
|
194
|
+
case 'InvalidParameterValueException':
|
|
195
|
+
defaultOptions.httpStatusCode = 400;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
const error = createBaseAWSError(name, { ...defaultOptions, ...options });
|
|
199
|
+
error.$service = 'SNS';
|
|
200
|
+
return error;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Creates a Step Functions-specific error
|
|
204
|
+
*/
|
|
205
|
+
function createSFNError(name, options = {}) {
|
|
206
|
+
const defaultOptions = {};
|
|
207
|
+
switch (name) {
|
|
208
|
+
case 'ExecutionDoesNotExist':
|
|
209
|
+
case 'StateMachineDoesNotExist':
|
|
210
|
+
case 'TaskDoesNotExist':
|
|
211
|
+
case 'ActivityDoesNotExist':
|
|
212
|
+
case 'ResourceNotFound':
|
|
213
|
+
defaultOptions.httpStatusCode = 400;
|
|
214
|
+
break;
|
|
215
|
+
case 'ExecutionAlreadyExists':
|
|
216
|
+
defaultOptions.httpStatusCode = 400;
|
|
217
|
+
break;
|
|
218
|
+
case 'ThrottlingException':
|
|
219
|
+
case 'ExecutionLimitExceeded':
|
|
220
|
+
case 'StateMachineLimitExceeded':
|
|
221
|
+
case 'ActivityLimitExceeded':
|
|
222
|
+
case 'ServiceQuotaExceededException':
|
|
223
|
+
defaultOptions.throttling = true;
|
|
224
|
+
defaultOptions.httpStatusCode = 400;
|
|
225
|
+
break;
|
|
226
|
+
case 'InvalidArn':
|
|
227
|
+
case 'InvalidDefinition':
|
|
228
|
+
case 'InvalidExecutionInput':
|
|
229
|
+
case 'InvalidName':
|
|
230
|
+
case 'InvalidToken':
|
|
231
|
+
defaultOptions.httpStatusCode = 400;
|
|
232
|
+
break;
|
|
233
|
+
case 'TaskTimedOut':
|
|
234
|
+
defaultOptions.httpStatusCode = 400;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
const error = createBaseAWSError(name, { ...defaultOptions, ...options });
|
|
238
|
+
error.$service = 'StepFunctions';
|
|
239
|
+
return error;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Creates an SES-specific error
|
|
243
|
+
*/
|
|
244
|
+
function createSESError(name, options = {}) {
|
|
245
|
+
const defaultOptions = {};
|
|
246
|
+
switch (name) {
|
|
247
|
+
case 'MessageRejected':
|
|
248
|
+
defaultOptions.httpStatusCode = 400;
|
|
249
|
+
break;
|
|
250
|
+
case 'MailFromDomainNotVerifiedException':
|
|
251
|
+
defaultOptions.httpStatusCode = 400;
|
|
252
|
+
break;
|
|
253
|
+
case 'ConfigurationSetDoesNotExistException':
|
|
254
|
+
case 'NotFoundException':
|
|
255
|
+
defaultOptions.httpStatusCode = 404;
|
|
256
|
+
break;
|
|
257
|
+
case 'AccountSendingPausedException':
|
|
258
|
+
defaultOptions.httpStatusCode = 400;
|
|
259
|
+
break;
|
|
260
|
+
case 'LimitExceededException':
|
|
261
|
+
case 'TooManyRequestsException':
|
|
262
|
+
defaultOptions.throttling = true;
|
|
263
|
+
defaultOptions.httpStatusCode = 429;
|
|
264
|
+
break;
|
|
265
|
+
case 'BadRequestException':
|
|
266
|
+
defaultOptions.httpStatusCode = 400;
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
const error = createBaseAWSError(name, { ...defaultOptions, ...options });
|
|
270
|
+
error.$service = 'SES';
|
|
271
|
+
return error;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Creates a network-level error
|
|
275
|
+
*/
|
|
276
|
+
function createNetworkError(code, message) {
|
|
277
|
+
const defaultMessages = {
|
|
278
|
+
ECONNRESET: 'read ECONNRESET',
|
|
279
|
+
ECONNREFUSED: 'connect ECONNREFUSED',
|
|
280
|
+
ETIMEDOUT: 'connect ETIMEDOUT',
|
|
281
|
+
ENETUNREACH: 'network unreachable',
|
|
282
|
+
ENOTFOUND: 'getaddrinfo ENOTFOUND',
|
|
283
|
+
EPIPE: 'write EPIPE',
|
|
284
|
+
EAI_AGAIN: 'getaddrinfo EAI_AGAIN',
|
|
285
|
+
};
|
|
286
|
+
const error = new Error(message || defaultMessages[code]);
|
|
287
|
+
error.code = code;
|
|
288
|
+
return error;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Creates a timeout error
|
|
292
|
+
*/
|
|
293
|
+
function createTimeoutError(message = 'Request timeout') {
|
|
294
|
+
const error = new Error(message);
|
|
295
|
+
error.name = 'TimeoutError';
|
|
296
|
+
error.code = 'ETIMEDOUT';
|
|
297
|
+
return error;
|
|
298
|
+
}
|
|
299
|
+
// ============================================================================
|
|
300
|
+
// Generic HTTP Status Errors
|
|
301
|
+
// ============================================================================
|
|
302
|
+
/**
|
|
303
|
+
* Creates an error for a specific HTTP status code
|
|
304
|
+
*/
|
|
305
|
+
function createHttpStatusError(statusCode, options = {}) {
|
|
306
|
+
const statusMessages = {
|
|
307
|
+
400: 'Bad Request',
|
|
308
|
+
401: 'Unauthorized',
|
|
309
|
+
403: 'Forbidden',
|
|
310
|
+
404: 'Not Found',
|
|
311
|
+
408: 'Request Timeout',
|
|
312
|
+
429: 'Too Many Requests',
|
|
313
|
+
500: 'Internal Server Error',
|
|
314
|
+
502: 'Bad Gateway',
|
|
315
|
+
503: 'Service Unavailable',
|
|
316
|
+
504: 'Gateway Timeout',
|
|
317
|
+
};
|
|
318
|
+
const name = options.name || statusMessages[statusCode] || 'UnknownError';
|
|
319
|
+
const message = options.message || statusMessages[statusCode] || 'Error';
|
|
320
|
+
return createBaseAWSError(name, {
|
|
321
|
+
message,
|
|
322
|
+
httpStatusCode: statusCode,
|
|
323
|
+
requestId: options.requestId,
|
|
324
|
+
fault: statusCode >= 500 ? 'server' : 'client',
|
|
325
|
+
throttling: statusCode === 429,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
// ============================================================================
|
|
329
|
+
// Utility Functions
|
|
330
|
+
// ============================================================================
|
|
331
|
+
/**
|
|
332
|
+
* Checks if an error is retriable based on AWS SDK v3 patterns
|
|
333
|
+
*/
|
|
334
|
+
function isRetriableAWSError(error) {
|
|
335
|
+
// Check $retryable flag
|
|
336
|
+
if (error.$retryable) {
|
|
337
|
+
return true;
|
|
338
|
+
}
|
|
339
|
+
// Check HTTP status codes
|
|
340
|
+
const statusCode = error.$metadata?.httpStatusCode;
|
|
341
|
+
if (statusCode) {
|
|
342
|
+
// 5xx errors are retriable
|
|
343
|
+
if (statusCode >= 500 && statusCode < 600) {
|
|
344
|
+
return true;
|
|
345
|
+
}
|
|
346
|
+
// 429 Too Many Requests
|
|
347
|
+
if (statusCode === 429) {
|
|
348
|
+
return true;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// Check error names
|
|
352
|
+
const retriableErrorNames = [
|
|
353
|
+
'ProvisionedThroughputExceededException',
|
|
354
|
+
'ThrottlingException',
|
|
355
|
+
'InternalServerError',
|
|
356
|
+
'ServiceUnavailable',
|
|
357
|
+
'RequestLimitExceeded',
|
|
358
|
+
'SlowDown',
|
|
359
|
+
'TooManyRequestsException',
|
|
360
|
+
];
|
|
361
|
+
return retriableErrorNames.includes(error.name);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Checks if an error is a throttling error
|
|
365
|
+
*/
|
|
366
|
+
function isThrottlingError(error) {
|
|
367
|
+
return error.$retryable?.throttling === true;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Checks if an error is a network error
|
|
371
|
+
*/
|
|
372
|
+
function isNetworkError(error) {
|
|
373
|
+
const networkErrorCodes = [
|
|
374
|
+
'ECONNRESET',
|
|
375
|
+
'ECONNREFUSED',
|
|
376
|
+
'ETIMEDOUT',
|
|
377
|
+
'ENETUNREACH',
|
|
378
|
+
'ENOTFOUND',
|
|
379
|
+
'EPIPE',
|
|
380
|
+
'EAI_AGAIN',
|
|
381
|
+
];
|
|
382
|
+
if (error.code &&
|
|
383
|
+
networkErrorCodes.includes(error.code)) {
|
|
384
|
+
return true;
|
|
385
|
+
}
|
|
386
|
+
const message = error.message.toLowerCase();
|
|
387
|
+
return (message.includes('socket hang up') ||
|
|
388
|
+
message.includes('network error') ||
|
|
389
|
+
message.includes('connection reset') ||
|
|
390
|
+
message.includes('connection refused'));
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=aws-error-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-error-factory.js","sourceRoot":"","sources":["../../../src/integration/utilities/aws-error-factory.ts"],"names":[],"mappings":"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"}
|