Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Commit 5b79e32

Browse files
authored
Update to version v1.0.2
### Updated - AWS CDK and SDK version updates - Library upgrades to address security vulnerabilities.
2 parents 4890a68 + 692b278 commit 5b79e32

File tree

50 files changed

+8041
-33999
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+8041
-33999
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,4 @@ source/infrastructure/test/mock-lambda-func/java-lambda/checkstyle-result.xml
5151
*.log
5252
.venv/**
5353
source/ui/public/pdf.worker.min.js
54-
.viperlightrc
55-
source/test/coverage-reports
54+
.viperlightrc

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.0.2] - 2023-11-09
9+
10+
### Updated
11+
12+
- AWS CDK and SDK version updates
13+
- Library upgrades to address security vulnerabilities.
14+
815
## [1.0.1] - 2023-10-18
916

1017
### Updated

NOTICE.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ This software includes third party software subject to the following copyrights:
2828
@aws-solutions-constructs/aws-sqs-lambda Apache-2.0
2929
@aws-solutions-constructs/aws-wafwebacl-apigateway Apache-2.0
3030
@aws-solutions-constructs/core Apache-2.0
31+
@babel/plugin-proposal-private-property-in-object MIT
3132
@cloudscape-design/components Apache-2.0
3233
@cloudscape-design/design-tokens Apache-2.0
3334
@cloudscape-design/global-styles Apache-2.0

source/infrastructure/lib/api/rest-api-documentation/api-documentation.ts

Lines changed: 60 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313

1414
import { CfnDocumentationPart, CfnDocumentationPartProps, CfnDocumentationVersion } from 'aws-cdk-lib/aws-apigateway';
1515
import { Construct } from 'constructs';
16-
import { caseResource, createCaseMethod, createCaseBody } from './case';
16+
import { caseResource, createCaseBody, createCaseMethod } from './case';
1717
import { casesResource } from './cases';
1818
import { downloadDocQueryParam, getDocQueryParam } from './document';
19-
import { apiRootDocumentationPart, authTokenHeader, caseIdPathParam, docIdPathParam } from './root';
19+
import { getInferenceByTypeMethod, listInferencesMethod } from './inferences';
2020
import { redactMethod, redactSuccessResponse } from './redact';
21+
import { apiRootDocumentationPart, authTokenHeader, caseIdPathParam, docIdPathParam } from './root';
2122
import { searchMethod, searchQueryPathParam } from './search';
22-
import { getInferenceByTypeMethod, listInferencesMethod } from './inferences';
2323

2424
export interface ApiDocumentationProps {
2525
/**
@@ -38,44 +38,76 @@ export class ApiDocumentation extends Construct {
3838
super(scope, id);
3939
this.restApiId = props.restApiId;
4040

41+
// specify the documentation version as same as solution version
42+
const documentationVersion = new CfnDocumentationVersion(this, 'Version', {
43+
documentationVersion: scope.node.tryGetContext('solution_version') || '',
44+
restApiId: this.restApiId
45+
});
46+
4147
// root resource
42-
new CfnDocumentationPart(this, 'RequestAuthHeader', this.createDocumentationPart(authTokenHeader));
43-
new CfnDocumentationPart(this, 'CaseIdPathParam', this.createDocumentationPart(caseIdPathParam));
44-
new CfnDocumentationPart(this, 'DocumentIdPathParam', this.createDocumentationPart(docIdPathParam));
45-
new CfnDocumentationPart(this, 'ApiRoot', this.createDocumentationPart(apiRootDocumentationPart));
48+
documentationVersion.addDependency(
49+
new CfnDocumentationPart(this, 'RequestAuthHeader', this.createDocumentationPart(authTokenHeader))
50+
);
51+
documentationVersion.addDependency(
52+
new CfnDocumentationPart(this, 'CaseIdPathParam', this.createDocumentationPart(caseIdPathParam))
53+
);
54+
documentationVersion.addDependency(
55+
new CfnDocumentationPart(this, 'DocumentIdPathParam', this.createDocumentationPart(docIdPathParam))
56+
);
57+
documentationVersion.addDependency(
58+
new CfnDocumentationPart(this, 'ApiRoot', this.createDocumentationPart(apiRootDocumentationPart))
59+
);
4660

4761
// case resource and endpoints
48-
new CfnDocumentationPart(this, 'CaseResource', this.createDocumentationPart(caseResource));
49-
new CfnDocumentationPart(this, 'CreateCaseMethod', this.createDocumentationPart(createCaseMethod));
50-
new CfnDocumentationPart(this, 'CreateCaseBody', this.createDocumentationPart(createCaseBody));
62+
documentationVersion.addDependency(
63+
new CfnDocumentationPart(this, 'CaseResource', this.createDocumentationPart(caseResource))
64+
);
65+
documentationVersion.addDependency(
66+
new CfnDocumentationPart(this, 'CreateCaseMethod', this.createDocumentationPart(createCaseMethod))
67+
);
68+
documentationVersion.addDependency(
69+
new CfnDocumentationPart(this, 'CreateCaseBody', this.createDocumentationPart(createCaseBody))
70+
);
5171

5272
// cases endpoint
53-
new CfnDocumentationPart(this, 'ListCasesResource', this.createDocumentationPart(casesResource));
73+
documentationVersion.addDependency(
74+
new CfnDocumentationPart(this, 'ListCasesResource', this.createDocumentationPart(casesResource))
75+
);
5476
// document endpoints
55-
new CfnDocumentationPart(this, 'GetDocQueryParam', this.createDocumentationPart(getDocQueryParam));
56-
new CfnDocumentationPart(this, 'DownloadDocQueryParam', this.createDocumentationPart(downloadDocQueryParam));
77+
documentationVersion.addDependency(
78+
new CfnDocumentationPart(this, 'GetDocQueryParam', this.createDocumentationPart(getDocQueryParam))
79+
);
80+
documentationVersion.addDependency(
81+
new CfnDocumentationPart(this, 'DownloadDocQueryParam', this.createDocumentationPart(downloadDocQueryParam))
82+
);
5783

5884
// redact endpoint
59-
new CfnDocumentationPart(this, 'RedactMethod', this.createDocumentationPart(redactMethod));
60-
new CfnDocumentationPart(this, 'RedactSuccessResponse', this.createDocumentationPart(redactSuccessResponse));
85+
documentationVersion.addDependency(
86+
new CfnDocumentationPart(this, 'RedactMethod', this.createDocumentationPart(redactMethod))
87+
);
88+
documentationVersion.addDependency(
89+
new CfnDocumentationPart(this, 'RedactSuccessResponse', this.createDocumentationPart(redactSuccessResponse))
90+
);
6191

6292
// search endpoint
63-
new CfnDocumentationPart(this, 'KendraSearchMethod', this.createDocumentationPart(searchMethod));
64-
new CfnDocumentationPart(this, 'KendraSearchPathParam', this.createDocumentationPart(searchQueryPathParam));
93+
documentationVersion.addDependency(
94+
new CfnDocumentationPart(this, 'KendraSearchMethod', this.createDocumentationPart(searchMethod))
95+
);
96+
documentationVersion.addDependency(
97+
new CfnDocumentationPart(this, 'KendraSearchPathParam', this.createDocumentationPart(searchQueryPathParam))
98+
);
6599

66100
// inference edpoints
67-
new CfnDocumentationPart(
68-
this,
69-
'GetInferenceByTypeMethod',
70-
this.createDocumentationPart(getInferenceByTypeMethod)
101+
documentationVersion.addDependency(
102+
new CfnDocumentationPart(
103+
this,
104+
'GetInferenceByTypeMethod',
105+
this.createDocumentationPart(getInferenceByTypeMethod)
106+
)
107+
);
108+
documentationVersion.addDependency(
109+
new CfnDocumentationPart(this, 'ListInferencesMethod', this.createDocumentationPart(listInferencesMethod))
71110
);
72-
new CfnDocumentationPart(this, 'ListInferencesMethod', this.createDocumentationPart(listInferencesMethod));
73-
74-
// specify the documentation version as same as solution version
75-
new CfnDocumentationVersion(this, 'Version', {
76-
documentationVersion: scope.node.tryGetContext('solution_version') || '',
77-
restApiId: this.restApiId
78-
});
79111
}
80112

81113
/**

source/infrastructure/lib/api/rest-endpoint.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
* and limitations under the License. *
1313
*********************************************************************************************************************/
1414

