@pwrdrvr/microapps-router-lib 0.4.0-alpha.10 → 0.4.0-alpha.12

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 +1 @@
1
- {"version":3,"file":"get-route.d.ts","sourceRoot":"","sources":["../src/get-route.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIvD,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC;CAClD;AAED;;;;;;;GAOG;AAEH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAsJ9E"}
1
+ {"version":3,"file":"get-route.d.ts","sourceRoot":"","sources":["../src/get-route.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAKvD,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC;CAClD;AAED;;;;;;;GAOG;AAEH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAgK9E"}
package/dist/get-route.js CHANGED
@@ -6,6 +6,7 @@ const log_1 = tslib_1.__importDefault(require("./lib/log"));
6
6
  const get_app_info_1 = require("./get-app-info");
7
7
  const route_app_1 = require("./route-app");
8
8
  const redirect_default_file_1 = require("./redirect-default-file");
9
+ const app_cache_1 = require("./app-cache");
9
10
  const log = log_1.default.Instance;
10
11
  /**
11
12
  * Get information about immediate redirect, immediate response,
@@ -18,6 +19,7 @@ const log = log_1.default.Instance;
18
19
  async function GetRoute(event) {
19
20
  const { dbManager, normalizedPathPrefix = '', queryStringParameters, locales = [] } = event;
20
21
  try {
22
+ const appVersionCache = app_cache_1.AppVersionCache.GetInstance({ dbManager });
21
23
  if (!!normalizedPathPrefix && !event.rawPath.startsWith(normalizedPathPrefix)) {
22
24
  // The prefix is required if configured, if missing we cannot serve this app
23
25
  return { statusCode: 404, errorMessage: 'Request not routable' };
@@ -85,18 +87,24 @@ async function GetRoute(event) {
85
87
  // / semVer /
86
88
  // ^ ^^^^^^ ^
87
89
  // 0 1 2
88
- // This is an app and a version only
90
+ // This may be an app and a version only
89
91
  // If the request got here it's likely a static app that has no
90
- // Lambda function (thus the API Gateway route fell through to the Router)
91
- const response = await (0, redirect_default_file_1.RedirectToDefaultFile)({
92
- dbManager,
93
- appName,
94
- normalizedPathPrefix,
95
- semVer: partsAfterAppName[1],
96
- appNameOrRootTrailingSlash,
92
+ // Lambda function
93
+ // Let's check if the part is a version, if it is, route to the default file
94
+ const versionInfo = await appVersionCache.GetVersionInfo({
95
+ key: { AppName: appName, SemVer: partsAfterAppName[1] },
97
96
  });
98
- if (response) {
99
- return response;
97
+ if (versionInfo) {
98
+ const response = await (0, redirect_default_file_1.RedirectToDefaultFile)({
99
+ dbManager,
100
+ appName,
101
+ normalizedPathPrefix,
102
+ semVer: partsAfterAppName[1],
103
+ appNameOrRootTrailingSlash,
104
+ });
105
+ if (response) {
106
+ return response;
107
+ }
100
108
  }
101
109
  }
102
110
  // Check for a version in the path
@@ -1 +1 @@
1
- {"version":3,"file":"get-route.js","sourceRoot":"","sources":["../src/get-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-route.js","sourceRoot":"","sources":["../src/get-route.ts"],"names":[],"mappings":"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"}
package/dist/route-app.js CHANGED
@@ -114,10 +114,11 @@ async function RouteApp(opts) {
114
114
  if ((versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.StartupType) === 'iframe' || !(versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.StartupType)) {
115
115
  // Prepare the iframe contents
116
116
  let appVersionPath;
117
- if ((versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.Type) !== 'static' &&
118
- ((versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.DefaultFile) === undefined ||
119
- (versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.DefaultFile) === '' ||
120
- additionalParts !== '')) {
117
+ if (
118
+ // versionInfoToUse?.Type !== 'static' &&
119
+ (versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.DefaultFile) === undefined ||
120
+ (versionInfoToUse === null || versionInfoToUse === void 0 ? void 0 : versionInfoToUse.DefaultFile) === '' ||
121
+ additionalParts !== '') {
121
122
  // KLUDGE: We're going to take a missing default file to mean that the
122
123
  // app type is Next.js (or similar) and that it wants no trailing slash after the version
123
124
  // TODO: Move this to an attribute of the version
@@ -1 +1 @@
1
- {"version":3,"file":"route-app.js","sourceRoot":"","sources":["../src/route-app.ts"],"names":[],"mappings":";;;;AACA,2CAA8C;AAE9C,4DAA4B;AAE5B,MAAM,GAAG,GAAG,aAAG,CAAC,QAAQ,CAAC;AAEzB;;;;;;;;GAQG;AAEI,KAAK,UAAU,QAAQ,CAAC,IAU9B;;IACC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,oBAAoB,GAAG,EAAE,EACzB,OAAO,EACP,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,0BAA0B,GAC3B,GAAG,IAAI,CAAC;IAET,IAAI,gBAAqC,CAAC;IAE1C,MAAM,eAAe,GAAG,2BAAe,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEnE,gEAAgE;IAChE,MAAM,qCAAqC,GAAG,0BAA0B;QACtE,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE;SAC9D,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,qCAAqC,GAAG,0BAA0B;QACtE,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE;SAC9D,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,8BAA8B,GAAG,mBAAmB;QACxD,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;SACvD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,4CAA4C;IAC5C,MAAM,6BAA6B,GACjC,qCAAqC,IAAI,qCAAqC,CAAC;IACjF,IAAI,6BAA6B,EAAE;QACjC,EAAE;QACF,uDAAuD;QACvD,yEAAyE;QACzE,EAAE;QACF,2EAA2E;QAC3E,0BAA0B;QAC1B,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO;YACP,MAAM,EAAE,6BAA6B,CAAC,MAAM;YAC5C,GAAG,CAAC,CAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,GAAG,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,CAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,IAAI;gBACrC,CAAC,CAAC;oBACE,IAAI,EACF,CAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,IAAI,MAAK,QAAQ;wBAC9C,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,IAAI;iBAC1C;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;KACH;SAAM,IAAI,8BAA8B,EAAE;QACzC,mEAAmE;QACnE,oEAAoE;QACpE,gBAAgB,GAAG,8BAA8B,CAAC;KACnD;SAAM,IAAI,mBAAmB,EAAE;QAC9B,6DAA6D;QAC7D,8EAA8E;QAC9E,GAAG,CAAC,KAAK,CAAC,sBAAsB,OAAO,cAAc,KAAK,CAAC,OAAO,kBAAkB,EAAE;YACpF,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,gCAAgC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;SAC1E,CAAC;KACH;SAAM;QACL,EAAE;QACF,4CAA4C;QAC5C,+DAA+D;QAC/D,oCAAoC;QACpC,yDAAyD;QACzD,gCAAgC;QAChC,EAAE;QACF,mEAAmE;QACnE,kCAAkC;QAClC,2CAA2C;QAC3C,EAAE;QACF,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,OAAO,0CAAE,MAAM,CAAC;QAEtD,IAAI,cAAc,IAAI,IAAI,EAAE;YAC1B,GAAG,CAAC,KAAK,CAAC,sBAAsB,OAAO,cAAc,KAAK,CAAC,OAAO,kBAAkB,EAAE;gBACpF,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,YAAY,EAAE,gCAAgC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;aAC1E,CAAC;SACH;QAED,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC;YAC9D,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;SAClD,CAAC,CAAC;QAEH,gBAAgB,GAAG,kBAAkB,CAAC;KACvC;IAED,IAAI,CAAC,gBAAgB,EAAE;QACrB,GAAG,CAAC,KAAK,CACP,uCAAuC,OAAO,cAAc,KAAK,CAAC,OAAO,kBAAkB,EAC3F;YACE,UAAU,EAAE,GAAG;SAChB,CACF,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,iDAAiD,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;SAC3F,CAAC;KACH;IAED,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,QAAQ,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA,EAAE;QAChF,8BAA8B;QAC9B,IAAI,cAAsB,CAAC;QAC3B,IACE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,MAAK,QAAQ;YACnC,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,SAAS;gBAC1C,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,EAAE;gBACpC,eAAe,KAAK,EAAE,CAAC,EACzB;YACA,sEAAsE;YACtE,yFAAyF;YACzF,iDAAiD;YACjD,cAAc,GAAG,GAAG,oBAAoB,IAAI,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnG,IAAI,eAAe,KAAK,EAAE,EAAE;gBAC1B,cAAc,IAAI,IAAI,eAAe,EAAE,CAAC;aACzC;SACF;aAAM;YACL,6EAA6E;YAC7E,iDAAiD;YACjD,cAAc,GAAG,GAAG,oBAAoB,IAAI,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACpI;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO;YACP,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,WAAW,EAAE,QAAQ;YACrB,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI;gBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,cAAc;SACrC,CAAC;KACH;SAAM;QACL,iDAAiD;QACjD,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,MAAK,QAAQ,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,KAAI,EAAE,CAAC,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO;YACP,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,WAAW,EAAE,QAAQ;YACrB,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC;KACH;AACH,CAAC;AArLD,4BAqLC"}
1
+ {"version":3,"file":"route-app.js","sourceRoot":"","sources":["../src/route-app.ts"],"names":[],"mappings":";;;;AACA,2CAA8C;AAE9C,4DAA4B;AAE5B,MAAM,GAAG,GAAG,aAAG,CAAC,QAAQ,CAAC;AAEzB;;;;;;;;GAQG;AAEI,KAAK,UAAU,QAAQ,CAAC,IAU9B;;IACC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,oBAAoB,GAAG,EAAE,EACzB,OAAO,EACP,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,0BAA0B,GAC3B,GAAG,IAAI,CAAC;IAET,IAAI,gBAAqC,CAAC;IAE1C,MAAM,eAAe,GAAG,2BAAe,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAEnE,gEAAgE;IAChE,MAAM,qCAAqC,GAAG,0BAA0B;QACtE,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE;SAC9D,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,qCAAqC,GAAG,0BAA0B;QACtE,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE;SAC9D,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,8BAA8B,GAAG,mBAAmB;QACxD,CAAC,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC;YACnC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;SACvD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,4CAA4C;IAC5C,MAAM,6BAA6B,GACjC,qCAAqC,IAAI,qCAAqC,CAAC;IACjF,IAAI,6BAA6B,EAAE;QACjC,EAAE;QACF,uDAAuD;QACvD,yEAAyE;QACzE,EAAE;QACF,2EAA2E;QAC3E,0BAA0B;QAC1B,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO;YACP,MAAM,EAAE,6BAA6B,CAAC,MAAM;YAC5C,GAAG,CAAC,CAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,GAAG,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,CAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,IAAI;gBACrC,CAAC,CAAC;oBACE,IAAI,EACF,CAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,IAAI,MAAK,QAAQ;wBAC9C,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,IAAI;iBAC1C;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;KACH;SAAM,IAAI,8BAA8B,EAAE;QACzC,mEAAmE;QACnE,oEAAoE;QACpE,gBAAgB,GAAG,8BAA8B,CAAC;KACnD;SAAM,IAAI,mBAAmB,EAAE;QAC9B,6DAA6D;QAC7D,8EAA8E;QAC9E,GAAG,CAAC,KAAK,CAAC,sBAAsB,OAAO,cAAc,KAAK,CAAC,OAAO,kBAAkB,EAAE;YACpF,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,gCAAgC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;SAC1E,CAAC;KACH;SAAM;QACL,EAAE;QACF,4CAA4C;QAC5C,+DAA+D;QAC/D,oCAAoC;QACpC,yDAAyD;QACzD,gCAAgC;QAChC,EAAE;QACF,mEAAmE;QACnE,kCAAkC;QAClC,2CAA2C;QAC3C,EAAE;QACF,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,OAAO,0CAAE,MAAM,CAAC;QAEtD,IAAI,cAAc,IAAI,IAAI,EAAE;YAC1B,GAAG,CAAC,KAAK,CAAC,sBAAsB,OAAO,cAAc,KAAK,CAAC,OAAO,kBAAkB,EAAE;gBACpF,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,YAAY,EAAE,gCAAgC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;aAC1E,CAAC;SACH;QAED,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC;YAC9D,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;SAClD,CAAC,CAAC;QAEH,gBAAgB,GAAG,kBAAkB,CAAC;KACvC;IAED,IAAI,CAAC,gBAAgB,EAAE;QACrB,GAAG,CAAC,KAAK,CACP,uCAAuC,OAAO,cAAc,KAAK,CAAC,OAAO,kBAAkB,EAC3F;YACE,UAAU,EAAE,GAAG;SAChB,CACF,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,iDAAiD,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;SAC3F,CAAC;KACH;IAED,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,QAAQ,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA,EAAE;QAChF,8BAA8B;QAC9B,IAAI,cAAsB,CAAC;QAC3B;QACE,yCAAyC;QACzC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,SAAS;YAC3C,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,EAAE;YACpC,eAAe,KAAK,EAAE,EACtB;YACA,sEAAsE;YACtE,yFAAyF;YACzF,iDAAiD;YACjD,cAAc,GAAG,GAAG,oBAAoB,IAAI,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnG,IAAI,eAAe,KAAK,EAAE,EAAE;gBAC1B,cAAc,IAAI,IAAI,eAAe,EAAE,CAAC;aACzC;SACF;aAAM;YACL,6EAA6E;YAC7E,iDAAiD;YACjD,cAAc,GAAG,GAAG,oBAAoB,IAAI,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACpI;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO;YACP,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,WAAW,EAAE,QAAQ;YACrB,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI;gBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,cAAc;SACrC,CAAC;KACH;SAAM;QACL,iDAAiD;QACjD,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,MAAK,QAAQ,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,KAAI,EAAE,CAAC,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO;YACP,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,WAAW,EAAE,QAAQ;YACrB,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC;KACH;AACH,CAAC;AArLD,4BAqLC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pwrdrvr/microapps-router-lib",
3
- "version": "0.4.0-alpha.10",
3
+ "version": "0.4.0-alpha.12",
4
4
  "description": "Router library for the microapps framework",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
@@ -47,7 +47,10 @@ describe('router - without prefix', () => {
47
47
  await rules.Save(dbManager);
48
48
 
49
49
  // Call the handler
50
- const response = await GetRoute({ dbManager, rawPath: '/bat/' });
50
+ const response = await GetRoute({
51
+ dbManager,
52
+ rawPath: '/bat/',
53
+ });
51
54
 
52
55
  expect(response).toHaveProperty('statusCode');
53
56
  expect(response.statusCode).toBe(200);
@@ -55,6 +58,53 @@ describe('router - without prefix', () => {
55
58
  expect(response.iFrameAppVersionPath).toBe('/bat/3.2.1-beta.1/bat.html');
56
59
  });
57
60
 
61
+ it('should serve appframe with appver query string and default file substitued', async () => {
62
+ const AppName = 'BatAppVer';
63
+ const app = new Application({
64
+ AppName,
65
+ DisplayName: 'Bat App',
66
+ });
67
+ await app.Save(dbManager);
68
+
69
+ const version = new Version({
70
+ AppName,
71
+ DefaultFile: 'bat.html',
72
+ IntegrationID: 'abcd',
73
+ SemVer: '3.2.1-beta.1',
74
+ Status: 'deployed',
75
+ Type: 'lambda',
76
+ });
77
+ await version.Save(dbManager);
78
+ const version2 = new Version({
79
+ AppName,
80
+ DefaultFile: 'bat.html',
81
+ IntegrationID: 'abcd',
82
+ SemVer: '3.2.1-beta.2',
83
+ Status: 'deployed',
84
+ Type: 'lambda',
85
+ });
86
+ await version2.Save(dbManager);
87
+
88
+ const rules = new Rules({
89
+ AppName,
90
+ Version: 0,
91
+ RuleSet: { default: { SemVer: '3.2.1-beta.1', AttributeName: '', AttributeValue: '' } },
92
+ });
93
+ await rules.Save(dbManager);
94
+
95
+ // Call the handler
96
+ const response = await GetRoute({
97
+ dbManager,
98
+ rawPath: '/batappver/',
99
+ queryStringParameters: new URLSearchParams('appver=3.2.1-beta.2'),
100
+ });
101
+
102
+ expect(response).toHaveProperty('statusCode');
103
+ expect(response.statusCode).toBe(200);
104
+ expect(response).toBeDefined();
105
+ expect(response.iFrameAppVersionPath).toBe('/batappver/3.2.1-beta.2/bat.html');
106
+ });
107
+
58
108
  it('static app - request to app/x.y.z should redirect to defaultFile', async () => {
59
109
  const app = new Application({
60
110
  AppName: 'Bat',
@@ -122,6 +172,40 @@ describe('router - without prefix', () => {
122
172
  expect(response.semVer).toBe('3.2.1-beta.2');
123
173
  });
124
174
 
175
+ it('static app - request to app/some.html should create iframe with path after version', async () => {
176
+ const app = new Application({
177
+ AppName: 'Bat',
178
+ DisplayName: 'Bat App',
179
+ });
180
+ await app.Save(dbManager);
181
+
182
+ const version = new Version({
183
+ AppName: 'Bat',
184
+ DefaultFile: 'bat.html',
185
+ IntegrationID: 'abcd',
186
+ SemVer: '3.2.1-beta.1',
187
+ Status: 'deployed',
188
+ Type: 'static',
189
+ StartupType: 'iframe',
190
+ });
191
+ await version.Save(dbManager);
192
+
193
+ const rules = new Rules({
194
+ AppName: 'Bat',
195
+ Version: 0,
196
+ RuleSet: { default: { SemVer: '3.2.1-beta.1', AttributeName: '', AttributeValue: '' } },
197
+ });
198
+ await rules.Save(dbManager);
199
+
200
+ // Call the handler
201
+ const response = await GetRoute({ dbManager, rawPath: '/bat/some.html' });
202
+
203
+ expect(response).toHaveProperty('statusCode');
204
+ expect(response.statusCode).toBe(200);
205
+ expect(response.redirectLocation).not.toBeDefined();
206
+ expect(response.iFrameAppVersionPath).toBe('/bat/3.2.1-beta.1/some.html');
207
+ });
208
+
125
209
  it('static app - request to app/x.y.z/ should redirect to defaultFile', async () => {
126
210
  const app = new Application({
127
211
  AppName: 'Bat',
@@ -156,7 +240,7 @@ describe('router - without prefix', () => {
156
240
  expect(response.redirectLocation).toBe('/bat/3.2.1-beta.1/bat.html');
157
241
  });
158
242
 
159
- it('static app - request to app/notVersion should load app frame with defaultFile', async () => {
243
+ it('static app - request to app/notVersion should load app frame with /notVersion suffix', async () => {
160
244
  const AppName = 'Bat123';
161
245
  const app = new Application({
162
246
  AppName,
@@ -188,7 +272,7 @@ describe('router - without prefix', () => {
188
272
  expect(response).toHaveProperty('statusCode');
189
273
  expect(response.statusCode).toBe(200);
190
274
  expect(response).toBeDefined();
191
- expect(response.iFrameAppVersionPath).toBe(`/${AppName}/3.2.1-beta.1/bat.html`);
275
+ expect(response.iFrameAppVersionPath).toBe(`/${AppName}/3.2.1-beta.1/notVersion`);
192
276
  });
193
277
 
194
278
  it('should serve appframe with no default file', async () => {
package/src/get-route.ts CHANGED
@@ -3,6 +3,7 @@ import { GetAppInfo } from './get-app-info';
3
3
  import { RouteApp } from './route-app';
4
4
  import { RedirectToDefaultFile } from './redirect-default-file';
5
5
  import { DBManager } from '@pwrdrvr/microapps-datalib';
6
+ import { AppVersionCache } from './app-cache';
6
7
 
7
8
  const log = Log.Instance;
8
9
 
@@ -102,6 +103,8 @@ export async function GetRoute(event: IGetRouteEvent): Promise<IGetRouteResult>
102
103
  const { dbManager, normalizedPathPrefix = '', queryStringParameters, locales = [] } = event;
103
104
 
104
105
  try {
106
+ const appVersionCache = AppVersionCache.GetInstance({ dbManager });
107
+
105
108
  if (!!normalizedPathPrefix && !event.rawPath.startsWith(normalizedPathPrefix)) {
106
109
  // The prefix is required if configured, if missing we cannot serve this app
107
110
  return { statusCode: 404, errorMessage: 'Request not routable' };
@@ -187,18 +190,26 @@ export async function GetRoute(event: IGetRouteEvent): Promise<IGetRouteResult>
187
190
  // / semVer /
188
191
  // ^ ^^^^^^ ^
189
192
  // 0 1 2
190
- // This is an app and a version only
193
+ // This may be an app and a version only
191
194
  // If the request got here it's likely a static app that has no
192
- // Lambda function (thus the API Gateway route fell through to the Router)
193
- const response = await RedirectToDefaultFile({
194
- dbManager,
195
- appName,
196
- normalizedPathPrefix,
197
- semVer: partsAfterAppName[1],
198
- appNameOrRootTrailingSlash,
195
+ // Lambda function
196
+
197
+ // Let's check if the part is a version, if it is, route to the default file
198
+ const versionInfo = await appVersionCache.GetVersionInfo({
199
+ key: { AppName: appName, SemVer: partsAfterAppName[1] },
199
200
  });
200
- if (response) {
201
- return response;
201
+
202
+ if (versionInfo) {
203
+ const response = await RedirectToDefaultFile({
204
+ dbManager,
205
+ appName,
206
+ normalizedPathPrefix,
207
+ semVer: partsAfterAppName[1],
208
+ appNameOrRootTrailingSlash,
209
+ });
210
+ if (response) {
211
+ return response;
212
+ }
202
213
  }
203
214
  }
204
215
 
package/src/route-app.ts CHANGED
@@ -149,10 +149,10 @@ export async function RouteApp(opts: {
149
149
  // Prepare the iframe contents
150
150
  let appVersionPath: string;
151
151
  if (
152
- versionInfoToUse?.Type !== 'static' &&
153
- (versionInfoToUse?.DefaultFile === undefined ||
154
- versionInfoToUse?.DefaultFile === '' ||
155
- additionalParts !== '')
152
+ // versionInfoToUse?.Type !== 'static' &&
153
+ versionInfoToUse?.DefaultFile === undefined ||
154
+ versionInfoToUse?.DefaultFile === '' ||
155
+ additionalParts !== ''
156
156
  ) {
157
157
  // KLUDGE: We're going to take a missing default file to mean that the
158
158
  // app type is Next.js (or similar) and that it wants no trailing slash after the version