@gemeentenijmegen/webapp 0.0.1 → 0.0.3

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/.jsii CHANGED
@@ -3700,7 +3700,7 @@
3700
3700
  },
3701
3701
  "name": "@gemeentenijmegen/webapp",
3702
3702
  "readme": {
3703
- "markdown": "# replace this"
3703
+ "markdown": "# Generic webapp\n\nThis packages provides the building blocks to create a standardized webapp.\nIt contains both infrastructure (CloudFront, S3 buckets etc.) as application code (login/authetnication)\n\n\n## Usage\n\nCreating the webapp foundation is easy.\n```ts\n/**\n * Create the webapp!\n */\nconst webapp = new WebappConstruct(this, 'app', {\n applicationName: Statics.projectName,\n cloudFrontCertificate: certificate,\n domainName: `${hostedZone.zoneName}`,\n additionalSourceFilesDir: 'src/resources',\n hostedZone: hostedZone,\n staticResourcesDirectory: './src/app/static-resources/',\n defaultPath: '/home',\n postLoginProcessor: this.postLoginHook(secretBrpMtlsPrivateKey, ssmBrpMtlsCertficate, ssmBrpMtlsRootCa),\n oidcProfiles: props.configuration.oidcProfiles,\n});\n```\n\n<details>\n<summary>Post login processor</summary>\nExample on how to setup a post login processor function\n\n```ts\n /**\n * Constrcut a post-login hook function that is passed directly\n * to the webapp. It will register the function and redirect trafic\n * there after the pre-login (auth lambda).\n * @returns\n */\n postLoginHook(privateKey: ISecret, cert: IStringParameter, rootCa: IStringParameter) {\n const hook = new ApiFunction(this, 'post-login-function', {\n description: 'Post-login lambda',\n apiFunction: PostloginFunction,\n environment: {\n BRP_API_URL: StringParameter.valueForStringParameter(this, Statics.ssmBrpApiEndpointUrl),\n MTLS_PRIVATE_KEY_ARN: privateKey.secretArn,\n MTLS_CLIENT_CERT_NAME: Statics.ssmBrpMtlsCertificate,\n MTLS_ROOT_CA_NAME: Statics.ssmBrpMtlsRootCA,\n },\n });\n privateKey.grantRead(hook.lambda);\n cert.grantRead(hook.lambda);\n rootCa.grantRead(hook.lambda);\n return hook;\n }\n```\n\n</details>\n\n## Adding multiple pages\n```ts\n/**\n * Add a home page to the webapp\n * @param webapp\n */\naddHomePage(webapp: WebappConstruct) {\n const homeFunction = new ApiFunction(this, 'home-function', {\n description: 'Home lambda',\n apiFunction: HomeFunction,\n });\n webapp.addPage('home', homeFunction, '/home');\n}\n```"
3704
3704
  },
3705
3705
  "repository": {
3706
3706
  "type": "git",
@@ -3713,6 +3713,75 @@
3713
3713
  }
3714
3714
  },
3715
3715
  "types": {
3716
+ "@gemeentenijmegen/webapp.Files": {
3717
+ "assembly": "@gemeentenijmegen/webapp",
3718
+ "docs": {
3719
+ "stability": "stable"
3720
+ },
3721
+ "fqn": "@gemeentenijmegen/webapp.Files",
3722
+ "initializer": {
3723
+ "docs": {
3724
+ "stability": "stable"
3725
+ }
3726
+ },
3727
+ "kind": "class",
3728
+ "locationInModule": {
3729
+ "filename": "src/webapp/util/Files.ts",
3730
+ "line": 3
3731
+ },
3732
+ "methods": [
3733
+ {
3734
+ "docs": {
3735
+ "returns": "the list of profiles",
3736
+ "stability": "stable",
3737
+ "summary": "Get the authentication JSON file and parse it."
3738
+ },
3739
+ "locationInModule": {
3740
+ "filename": "src/webapp/util/Files.ts",
3741
+ "line": 22
3742
+ },
3743
+ "name": "loadAuthenticationProfiles",
3744
+ "returns": {
3745
+ "type": {
3746
+ "primitive": "any"
3747
+ }
3748
+ },
3749
+ "static": true
3750
+ },
3751
+ {
3752
+ "docs": {
3753
+ "returns": "template as string or undefined",
3754
+ "stability": "stable",
3755
+ "summary": "Check if the template is found in the file system."
3756
+ },
3757
+ "locationInModule": {
3758
+ "filename": "src/webapp/util/Files.ts",
3759
+ "line": 10
3760
+ },
3761
+ "name": "loadTemplateOverwrite",
3762
+ "parameters": [
3763
+ {
3764
+ "docs": {
3765
+ "summary": "to template should start with /opt/."
3766
+ },
3767
+ "name": "path",
3768
+ "type": {
3769
+ "primitive": "string"
3770
+ }
3771
+ }
3772
+ ],
3773
+ "returns": {
3774
+ "optional": true,
3775
+ "type": {
3776
+ "primitive": "string"
3777
+ }
3778
+ },
3779
+ "static": true
3780
+ }
3781
+ ],
3782
+ "name": "Files",
3783
+ "symbolId": "src/webapp/util/Files:Files"
3784
+ },
3716
3785
  "@gemeentenijmegen/webapp.OpenIdConnectConnectionProfile": {
3717
3786
  "assembly": "@gemeentenijmegen/webapp",
3718
3787
  "datatype": true,
@@ -4514,6 +4583,6 @@
4514
4583
  "symbolId": "src/webapp/Webpage:WebpageProps"
4515
4584
  }
4516
4585
  },
4517
- "version": "0.0.1",
4518
- "fingerprint": "zxYtsOelkxdcjyFEYPtUwc7RNmJRsqEJrUqjJFpxcs8="
4586
+ "version": "0.0.3",
4587
+ "fingerprint": "WCPtaGGNkyzWDjGBujVtnp6zaLCENi4tFiXBIL4Mty4="
4519
4588
  }
package/API.md CHANGED
@@ -758,5 +758,61 @@ Set a lambda timeout in miliseconds.
758
758
 
759
759
  ---
760
760
 
761
+ ## Classes <a name="Classes" id="Classes"></a>
762
+
763
+ ### Files <a name="Files" id="@gemeentenijmegen/webapp.Files"></a>
764
+
765
+ #### Initializers <a name="Initializers" id="@gemeentenijmegen/webapp.Files.Initializer"></a>
766
+
767
+ ```typescript
768
+ import { Files } from '@gemeentenijmegen/webapp'
769
+
770
+ new Files()
771
+ ```
772
+
773
+ | **Name** | **Type** | **Description** |
774
+ | --- | --- | --- |
775
+
776
+ ---
777
+
778
+
779
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
780
+
781
+ | **Name** | **Description** |
782
+ | --- | --- |
783
+ | <code><a href="#@gemeentenijmegen/webapp.Files.loadAuthenticationProfiles">loadAuthenticationProfiles</a></code> | Get the authentication JSON file and parse it. |
784
+ | <code><a href="#@gemeentenijmegen/webapp.Files.loadTemplateOverwrite">loadTemplateOverwrite</a></code> | Check if the template is found in the file system. |
785
+
786
+ ---
787
+
788
+ ##### `loadAuthenticationProfiles` <a name="loadAuthenticationProfiles" id="@gemeentenijmegen/webapp.Files.loadAuthenticationProfiles"></a>
789
+
790
+ ```typescript
791
+ import { Files } from '@gemeentenijmegen/webapp'
792
+
793
+ Files.loadAuthenticationProfiles()
794
+ ```
795
+
796
+ Get the authentication JSON file and parse it.
797
+
798
+ ##### `loadTemplateOverwrite` <a name="loadTemplateOverwrite" id="@gemeentenijmegen/webapp.Files.loadTemplateOverwrite"></a>
799
+
800
+ ```typescript
801
+ import { Files } from '@gemeentenijmegen/webapp'
802
+
803
+ Files.loadTemplateOverwrite(path: string)
804
+ ```
805
+
806
+ Check if the template is found in the file system.
807
+
808
+ ###### `path`<sup>Required</sup> <a name="path" id="@gemeentenijmegen/webapp.Files.loadTemplateOverwrite.parameter.path"></a>
809
+
810
+ - *Type:* string
811
+
812
+ to template should start with /opt/.
813
+
814
+ ---
815
+
816
+
761
817
 
762
818
 