15-
import * as api from 'aws-cdk-lib/aws-apigateway';
1615
import * as cdk from 'aws-cdk-lib';
16+
import * as api from 'aws-cdk-lib/aws-apigateway';
1717
import * as cognito from 'aws-cdk-lib/aws-cognito';
1818
import * as iam from 'aws-cdk-lib/aws-iam';
1919
import * as lambda from 'aws-cdk-lib/aws-lambda';
@@ -30,13 +30,13 @@ import {
3030
} from './model-schema';
3131

3232
import { ApiGatewayToLambda } from '@aws-solutions-constructs/aws-apigateway-lambda';
33-
import { Construct } from 'constructs';
34-
import { NagSuppressions } from 'cdk-nag';
3533
import { WafwebaclToApiGateway } from '@aws-solutions-constructs/aws-wafwebacl-apigateway';
36-
import { addCfnSuppressRules } from '../utils/cfn-nag-suppressions';
37-
import { ApiDocumentation } from './rest-api-documentation/api-documentation';
3834
import { CfnUserPoolUser } from 'aws-cdk-lib/aws-cognito';
35+
import { NagSuppressions } from 'cdk-nag';
36+
import { Construct } from 'constructs';
37+
import { addCfnSuppressRules } from '../utils/cfn-nag-suppressions';
3938
import { PLACEHOLDER_EMAIL } from '../utils/constants';
39+
import { ApiDocumentation } from './rest-api-documentation/api-documentation';
4040

