@sylvesterllc/aws-constructs 1.0.23 → 1.0.25

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.
@@ -9,15 +9,19 @@ class Routes {
9
9
  let activeResource = undefined;
10
10
  // Only attach lambda to an Api Gateway if a route exist
11
11
  if (prop.apiGateway?.route) {
12
- // Note: this now uses the bundle version as the first segment in the path.
13
- activeRoutePath = (prop.apiGateway.useRouteOverride) ? "/" : `v${(prop.apiGateway.version) ? prop.apiGateway.version : 1}`;
14
- activeResource = Routes.routeMap.get(activeRoutePath) || api.root.addResource(activeRoutePath);
15
- Routes.routeMap.set(activeRoutePath, activeResource);
12
+ console.log('ROute: ', prop.apiGateway.route);
13
+ if (!prop.apiGateway.useRouteOverride) {
14
+ // First we create the root resource if it doesn't exist.
15
+ // Note: this now uses the bundle version as the first segment in the path.
16
+ activeRoutePath = `v${(prop.apiGateway.version) ? prop.apiGateway.version : 1}`;
17
+ activeResource = Routes.routeMap.get(activeRoutePath) || api.root.addResource(activeRoutePath);
18
+ Routes.routeMap.set(activeRoutePath, activeResource);
19
+ }
16
20
  // Now we go through our route segments creating the rest of the path.
17
21
  const pathSegments = prop.apiGateway?.route.split("/").filter(x => (x));
18
22
  for (let i = 0; i < pathSegments.length; i++) {
19
23
  activeRoutePath = `${activeRoutePath}/${pathSegments[i]}`;
20
- let secondaryResource = Routes.routeMap.get(activeRoutePath) || activeResource.addResource(pathSegments[i]);
24
+ let secondaryResource = Routes.routeMap.get(activeRoutePath) || activeResource?.addResource(pathSegments[i]) || api.root.addResource(activeRoutePath);
21
25
  Routes.routeMap.set(activeRoutePath, secondaryResource);
22
26
  activeResource = secondaryResource;
23
27
  }
@@ -29,4 +33,4 @@ class Routes {
29
33
  Routes.Resources = [];
30
34
  Routes.routeMap = new Map();
31
35
  exports.Routes = Routes;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZVJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBb0c7QUFLcEcsTUFBYSxNQUFNO0lBS1IsTUFBTSxDQUFDLGNBQWMsQ0FDeEIsSUFBbUIsRUFDbkIsR0FBYSxFQUNiLFVBQTBCLEVBQzFCLFVBQTRCO1FBRTVCLE1BQU0sUUFBUSxHQUEwQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWxELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLGNBQWMsR0FBeUIsU0FBUyxDQUFDO1FBRXJELHlEQUF5RDtRQUN6RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFO1lBRXBCLDZFQUE2RTtZQUM3RSxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxSCxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRXpELHVFQUF1RTtZQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxlQUFlLEdBQUcsR0FBRyxlQUFlLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksY0FBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0csTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3hELGNBQWMsR0FBRyxpQkFBaUIsQ0FBQzthQUN0QztZQUVELHdEQUF3RDtZQUN4RCxjQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssRUFDckQsSUFBSSxrQ0FBaUIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQzs7QUFwQ2EsZ0JBQVMsR0FBZSxFQUFFLENBQUM7QUFDMUIsZUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7QUFIM0Isd0JBQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzdEFwaSwgTGFtYmRhSW50ZWdyYXRpb24sIFJlc291cmNlLCBUb2tlbkF1dGhvcml6ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXMge1xuXG4gICAgcHVibGljIHN0YXRpYyBSZXNvdXJjZXM6IFJlc291cmNlW10gPSBbXTtcbiAgICBwcml2YXRlIHN0YXRpYyByb3V0ZU1hcCA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUmVzb3VyY2UoXG4gICAgICAgIHByb3A6IFRzZ0xhbWJkYVByb3AsXG4gICAgICAgIGFwaTogSVJlc3RBcGksXG4gICAgICAgIGxhbWJkYU5vZGU6IE5vZGVqc0Z1bmN0aW9uLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyKSB7XG5cbiAgICAgICAgY29uc3Qgcm91dGVNYXA6IE1hcDxzdHJpbmcsIFJlc291cmNlPiA9IG5ldyBNYXAoKTtcblxuICAgICAgICBsZXQgYWN0aXZlUm91dGVQYXRoID0gXCJcIjtcbiAgICAgICAgbGV0IGFjdGl2ZVJlc291cmNlOiBSZXNvdXJjZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyAgT25seSBhdHRhY2ggbGFtYmRhIHRvIGFuIEFwaSBHYXRld2F5IGlmIGEgcm91dGUgZXhpc3RcbiAgICAgICAgaWYgKHByb3AuYXBpR2F0ZXdheT8ucm91dGUpIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vICBOb3RlOiAgdGhpcyBub3cgdXNlcyB0aGUgYnVuZGxlIHZlcnNpb24gYXMgdGhlIGZpcnN0IHNlZ21lbnQgaW4gdGhlIHBhdGguXG4gICAgICAgICAgICAgICAgYWN0aXZlUm91dGVQYXRoID0gKHByb3AuYXBpR2F0ZXdheS51c2VSb3V0ZU92ZXJyaWRlKT8gXCIvXCIgOiBgdiR7KHByb3AuYXBpR2F0ZXdheS52ZXJzaW9uKSA/IHByb3AuYXBpR2F0ZXdheS52ZXJzaW9uIDogMX1gO1xuICAgICAgICAgICAgICAgIGFjdGl2ZVJlc291cmNlID0gUm91dGVzLnJvdXRlTWFwLmdldChhY3RpdmVSb3V0ZVBhdGgpIHx8IGFwaS5yb290LmFkZFJlc291cmNlKGFjdGl2ZVJvdXRlUGF0aCk7XG4gICAgICAgICAgICAgICAgUm91dGVzLnJvdXRlTWFwLnNldChhY3RpdmVSb3V0ZVBhdGgsIGFjdGl2ZVJlc291cmNlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gIE5vdyB3ZSBnbyB0aHJvdWdoIG91ciByb3V0ZSBzZWdtZW50cyBjcmVhdGluZyB0aGUgcmVzdCBvZiB0aGUgcGF0aC5cbiAgICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHByb3AuYXBpR2F0ZXdheT8ucm91dGUuc3BsaXQoXCIvXCIpLmZpbHRlcih4ID0+ICh4KSk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGFjdGl2ZVJvdXRlUGF0aCA9IGAke2FjdGl2ZVJvdXRlUGF0aH0vJHtwYXRoU2VnbWVudHNbaV19YDtcbiAgICAgICAgICAgICAgICBsZXQgc2Vjb25kYXJ5UmVzb3VyY2UgPSBSb3V0ZXMucm91dGVNYXAuZ2V0KGFjdGl2ZVJvdXRlUGF0aCkgfHwgYWN0aXZlUmVzb3VyY2UhLmFkZFJlc291cmNlKHBhdGhTZWdtZW50c1tpXSk7XG4gICAgICAgICAgICAgICAgUm91dGVzLnJvdXRlTWFwLnNldChhY3RpdmVSb3V0ZVBhdGgsIHNlY29uZGFyeVJlc291cmNlKTtcbiAgICAgICAgICAgICAgICBhY3RpdmVSZXNvdXJjZSA9IHNlY29uZGFyeVJlc291cmNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAgRmluYWxseSwgd2UgYXR0YWNoIG91ciBmdW5jdGlvbiB0byB0aGUgbGFzdCByZXNvdXJjZVxuICAgICAgICAgICAgYWN0aXZlUmVzb3VyY2UhLmFkZE1ldGhvZChwcm9wLmFwaUdhdGV3YXkubWV0aG9kIHx8ICdHRVQnLFxuICAgICAgICAgICAgICAgIG5ldyBMYW1iZGFJbnRlZ3JhdGlvbihsYW1iZGFOb2RlLCB7IHByb3h5OiB0cnVlLCB9KSxcbiAgICAgICAgICAgICAgICBwcm9wLmFwaUdhdGV3YXkuc2VjdXJlID8geyBhdXRob3JpemVyIH0gOiB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG59Il19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZVJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBb0c7QUFLcEcsTUFBYSxNQUFNO0lBS1IsTUFBTSxDQUFDLGNBQWMsQ0FDeEIsSUFBbUIsRUFDbkIsR0FBYSxFQUNiLFVBQTBCLEVBQzFCLFVBQTRCO1FBRTVCLE1BQU0sUUFBUSxHQUEwQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWxELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLGNBQWMsR0FBeUIsU0FBUyxDQUFDO1FBRXJELHlEQUF5RDtRQUN6RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFO1lBRXhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUc7Z0JBQ3hDLDBEQUEwRDtnQkFDdEQsNkVBQTZFO2dCQUM3RSxlQUFlLEdBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakYsY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvRixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDeEQ7WUFHRCx1RUFBdUU7WUFDdkUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsZUFBZSxHQUFHLEdBQUcsZUFBZSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLGNBQWMsRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3RKLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2dCQUN4RCxjQUFjLEdBQUcsaUJBQWlCLENBQUM7YUFDdEM7WUFFRCx3REFBd0Q7WUFDeEQsY0FBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQ3JELElBQUksa0NBQWlCLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7O0FBM0NhLGdCQUFTLEdBQWUsRUFBRSxDQUFDO0FBQzFCLGVBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBSDNCLHdCQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc3RBcGksIExhbWJkYUludGVncmF0aW9uLCBSZXNvdXJjZSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuXG5leHBvcnQgY2xhc3MgUm91dGVzIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgUmVzb3VyY2VzOiBSZXNvdXJjZVtdID0gW107XG4gICAgcHJpdmF0ZSBzdGF0aWMgcm91dGVNYXAgPSBuZXcgTWFwKCk7XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVJlc291cmNlKFxuICAgICAgICBwcm9wOiBUc2dMYW1iZGFQcm9wLFxuICAgICAgICBhcGk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFOb2RlOiBOb2RlanNGdW5jdGlvbixcbiAgICAgICAgYXV0aG9yaXplcj86IFRva2VuQXV0aG9yaXplcikge1xuXG4gICAgICAgIGNvbnN0IHJvdXRlTWFwOiBNYXA8c3RyaW5nLCBSZXNvdXJjZT4gPSBuZXcgTWFwKCk7XG5cbiAgICAgICAgbGV0IGFjdGl2ZVJvdXRlUGF0aCA9IFwiXCI7XG4gICAgICAgIGxldCBhY3RpdmVSZXNvdXJjZTogUmVzb3VyY2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gIE9ubHkgYXR0YWNoIGxhbWJkYSB0byBhbiBBcGkgR2F0ZXdheSBpZiBhIHJvdXRlIGV4aXN0XG4gICAgICAgIGlmIChwcm9wLmFwaUdhdGV3YXk/LnJvdXRlKSB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdST3V0ZTogJywgcHJvcC5hcGlHYXRld2F5LnJvdXRlKTtcblxuICAgICAgICAgICAgaWYgKCFwcm9wLmFwaUdhdGV3YXkudXNlUm91dGVPdmVycmlkZSkgIHtcbiAgICAgICAgICAgIC8vICBGaXJzdCB3ZSBjcmVhdGUgdGhlIHJvb3QgcmVzb3VyY2UgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgICAgICAgICAgICAgICAvLyAgTm90ZTogIHRoaXMgbm93IHVzZXMgdGhlIGJ1bmRsZSB2ZXJzaW9uIGFzIHRoZSBmaXJzdCBzZWdtZW50IGluIHRoZSBwYXRoLlxuICAgICAgICAgICAgICAgIGFjdGl2ZVJvdXRlUGF0aCA9ICBgdiR7KHByb3AuYXBpR2F0ZXdheS52ZXJzaW9uKSA/IHByb3AuYXBpR2F0ZXdheS52ZXJzaW9uIDogMX1gO1xuICAgICAgICAgICAgICAgIGFjdGl2ZVJlc291cmNlID0gUm91dGVzLnJvdXRlTWFwLmdldChhY3RpdmVSb3V0ZVBhdGgpIHx8IGFwaS5yb290LmFkZFJlc291cmNlKGFjdGl2ZVJvdXRlUGF0aCk7XG4gICAgICAgICAgICAgICAgUm91dGVzLnJvdXRlTWFwLnNldChhY3RpdmVSb3V0ZVBhdGgsIGFjdGl2ZVJlc291cmNlKTtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gIE5vdyB3ZSBnbyB0aHJvdWdoIG91ciByb3V0ZSBzZWdtZW50cyBjcmVhdGluZyB0aGUgcmVzdCBvZiB0aGUgcGF0aC5cbiAgICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHByb3AuYXBpR2F0ZXdheT8ucm91dGUuc3BsaXQoXCIvXCIpLmZpbHRlcih4ID0+ICh4KSk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlUm91dGVQYXRoID0gYCR7YWN0aXZlUm91dGVQYXRofS8ke3BhdGhTZWdtZW50c1tpXX1gO1xuICAgICAgICAgICAgICAgIGxldCBzZWNvbmRhcnlSZXNvdXJjZSA9IFJvdXRlcy5yb3V0ZU1hcC5nZXQoYWN0aXZlUm91dGVQYXRoKSB8fCBhY3RpdmVSZXNvdXJjZT8uYWRkUmVzb3VyY2UocGF0aFNlZ21lbnRzW2ldKSB8fCBhcGkucm9vdC5hZGRSZXNvdXJjZShhY3RpdmVSb3V0ZVBhdGgpO1xuICAgICAgICAgICAgICAgIFJvdXRlcy5yb3V0ZU1hcC5zZXQoYWN0aXZlUm91dGVQYXRoLCBzZWNvbmRhcnlSZXNvdXJjZSk7XG4gICAgICAgICAgICAgICAgYWN0aXZlUmVzb3VyY2UgPSBzZWNvbmRhcnlSZXNvdXJjZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gIEZpbmFsbHksIHdlIGF0dGFjaCBvdXIgZnVuY3Rpb24gdG8gdGhlIGxhc3QgcmVzb3VyY2VcbiAgICAgICAgICAgIGFjdGl2ZVJlc291cmNlIS5hZGRNZXRob2QocHJvcC5hcGlHYXRld2F5Lm1ldGhvZCB8fCAnR0VUJyxcbiAgICAgICAgICAgICAgICBuZXcgTGFtYmRhSW50ZWdyYXRpb24obGFtYmRhTm9kZSwgeyBwcm94eTogdHJ1ZSwgfSksXG4gICAgICAgICAgICAgICAgcHJvcC5hcGlHYXRld2F5LnNlY3VyZSA/IHsgYXV0aG9yaXplciB9IDogdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxufSJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -22,16 +22,23 @@ export class Routes {
22
22
  // Only attach lambda to an Api Gateway if a route exist
23
23
  if (prop.apiGateway?.route) {
24
24
 
25
+ console.log('ROute: ', prop.apiGateway.route);
26
+
27
+ if (!prop.apiGateway.useRouteOverride) {
28
+ // First we create the root resource if it doesn't exist.
25
29
  // Note: this now uses the bundle version as the first segment in the path.
26
- activeRoutePath = (prop.apiGateway.useRouteOverride)? "/" : `v${(prop.apiGateway.version) ? prop.apiGateway.version : 1}`;
30
+ activeRoutePath = `v${(prop.apiGateway.version) ? prop.apiGateway.version : 1}`;
27
31
  activeResource = Routes.routeMap.get(activeRoutePath) || api.root.addResource(activeRoutePath);
28
32
  Routes.routeMap.set(activeRoutePath, activeResource);
33
+ }
34
+
29
35
 
30
36
  // Now we go through our route segments creating the rest of the path.
31
37
  const pathSegments = prop.apiGateway?.route.split("/").filter(x => (x));
38
+
32
39
  for (let i = 0; i < pathSegments.length; i++) {
33
40
  activeRoutePath = `${activeRoutePath}/${pathSegments[i]}`;
34
- let secondaryResource = Routes.routeMap.get(activeRoutePath) || activeResource!.addResource(pathSegments[i]);
41
+ let secondaryResource = Routes.routeMap.get(activeRoutePath) || activeResource?.addResource(pathSegments[i]) || api.root.addResource(activeRoutePath);
35
42
  Routes.routeMap.set(activeRoutePath, secondaryResource);
36
43
  activeResource = secondaryResource;
37
44
  }