package/README.md CHANGED
@@ -1 +1,71 @@
1
- # replace this
1
+ # Generic webapp
2
+
3
+ This packages provides the building blocks to create a standardized webapp.
4
+ It contains both infrastructure (CloudFront, S3 buckets etc.) as application code (login/authetnication)
5
+
6
+
7
+ ## Usage
8
+
9
+ Creating the webapp foundation is easy.
10
+ ```ts
11
+ /**
12
+ * Create the webapp!
13
+ */
14
+ const webapp = new WebappConstruct(this, 'app', {
15
+ applicationName: Statics.projectName,
16
+ cloudFrontCertificate: certificate,
17
+ domainName: `${hostedZone.zoneName}`,
18
+ additionalSourceFilesDir: 'src/resources',
19
+ hostedZone: hostedZone,
20
+ staticResourcesDirectory: './src/app/static-resources/',
21
+ defaultPath: '/home',
22
+ postLoginProcessor: this.postLoginHook(secretBrpMtlsPrivateKey, ssmBrpMtlsCertficate, ssmBrpMtlsRootCa),
23
+ oidcProfiles: props.configuration.oidcProfiles,
24
+ });
25
+ ```
26
+
27
+ <details>
28
+ <summary>Post login processor</summary>
29
+ Example on how to setup a post login processor function
30
+
31
+ ```ts
32
+ /**
33
+ * Constrcut a post-login hook function that is passed directly
34
+ * to the webapp. It will register the function and redirect trafic
35
+ * there after the pre-login (auth lambda).
36
+ * @returns
37
+ */
38
+ postLoginHook(privateKey: ISecret, cert: IStringParameter, rootCa: IStringParameter) {
39
+ const hook = new ApiFunction(this, 'post-login-function', {
40
+ description: 'Post-login lambda',
41
+ apiFunction: PostloginFunction,
42
+ environment: {
43
+ BRP_API_URL: StringParameter.valueForStringParameter(this, Statics.ssmBrpApiEndpointUrl),
44
+ MTLS_PRIVATE_KEY_ARN: privateKey.secretArn,
45
+ MTLS_CLIENT_CERT_NAME: Statics.ssmBrpMtlsCertificate,
46
+ MTLS_ROOT_CA_NAME: Statics.ssmBrpMtlsRootCA,
47
+ },
48
+ });
49
+ privateKey.grantRead(hook.lambda);
50
+ cert.grantRead(hook.lambda);
51
+ rootCa.grantRead(hook.lambda);
52
+ return hook;
53
+ }
54
+ ```
55
+
56
+ </details>
57
+
58
+ ## Adding multiple pages
59
+ ```ts
60
+ /**
61
+ * Add a home page to the webapp
62
+ * @param webapp
63
+ */
64
+ addHomePage(webapp: WebappConstruct) {
65
+ const homeFunction = new ApiFunction(this, 'home-function', {
66
+ description: 'Home lambda',
67
+ apiFunction: HomeFunction,
68
+ });
69
+ webapp.addPage('home', homeFunction, '/home');
70
+ }
71
+ ```
@@ -12234,7 +12234,7 @@ var Files = class {
12234
12234
  * @param path to template should start with /opt/
12235
12235
  * @returns template as string or undefined
12236
12236
  */
12237
- static getTemplateOverwrite(path) {
12237
+ static loadTemplateOverwrite(path) {
12238
12238
  if (fs.existsSync(path)) {
12239
12239
  console.info(`${path} template overwrite found!`);
12240
12240
  return fs.readFileSync(path).toString("utf8");
@@ -12245,7 +12245,7 @@ var Files = class {
12245
12245
  * Get the authentication JSON file and parse it
12246
12246
  * @returns the list of profiles
12247
12247
  */
12248
- static getAuthenticationProfiles() {
12248
+ static loadAuthenticationProfiles() {
12249
12249
  const profiles2 = JSON.parse(fs.readFileSync("/opt/authentication.json").toString("utf8"));
12250
12250
  console.info("Initializing authentication profiles", profiles2);
12251
12251
  return profiles2;
@@ -12254,7 +12254,7 @@ var Files = class {
12254
12254
 
12255
12255
  // src/webapp/auth/auth.lambda.ts
12256
12256
  var dynamoDBClient = new import_client_dynamodb.DynamoDBClient({ region: process.env.AWS_REGION });
12257
- var profiles = Files.getAuthenticationProfiles();
12257
+ var profiles = Files.loadAuthenticationProfiles();
12258
12258
  function parseEvent(event) {
12259
12259
  return {
12260
12260
  cookies: event?.cookies?.join(";"),
@@ -10109,7 +10109,7 @@ var Files = class {
10109
10109
  * @param path to template should start with /opt/
10110
10110
  * @returns template as string or undefined
10111
10111
  */
10112
- static getTemplateOverwrite(path) {
10112
+ static loadTemplateOverwrite(path) {
10113
10113
  if (fs.existsSync(path)) {
10114
10114
  console.info(`${path} template overwrite found!`);
10115
10115
  return fs.readFileSync(path).toString("utf8");
@@ -10120,7 +10120,7 @@ var Files = class {
10120
10120
  * Get the authentication JSON file and parse it
10121
10121
  * @returns the list of profiles
10122
10122
  */
10123
- static getAuthenticationProfiles() {
10123
+ static loadAuthenticationProfiles() {
10124
10124
  const profiles = JSON.parse(fs.readFileSync("/opt/authentication.json").toString("utf8"));
10125
10125
  console.info("Initializing authentication profiles", profiles);
10126
10126
  return profiles;
@@ -10134,8 +10134,8 @@ var footer_default = '<footer class="page-footer">\n <div class="footer-c
10134
10134
  var header_default = '<!doctype html>\n<html lang="nl">\n<head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n <meta http-equiv="x-ua-compatible" content="ie=edge">\n <link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon">\n \n <!-- Preload fonts and external styles -->\n <link rel="preload" \n as="style"\n href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,700&display=swap">\n <link rel="preconnect" \n href="https://fonts.gstatic.com/" \n crossorigin="anonymous">\n \n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bold_bt.04c85cb2.woff2" \n type="font/woff2"\n crossorigin="anonymous">\n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bold_bt.8e266873.woff" \n type="font/woff"\n crossorigin="anonymous">\n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bt.bde3d05f.woff2" \n type="font/woff2"\n crossorigin="anonymous">\n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bt.05235f9a.woff" \n type="font/woff"\n crossorigin="anonymous">\n\n <!-- Start: Core styling -->\n <!-- Bootstrap core CSS -->\n <link rel="stylesheet" \n href="https://componenten.nijmegen.nl/v6.1.0/css/bootstrap.min.css"\n integrity="sha512-bnCn1haQjQGPoq90nqpOWUiu9i60sex8WQI639yU2yElzx0pfG0hpaJrKuJTJD3bZ3lEUw+HRGEHrWm6TGsKSg=="\n crossorigin="anonymous">\n <!-- Material Design Bootstrap combined with custom Nijmegen styles -->\n <link rel="stylesheet" \n href="https://componenten.nijmegen.nl/v6.1.0/nijmegen.css"\n integrity="sha512-blgrU3wXs0CIV9iars0ZyneHar1CFTEojkN3O9sGQrkvwT4PZX5wXD6dv7Gde+mUGPhgrr9ej92UCuzDkmk7cQ=="\n crossorigin="anonymous">\n <!-- End: Core styling -->\n <link rel="stylesheet" href="/static/styles/screen.css">\n <title>Webformulieren management{{#title}} - {{.}} {{/title}}</title>\n </head>\n<body>\n<nav class="navbar fixed-top navbar-expand-lg scrolling-navbar navbar-primary">\n <ul class="navbar-skiplinks">\n <li>\n <a href="#section-1 ">Direct naar inhoud</a>\n </li>\n </ul>\n <div class="container">\n <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbar-collapse" aria-controls="navbar-collapse" aria-expanded="false">\n <span class="sr-only">Menu</span>\n <span class="navbar-toggler-icon" aria-hidden="true"></span>\n </button>\n <a class="navbar-brand" href="https://nijmegen.nl">\n <span class="sr-only">Hoofdpagina</span>\n <div class="navbar-brand-container">\n <img src="https://componenten.nijmegen.nl/v6.0.0/img/beeldmerklabelwit.svg" class="logo-labeled" alt="Logo Nijmegen">\n <img src="https://componenten.nijmegen.nl/v6.0.0/img/beeldmerkwit.svg" class="logo" aria-hidden="true" alt="Logo Nijmegen">\n </div>\n </a>\n {{#shownav}}\n <div class="collapse navbar-collapse" id="navbar-collapse">\n <ul class="navbar-nav mr-auto nijmegen-smooth-scroll">\n <li class="nav-item">\n <a href="/" class="nav-link">Overzicht</a>\n </li>\n {{#nav}}\n <li class="nav-item">\n <a href="{{{url}}}" class="nav-link">{{title}}</a>\n </li>\n {{/nav}}\n </ul>\n <ul class="navbar-nav ml-auto">\n <li class="nav-item">\n <a class="nav-link nav-no-link" href="/logout">{{volledigenaam}}\n <svg title="uitloggen" class="mdi mdi-logout" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z" /></svg>\n </a>\n </li>\n </ul>\n </div>\n {{/shownav}}\n </div>\n</nav>\n';
10135
10135
 
10136
10136
  // src/webapp/util/render.ts
10137
- var overwriteHeader = Files.getTemplateOverwrite("/opt/header.mustache");
10138
- var overwriteFooter = Files.getTemplateOverwrite("/opt/footer.mustache");
10137
+ var overwriteHeader = Files.loadTemplateOverwrite("/opt/header.mustache");
10138
+ var overwriteFooter = Files.loadTemplateOverwrite("/opt/footer.mustache");
10139
10139
  async function render4(data, template, partials) {
10140
10140
  const fullPartials = {
10141
10141
  header: overwriteHeader ?? header_default,
@@ -10204,8 +10204,8 @@ var LoginRequestHandler = class {
10204
10204
  // src/webapp/login/login.lambda.ts
10205
10205
  var dynamoDBClient = new import_client_dynamodb.DynamoDBClient({ region: process.env.AWS_REGION });
10206
10206
  var loginRequestHandler = new LoginRequestHandler({
10207
- oidcProfiles: Files.getAuthenticationProfiles(),
10208
- templateOverwrite: Files.getTemplateOverwrite("/opt/login.mustache")
10207
+ oidcProfiles: Files.loadAuthenticationProfiles(),
10208
+ templateOverwrite: Files.loadTemplateOverwrite("/opt/login.mustache")
10209
10209
  });
10210
10210
  function parseEvent(event) {
10211
10211
  return { cookies: event?.cookies?.join(";") };
@@ -1039,7 +1039,7 @@ var Files = class {
1039
1039
  * @param path to template should start with /opt/
1040
1040
  * @returns template as string or undefined
1041
1041
  */
1042
- static getTemplateOverwrite(path) {
1042
+ static loadTemplateOverwrite(path) {
1043
1043
  if (fs.existsSync(path)) {
1044
1044
  console.info(`${path} template overwrite found!`);
1045
1045
  return fs.readFileSync(path).toString("utf8");
@@ -1050,7 +1050,7 @@ var Files = class {
1050
1050
  * Get the authentication JSON file and parse it
1051
1051
  * @returns the list of profiles
1052
1052
  */
1053
- static getAuthenticationProfiles() {
1053
+ static loadAuthenticationProfiles() {
1054
1054
  const profiles = JSON.parse(fs.readFileSync("/opt/authentication.json").toString("utf8"));
1055
1055
  console.info("Initializing authentication profiles", profiles);
1056
1056
  return profiles;
@@ -1064,8 +1064,8 @@ var footer_default = '<footer class="page-footer">\n <div class="footer-c
1064
1064
  var header_default = '<!doctype html>\n<html lang="nl">\n<head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\n <meta http-equiv="x-ua-compatible" content="ie=edge">\n <link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon">\n \n <!-- Preload fonts and external styles -->\n <link rel="preload" \n as="style"\n href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,700&display=swap">\n <link rel="preconnect" \n href="https://fonts.gstatic.com/" \n crossorigin="anonymous">\n \n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bold_bt.04c85cb2.woff2" \n type="font/woff2"\n crossorigin="anonymous">\n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bold_bt.8e266873.woff" \n type="font/woff"\n crossorigin="anonymous">\n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bt.bde3d05f.woff2" \n type="font/woff2"\n crossorigin="anonymous">\n <link rel="preload" \n as="font" \n href="/static/fonts/oranda_bt.05235f9a.woff" \n type="font/woff"\n crossorigin="anonymous">\n\n <!-- Start: Core styling -->\n <!-- Bootstrap core CSS -->\n <link rel="stylesheet" \n href="https://componenten.nijmegen.nl/v6.1.0/css/bootstrap.min.css"\n integrity="sha512-bnCn1haQjQGPoq90nqpOWUiu9i60sex8WQI639yU2yElzx0pfG0hpaJrKuJTJD3bZ3lEUw+HRGEHrWm6TGsKSg=="\n crossorigin="anonymous">\n <!-- Material Design Bootstrap combined with custom Nijmegen styles -->\n <link rel="stylesheet" \n href="https://componenten.nijmegen.nl/v6.1.0/nijmegen.css"\n integrity="sha512-blgrU3wXs0CIV9iars0ZyneHar1CFTEojkN3O9sGQrkvwT4PZX5wXD6dv7Gde+mUGPhgrr9ej92UCuzDkmk7cQ=="\n crossorigin="anonymous">\n <!-- End: Core styling -->\n <link rel="stylesheet" href="/static/styles/screen.css">\n <title>Webformulieren management{{#title}} - {{.}} {{/title}}</title>\n </head>\n<body>\n<nav class="navbar fixed-top navbar-expand-lg scrolling-navbar navbar-primary">\n <ul class="navbar-skiplinks">\n <li>\n <a href="#section-1 ">Direct naar inhoud</a>\n </li>\n </ul>\n <div class="container">\n <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbar-collapse" aria-controls="navbar-collapse" aria-expanded="false">\n <span class="sr-only">Menu</span>\n <span class="navbar-toggler-icon" aria-hidden="true"></span>\n </button>\n <a class="navbar-brand" href="https://nijmegen.nl">\n <span class="sr-only">Hoofdpagina</span>\n <div class="navbar-brand-container">\n <img src="https://componenten.nijmegen.nl/v6.0.0/img/beeldmerklabelwit.svg" class="logo-labeled" alt="Logo Nijmegen">\n <img src="https://componenten.nijmegen.nl/v6.0.0/img/beeldmerkwit.svg" class="logo" aria-hidden="true" alt="Logo Nijmegen">\n </div>\n </a>\n {{#shownav}}\n <div class="collapse navbar-collapse" id="navbar-collapse">\n <ul class="navbar-nav mr-auto nijmegen-smooth-scroll">\n <li class="nav-item">\n <a href="/" class="nav-link">Overzicht</a>\n </li>\n {{#nav}}\n <li class="nav-item">\n <a href="{{{url}}}" class="nav-link">{{title}}</a>\n </li>\n {{/nav}}\n </ul>\n <ul class="navbar-nav ml-auto">\n <li class="nav-item">\n <a class="nav-link nav-no-link" href="/logout">{{volledigenaam}}\n <svg title="uitloggen" class="mdi mdi-logout" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z" /></svg>\n </a>\n </li>\n </ul>\n </div>\n {{/shownav}}\n </div>\n</nav>\n';
1065
1065
 
1066
1066
  // src/webapp/util/render.ts
1067
- var overwriteHeader = Files.getTemplateOverwrite("/opt/header.mustache");
1068
- var overwriteFooter = Files.getTemplateOverwrite("/opt/footer.mustache");
1067
+ var overwriteHeader = Files.loadTemplateOverwrite("/opt/header.mustache");
1068
+ var overwriteFooter = Files.loadTemplateOverwrite("/opt/footer.mustache");
1069
1069
  async function render4(data, template, partials) {
1070
1070
  const fullPartials = {
1071
1071
  header: overwriteHeader ?? header_default,
@@ -1100,7 +1100,7 @@ async function handleLogoutRequest(cookies, dynamoDBClient2, templateOverwrite2)
1100
1100
 
1101
1101
  // src/webapp/logout/logout.lambda.ts
1102
1102
  var dynamoDBClient = new import_client_dynamodb.DynamoDBClient({ region: process.env.AWS_REGION });
1103
- var templateOverwrite = Files.getTemplateOverwrite("/opt/logout.mustache");
1103
+ var templateOverwrite = Files.loadTemplateOverwrite("/opt/logout.mustache");
1104
1104
  function parseEvent(event) {
1105
1105
  return {
1106
1106
  cookies: event?.cookies?.join(";")
package/lib/index.d.ts CHANGED
@@ -2,3 +2,7 @@ export * from './webapp/Webapp';
2
2
  export * from './webapp/WebappOptions';
3
3
  export * from './webapp/OIDCConnectionProfile';
4
4
  export * from './webapp/Webpage';
5
+ export * from './webapp/util/render';
6
+ export * from './webapp/util/Files';
7
+ export * from './webapp/util/header.mustache';
8
+ export * from './webapp/util/footer.mustache';
package/lib/index.js CHANGED
@@ -14,4 +14,9 @@ __exportStar(require("./webapp/Webapp"), exports);
14
14
  __exportStar(require("./webapp/WebappOptions"), exports);
15
15
  __exportStar(require("./webapp/OIDCConnectionProfile"), exports);
16
16
  __exportStar(require("./webapp/Webpage"), exports);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHlEQUF1QztBQUN2QyxpRUFBK0M7QUFDL0MsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93ZWJhcHAvV2ViYXBwJztcbmV4cG9ydCAqIGZyb20gJy4vd2ViYXBwL1dlYmFwcE9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWJhcHAvT0lEQ0Nvbm5lY3Rpb25Qcm9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vd2ViYXBwL1dlYnBhZ2UnO1xuIl19
17
+ // Runtime utils
18
+ __exportStar(require("./webapp/util/render"), exports);
19
+ __exportStar(require("./webapp/util/Files"), exports);
20
+ __exportStar(require("./webapp/util/header.mustache"), exports); // Default template used by render function
21
+ __exportStar(require("./webapp/util/footer.mustache"), exports); // Default template used by render function
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHlEQUF1QztBQUN2QyxpRUFBK0M7QUFDL0MsbURBQWlDO0FBRWpDLGdCQUFnQjtBQUNoQix1REFBcUM7QUFDckMsc0RBQW9DO0FBQ3BDLGdFQUE4QyxDQUFDLDJDQUEyQztBQUMxRixnRUFBOEMsQ0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3dlYmFwcC9XZWJhcHAnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWJhcHAvV2ViYXBwT3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3dlYmFwcC9PSURDQ29ubmVjdGlvblByb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWJhcHAvV2VicGFnZSc7XG5cbi8vIFJ1bnRpbWUgdXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vd2ViYXBwL3V0aWwvcmVuZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vd2ViYXBwL3V0aWwvRmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWJhcHAvdXRpbC9oZWFkZXIubXVzdGFjaGUnOyAvLyBEZWZhdWx0IHRlbXBsYXRlIHVzZWQgYnkgcmVuZGVyIGZ1bmN0aW9uXG5leHBvcnQgKiBmcm9tICcuL3dlYmFwcC91dGlsL2Zvb3Rlci5tdXN0YWNoZSc7IC8vIERlZmF1bHQgdGVtcGxhdGUgdXNlZCBieSByZW5kZXIgZnVuY3Rpb24iXX0=
@@ -53,5 +53,5 @@ class Webapp extends constructs_1.Construct {
53
53
  }
54
54
  exports.Webapp = Webapp;
55
55
  _a = JSII_RTTI_SYMBOL_1;
56
- Webapp[_a] = { fqn: "@gemeentenijmegen/webapp.Webapp", version: "0.0.1" };
56
+ Webapp[_a] = { fqn: "@gemeentenijmegen/webapp.Webapp", version: "0.0.3" };
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dlYmFwcC9XZWJhcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtRUFBMEQ7QUFFMUQsMkNBQXVDO0FBQ3ZDLCtCQUE0QjtBQUM1Qiw2Q0FBMEM7QUFDMUMsbURBQWdEO0FBSWhELE1BQWEsTUFBTyxTQUFRLHNCQUFTO0lBS25DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixXQUFXO1FBQ1gsS0FBSyxHQUFHO1lBQ04sZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRTtZQUM1QyxHQUFHLEtBQUs7U0FDVCxDQUFDO1FBQ0YsV0FBVztRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw2QkFBYSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbEQsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLGVBQWUsaUJBQWlCO1NBQ2hELENBQUMsQ0FBQztRQUVILGNBQWM7UUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDOUIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzdCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0MsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx1QkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDbkQsYUFBYSxFQUFFLEtBQUs7WUFDcEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3Qyw4QkFBOEI7UUFDOUIsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3JFO0lBRUgsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsRUFBVSxFQUFFLE9BQWdCLEVBQUUsSUFBWSxFQUFFLFVBQXdCLENBQUMsNkJBQVUsQ0FBQyxHQUFHLENBQUM7UUFDMUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7QUFwREgsd0JBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cE1ldGhvZCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5djInO1xuaW1wb3J0IHsgSUdyYW50YWJsZSwgSVByaW5jaXBhbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBcGkgfSBmcm9tICcuL0FwaSc7XG5pbXBvcnQgeyBDbG91ZGZyb250IH0gZnJvbSAnLi9DbG91ZGZyb250JztcbmltcG9ydCB7IFNlc3Npb25zVGFibGUgfSBmcm9tICcuL1Nlc3Npb25zVGFibGUnO1xuaW1wb3J0IHsgV2ViYXBwT3B0aW9ucyB9IGZyb20gJy4vV2ViYXBwT3B0aW9ucyc7XG5pbXBvcnQgeyBXZWJwYWdlIH0gZnJvbSAnLi9XZWJwYWdlJztcblxuZXhwb3J0IGNsYXNzIFdlYmFwcCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElHcmFudGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogQXBpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNsb3VkZnJvbnQ6IENsb3VkZnJvbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvbnM6IFNlc3Npb25zVGFibGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYmFwcE9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gRGVmYXVsdHNcbiAgICBwcm9wcyA9IHtcbiAgICAgIHNlc3Npb25MaWZldGltZTogcHJvcHMuc2Vzc2lvbkxpZmV0aW1lID8/IDE1LFxuICAgICAgLi4ucHJvcHMsXG4gICAgfTtcbiAgICAvLyBTZXNzaW9uc1xuICAgIHRoaXMuc2Vzc2lvbnMgPSBuZXcgU2Vzc2lvbnNUYWJsZSh0aGlzLCAnc2Vzc2lvbnMnLCB7XG4gICAgICBuYW1lOiBgJHtwcm9wcy5hcHBsaWNhdGlvbk5hbWV9LXNlc3Npb25zLXRhYmxlYCxcbiAgICB9KTtcblxuICAgIC8vIEFQSSBnYXRld2F5XG4gICAgdGhpcy5hcGkgPSBuZXcgQXBpKHRoaXMsICdhcGknLCB7XG4gICAgICB3ZWJhcHBPcHRpb25zOiBwcm9wcyxcbiAgICAgIHNlc3Npb25zVGFibGU6IHRoaXMuc2Vzc2lvbnMsXG4gICAgfSk7XG4gICAgdGhpcy5hcGkubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuc2Vzc2lvbnMpO1xuXG4gICAgLy8gQ2xvdWRmcm9udCBkaXN0cmlidXRpb25cbiAgICB0aGlzLmNsb3VkZnJvbnQgPSBuZXcgQ2xvdWRmcm9udCh0aGlzLCAnY2xvdWRmcm9udCcsIHtcbiAgICAgIHdlYmFwcE9wdGlvbnM6IHByb3BzLFxuICAgICAgYXBpR2F0ZXdheURvbWFpbjogdGhpcy5hcGkuZG9tYWluKCksXG4gICAgfSk7XG4gICAgdGhpcy5jbG91ZGZyb250Lm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmFwaSk7XG5cbiAgICAvLyBQb3N0IHByb2Nlc3MgbG9naW4gZnVuY3Rpb25cbiAgICBpZiAocHJvcHMucG9zdExvZ2luUHJvY2Vzc29yKSB7XG4gICAgICB0aGlzLmFkZFBhZ2UoJ3Bvc3QtbG9naW4nLCBwcm9wcy5wb3N0TG9naW5Qcm9jZXNzb3IsICcvcG9zdC1sb2dpbicpO1xuICAgIH1cblxuICB9XG5cbiAgZ2V0IGdyYW50UHJpbmNpcGFsKCkgOiBJUHJpbmNpcGFsIHsgLy8gSGFjayB0byBrZWVwIHRoZSByb2xlIGluIHRoZSBBUEkgY29uc3RydWN0XG4gICAgcmV0dXJuIHRoaXMuYXBpLnJvbGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFub3RoZXIgcGFnZSB0byB0aGUgd2ViYXBwXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gcGF0aFxuICAgKiBAcGFyYW0gbWV0aG9kc1xuICAgKiBAcGFyYW0gaGFuZGxlclxuICAgKi9cbiAgYWRkUGFnZShpZDogc3RyaW5nLCBoYW5kbGVyOiBXZWJwYWdlLCBwYXRoOiBzdHJpbmcsIG1ldGhvZHM6IEh0dHBNZXRob2RbXSA9IFtIdHRwTWV0aG9kLkdFVF0gKSB7XG4gICAgdGhpcy5hcGkuYWRkUm91dGUoaWQsIGhhbmRsZXIsIHBhdGgsIG1ldGhvZHMpO1xuICB9XG5cbn0iXX0=
@@ -87,5 +87,5 @@ class Webpage extends constructs_1.Construct {
87
87
  }
88
88
  exports.Webpage = Webpage;
89
89
  _a = JSII_RTTI_SYMBOL_1;
90
- Webpage[_a] = { fqn: "@gemeentenijmegen/webapp.Webpage", version: "0.0.1" };
90
+ Webpage[_a] = { fqn: "@gemeentenijmegen/webapp.Webpage", version: "0.0.3" };
91
91
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2VicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvV2VicGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFpRztBQUNqRywrREFBbUQ7QUFHbkQsbURBQWtHO0FBQ2xHLDJDQUF1QztBQWdCdkMsTUFBYSxPQUFRLFNBQVEsc0JBQVM7SUFHcEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQjtRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLG1IQUFtSDtRQUNuSCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxnREFBZ0QsQ0FBQztRQUU1RyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBc0YsQ0FBQztRQUNqSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDNUMsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLHdCQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDckMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsVUFBVSxFQUFFLEdBQUc7WUFDZixlQUFlLEVBQUUsd0JBQU0sQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUM7WUFDaEYsWUFBWSxFQUFFLHdCQUFhLENBQUMsU0FBUztZQUNyQyxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxLQUFLLENBQUMsV0FBVzthQUNyQjtTQUNGLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsS0FBbUI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLEtBQTBCO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILHdCQUF3QixDQUFDLE9BQWU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQixDQUFDLGVBQXVCO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsZUFBdUIsRUFBRSxhQUE4QjtRQUM3RCxNQUFNLGlCQUFpQixHQUFHLElBQUksdUJBQVksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQy9ELFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDOUIsZUFBZSxFQUFFLEdBQUcsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3JELFVBQVUsRUFBRSxRQUFRO1lBQ3BCLGFBQWEsRUFBRSxhQUFhLElBQUksd0JBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQzlELFdBQVcsRUFBRSxHQUFHO1NBQ2pCLENBQUMsQ0FBQztRQUNILGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBSyxDQUFDLElBQUksRUFBRSxHQUFHLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFO1lBQ3hFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQy9CLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzVCLENBQUM7WUFDRixpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLFNBQVMsRUFBRSxDQUFDO1lBQ1osU0FBUyxFQUFFLDRCQUE0QixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNyRCxnQkFBZ0IsRUFBRSx1Q0FBdUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLGdEQUFnRDtTQUN0SCxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDOztBQXZGSCwwQkF5RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3NfbGFtYmRhIGFzIExhbWJkYSwgYXdzX2R5bmFtb2RiLCBSZW1vdmFsUG9saWN5LCBEdXJhdGlvbiwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBbGFybSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IEZpbHRlclBhdHRlcm4sIElGaWx0ZXJQYXR0ZXJuLCBNZXRyaWNGaWx0ZXIsIFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxudHlwZSBUID0gTGFtYmRhLkZ1bmN0aW9uO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYnBhZ2VQcm9wcyB7XG4gIHJlYWRvbmx5IGFwaUZ1bmN0aW9uOiBhbnk7IC8vIFR5cGUgaGFjayBjYXN0IGxhdGVyIHRvIHtuZXcoc2NvcGU6IENvbnN0cnVjdCwgaWQ6c3RyaW5nLCBwcm9wcz86IExhbWJkYS5GdW5jdGlvblByb3BzKTogVCB9XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gIHJlYWRvbmx5IHJvbGU/OiBJUm9sZTtcbiAgLyoqXG4gICAqIFNldCBhIGxhbWJkYSB0aW1lb3V0IGluIG1pbGlzZWNvbmRzXG4gICAqIEBkZWZhdWx0IDMwMDAgKG1zKVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgV2VicGFnZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGxhbWJkYTogTGFtYmRhLkZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJwYWdlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9tb25pdG9yaW5nL0xhbWJkYS1JbnNpZ2h0cy1leHRlbnNpb24tdmVyc2lvbnN4ODYtNjQuaHRtbFxuICAgIGNvbnN0IGluc2lnaHRzQXJuID0gYGFybjphd3M6bGFtYmRhOiR7U3RhY2sub2YodGhpcykucmVnaW9ufTo1ODAyNDcyNzU0MzU6bGF5ZXI6TGFtYmRhSW5zaWdodHNFeHRlbnNpb246MjFgO1xuXG4gICAgY29uc3QgYXBpRnVuY3Rpb24gPSBwcm9wcy5hcGlGdW5jdGlvbiBhcyB7bmV3KGZTY29wZTogQ29uc3RydWN0LCBmSWQ6c3RyaW5nLCBmUHJvcHM/OiBMYW1iZGEuRnVuY3Rpb25Qcm9wcyk6IFQgfTtcbiAgICB0aGlzLmxhbWJkYSA9IG5ldyBhcGlGdW5jdGlvbih0aGlzLCAnbGFtYmRhJywge1xuICAgICAgcnVudGltZTogTGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE4X1gsIC8vIFJlcXVpcmVkIGJ1dCBvdmVyd3JpdHRlblxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLCAvLyBSZXF1aXJlZCBidXQgb3ZlcndyaXR0ZW5cbiAgICAgIGNvZGU6IExhbWJkYS5Db2RlLmZyb21JbmxpbmUoJ2VtcHR5JyksIC8vIHJlcXVpcmVkIGJ1dCBvdmVyd3JpdHRlblxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgcm9sZTogcHJvcHMucm9sZSxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLnRpbWVvdXQsXG4gICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgICBpbnNpZ2h0c1ZlcnNpb246IExhbWJkYS5MYW1iZGFJbnNpZ2h0c1ZlcnNpb24uZnJvbUluc2lnaHRWZXJzaW9uQXJuKGluc2lnaHRzQXJuKSxcbiAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIHNoYXJlZCByZXNvdXJjZXMgbGF5ZXIgdGhhdCBpcyBjb25zdHJ1Y3RlZCBmb3IgdGhpcyB3ZWJhcHAuXG4gICAqIEBwYXJhbSBsYXllclxuICAgKi9cbiAgYWRkTGFtYmRhTGF5ZXIobGF5ZXI6IExheWVyVmVyc2lvbikge1xuICAgIHRoaXMubGFtYmRhLmFkZExheWVycyhsYXllcik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgYWNjZXNzIHRvIHRoZSBzZXNzaW9uIHN0b3JlIGFuZCBhZGQgU0VTU0lPTl9UQUJMRSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKiBAcGFyYW0gdGFibGVcbiAgICovXG4gIGFsbG93U2Vzc2lvbkFjY2Vzcyh0YWJsZTogYXdzX2R5bmFtb2RiLklUYWJsZSkge1xuICAgIHRoaXMubGFtYmRhLmFkZEVudmlyb25tZW50KCdTRVNTSU9OX1RBQkxFJywgdGFibGUudGFibGVOYW1lKTtcbiAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEodGhpcy5sYW1iZGEuZ3JhbnRQcmluY2lwYWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzZXNzaW9uIGVudiB2YXJpYWJsZS5cbiAgICogQHBhcmFtIG1pbnV0ZXNcbiAgICovXG4gIG92ZXJ3cml0ZVNlc3Npb25MaWZldGltZShtaW51dGVzOiBudW1iZXIpIHtcbiAgICB0aGlzLmxhbWJkYS5hZGRFbnZpcm9ubWVudCgnU0VTU0lPTl9UVExfTUlOJywgbWludXRlcy50b1N0cmluZygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc3RhbmRhcmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHRoZSBsYW1iZGFcbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uTmFtZVxuICAgKi9cbiAgYWRkU3RhbmRhcmRFbnZpcm9ubWVudChhcHBsaWNhdGlvbk5hbWU6IHN0cmluZykge1xuICAgIHRoaXMubGFtYmRhLmFkZEVudmlyb25tZW50KCdXRUJBUFBfTkFNRScsIGFwcGxpY2F0aW9uTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogTW9uaXRvciB0aGUgbG9ncyBnZW5lcmF0ZWQgYnkgdGhpcyBmdW5jdGlvbiBmb3IgYSBmaWx0ZXIgcGF0dGVybiwgZ2VuZXJhdGUgbWV0cmljXG4gICAqIGFuZCBhbGFybSBvbiBpbmNyZWFzZWQgZXJyb3IgcmF0ZS5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlclBhdHRlcm4gUGF0dGVybiB0byBmaWx0ZXIgYnkgKGRlZmF1bHQ6IGNvbnRhaW5pbmcgRVJST1IpXG4gICAqL1xuICBtb25pdG9yKGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nLCBmaWx0ZXJQYXR0ZXJuPzogSUZpbHRlclBhdHRlcm4pIHtcbiAgICBjb25zdCBlcnJvck1ldHJpY0ZpbHRlciA9IG5ldyBNZXRyaWNGaWx0ZXIodGhpcywgJ01ldHJpY0ZpbHRlcicsIHtcbiAgICAgIGxvZ0dyb3VwOiB0aGlzLmxhbWJkYS5sb2dHcm91cCxcbiAgICAgIG1ldHJpY05hbWVzcGFjZTogYCR7YXBwbGljYXRpb25OYW1lfS8ke3RoaXMubm9kZS5pZH1gLFxuICAgICAgbWV0cmljTmFtZTogJ0Vycm9ycycsXG4gICAgICBmaWx0ZXJQYXR0ZXJuOiBmaWx0ZXJQYXR0ZXJuID8/IEZpbHRlclBhdHRlcm4uYW55VGVybSgnRVJST1InKSxcbiAgICAgIG1ldHJpY1ZhbHVlOiAnMScsXG4gICAgfSk7XG4gICAgZXJyb3JNZXRyaWNGaWx0ZXIuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICBjb25zdCBhbGFybSA9IG5ldyBBbGFybSh0aGlzLCBgJHthcHBsaWNhdGlvbk5hbWV9LSR7dGhpcy5ub2RlLmlkfS1hbGFybWAsIHtcbiAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWNGaWx0ZXIubWV0cmljKHtcbiAgICAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgfSksXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICAgIHRocmVzaG9sZDogNSxcbiAgICAgIGFsYXJtTmFtZTogYEluY3JlYXNlZCBlcnJvciByYXRlIGZvciAke3RoaXMubm9kZS5pZH1gLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYFRoaXMgYWxhcm0gdHJpZ2dlcnMgaWYgdGhlIGZ1bmN0aW9uICR7dGhpcy5ub2RlLmlkfSBpcyBsb2dnaW5nIG1vcmUgdGhhbiA1IGVycm9ycyBvdmVyIG4gbWludXRlcy5gLFxuICAgIH0pO1xuICAgIGFsYXJtLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICB9XG5cbn1cbiJdfQ==
@@ -6,7 +6,7 @@ const Response_1 = require("@gemeentenijmegen/apigateway-http/lib/V2/Response");
6
6
  const AuthRequestHandler_1 = require("./AuthRequestHandler");
7
7
  const Files_1 = require("../util/Files");
8
8
  const dynamoDBClient = new client_dynamodb_1.DynamoDBClient({ region: process.env.AWS_REGION });
9
- const profiles = Files_1.Files.getAuthenticationProfiles();
9
+ const profiles = Files_1.Files.loadAuthenticationProfiles();
10
10
  function parseEvent(event) {
11
11
  return {
12
12
  cookies: event?.cookies?.join(';'),
@@ -33,4 +33,4 @@ async function handler(event, _context) {
33
33
  }
34
34
  }
35
35
  exports.handler = handler;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViYXBwL2F1dGgvYXV0aC5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQTBEO0FBQzFELGdGQUFtRztBQUNuRyw2REFBMEQ7QUFDMUQseUNBQXNDO0FBRXRDLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDOUUsTUFBTSxRQUFRLEdBQUcsYUFBSyxDQUFDLHlCQUF5QixFQUFFLENBQUM7QUFFbkQsU0FBUyxVQUFVLENBQUMsS0FBVTtJQUM1QixPQUFPO1FBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQyxJQUFJLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLElBQUk7UUFDeEMsS0FBSyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxLQUFLO0tBQzNDLENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFVLEVBQUUsUUFBYTtJQUNyRCxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLElBQUksdUNBQWtCLENBQUM7WUFDNUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25DLGNBQWM7WUFDZCxZQUFZLEVBQUUsUUFBUTtZQUN0Qix1QkFBdUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixLQUFLLE1BQU07U0FDNUUsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztLQUM3QztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQWhCRCwwQkFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbW9EQkNsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1keW5hbW9kYic7XG5pbXBvcnQgeyBBcGlHYXRld2F5VjJSZXNwb25zZSwgUmVzcG9uc2UgfSBmcm9tICdAZ2VtZWVudGVuaWptZWdlbi9hcGlnYXRld2F5LWh0dHAvbGliL1YyL1Jlc3BvbnNlJztcbmltcG9ydCB7IEF1dGhSZXF1ZXN0SGFuZGxlciB9IGZyb20gJy4vQXV0aFJlcXVlc3RIYW5kbGVyJztcbmltcG9ydCB7IEZpbGVzIH0gZnJvbSAnLi4vdXRpbC9GaWxlcyc7XG5cbmNvbnN0IGR5bmFtb0RCQ2xpZW50ID0gbmV3IER5bmFtb0RCQ2xpZW50KHsgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIH0pO1xuY29uc3QgcHJvZmlsZXMgPSBGaWxlcy5nZXRBdXRoZW50aWNhdGlvblByb2ZpbGVzKCk7XG5cbmZ1bmN0aW9uIHBhcnNlRXZlbnQoZXZlbnQ6IGFueSkge1xuICByZXR1cm4ge1xuICAgIGNvb2tpZXM6IGV2ZW50Py5jb29raWVzPy5qb2luKCc7JyksXG4gICAgY29kZTogZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8uY29kZSxcbiAgICBzdGF0ZTogZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8uc3RhdGUsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBhbnksIF9jb250ZXh0OiBhbnkpOlByb21pc2U8QXBpR2F0ZXdheVYyUmVzcG9uc2U+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJhbXMgPSBwYXJzZUV2ZW50KGV2ZW50KTtcbiAgICBjb25zdCByZXF1ZXN0SGFuZGxlciA9IG5ldyBBdXRoUmVxdWVzdEhhbmRsZXIoe1xuICAgICAgY29va2llczogcGFyYW1zLmNvb2tpZXMsXG4gICAgICBxdWVyeVN0cmluZ1BhcmFtQ29kZTogcGFyYW1zLmNvZGUsXG4gICAgICBxdWVyeVN0cmluZ1BhcmFtU3RhdGU6IHBhcmFtcy5zdGF0ZSxcbiAgICAgIGR5bmFtb0RCQ2xpZW50LFxuICAgICAgb2lkY1Byb2ZpbGVzOiBwcm9maWxlcyxcbiAgICAgIHJlZGlyZWN0VG9Qb3N0TG9naW5Ib29rOiBwcm9jZXNzLmVudi5SRURJUkVDVF9UT19QT1NUX0xPR0lOX0hPT0sgPT09ICd0cnVlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgcmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdCgpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgcmV0dXJuIFJlc3BvbnNlLmVycm9yKDUwMCk7XG4gIH1cbn0iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViYXBwL2F1dGgvYXV0aC5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQTBEO0FBQzFELGdGQUFtRztBQUNuRyw2REFBMEQ7QUFDMUQseUNBQXNDO0FBRXRDLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDOUUsTUFBTSxRQUFRLEdBQUcsYUFBSyxDQUFDLDBCQUEwQixFQUFFLENBQUM7QUFFcEQsU0FBUyxVQUFVLENBQUMsS0FBVTtJQUM1QixPQUFPO1FBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQyxJQUFJLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLElBQUk7UUFDeEMsS0FBSyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxLQUFLO0tBQzNDLENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUFVLEVBQUUsUUFBYTtJQUNyRCxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLElBQUksdUNBQWtCLENBQUM7WUFDNUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25DLGNBQWM7WUFDZCxZQUFZLEVBQUUsUUFBUTtZQUN0Qix1QkFBdUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixLQUFLLE1BQU07U0FDNUUsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztLQUM3QztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQWhCRCwwQkFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbW9EQkNsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1keW5hbW9kYic7XG5pbXBvcnQgeyBBcGlHYXRld2F5VjJSZXNwb25zZSwgUmVzcG9uc2UgfSBmcm9tICdAZ2VtZWVudGVuaWptZWdlbi9hcGlnYXRld2F5LWh0dHAvbGliL1YyL1Jlc3BvbnNlJztcbmltcG9ydCB7IEF1dGhSZXF1ZXN0SGFuZGxlciB9IGZyb20gJy4vQXV0aFJlcXVlc3RIYW5kbGVyJztcbmltcG9ydCB7IEZpbGVzIH0gZnJvbSAnLi4vdXRpbC9GaWxlcyc7XG5cbmNvbnN0IGR5bmFtb0RCQ2xpZW50ID0gbmV3IER5bmFtb0RCQ2xpZW50KHsgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIH0pO1xuY29uc3QgcHJvZmlsZXMgPSBGaWxlcy5sb2FkQXV0aGVudGljYXRpb25Qcm9maWxlcygpO1xuXG5mdW5jdGlvbiBwYXJzZUV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICBjb29raWVzOiBldmVudD8uY29va2llcz8uam9pbignOycpLFxuICAgIGNvZGU6IGV2ZW50Py5xdWVyeVN0cmluZ1BhcmFtZXRlcnM/LmNvZGUsXG4gICAgc3RhdGU6IGV2ZW50Py5xdWVyeVN0cmluZ1BhcmFtZXRlcnM/LnN0YXRlLFxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogYW55LCBfY29udGV4dDogYW55KTpQcm9taXNlPEFwaUdhdGV3YXlWMlJlc3BvbnNlPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyYW1zID0gcGFyc2VFdmVudChldmVudCk7XG4gICAgY29uc3QgcmVxdWVzdEhhbmRsZXIgPSBuZXcgQXV0aFJlcXVlc3RIYW5kbGVyKHtcbiAgICAgIGNvb2tpZXM6IHBhcmFtcy5jb29raWVzLFxuICAgICAgcXVlcnlTdHJpbmdQYXJhbUNvZGU6IHBhcmFtcy5jb2RlLFxuICAgICAgcXVlcnlTdHJpbmdQYXJhbVN0YXRlOiBwYXJhbXMuc3RhdGUsXG4gICAgICBkeW5hbW9EQkNsaWVudCxcbiAgICAgIG9pZGNQcm9maWxlczogcHJvZmlsZXMsXG4gICAgICByZWRpcmVjdFRvUG9zdExvZ2luSG9vazogcHJvY2Vzcy5lbnYuUkVESVJFQ1RfVE9fUE9TVF9MT0dJTl9IT09LID09PSAndHJ1ZScsXG4gICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IHJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3QoKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIHJldHVybiBSZXNwb25zZS5lcnJvcig1MDApO1xuICB9XG59Il19
@@ -7,8 +7,8 @@ const loginRequestHandler_1 = require("./loginRequestHandler");
7
7
  const Files_1 = require("../util/Files");
8
8
  const dynamoDBClient = new client_dynamodb_1.DynamoDBClient({ region: process.env.AWS_REGION });
9
9
  const loginRequestHandler = new loginRequestHandler_1.LoginRequestHandler({
10
- oidcProfiles: Files_1.Files.getAuthenticationProfiles(),
11
- templateOverwrite: Files_1.Files.getTemplateOverwrite('/opt/login.mustache'),
10
+ oidcProfiles: Files_1.Files.loadAuthenticationProfiles(),
11
+ templateOverwrite: Files_1.Files.loadTemplateOverwrite('/opt/login.mustache'),
12
12
  });
13
13
  function parseEvent(event) {
14
14
  return { cookies: event?.cookies?.join(';') };
@@ -26,4 +26,4 @@ async function handler(event, _context) {
26
26
  }
27
27
  exports.handler = handler;
28
28
  ;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4ubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmFwcC9sb2dpbi9sb2dpbi5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQTBEO0FBQzFELGdGQUFtRztBQUNuRywrREFBNEQ7QUFDNUQseUNBQXNDO0FBRXRDLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFFOUUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixDQUFDO0lBQ2xELFlBQVksRUFBRSxhQUFLLENBQUMseUJBQXlCLEVBQUU7SUFDL0MsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDO0NBQ3JFLENBQUMsQ0FBQztBQUVILFNBQVMsVUFBVSxDQUFDLEtBQVU7SUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQ2hELENBQUM7QUFFTSxLQUFLLFVBQVUsT0FBTyxDQUFFLEtBQVUsRUFBRSxRQUFhO0lBQ3RELElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN6RixPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQVRELDBCQVNDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtb0RCQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJztcbmltcG9ydCB7IEFwaUdhdGV3YXlWMlJlc3BvbnNlLCBSZXNwb25zZSB9IGZyb20gJ0BnZW1lZW50ZW5pam1lZ2VuL2FwaWdhdGV3YXktaHR0cC9saWIvVjIvUmVzcG9uc2UnO1xuaW1wb3J0IHsgTG9naW5SZXF1ZXN0SGFuZGxlciB9IGZyb20gJy4vbG9naW5SZXF1ZXN0SGFuZGxlcic7XG5pbXBvcnQgeyBGaWxlcyB9IGZyb20gJy4uL3V0aWwvRmlsZXMnO1xuXG5jb25zdCBkeW5hbW9EQkNsaWVudCA9IG5ldyBEeW5hbW9EQkNsaWVudCh7IHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB9KTtcblxuY29uc3QgbG9naW5SZXF1ZXN0SGFuZGxlciA9IG5ldyBMb2dpblJlcXVlc3RIYW5kbGVyKHtcbiAgb2lkY1Byb2ZpbGVzOiBGaWxlcy5nZXRBdXRoZW50aWNhdGlvblByb2ZpbGVzKCksXG4gIHRlbXBsYXRlT3ZlcndyaXRlOiBGaWxlcy5nZXRUZW1wbGF0ZU92ZXJ3cml0ZSgnL29wdC9sb2dpbi5tdXN0YWNoZScpLFxufSk7XG5cbmZ1bmN0aW9uIHBhcnNlRXZlbnQoZXZlbnQ6IGFueSkge1xuICByZXR1cm4geyBjb29raWVzOiBldmVudD8uY29va2llcz8uam9pbignOycpIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyIChldmVudDogYW55LCBfY29udGV4dDogYW55KTpQcm9taXNlPEFwaUdhdGV3YXlWMlJlc3BvbnNlPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyYW1zID0gcGFyc2VFdmVudChldmVudCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBsb2dpblJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3QocGFyYW1zLmNvb2tpZXMsIGR5bmFtb0RCQ2xpZW50KTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICByZXR1cm4gUmVzcG9uc2UuZXJyb3IoNTAwKTtcbiAgfVxufTsiXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4ubGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmFwcC9sb2dpbi9sb2dpbi5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQTBEO0FBQzFELGdGQUFtRztBQUNuRywrREFBNEQ7QUFDNUQseUNBQXNDO0FBRXRDLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFFOUUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixDQUFDO0lBQ2xELFlBQVksRUFBRSxhQUFLLENBQUMsMEJBQTBCLEVBQUU7SUFDaEQsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDO0NBQ3RFLENBQUMsQ0FBQztBQUVILFNBQVMsVUFBVSxDQUFDLEtBQVU7SUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQ2hELENBQUM7QUFFTSxLQUFLLFVBQVUsT0FBTyxDQUFFLEtBQVUsRUFBRSxRQUFhO0lBQ3RELElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN6RixPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQVRELDBCQVNDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtb0RCQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJztcbmltcG9ydCB7IEFwaUdhdGV3YXlWMlJlc3BvbnNlLCBSZXNwb25zZSB9IGZyb20gJ0BnZW1lZW50ZW5pam1lZ2VuL2FwaWdhdGV3YXktaHR0cC9saWIvVjIvUmVzcG9uc2UnO1xuaW1wb3J0IHsgTG9naW5SZXF1ZXN0SGFuZGxlciB9IGZyb20gJy4vbG9naW5SZXF1ZXN0SGFuZGxlcic7XG5pbXBvcnQgeyBGaWxlcyB9IGZyb20gJy4uL3V0aWwvRmlsZXMnO1xuXG5jb25zdCBkeW5hbW9EQkNsaWVudCA9IG5ldyBEeW5hbW9EQkNsaWVudCh7IHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB9KTtcblxuY29uc3QgbG9naW5SZXF1ZXN0SGFuZGxlciA9IG5ldyBMb2dpblJlcXVlc3RIYW5kbGVyKHtcbiAgb2lkY1Byb2ZpbGVzOiBGaWxlcy5sb2FkQXV0aGVudGljYXRpb25Qcm9maWxlcygpLFxuICB0ZW1wbGF0ZU92ZXJ3cml0ZTogRmlsZXMubG9hZFRlbXBsYXRlT3ZlcndyaXRlKCcvb3B0L2xvZ2luLm11c3RhY2hlJyksXG59KTtcblxuZnVuY3Rpb24gcGFyc2VFdmVudChldmVudDogYW55KSB7XG4gIHJldHVybiB7IGNvb2tpZXM6IGV2ZW50Py5jb29raWVzPy5qb2luKCc7JykgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIgKGV2ZW50OiBhbnksIF9jb250ZXh0OiBhbnkpOlByb21pc2U8QXBpR2F0ZXdheVYyUmVzcG9uc2U+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJhbXMgPSBwYXJzZUV2ZW50KGV2ZW50KTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGxvZ2luUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdChwYXJhbXMuY29va2llcywgZHluYW1vREJDbGllbnQpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIHJldHVybiBSZXNwb25zZS5lcnJvcig1MDApO1xuICB9XG59OyJdfQ==
@@ -5,7 +5,7 @@ const Response_1 = require("@gemeentenijmegen/apigateway-http/lib/V2/Response");
5
5
  const handleLogoutRequest_1 = require("./handleLogoutRequest");
6
6
  const Files_1 = require("../util/Files");
7
7
  const dynamoDBClient = new client_dynamodb_1.DynamoDBClient({ region: process.env.AWS_REGION });
8
- const templateOverwrite = Files_1.Files.getTemplateOverwrite('/opt/logout.mustache');
8
+ const templateOverwrite = Files_1.Files.loadTemplateOverwrite('/opt/logout.mustache');
9
9
  function parseEvent(event) {
10
10
  return {
11
11
  cookies: event?.cookies?.join(';'),
@@ -21,4 +21,4 @@ exports.handler = async (event, _context) => {
21
21
  return Response_1.Response.error(500);
22
22
  }
23
23
  };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93ZWJhcHAvbG9nb3V0L2xvZ291dC5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4REFBMEQ7QUFDMUQsZ0ZBQTZFO0FBQzdFLCtEQUE0RDtBQUM1RCx5Q0FBc0M7QUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUM5RSxNQUFNLGlCQUFpQixHQUFHLGFBQUssQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTdFLFNBQVMsVUFBVSxDQUFDLEtBQVU7SUFDNUIsT0FBTztRQUNMLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDbkMsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxLQUFVLEVBQUUsUUFBYSxFQUFFLEVBQUU7SUFDcEQsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0seUNBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztLQUNyRjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1vREJDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdAZ2VtZWVudGVuaWptZWdlbi9hcGlnYXRld2F5LWh0dHAvbGliL1YyL1Jlc3BvbnNlJztcbmltcG9ydCB7IGhhbmRsZUxvZ291dFJlcXVlc3QgfSBmcm9tICcuL2hhbmRsZUxvZ291dFJlcXVlc3QnO1xuaW1wb3J0IHsgRmlsZXMgfSBmcm9tICcuLi91dGlsL0ZpbGVzJztcblxuY29uc3QgZHluYW1vREJDbGllbnQgPSBuZXcgRHluYW1vREJDbGllbnQoeyByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfSk7XG5jb25zdCB0ZW1wbGF0ZU92ZXJ3cml0ZSA9IEZpbGVzLmdldFRlbXBsYXRlT3ZlcndyaXRlKCcvb3B0L2xvZ291dC5tdXN0YWNoZScpO1xuXG5mdW5jdGlvbiBwYXJzZUV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICBjb29raWVzOiBldmVudD8uY29va2llcz8uam9pbignOycpLFxuICB9O1xufVxuXG5leHBvcnRzLmhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IGFueSwgX2NvbnRleHQ6IGFueSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHBhcnNlRXZlbnQoZXZlbnQpO1xuICAgIHJldHVybiBhd2FpdCBoYW5kbGVMb2dvdXRSZXF1ZXN0KHBhcmFtcy5jb29raWVzLCBkeW5hbW9EQkNsaWVudCwgdGVtcGxhdGVPdmVyd3JpdGUpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgcmV0dXJuIFJlc3BvbnNlLmVycm9yKDUwMCk7XG4gIH1cbn07Il19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93ZWJhcHAvbG9nb3V0L2xvZ291dC5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4REFBMEQ7QUFDMUQsZ0ZBQTZFO0FBQzdFLCtEQUE0RDtBQUM1RCx5Q0FBc0M7QUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUM5RSxNQUFNLGlCQUFpQixHQUFHLGFBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTlFLFNBQVMsVUFBVSxDQUFDLEtBQVU7SUFDNUIsT0FBTztRQUNMLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDbkMsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxLQUFVLEVBQUUsUUFBYSxFQUFFLEVBQUU7SUFDcEQsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0seUNBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztLQUNyRjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1vREJDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdAZ2VtZWVudGVuaWptZWdlbi9hcGlnYXRld2F5LWh0dHAvbGliL1YyL1Jlc3BvbnNlJztcbmltcG9ydCB7IGhhbmRsZUxvZ291dFJlcXVlc3QgfSBmcm9tICcuL2hhbmRsZUxvZ291dFJlcXVlc3QnO1xuaW1wb3J0IHsgRmlsZXMgfSBmcm9tICcuLi91dGlsL0ZpbGVzJztcblxuY29uc3QgZHluYW1vREJDbGllbnQgPSBuZXcgRHluYW1vREJDbGllbnQoeyByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfSk7XG5jb25zdCB0ZW1wbGF0ZU92ZXJ3cml0ZSA9IEZpbGVzLmxvYWRUZW1wbGF0ZU92ZXJ3cml0ZSgnL29wdC9sb2dvdXQubXVzdGFjaGUnKTtcblxuZnVuY3Rpb24gcGFyc2VFdmVudChldmVudDogYW55KSB7XG4gIHJldHVybiB7XG4gICAgY29va2llczogZXZlbnQ/LmNvb2tpZXM/LmpvaW4oJzsnKSxcbiAgfTtcbn1cblxuZXhwb3J0cy5oYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBhbnksIF9jb250ZXh0OiBhbnkpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJhbXMgPSBwYXJzZUV2ZW50KGV2ZW50KTtcbiAgICByZXR1cm4gYXdhaXQgaGFuZGxlTG9nb3V0UmVxdWVzdChwYXJhbXMuY29va2llcywgZHluYW1vREJDbGllbnQsIHRlbXBsYXRlT3ZlcndyaXRlKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIHJldHVybiBSZXNwb25zZS5lcnJvcig1MDApO1xuICB9XG59OyJdfQ==
@@ -4,10 +4,10 @@ export declare class Files {
4
4
  * @param path to template should start with /opt/
5
5
  * @returns template as string or undefined
6
6
  */
7
- static getTemplateOverwrite(path: string): undefined | string;
7
+ static loadTemplateOverwrite(path: string): undefined | string;
8
8
  /**
9
9
  * Get the authentication JSON file and parse it
10
10
  * @returns the list of profiles
11
11
  */
12
- static getAuthenticationProfiles(): any;
12
+ static loadAuthenticationProfiles(): any;
13
13
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.Files = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
4
6
  const fs = require("fs");
5
7
  class Files {
6
8
  /**
@@ -8,7 +10,7 @@ class Files {
8
10
  * @param path to template should start with /opt/
9
11
  * @returns template as string or undefined
10
12
  */
11
- static getTemplateOverwrite(path) {
13
+ static loadTemplateOverwrite(path) {
12
14
  if (fs.existsSync(path)) {
13
15
  console.info(`${path} template overwrite found!`);
14
16
  return fs.readFileSync(path).toString('utf8');
@@ -19,11 +21,13 @@ class Files {
19
21
  * Get the authentication JSON file and parse it
20
22
  * @returns the list of profiles
21
23
  */
22
- static getAuthenticationProfiles() {
24
+ static loadAuthenticationProfiles() {
23
25
  const profiles = JSON.parse(fs.readFileSync('/opt/authentication.json').toString('utf8'));
24
26
  console.info('Initializing authentication profiles', profiles);
25
27
  return profiles;
26
28
  }
27
29
  }
28
30
  exports.Files = Files;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViYXBwL3V0aWwvRmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBRXpCLE1BQWEsS0FBSztJQUVoQjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQVk7UUFDdEMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLDRCQUE0QixDQUFDLENBQUM7WUFDbEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMseUJBQXlCO1FBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0NBQXNDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBeEJELHNCQXdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcblxuZXhwb3J0IGNsYXNzIEZpbGVzIHtcblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHRlbXBsYXRlIGlzIGZvdW5kIGluIHRoZSBmaWxlIHN5c3RlbVxuICAgKiBAcGFyYW0gcGF0aCB0byB0ZW1wbGF0ZSBzaG91bGQgc3RhcnQgd2l0aCAvb3B0L1xuICAgKiBAcmV0dXJucyB0ZW1wbGF0ZSBhcyBzdHJpbmcgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzdGF0aWMgZ2V0VGVtcGxhdGVPdmVyd3JpdGUocGF0aDogc3RyaW5nKSA6IHVuZGVmaW5lZCB8IHN0cmluZyB7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aCkpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhgJHtwYXRofSB0ZW1wbGF0ZSBvdmVyd3JpdGUgZm91bmQhYCk7XG4gICAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKHBhdGgpLnRvU3RyaW5nKCd1dGY4Jyk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBhdXRoZW50aWNhdGlvbiBKU09OIGZpbGUgYW5kIHBhcnNlIGl0XG4gICAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIHByb2ZpbGVzXG4gICAqL1xuICBzdGF0aWMgZ2V0QXV0aGVudGljYXRpb25Qcm9maWxlcygpIDogYW55IHtcbiAgICBjb25zdCBwcm9maWxlcyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKCcvb3B0L2F1dGhlbnRpY2F0aW9uLmpzb24nKS50b1N0cmluZygndXRmOCcpKTtcbiAgICBjb25zb2xlLmluZm8oJ0luaXRpYWxpemluZyBhdXRoZW50aWNhdGlvbiBwcm9maWxlcycsIHByb2ZpbGVzKTtcbiAgICByZXR1cm4gcHJvZmlsZXM7XG4gIH1cbn0iXX0=
31
+ _a = JSII_RTTI_SYMBOL_1;
32
+ Files[_a] = { fqn: "@gemeentenijmegen/webapp.Files", version: "0.0.3" };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViYXBwL3V0aWwvRmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFFekIsTUFBYSxLQUFLO0lBRWhCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBWTtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksNEJBQTRCLENBQUMsQ0FBQztZQUNsRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQywwQkFBMEI7UUFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUYsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOztBQXZCSCxzQkF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlcyB7XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSB0ZW1wbGF0ZSBpcyBmb3VuZCBpbiB0aGUgZmlsZSBzeXN0ZW1cbiAgICogQHBhcmFtIHBhdGggdG8gdGVtcGxhdGUgc2hvdWxkIHN0YXJ0IHdpdGggL29wdC9cbiAgICogQHJldHVybnMgdGVtcGxhdGUgYXMgc3RyaW5nIG9yIHVuZGVmaW5lZFxuICAgKi9cbiAgc3RhdGljIGxvYWRUZW1wbGF0ZU92ZXJ3cml0ZShwYXRoOiBzdHJpbmcpIDogdW5kZWZpbmVkIHwgc3RyaW5nIHtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhwYXRoKSkge1xuICAgICAgY29uc29sZS5pbmZvKGAke3BhdGh9IHRlbXBsYXRlIG92ZXJ3cml0ZSBmb3VuZCFgKTtcbiAgICAgIHJldHVybiBmcy5yZWFkRmlsZVN5bmMocGF0aCkudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGF1dGhlbnRpY2F0aW9uIEpTT04gZmlsZSBhbmQgcGFyc2UgaXRcbiAgICogQHJldHVybnMgdGhlIGxpc3Qgb2YgcHJvZmlsZXNcbiAgICovXG4gIHN0YXRpYyBsb2FkQXV0aGVudGljYXRpb25Qcm9maWxlcygpIDogYW55IHtcbiAgICBjb25zdCBwcm9maWxlcyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKCcvb3B0L2F1dGhlbnRpY2F0aW9uLmpzb24nKS50b1N0cmluZygndXRmOCcpKTtcbiAgICBjb25zb2xlLmluZm8oJ0luaXRpYWxpemluZyBhdXRoZW50aWNhdGlvbiBwcm9maWxlcycsIHByb2ZpbGVzKTtcbiAgICByZXR1cm4gcHJvZmlsZXM7XG4gIH1cbn0iXX0=
@@ -6,8 +6,8 @@ const Files_1 = require("./Files");
6
6
  const footer = require("./footer.mustache");
7
7
  const header = require("./header.mustache");
8
8
  // Load from lambda layer
9
- const overwriteHeader = Files_1.Files.getTemplateOverwrite('/opt/header.mustache');
10
- const overwriteFooter = Files_1.Files.getTemplateOverwrite('/opt/footer.mustache');
9
+ const overwriteHeader = Files_1.Files.loadTemplateOverwrite('/opt/header.mustache');
10
+ const overwriteFooter = Files_1.Files.loadTemplateOverwrite('/opt/footer.mustache');
11
11
  /**
12
12
  * Render data in a mustache template
13
13
  *
@@ -30,4 +30,4 @@ async function render(data, template, partials) {
30
30
  }
31
31
  exports.render = render;
32
32
  ;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmFwcC91dGlsL3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBcUM7QUFDckMsbUNBQWdDO0FBQ2hDLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUFFNUMseUJBQXlCO0FBQ3pCLE1BQU0sZUFBZSxHQUFHLGFBQUssQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sZUFBZSxHQUFHLGFBQUssQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTNFOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsTUFBTSxDQUFDLElBQVMsRUFBRSxRQUFnQixFQUFFLFFBQW1DO0lBQzNGLE1BQU0sWUFBWSxHQUFHO1FBQ25CLE1BQU0sRUFBRSxlQUFlLElBQUksTUFBTSxDQUFDLE9BQU87UUFDekMsTUFBTSxFQUFFLGVBQWUsSUFBSSxNQUFNLENBQUMsT0FBTztRQUN6QyxHQUFHLFFBQVE7S0FDWixDQUFDO0lBRUYsSUFBSSxHQUFHO1FBQ0wsS0FBSyxFQUFFLEtBQUs7UUFDWixHQUFHLElBQUk7S0FDUixDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQWJELHdCQWFDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIE11c3RhY2hlIGZyb20gJ211c3RhY2hlJztcbmltcG9ydCB7IEZpbGVzIH0gZnJvbSAnLi9GaWxlcyc7XG5pbXBvcnQgKiBhcyBmb290ZXIgZnJvbSAnLi9mb290ZXIubXVzdGFjaGUnO1xuaW1wb3J0ICogYXMgaGVhZGVyIGZyb20gJy4vaGVhZGVyLm11c3RhY2hlJztcblxuLy8gTG9hZCBmcm9tIGxhbWJkYSBsYXllclxuY29uc3Qgb3ZlcndyaXRlSGVhZGVyID0gRmlsZXMuZ2V0VGVtcGxhdGVPdmVyd3JpdGUoJy9vcHQvaGVhZGVyLm11c3RhY2hlJyk7XG5jb25zdCBvdmVyd3JpdGVGb290ZXIgPSBGaWxlcy5nZXRUZW1wbGF0ZU92ZXJ3cml0ZSgnL29wdC9mb290ZXIubXVzdGFjaGUnKTtcblxuLyoqXG4gKiBSZW5kZXIgZGF0YSBpbiBhIG11c3RhY2hlIHRlbXBsYXRlXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGRhdGEgQW4gb2JqZWN0IG9mIGRhdGEgdG8gdXNlIGluIHRoZSB0ZW1wbGF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IHRlbXBsYXRlIHRoZSBtYWluIG11c3RhY2hlIHRlbXBsYXRlIGFzIGEgc3RyaW5nXG4gKiBAcGFyYW0ge3tba2V5OnN0cmluZ10gOiBzdHJpbmd9IHwgdW5kZWZpbmVkfSBwYXJ0aWFscyBuYW1lIGFuZCB0ZW1wbGF0ZSBzdHJpbmdcbiAqIEByZXR1cm5zIHN0cmluZ1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVuZGVyKGRhdGE6IGFueSwgdGVtcGxhdGU6IHN0cmluZywgcGFydGlhbHM/OiB7W2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgY29uc3QgZnVsbFBhcnRpYWxzID0ge1xuICAgIGhlYWRlcjogb3ZlcndyaXRlSGVhZGVyID8/IGhlYWRlci5kZWZhdWx0LFxuICAgIGZvb3Rlcjogb3ZlcndyaXRlRm9vdGVyID8/IGZvb3Rlci5kZWZhdWx0LFxuICAgIC4uLnBhcnRpYWxzLFxuICB9O1xuXG4gIGRhdGEgPSB7XG4gICAgbG9nb3M6IGZhbHNlLFxuICAgIC4uLmRhdGEsXG4gIH07XG5cbiAgcmV0dXJuIE11c3RhY2hlLnJlbmRlcih0ZW1wbGF0ZSwgZGF0YSwgZnVsbFBhcnRpYWxzKTtcbn07XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmFwcC91dGlsL3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBcUM7QUFDckMsbUNBQWdDO0FBQ2hDLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUFFNUMseUJBQXlCO0FBQ3pCLE1BQU0sZUFBZSxHQUFHLGFBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzVFLE1BQU0sZUFBZSxHQUFHLGFBQUssQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsTUFBTSxDQUFDLElBQVMsRUFBRSxRQUFnQixFQUFFLFFBQW1DO0lBQzNGLE1BQU0sWUFBWSxHQUFHO1FBQ25CLE1BQU0sRUFBRSxlQUFlLElBQUksTUFBTSxDQUFDLE9BQU87UUFDekMsTUFBTSxFQUFFLGVBQWUsSUFBSSxNQUFNLENBQUMsT0FBTztRQUN6QyxHQUFHLFFBQVE7S0FDWixDQUFDO0lBRUYsSUFBSSxHQUFHO1FBQ0wsS0FBSyxFQUFFLEtBQUs7UUFDWixHQUFHLElBQUk7S0FDUixDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQWJELHdCQWFDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIE11c3RhY2hlIGZyb20gJ211c3RhY2hlJztcbmltcG9ydCB7IEZpbGVzIH0gZnJvbSAnLi9GaWxlcyc7XG5pbXBvcnQgKiBhcyBmb290ZXIgZnJvbSAnLi9mb290ZXIubXVzdGFjaGUnO1xuaW1wb3J0ICogYXMgaGVhZGVyIGZyb20gJy4vaGVhZGVyLm11c3RhY2hlJztcblxuLy8gTG9hZCBmcm9tIGxhbWJkYSBsYXllclxuY29uc3Qgb3ZlcndyaXRlSGVhZGVyID0gRmlsZXMubG9hZFRlbXBsYXRlT3ZlcndyaXRlKCcvb3B0L2hlYWRlci5tdXN0YWNoZScpO1xuY29uc3Qgb3ZlcndyaXRlRm9vdGVyID0gRmlsZXMubG9hZFRlbXBsYXRlT3ZlcndyaXRlKCcvb3B0L2Zvb3Rlci5tdXN0YWNoZScpO1xuXG4vKipcbiAqIFJlbmRlciBkYXRhIGluIGEgbXVzdGFjaGUgdGVtcGxhdGVcbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gZGF0YSBBbiBvYmplY3Qgb2YgZGF0YSB0byB1c2UgaW4gdGhlIHRlbXBsYXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gdGVtcGxhdGUgdGhlIG1haW4gbXVzdGFjaGUgdGVtcGxhdGUgYXMgYSBzdHJpbmdcbiAqIEBwYXJhbSB7e1trZXk6c3RyaW5nXSA6IHN0cmluZ30gfCB1bmRlZmluZWR9IHBhcnRpYWxzIG5hbWUgYW5kIHRlbXBsYXRlIHN0cmluZ1xuICogQHJldHVybnMgc3RyaW5nXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXIoZGF0YTogYW55LCB0ZW1wbGF0ZTogc3RyaW5nLCBwYXJ0aWFscz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICBjb25zdCBmdWxsUGFydGlhbHMgPSB7XG4gICAgaGVhZGVyOiBvdmVyd3JpdGVIZWFkZXIgPz8gaGVhZGVyLmRlZmF1bHQsXG4gICAgZm9vdGVyOiBvdmVyd3JpdGVGb290ZXIgPz8gZm9vdGVyLmRlZmF1bHQsXG4gICAgLi4ucGFydGlhbHMsXG4gIH07XG5cbiAgZGF0YSA9IHtcbiAgICBsb2dvczogZmFsc2UsXG4gICAgLi4uZGF0YSxcbiAgfTtcblxuICByZXR1cm4gTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCBkYXRhLCBmdWxsUGFydGlhbHMpO1xufTtcbiJdfQ==
package/package.json CHANGED
@@ -121,7 +121,7 @@
121
121
  "publishConfig": {
122
122
  "access": "public"
123
123
  },
124
- "version": "0.0.1",
124
+ "version": "0.0.3",
125
125
  "jest": {
126
126
  "setupFiles": [
127
127
  "dotenv/config"