4141
export interface RestEndpointProps {
4242
/**

source/infrastructure/lib/utils/lambda-aspect.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ export class LambdaAspects extends Construct implements cdk.IAspect {
147147
this.nodejsUserAgentLayer = new NodeUserAgentLayer(this, 'NodeUserAgentLayer', {
148148
entry: '../lambda/layers/aws-node-user-agent-config',
149149
description: 'This layer configures AWS Node SDK initialization to send user-agent information',
150-
compatibleRuntimes: [lambda.Runtime.NODEJS_16_X, lambda.Runtime.NODEJS_18_X]
150+
compatibleRuntimes: [lambda.Runtime.NODEJS_18_X]
151151
});
152152
}
153153

@@ -204,7 +204,7 @@ export class LambdaAspects extends Construct implements cdk.IAspect {
204204
entry: '../lambda/layers/common-node-lib',
205205
description:
206206
'This layer contains shared libraries and functions across all lambda functions to be bundled with the lambda function',
207-
compatibleRuntimes: [lambda.Runtime.NODEJS_16_X, lambda.Runtime.NODEJS_18_X]
207+
compatibleRuntimes: [lambda.Runtime.NODEJS_18_X]
208208
});
209209
}
210210

@@ -221,7 +221,7 @@ export class LambdaAspects extends Construct implements cdk.IAspect {
221221
this.awsNodeSdkLibLayer = new AwsNodeSdkLibLayer(this, 'AwsNodeSdkLayer', {
222222
entry: '../lambda/layers/aws-sdk-lib',
223223
description: 'AWS Node SDK to be bundled with lambda functions',
224-
compatibleRuntimes: [lambda.Runtime.NODEJS_16_X, lambda.Runtime.NODEJS_18_X]
224+
compatibleRuntimes: [lambda.Runtime.NODEJS_18_X]
225225
});
226226
}
227227

0 commit comments

Comments
 (0)