From f8fa5aaf5f7e4249ed2651f93d85f0be48a2d72e Mon Sep 17 00:00:00 2001 From: Samuel Poirier Date: Sat, 23 Mar 2024 21:51:48 +0000 Subject: [PATCH 1/7] Implement site social page layout Implement logic to fetch site from url (without error handling if site not found, to be done in another iteration) Bonus: Add dev container configuration to allow streamlining development environment on any computer Fix backend open api spec generation for get site by id endpoint --- .devcontainer/devcontainer.env | 1 + .devcontainer/devcontainer.json | 25 + .github/dependabot.yml | 12 + .vscode/settings.json | 2 +- README.md | 10 +- .../canopeum_backend/serializers.py | 6 +- canopeum_backend/canopeum_backend/settings.py | 3 +- canopeum_frontend/index.html | 13 + canopeum_frontend/package-lock.json | 2079 ++++++++++++++++- canopeum_frontend/package.json | 2 + canopeum_frontend/src/App.tsx | 24 +- .../src/assets/images/map/MARR4059.png | Bin 0 -> 418562 bytes .../src/assets/styles/theme-variables.scss | 11 +- .../src/components/site/SiteSummaryCard.tsx | 36 + canopeum_frontend/src/pages/MapSite.tsx | 49 +- canopeum_frontend/src/services/api.ts | 34 +- 16 files changed, 2240 insertions(+), 67 deletions(-) create mode 100644 .devcontainer/devcontainer.env create mode 100644 .devcontainer/devcontainer.json create mode 100644 .github/dependabot.yml create mode 100644 canopeum_frontend/src/assets/images/map/MARR4059.png create mode 100644 canopeum_frontend/src/components/site/SiteSummaryCard.tsx diff --git a/.devcontainer/devcontainer.env b/.devcontainer/devcontainer.env new file mode 100644 index 000000000..6fec5b637 --- /dev/null +++ b/.devcontainer/devcontainer.env @@ -0,0 +1 @@ +MYSQL_HOST=host.docker.internal diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..b96124687 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,25 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/python +{ + "name": "Python 3", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye", + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "pip3 install --user -r canopeum_backend/requirements-dev.txt", + "features": { + "ghcr.io/devcontainers/features/node:1": {} + }, + "runArgs": ["--env-file",".devcontainer/devcontainer.env"] + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..f33a02cd1 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly diff --git a/.vscode/settings.json b/.vscode/settings.json index d8df4f690..5707bd574 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -88,7 +88,7 @@ "editor.defaultFormatter": "dprint.dprint" }, "[typescriptreact]": { - "editor.defaultFormatter": "dprint.dprint" + "editor.defaultFormatter": "vscode.typescript-language-features" }, "[markdown]": { "files.trimTrailingWhitespace": false, diff --git a/README.md b/README.md index 7c66208be..ca787a65d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,15 @@ This project integrates Django backend with React Vite frontend template to crea ## Getting Started -Follow these instructions to get the project up and running on your local machine. +This project has been configured to run in VsCode dev container with all +necessary tools to run the front-end and backend from within the environment or +follow these instructions to get the project up and running on your local machine +without dev container. + +Note: If you choose to develop from within the dev container, you still need to +have your mysql database available accessible from your app. We've pre-configured +the dev container to try reaching the default mysql database container created +with the docker-compose.yml from this repository. ### Prerequisites diff --git a/canopeum_backend/canopeum_backend/serializers.py b/canopeum_backend/canopeum_backend/serializers.py index 19e098f10..26ec9766f 100644 --- a/canopeum_backend/canopeum_backend/serializers.py +++ b/canopeum_backend/canopeum_backend/serializers.py @@ -1,5 +1,6 @@ from django.contrib.auth.models import User from rest_framework import serializers +from drf_spectacular.utils import extend_schema_field from .models import ( Announcement, @@ -124,7 +125,6 @@ class Meta: def get_site_tree_species(self, obj): return SitetreespeciesSerializer(obj.sitetreespecies_set.all(), many=True).data - class SiteSocialSerializer(serializers.ModelSerializer): site_type = SiteTypeSerializer() contact = ContactSerializer() @@ -136,9 +136,13 @@ class Meta: model = Site fields = ("name", "site_type", "image", "description", "contact", "announcement", "sponsors", "widget") + # Bug in the extend_schema_field type annotation, they should allow + # base python types supported by open api specs + @extend_schema_field(list[str]) # pyright: ignore[reportArgumentType] def get_sponsors(self, obj): return self.context.get("sponsors") + @extend_schema_field(WidgetSerializer(many=True)) def get_widget(self, obj): return WidgetSerializer(obj.widget_set.all(), many=True).data diff --git a/canopeum_backend/canopeum_backend/settings.py b/canopeum_backend/canopeum_backend/settings.py index 4e0f2dadf..b0cfba9bf 100644 --- a/canopeum_backend/canopeum_backend/settings.py +++ b/canopeum_backend/canopeum_backend/settings.py @@ -10,6 +10,7 @@ https://docs.djangoproject.com/en/5.0/ref/settings/ """ +import os from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. @@ -126,7 +127,7 @@ "NAME": "canopeum_db", "USER": "root", "PASSWORD": "canopeum", - "HOST": "localhost", + "HOST": os.environ.get('MYSQL_HOST', "localhost"), "PORT": "3306", }, } diff --git a/canopeum_frontend/index.html b/canopeum_frontend/index.html index 2ecaf5625..783e79f37 100644 --- a/canopeum_frontend/index.html +++ b/canopeum_frontend/index.html @@ -21,6 +21,19 @@ href='https://unpkg.com/maplibre-gl@4.1.1/dist/maplibre-gl.css' rel='stylesheet' /> + + + diff --git a/canopeum_frontend/package-lock.json b/canopeum_frontend/package-lock.json index 57a7b6ff4..c5622c02c 100644 --- a/canopeum_frontend/package-lock.json +++ b/canopeum_frontend/package-lock.json @@ -25,6 +25,7 @@ "react-router-dom": "^6.22.3" }, "devDependencies": { + "@mockoon/cli": "^7.0.0", "@types/react": "^18.2.64", "@types/react-dom": "^18.2.21", "@typescript-eslint/eslint-plugin": "^7.1.1", @@ -153,6 +154,108 @@ "typescript": "*" } }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz", + "integrity": "sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==", + "dev": true, + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "call-me-maybe": "^1.0.1", + "js-yaml": "^3.13.1" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@apidevtools/openapi-schemas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", + "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@apidevtools/swagger-methods": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", + "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==", + "dev": true + }, + "node_modules/@apidevtools/swagger-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-parser/-/swagger-parser-10.1.0.tgz", + "integrity": "sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==", + "dev": true, + "dependencies": { + "@apidevtools/json-schema-ref-parser": "9.0.6", + "@apidevtools/openapi-schemas": "^2.1.0", + "@apidevtools/swagger-methods": "^3.0.2", + "@jsdevtools/ono": "^7.1.3", + "ajv": "^8.6.3", + "ajv-draft-04": "^1.0.0", + "call-me-maybe": "^1.0.1" + }, + "peerDependencies": { + "openapi-types": ">=7" + } + }, + "node_modules/@apidevtools/swagger-parser/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@apidevtools/swagger-parser/node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@apidevtools/swagger-parser/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/@babel/code-frame": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", @@ -539,6 +642,26 @@ "node": ">=6.9.0" } }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dev": true, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "node_modules/@dprint/darwin-arm64": { "version": "0.39.1", "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.39.1.tgz", @@ -1255,6 +1378,22 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@faker-js/faker": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.4.1.tgz", + "integrity": "sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/fakerjs" + } + ], + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0", + "npm": ">=6.14.13" + } + }, "node_modules/@floating-ui/core": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", @@ -1289,6 +1428,21 @@ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -1392,6 +1546,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true + }, "node_modules/@mapbox/geojson-rewind": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", @@ -1461,6 +1621,76 @@ "gl-style-validate": "dist/gl-style-validate.mjs" } }, + "node_modules/@mockoon/cli": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@mockoon/cli/-/cli-7.0.0.tgz", + "integrity": "sha512-hFPjd/Q7jYP70Wu7RDkzsHUPjCgYC+AyEfQbPD8Jc5Hu+0l0M3T6GpeDHOiM6SsOczTiBXHkwALpv0kMQDokOw==", + "dev": true, + "dependencies": { + "@mockoon/commons": "7.0.0", + "@mockoon/commons-server": "7.0.0", + "@oclif/core": "3.20.0", + "@oclif/plugin-help": "6.0.14", + "jsonfile": "6.1.0", + "mkdirp": "3.0.1", + "mustache": "4.2.0", + "tslib": "2.6.2" + }, + "bin": { + "mockoon-cli": "bin/run.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://mockoon.com/sponsor-us/" + } + }, + "node_modules/@mockoon/commons": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@mockoon/commons/-/commons-7.0.0.tgz", + "integrity": "sha512-fZ62CqIQvw0SUlqyG2jl+JaIwEwvcwAxkmkvfWgPd+AmSxfcnNBjj7Z/FZBWNLRHS4+Fc86Ah6c4fEsqgWnb4g==", + "dev": true, + "dependencies": { + "joi": "17.12.2" + }, + "funding": { + "url": "https://mockoon.com/sponsor-us/" + } + }, + "node_modules/@mockoon/commons-server": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@mockoon/commons-server/-/commons-server-7.0.0.tgz", + "integrity": "sha512-g6o/YB7eWmQwIYn11SytxrBeRXFDsRPFTbgxkHBeHlBUPXLah9QYEsJ4pFBTm3RBJeXHVq8LOPDSMkOTW3Egbw==", + "dev": true, + "dependencies": { + "@apidevtools/swagger-parser": "10.1.0", + "@faker-js/faker": "8.4.1", + "@mockoon/commons": "7.0.0", + "append-field": "1.0.0", + "busboy": "1.6.0", + "cookie-parser": "1.4.6", + "date-fns": "3.3.1", + "express": "4.18.2", + "handlebars": "4.7.8", + "http-proxy-middleware": "2.0.6", + "jsonpath-plus": "8.0.0", + "killable": "1.0.1", + "mime-types": "2.1.35", + "object-path": "0.11.8", + "qs": "6.11.2", + "range-parser": "1.2.1", + "typed-emitter": "2.1.0", + "winston": "3.11.0", + "xml-js": "1.6.11" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://mockoon.com/sponsor-us/" + } + }, "node_modules/@mui/base": { "version": "5.0.0-beta.40", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", @@ -1795,6 +2025,163 @@ "node": ">= 8" } }, + "node_modules/@oclif/core": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-3.20.0.tgz", + "integrity": "sha512-8BajhglY8frYGAS1whAukeouFZUN9MgQoLfNXtScPVEAjPlaD2BbSIAYQH2yF2qb/iVvbj/1DwYS3gqicYOq1A==", + "dev": true, + "dependencies": { + "@types/cli-progress": "^3.11.5", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "color": "^4.2.3", + "debug": "^4.3.4", + "ejs": "^3.1.9", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@oclif/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@oclif/core/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@oclif/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@oclif/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@oclif/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/core/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@oclif/core/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@oclif/plugin-help": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-6.0.14.tgz", + "integrity": "sha512-orKUsV8hYtbnPf1W7y5wnnR2X6UFOl7hqTh/Uj4E+3ju/8TnvpavZXFA2UQecKWcfdbYjuTwxuZdeh8vBWFLIQ==", + "dev": true, + "dependencies": { + "@oclif/core": "^3.19.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -2058,6 +2445,27 @@ "win32" ] }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, "node_modules/@storybook/csf": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", @@ -2109,6 +2517,15 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cli-progress": { + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.5.tgz", + "integrity": "sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -2128,6 +2545,15 @@ "@types/geojson": "*" } }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -2238,6 +2664,12 @@ "@types/geojson": "*" } }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true + }, "node_modules/@types/yargs": { "version": "17.0.32", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", @@ -2615,6 +3047,19 @@ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", @@ -2652,26 +3097,59 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "dev": true + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -2685,6 +3163,12 @@ "node": ">= 8" } }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2724,6 +3208,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", @@ -2890,6 +3380,21 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -2977,6 +3482,60 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/bootstrap": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", @@ -3070,6 +3629,27 @@ "semver": "^7.0.0" } }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dev": true, + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bytesish": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz", @@ -3113,6 +3693,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -3141,6 +3727,19 @@ } ] }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "dev": true, + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" + } + }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -3224,6 +3823,45 @@ "node": ">=4" } }, + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dev": true, + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -3246,6 +3884,19 @@ "node": ">=6" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -3259,6 +3910,54 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dev": true, + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/colorspace/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, "node_modules/comment-parser": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", @@ -3296,12 +3995,61 @@ "integrity": "sha512-YtowQtZLdzPUlXL+kxMEBclXVOrWzR/+9TAUbIdgnjCkRW8+Dj0y4ajMJtOoQFXEubMONX0fkFS3SNLxx4FQRA==", "dev": true }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "dev": true, + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -3514,6 +4262,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/date-fns": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.3.1.tgz", + "integrity": "sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -3592,6 +4350,15 @@ "robust-predicates": "^3.0.2" } }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -3601,6 +4368,16 @@ "node": ">=6" } }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -3657,6 +4434,27 @@ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.707", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.707.tgz", @@ -3669,6 +4467,21 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/enhanced-resolve": { "version": "5.16.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", @@ -3895,6 +4708,12 @@ "node": ">=6" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -5819,6 +6638,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -5861,40 +6693,136 @@ "node": ">=0.10.0" } }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.6" } }, - "node_modules/fast-glob/node_modules/glob-parent": { + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", @@ -5927,6 +6855,12 @@ "reusify": "^1.0.4" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "dev": true + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -5939,6 +6873,27 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -5951,6 +6906,39 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", @@ -6001,6 +6989,32 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -6010,6 +7024,24 @@ "is-callable": "^1.1.3" } }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -6122,6 +7154,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -6327,6 +7368,36 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -6428,6 +7499,69 @@ "void-elements": "3.1.0" } }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/i18next": { "version": "23.10.1", "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.1.tgz", @@ -6458,6 +7592,18 @@ "cross-fetch": "4.0.0" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -6568,6 +7714,15 @@ "node": ">=12" } }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -7011,6 +8166,18 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -7070,7 +8237,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "optional": true, "engines": { "node": ">=8" }, @@ -7207,6 +8373,129 @@ "set-function-name": "^2.0.1" } }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/joi": { + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7300,6 +8589,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpath-plus": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-8.0.0.tgz", + "integrity": "sha512-+AOBHcQvRr8DcWVIkfOCCCLSlYgQuNZ+gFNqwkBrNpdUfdfkcrbO4ml3F587fWUMFOmoy6D9c+5wrghgjN3mbg==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -7329,6 +8627,12 @@ "json-buffer": "3.0.1" } }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -7356,6 +8660,12 @@ "node": ">=6" } }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -7419,6 +8729,23 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "dev": true, + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -7484,6 +8811,21 @@ "resolved": "https://registry.npmjs.org/material-icons/-/material-icons-1.13.12.tgz", "integrity": "sha512-/2YoaB79IjUK2B2JB+vIXXYGtBfHb/XG66LvoKVM5ykHW7yfrV5SP6d7KLX6iijY6/G9GqwgtPQ/sbhFnOURVA==" }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -7493,6 +8835,15 @@ "node": ">= 8" } }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -7506,6 +8857,39 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -7538,6 +8922,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7549,6 +8948,15 @@ "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==" }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true, + "bin": { + "mustache": "bin/mustache" + } + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -7579,6 +8987,30 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -7660,6 +9092,24 @@ "node": ">= 0.4" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "dev": true, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/object.assign": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", @@ -7754,6 +9204,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -7763,6 +9225,15 @@ "wrappy": "1" } }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dev": true, + "dependencies": { + "fn.name": "1.x.x" + } + }, "node_modules/open": { "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", @@ -7779,6 +9250,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", + "dev": true, + "peer": true + }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -7872,6 +9350,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, "node_modules/patch-package": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-7.0.2.tgz", @@ -8024,6 +9521,12 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -8151,6 +9654,19 @@ "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -8160,6 +9676,21 @@ "node": ">=6" } }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -8191,6 +9722,30 @@ "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==", "dev": true }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -8442,6 +9997,20 @@ "node": ">=8" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -8454,6 +10023,15 @@ "node": ">=8.10.0" } }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "dev": true, + "dependencies": { + "esprima": "~4.0.0" + } + }, "node_modules/refa": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/refa/-/refa-0.11.0.tgz", @@ -8562,6 +10140,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/requireindex": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", @@ -8571,6 +10158,12 @@ "node": ">=0.10.5" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -8702,6 +10295,16 @@ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/rxjs-report-usage": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/rxjs-report-usage/-/rxjs-report-usage-1.0.6.tgz", @@ -8815,6 +10418,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safe-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", @@ -8841,6 +10464,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "node_modules/sass": { "version": "1.72.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz", @@ -8858,6 +10496,12 @@ "node": ">=14.0.0" } }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true + }, "node_modules/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -8910,6 +10554,66 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -8956,6 +10660,12 @@ "node": ">=0.10.0" } }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -8995,6 +10705,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -9011,6 +10736,56 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/sort-asc": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", @@ -9126,6 +10901,48 @@ "node": ">=0.10.0" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-similarity": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", @@ -9297,6 +11114,40 @@ "node": ">=4" } }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -9317,6 +11168,12 @@ "node": ">=6" } }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -9360,11 +11217,29 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "dev": true, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -9480,6 +11355,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", @@ -9553,6 +11441,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz", + "integrity": "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==", + "dev": true, + "optionalDependencies": { + "rxjs": "*" + } + }, "node_modules/typescript": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", @@ -9579,6 +11476,19 @@ "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==" }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -9622,6 +11532,15 @@ "node": ">= 10.0.0" } }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", @@ -9661,6 +11580,21 @@ "punycode": "^2.1.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -9671,6 +11605,15 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/vite": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz", @@ -9852,6 +11795,60 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/winston": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.11.0.tgz", + "integrity": "sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==", + "dev": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "dev": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -9908,6 +11905,18 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/canopeum_frontend/package.json b/canopeum_frontend/package.json index 4d7726218..237cf8414 100644 --- a/canopeum_frontend/package.json +++ b/canopeum_frontend/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "dev": "vite", + "mockoon": "mockoon-cli start --data canopeum-mockoon.json", "build": "tsc && vite build", "eslint": "eslint ./ --ignore-path .gitignore", "lint": "dprint check && npm run eslint", @@ -30,6 +31,7 @@ }, "// eslint-*": "Keep Keep these in sync with .pre-commit-config.yaml", "devDependencies": { + "@mockoon/cli": "^7.0.0", "@types/react": "^18.2.64", "@types/react-dom": "^18.2.21", "@typescript-eslint/eslint-plugin": "^7.1.1", diff --git a/canopeum_frontend/src/App.tsx b/canopeum_frontend/src/App.tsx index 54065ea28..3e8144128 100644 --- a/canopeum_frontend/src/App.tsx +++ b/canopeum_frontend/src/App.tsx @@ -1,17 +1,17 @@ -import './App.scss' -import 'bootstrap/js/index.umd.js' +import 'bootstrap/js/index.umd.js'; +import './App.scss'; -import { BrowserRouter, Route, Routes } from 'react-router-dom' +import { BrowserRouter, Route, Routes } from 'react-router-dom'; -import AuthenticationContextProvider from './components/context/AuthenticationContext' -import Navbar from './components/Navbar' -import Analytics from './pages/Analytics' -import Home from './pages/Home' -import Login from './pages/Login' -import Map from './pages/Map' -import MapSite from './pages/MapSite' -import UserManagement from './pages/UserManagement' -import Utilities from './pages/Utilities' +import AuthenticationContextProvider from './components/context/AuthenticationContext'; +import Navbar from './components/Navbar'; +import Analytics from './pages/Analytics'; +import Home from './pages/Home'; +import Login from './pages/Login'; +import Map from './pages/Map'; +import MapSite from './pages/MapSite'; +import UserManagement from './pages/UserManagement'; +import Utilities from './pages/Utilities'; const App = () => ( diff --git a/canopeum_frontend/src/assets/images/map/MARR4059.png b/canopeum_frontend/src/assets/images/map/MARR4059.png new file mode 100644 index 0000000000000000000000000000000000000000..f2283c6bc02c578fd6fdd0902cec454596a90732 GIT binary patch literal 418562 zcmV(zK<2-RP)ekL;=ijCE;ji~;`t`+P_;6_L)-W_`{P)!~(Kt@jr%r7c z_>)e{#X#~`xn{9g@aOznCu)2HU&dGHf9PtpqDemBuLa+`T-vprpVtBM%3;rjc%b%t`#q;GsGA8?5*AG_HNc?}kt?O8aVZq~Q@yvHton+6I`OACt-F)jp@98?WfuFGu`smO4XZ{P{&(D(Y@=SRap4*yV z(J(Ik)#g*?sb=DKFyy`K^yt6tf9;)XzC-A`5JASkJ$!2I8AxD zO0z-U!+(=`P@{N;j!~Y(W0LE7Z%T_n#~xFO_YMo=A^U^;#b`{v{!M7vZO!Dnj4K}E zU-B%Q>zqeyzFo&`En~J$@7Qi>p9SjubQukjmL*3 z^cf*fqsrmcmGO!48w-%kRrxNsiGr?5_n<+_6L=i6l(A0bc8m*r2Xawwana-qB!3@$ zy;8ox-zoFB)#f&-Zo;*gPo)PwTP%{7Lx znm3grjL&#o*SzQ?`J?C|thW3u#vtp;KQ9(0rxUM@$ge%0?-?f7cg^_-3}gJIkEI>hgl&qfz@;g$OASmP# z<<@j3^o;bbc>uv84YWU%&l3fBNB~ zE&hFe$p3;Lb4wq%Fu|~an!=NREB;?!7$ZWtEtmGUVPOm1TzCgxU>K><0gZtfXNKkm zyqf?(@YI0!i7E}0se201=nOq7_^{7qyuGC|gMk*{K#Q(QZ*ZZ7(jS@0^4X?b!XOFb z(68a_7$7oaiuIwc5@`7M_% z6fcyZ8JWqI(_{?V3`D5tbyHd+0X!I8icXf*p8>C!2WV$#iqvNNK*wUNW=e4CF;@d2 z!?(eS%yYC!_d=KJv{RW@g(+h%nxY#>QT5g*9hbc?6(V>*#y7ekGmA5*o{EA`Lkr_3 zhFXE$!gvu1Q^q9EQxKx>1)YgvQZB%gvqf_dt#ZFhb<|MEF5;O<@NoU4nT$C*{!p=4(2s6E&#PPgEtC z)Ydn^!DKvYGKX3E9d6tV#PgsgS>M#5qBM0Sz@LN5ugIxd6W5nh_xnk8w9H+`r(k+A zp3r%(I^{|?r3d)Vv5>x#T-(~$5ISQHAY897qX$^(s^-XnX=be$YRa>Ny>;Ug3yQ;y9eiYhI&GgpfylWue zoRHoDO1tWbR%LSnOf&u)+)+*Em*W0`hTwlVVS9% zUD{OV%5z3aITA3|XEv$jxVq6$)XPE?8nroyanK0>uS>r$eW!MsQWwLXn(QV}vnfn7 zTT1`m0Lnl3SD)P)R`efSP2;~0!CYIIFidVd6iB$y(LwSg)vF>ia1$l!B^MR|TcBWg zZ}RLRkgZQT&@f1b*o1jA!90bDRTxJ{V7|~4i<4fK5L!T!pj-tNPT2r5L3_Dn~QgD~h~7ClKZ4|QDaiyLqXZ%c(~XtVWN08DhF?d8=f zJmo&7cTqk6P)bgdY3gCLR$bce-auQ$* z;MQRT<$i!rb#ZNs7IkTEOwCx~Yx2kvfSFvdQsbINh6;7ML%D^I(cU?!;+Yh@t1Sv; zr=XGAOxcsq1Ik@~zUn4()70bLW|Wc+04E@^$h&&FqtSujB=k1(dH@n9_xwy&5`v_6C`Rp+5EFhaf7 zbaW3e2)V0~){G{Z>|iZiT{CY@R3nvB0QdslU_`sgi0Te}9_y1)=nz~o8KAO`pu^|` z?CLNf(w8(*`i`d0+_DDh7oQI)h zq#N_oh{xL+Gr@buV=7;PiLd8EhV~L5qm0w*YwXe87mXxSMy0!}X^Suqp_9Sr zhw`)u%M44O(8Sf3ruPB~ zpVMSU*M<*+ITofi6Qf|pJ%<{d!WdKmlY_QmMD#tAhhHJAEmKpIN{lfT(l{efeoMex zQ$zZ{DV56TN&-sY765KA_KtY z0HYPVH@RUFoz{B+3dR|sn0r}YeZM+NF0=lp$@$%)n*O0X3#z}U7;7=`J);)AyknMf z^3eTcfj!ep5e2vV1&j^FYwBUFlI}2|^)Pkt(&I6%d2h%ctS*ldJm(AC~pO( za3qj2>u!UQmW^?`1GWej7%G{aS2N1lpnsuv99-nPjkZ&-j${jYN6N96_xFymPa*#! z9AM}W7&wB1;cMkUMN+FR{zo%eF}sZUc@)2eD5q|t)bR^{_rmRi0T1DaWvs~z9lJa) zTsHy}h+S0q9t`BL*;l?kmq>A;GwjRcgqe~nHF|9hZ1?E1mkrRhuYd5nKmYYbTl;NZ z2G3PyDqONfqtp$?%$SpVI6aKQJe)^VEl*KWy+#Wtz9ZzC670e?#S+Ay zFh7_iL+(S&9o*SnTA@$?#7xM0%twI|>IL%kp%ipI`DaNlXauesV_US%!AUQcp{D|r zud9{io9$1NgSH;jLCzUGO|5{U`dC81+6^t`SoN6*ot1ImTL2!)`km(Ml51vvn1Wx1 zvV!1=8YM}-g5gD8UI7>kV|Pcw6&;huwA0ny~ z-T^}j5a0j=a~NVBVN@xMcsRIiK0jM~=a7b)10sCff_qZufaP1{Ylx`jdPiN=&_dt2 z*_{D_R%i_#*D(xpozmP&LrP(cr&4><3r!GF3x0Ivf;mqC>>aF7MkabLc8mwy0v%Gn zW^{E!j&+8?4P8xz|6R$M!`p*Cm=kQC)|#xQn9oEMI!&E4q9`!{?}cgzyJj?K>mTque)V<~}*I0SL>wks{uzbG8+gR@uwy6MMOF3t%52{yebl6dUo_r?YWa;%h zh>#l?pVHP)>e=80=RXR)N3*}n6|&|tfFhBTVOah)PvgTXte9k@1Rer3)aZ2N)+RO5 zT4dR?055Y-ZcvH=k>8hI6l--XL>V=)!Nap|*MP_nlS{AF>Mlk#U}d^N{H52*wD_LP z7+$s#&Xu7PZQ<`#2KNP$g^_5{(u;p>99~1y47_0uEd*f*!w}wCyB?D4*HP2Eb`V0U8vN1D|%?=#;Q~0RjL> zFtmw392}I@LmEvDt>=0HbR>;+#s8F%YXq&E!X8R77YxTZ;Tb4CD$!RC)3>Hl_!lo=UyY4$uIf6U7t8zk2V6F7|%tdtW{p> zY2ztrTfZS;I-VH#$k=^^P0-Q(jNr_@>bT#9wV0%v5%oi@x3N;*DtIt)~Ra7;UH z%yfWX928|1BHBt z)p$gd#3jihkW+fsK0Z8WUg%5#GVx_=+C%3~ITWP;>LiI$zNx1Z-CVC)B;4j?*@u*o z9nzG#MjqnRV%@?qD*8IE?Gz;k0Z?R@ z&ib(NJAC7ZHY(3;0T{SJUw9Fuy|l-|0d=n&h=6%5+?e$ZNHw5%D}>95fx;sy=$!(X zP%-u`Dy79UZvJjt*Al`ko<(>H-FM>nzoi>;%xy7H5KIML{`q`$@w~nQ(VoFWTZ0!5 z0~sQXXk;A1!`FAU^wePJf&nQNV6Di`9ULtUlg}#wY75Y#&n~GaRniJH9IW7;4gk`F znP7mx)vZX7Pb&-9s3?n0UL=+VxrQXuSfeDT3H&@i?NQ+;b2f$`UFJe;FAJG)xzCj$X#jJ;bNa- z2SN{Q(HhbYJ-|zV5%S_qH%{pV8yzd)?p3GZUYE@oxS^ymUE{Zm^`H)KVzV{if&AAeAW9nNM ze4FPq)48SsTcN+nQRQFQW<)j+9W$_00Vm1={QJVvGnTz*kud>~P#O)n#_60dXmf38 z_qZdtSPWtN0Lrjt&RVX&AghIk{1=m_DQFcnDBD}R{{gFx5A}92puW#!Z5X_OkP0xE zytoiAcSW^I@NZK~h`NNj*YYdRJ)?ggP~A?PJtt|m7` z^KF1t>4o6xx{Ob;g=5&-I%E1-kQr6{+qf9gf0BLT# zs3rJ=5;P$r)J_tj3NfyhjM$=%CK=CCW|^IT*u4{r)-rlZ#e;)^fwl1TLv^?+XaJuNz6Mbvlh&SUv=9LFdbD$L3kO3D z;M%E$VU1#5N{}XBLb_qFwHjQO7sbh`W5&a3TLdgucQ8UFEi(hhv-^ew1Wvh^QLX2?Nj`QyB>Uw8a;$XD5MM|~zc z0GE>^-Y5jFsSJGn0RRSY++rRrfoyJQFq=5_dE_4Ufv5oemd?95c(%(&^~IFY?iT3Hi<5_;tlt#i zBy<|=ZTAR@q;}Yd{$JtEFBX<=$voY)6a=+deo;NEamsCUU_zffRfhA~!Xr>LipjXr z99`*PG7Cq75GXND;zeJLR;&r6XWkyom{5NZugEiE*)#t3j3p)iW~7$cAxr@?c@ zR{T9FxEfazVS|XHlMI(R4X=Ae*!C4Wm97=fVt`gjJrIg@sp=MtqaoC`h+YR4)iR=6 zbY~Gt2nA|`Gr2~ZTF-|^6V3*c1LI8yU&(kmPF}Ii>qDN5RQ&D69 zWD^*tr;))|+()@nCXJRG6Zga@(l!aYP%BW=RCDsf+x5>Kl=dmjLK|}Hq$;_R${2OL#yVv6`tr(JPzPm4OpZIU{E^6 zxDh=8sVZowJd65;4h0K9YCAKYthbxGfG9`e&UFX*-I;Ow! zdeAUf4v5clk0!$iLiLp8uPU6JXYP_waCrd!mp>bV9XC%#+}K`i=#%KfvbSh1g| zbu`dWbP&eqKSQqMLfeQjgsuk|R{P~UV6CMG9PmXL`s>k?I@frw+l{IZ{4xrA?dvDc zTU%p0IxMnO!fg)PbWA;Ys`)M;+ciY9=N9HO+I0$>t`4RWq!0h0c`epNE1_}b(kdZg z5Ri_EFc)@rpaNXLMzbxwwsncz$nte#)~5iu*#O-zj!g-Wle9hzlFnIqiU`Vaiiu4a zUPNIaQ~)~=qRHo^NOPPB)zHF}=a*NO>d}xDX#`{`5v68mU&lC_N5h<>f;S8`kLJ+{ zlL%wF-eycunE>p)C_4zc=Ty5do<&J4d^ccwH@qJILL;3jv^su8)EdsBX~W)kakZlE z(I+uFgYLe9aOJpQOga?<*2xPvlebK-nx>ZWB-?cX5aTr=eyyv^P>vA+8)`AA_cI{( zP96AKj(l$5$O{p%3&Ew$_*YUBeV7@q2z|E}{04*20`PX4t|>?W9ZVVqI1Q<-38FTT z8{HD=JKbW;*9;O~HP&ZQl`WciVR?I-g;15pdQXpNNUv0tuG3t37m*Zy*vcb}%Y`X^ zDQq1aXrb8{JU>KqY>wH-!?x_2tr%tsIDw*p1BJdZ$LOa3BNS4RKrJ|DMuX(b+JH}< zV+{xWI>>^LBX$M(&68h;{yQC<8?WvKSWU4$n4d~s&+VXn$kc`M_=0A}q8HF%x_SuV zK;$*HtGkSn>wu_>^4c7UKWA80ZGD|;rFbOO8RAFF;j&mHpT~??Qv`n8Ab(0NHgiqDc>b~U0&=RuAHg$l-lE z_oFB{JY|#Uxe~y8V02)_8WgoFsHqBfD|Dq<6byWA#%P!WD3>jydH{&1TqA;P&ukO{ z6Ib-c2UDd;0Q-8Kzurv)MPvZX-+Frd@k!rb4-#L$g){u=U zQV&DOWqgIccC<%x`O9vrxdtf*`0k^@BT_nGdR13;SXpuuOTZ3Ji@8iEidJK%C;`l>rmy8}{TRF1S2fGlP5@^v>r#rHR zXPjZg=7jU`9T>Rv;)Nwsh(uppT_*EVVW2w3W`GDG*|CNm1%*vh0E#OCBv<@CH(s&d z$1RiQato516_|C*YjE(CVcXI3o1p}YVb|2qwder#IdV26+j6m6h7RS{HD^fhucpRy z@TI|8D0Z*enOqwTW?UvupII1i=`_xUVRDb)vxOItgAt&>D!r))g8ttlO$FJ+{JI;$ zMyZg^SUELh{OUDW2xKTAAu7Y2W?^`Wx7F)9bzc{v_S|)I{F` zO3_xKjBHbLPr9eQ6FyU6vnrufyx$H1p$|?2dlGMxHD$DcN9Q1O`hwo93zj;-5EXBv+yhU zezFd^&{wH{d-5A)YRBG{Z3|kX0Cxoa-^q)DjizW306k4r7q%i7zGhH2HO)#|e@4-% z6^@KX2&d*_HyID38gzC#Onp|T)IG%%`irl*8mA!IIIaS)BrhZYaEf{PTm|Vy_=Oi9 zBjTvG$}bQ*96J*6Fo0oSf6yoYn4NPwrJaP42go4I-WBZ3Nk)2S8qMj33UOVpB_BlI zM#6d1U%&89$rkf3J!KRzCdJWxi-+>SfSu;%AD2IlflvI zy9%X+3_*1>ev6XlLkNf(a&=HXsR*Vb97AX-{@gu~@oJ0|3qtS;8vNeL0Rgr%E5E9e zD(7E_l7aGF8T!*A-@zDg4Y@iODum}{r%s^aYiQh>+jx%Jy-F=|g_4Ag7+N&bLghEq zcWYCISY4u9`8o5AhL}C&Xi+B=8tO-B5J!S?n=3i;b)EeATBEWQnpimK$+pN#oI5xY#LEFist)o4}uA!3nv*|8|GdMMYUbS;{psZ;6=J{xmjMZ(`T1Fi`b^8?~A81%LYIM9={! zs_#@IPKESTBPbwFhtYAGWv$IX33_coCwxv;$oeg?;P1vx6`l8JhPIETqbc>!K`S20XRi3MFCt3(k6cUwmQNAbJp?3P9Ii&FWA;_Bwd%JvzS|kq4yUK#A`D%MCYPwvfC^G z0PtwElK}0IQnf9nk=jHgmmo_8`~+{8HPWM7C~2nYY`0Y^1F(OSozsOh?6~SClm0g$ znVxG$=A?tPOTOsWQn@8ypib#&n0_fpj+|&yL=&LsTFWpEE`?_neKPdfNw6>o%?p!M znCuzj)f7t1*UA(*l#(++G>sd~n-ie1@;p{-h3+Xl@|on?CpUm=3l!}3Q1Ce01mPzv zuJJkuZ9;0P1y|4>ma`V#iFT_1$Y)Vp*j!olr16ACSEJESrxNSq%HBbJgyAU-zj>A3 ze%aCg)KVC;7`F%5X<%lIO|Q>wvsriGIcX~10a94On8vJ_pnBm%(R>VV933RYCq)3l z7_@oravte0h9;s};hBI}c-5_E3ZfCs6k;`sp(KVD1`113y^R_Hsp*FfIq9g*?*&NO z+fm$>d`3w(|I*o%Ht1P^m_~34-kxH6JB2c^F3dJ3->yvn6%Kr8&NC2R8?*d8IA8>C z`ug<*HRxt)oaSSnYICkRkZd#hg&HYfucWEmI2({yP&TjfsDdcwu?2AlV*r|YwnPDL z_3y5HM-4f*)LAnJghB=zU0-v$w(dQgljv+5tL=`6Q`<=83g1)XNR!}LiFzag4K3CN zpuz5SbM4?027a)DpXdr(qo^*iwi~Tc)U)M0Ch8S*1`+IED|!Pp2`vn&8D2~OPtn0N zqU4m%tbJ$z2!iB37Z^>`okZVGS0-rhl!iTuzl}6{!|2hgMUmaa7zUnet9p#ajv#O_ z?ok-ol#%O@{6+Zg;9-C+cN#SZDi)P!Gg}$s0Nnx1iAo{2eV`3b2crfGu2Y9)F*xi} zrE35mqVnB#I8}PiH;Yg_8)z*LW*uU!rq<)!A|pqO92W|nSL2iiJoe%&JMFV$`?V+( zf3{>K^I?dQ6B|aO3L81vi?t2~LPgoktL4cB0SeW;tGS?q3|8BcA#fo7(T(z;jO!t~ z=7lxxRgNQaW1c4QBC(~TUg&=m^VnG$9_8tlewo~e3ljh-2MwGqHFVZ1x02IBn2N`< zTo9#q-y>3jC<+RAyDJfBcbwo%tro`d_tlDO?Xo@B1SpIbITH4FVo|i%uDj8q6aa+V zWUHFa1zvD%8Jij=W(v^STsgEE6_OW1+@biU9{pMJIaU`zz%@QNdo6g<))#ze^Ydct z0#2al-MTQ}SVu$v*l6z6=87?kz*{IupcW{~3P^0C$)iJf0nQ;~?&!**v+guZU{o7h z>19qI7>~)Brh08y`#dXzVomY)qygmF={rk|n@1-Ga-8z8M)`{#AXd|n&g&E5{2fzD z5u$dGiLuojIApE%vB28rnB6OLBRiBe$mdNn#oBQYBS=`z<*Ky(Ry4u+YgtY&2GGcR z(_39lWjk&+Ej0tq4xlQ&sfHG&0zB^7IQ1lFDZXNc)!(aqCNXSmBX5-Y47^IV?uZCc z9I2Xz(m`)xVX=NlDOIrT3Yy@_V#}^NjmUIN-HRp3d7|=Pe&K#|nrO!B!3#0bDFAuS z8$c>~F?2-p;`-*B9w-P-#^WstqeC8MvOl_=oOk} zX0NaAQ42Va_8fI^TRP3U+tY#0BJ2dkI=8~xh$^nwK15^CUW@yi^Hhb}sB7{_JM{I0 zl&D=9&E141tp>|8;JSJykpPn`KU8#_dI2c8zTib8V-FhG`UpUorduG^1jRyj zlNKby*6G_l3IgVwg5L>>wiU)h$R6h$B=feJ(yz8YnZrIu{{)mP@=$A&&YM|iWk@>bh1Ay&hS^pZJ4;L*Sh}KG?G@UBV;fx4 zol|N+7qu3}(K-$yLkLj40cC=!*x-fROY{t$X(Z&SSA7cRGcN=D*5fqOs<1|c{yij* zG@5-hgg~{S)fK0VnsnH8KPQI5vzX;T%VIa2H8Z97M9QSic?ybmF3jbS6P=xN=7DdGzTF3|h6#$z?l6}Wx8yeLJ zP_%8Ql5&Xk>0xL)%{L36?*=})UYAv6oE*RcsC75yv)V)lE!B3!N(8UD?D`8JPiT;^ zXc@1H4!kYXc@=TJb5~yB3H9RT_%m}SLRohrsy#o*L4(m`h^?imkmtKb zU>wm{X|kIs^b~5jD8Whf;IhG!83OEh=+5JY4#|Om7xA`KdI@raWaJ44b4m&ifmZmX zf|_cO5fOFLg*L-d57Cq{=`jS)m4ZtjGrF_Fh~Twoo@W7^P6avRZl`fAL~S9zgUdOh zo`!iG8B^A%;RND--LN#80iqg>1t2qho2FzeYj1LeR4C**qna=<^=m3=qh9!`#D@|{ z*es|8&u1D9yc*F5N^qc#O3S(>%(^EMpyqW;Mk;&mP>Vf5E4M#5#B{z3uY9Mhg(H81 z0g*J4HTskhQ;LFKqZfc36?7?KCfzWTQ5o++S^#{!mgeBFSR9j^f$Y*939Pgkt( zHpVg-T?vX4oD<|*gloC-CqNu+QLKBc*Atn7a^q}@bFh48*(K0zglR+vYb2&j;7r$A z2?4gEd=!=tci@;#3n~RP$0qBLA zSSJ@4gwXZxqYJ5=APnIQC6>TI3ynQJraF8q&rA(NsCB4ezhLMFL4qR7zvXBt1+Jxn zi6{iMIgep}KCi`GpHhvONV=kr9=g`rr*Y(KIw`fxoHb8Ur5U){sRzwNKK@Ogx z){M+Bskhc^s2!1>e6AK~%_CLd5u;%m3A`66W!pi}XNna| zIC!`0ptq)kv&}%z9!6xK;3eBQKv8UHiX3$xnF^pnI~Z+zsXQrY@yLQRcF3>;$>=(& zp9A3g*xdpb|eZJwUA+_F%=IcS-s z!^k&-^aLYW)J@S^I+Qa@0t)$AS#}-~Rg#@qa z+DTc2r;Vtk(>ZyKTa9is1#OmrP&+f`0fzD9B4^#pYADb{(_&=>$_uyu{QLREDr)am zHE7_OIz+*w=FOG*oSxAL@DI*!3SiJ^ zrii{}RJu_UEx^r7aKixigL0nPQ89NQpuiZlAr!u3D$`h@Uc8<}w+SjBPn3oko=eaAUWt;Un(X)te$EO6`L`y z#*kpE0w7gj(Zc}M=-M1$v^Io6Mf11GcgvtZ5h8*$I&1z_D%#l*2rX#~+CX+7Q#I;n z>7N$-Muq=!U2XM(TK;0p4RRvO?!40s38wMD7PGa!VNN2An#OW$S- zIY%?UOl4v1D4a7j+EDy0!}B>^e|{Tg1~S!Fi}mskf_~#Tl@w+pik>7CbBOb}dh=q} zqU)w&Wc5ay$B@eq>75#3!+2mnqAo*dI>G3t(`zL6VrUq12P4{o!*{7E09eS;EH)l& zG>G$mr~<-)5>UI2Xvw>J$G*i#S04FK6LVBjs$>FHcLsB&8c`O~0; zmrY=PW2yhDkv3ON&Ll{*dFI6ndgWc0oY|1yt-o0JGrbZDvGm|9={YhGMK9@F)Zo z>jL^%$j|9e6ud5Zso%i!x+Vw_xkAX*qZ2K+W>Wzh?V5q|r&(vfx@(J)C%$#=iYqtp zR(Bd|KbB5aV}$_#I3WjKQP1JT01w&w=HLX80|2B7Q~+>m$b14@^a4z;g@b36{ZmF7 zB(2vy8WPIAfT>mv3{1V;Vy8&}K_9zB^BQVkdMi9U_pGsV4K)ej`4r=g?WEw{eAhfR z1mze81qIpHiX4p|Zg5>uA`%dM=+{u21GJDmw;J*zcI22rCO<@xQfM0$gc~J{^8`gznH+jlzM*`XJJ_;Ml4;O;bQl@D2<~od^1n1TuCbAUum=M*ysPsA57B zSI}A4O-Rca_d2gd>v#CI=>`88hs+2 z;OpLeytW=@1HwvmtVf&iTXQRCfEH)zP|!TMyt(r`1L9tvM#2l1-Et4tfXFxe9)cJM;}1PKcOEa(Fd_Zz8NfM)}U=s=522Iepg?zCV% zV_o=boyT{DZe7r;;A@>z+77HZ(my@c(&ts2<(Z5*&6?ZU2Gh{P5QIL7UNQhx`ABs{ zZD;Icon*%;B7Ay3?7H%}MYL;?HaTF2Y0~FJ)28yeFpO$g$_t!96P$p7$QdY&4LQ>R zscEeMWdT!VmcTgF;#ovlP!@*Lg|cqDvxLc?o#u50$r2D~ z=i!;Mr6TY{tP9dKh)|#(&p@dhAPwDx8T8cOu=Spdpb8rJtWfgB%W6TJr6Gc&K?UZeW`HS$t(Yr$Cxj-6w@Uu>O|8{h` z`F@^mk;~w{LWjHqDTcWxn{1MwQ!HUh~LQPvBvOzeQO9<_};Mj=F=2 zh3_~6P>eHoC}ka`2=Z;Dq;G&eD(PM9tfE%xlYDK9d=e$yQ=gf>t#wMqBL>DSMW1{j z7mpFe_7&6JKL$kFPyrE|mX5Y2&9q+^Bo8p?4$&<5(8-IaC*|v6tr!7{M~Rt zIEm(=`51Fg5YrrBHM^r4#`Na;9E^fX{O{nO8bxR`1?{tIo<5?aF_eg0vA|9dA3IWG zdN5%xg~50R<`VWQ#~bf$dCIYdZU>4&G-zWKHit5F-jA}xo=ScM|Ijrf-)m$cD5P{l z`|)b%LAh$MG3H+A*JG_}q=p;-CocxwhasBk0ubBU(QI8%Oc!yBPLYNShAe9n-8Q43 zH5C~FN|yO2XCzQ-{=b-0@CBuTDF(~NNo6cp)0{IZCl(7d@ltI>D9|RCTk?BR2oGDX zcLd54aDhWpEmE0XR|oRq1_Mw-I(iC%x-_&Rj|yYGF0P&qQY=7g0XmBEbmPYQ)7Q_M{UQ~c{Db*ady!m& z^hL{5x+%i2fK=?-(Au}=+q{=Z=u4tFN~H(TXp}uoY~F+ObMo9GfCU_N=o3W!2AaPg z&Eu;6Ls7HZp9UU=oopp#MWL56+S&FviEk@RM1)?t(5)O)b z!f~3)VZA1wG3E&^ExPO5)FGIY{C#PXo~r|tooLv9mKAk zM}L=VowkaaT)=82GX_OP>8-pjA)4H@xf;IiEz}(g8pew)Qe>fdM?ESC9$JI<4o_=n z#o#D?T`bjox{_ zk%e8yIEfQH@!$0oxaXR(tOkl^;18ij3Z;!)HvmgKl-z(&F_ciS1H~CjF!U70Jr%f} zx(tN~^4M?IGtB6EMfp7WLj6kf90=^BtyA-LAgYl8Cm=BDtda@2UDx8(UVTf6gXU0n zNSQzn%)}3LDRfT~qL_2uH5T6iOb}uOcn(?Vc|Ahzh*;Q2j3P57?AK4uyUq0m!qxNY zt~UGL{2udVoZ3APLBtLlqBcuK%hy;ykIlQq7*+X}bTAAubeuh_$d3#m;CsNR2COT>8$n|f(X4ng0 zz-PckA+N9(`kzVHe>LWD1_oX-S~93TTI6&4Q~*(FkQeVOkqLsMm~$~l7~``L5fT>%r+RP~DFQ^@XA_;G;2!X-7=D?-TjmivtL)h%QRhOp%nxWAgj4Baq zH=C*w##{g#B&@YGVL&JiTXyT$JPb`f9&#g<9xuKY3kNgT=u%ol7mA#a9*XDqu+0L}%jiZfusG ziVCkLEcOeyW)JVQ+pz|1nrWoMFEmrOFbwGGX@6P7ycULt4L~`a39^ZNqL2&w8;iwLX6}B3uhfSfElwNp-ukT_QiorG=iYT%cHM3D(d8f`OhHN&1XeS;tYH9ph zuCaQ^SSPYbHH=zwzOyuWO<(4k`ontks}<91tc7 zE=D-yq<9q6=z1g}4Klp?=Dlk47ft(QWQtx`RPg)2}rtzHozyfv(?rEsipx9{x$9nXjX?)t}_tw96O2!D%s^Kyek>fPIgllHI%gQtJ9f&-* zj?oLOHA6PX>cLydlM@QS{5{=^r@Qlsk69G?!g*(~sDkzVXjno^SyDP@Gb7tt0gGk~ z)OaDq-)#(&^A!=f=MO{NsMu$lq0>3KmO|*t8fC8zi(Vt8Y)3I9&r<<=Rn}XQ#(H}Y zeJh%c$UeUEwE41Dvb`7b<&n&pE}h9Ig%gH#f=)@`o!8eiy#0+r2LLz$oY;4=jSTU= zDzoUAO$A&Vtw%(MdR@n=duax6jAd;xr4@$S?a_dXHf1Gul)6Xcd!{ZEoVD3H0N@Sr z-N6;#E9YlPyM{i^d!dAbGL8tu^)-`LSS#}~tyKfTZzwyYtsqRd_JY;nMJ2>|Nk@r4}> zlXHS9q;9n>Sx3@fbM4t)m8Z}3ko>H!p%EeeU@iLnT`mObT?{3hOcbdXD4}Y^5vo-q zIt)dDI`N?_CNnT~zDl>nFc%^@M2~1D7_}ZM52wT5DGJ@}m6NBtdLAdxJmlO=akNx9 z2{;;N+h)1#6ih0#=(7k7#!+|FV4a~1Y{!A~w8QkEaHH^KbzRV{vueJgh%}w%e4)P& zP)aUM;0LOPtQzkY^`I+S=S?TkQCX#xlUS)G9-vl(%s;-VY4M~W3-+m{Bq);6W39OKx7 zjKY{l*5dX#P$%lw6!$dyJe7U0L-5NAx%ZwRx*9apTup9p(8q$D4&5$-RWX{mzA{H< z3VoLi($ZL-V*#GT7pkh~`e1#F$OWhg2f9qJJ|8<@phN9h8MSQn2LA$I06Rd$zqVH8&*@Wm6;Z~t z1Z~ElXhPmF>qUG+{7~evVI=&9TTJ-wD zdu)*wd`tThsbg^r!i=<3#Oq4bLTbj8X~;7l+B`+kTc&ry0y!bEAKL_`*?BnK7jeqg z*v+h|J}VA9b0X>n8;`&c^0$kjEI|qu7Bd*b(?GHFg=n_ub@vVK!J$diS_wVn0=KHr zr=oOvM2@E z3!^wBh?$GXT(DsG*_$ugmnv={Anuh&X8vs5&#hZjdpFs zsBr;f)_V%H&L#I4Hxz_Ip;Zu?477l=cnCrYp;V{T;IGhcUVZcA*0Rt+r<+%5}4-<^D zf7;C80r)ja(jrohG!4492K_a)Kjl(TiHx|eYn^7G+c}1E7tcgEgG}Gq&ap}~NF_eP@W{dBBxK)C3*Ac)ipJ1H{S3_vjnyl)n4etKi_*OQ)l*|okzcp5)jO`^wWk|thb&^IRH9Ll53uJ= z^x{mA^8B9YBY9ib1{e0yWGhoc*F78KcsHz3_1|6gN<&2F2`emb@T=_!4Y}+E@vI7nVIWfZd!w+`M6KlWvp_Nr4Kz#Ryf`I)h7ygr z4%X*_(vV?Yr?JPngEy(HRnnoydt1*1Y*fI9w@ZL$+5O&7&_$2rt{~&-737$D47BC+ zsrKiYcVYHoccR$opraY`BwuPKM@VOB8*&V!Q;85zfQp67G5|Ed5cCw}N!QDVDQ`!; zp%@iwI+?Q73I|Wxf!gbX8eKD19(5e%JMNs(BfW2gL>e8&wH|fRf{;Uew=auG*yM)r zChg&HNh9Xc9V7-1=UU8lzv&6jNn*HE52>V{n@6ItVLaEqFWfOOduq0Uh{%C%`m+W6 zRBxha8+HRF9VSaIV^U92qDM1lRIZdDfd?dTl!QEM2{ao8tdwA3oKlfwL?DJ9FI!*{ z0upwd7Efqygr^TC2QH-LmScjv%Gx`j6lV&b`V{J6Jyv9~MR9<$5m z>w3`?S&il|k2qfy+&%@pLK(Fde3@a@IUwmN5L9j}28CuknAe#jfrH(K8HH{9gXgQk z1J`*c3MBhHqE?Hx1GpChIIqPr^)R?**NCqhJ#@%KBp}z@_%$P>SepbEu^RfHY#G%l z0T=GmaSVm_&M9d;UC9=QA&ia_JyJofMySk6!4a@04OF`cqnFIkGCiRHWzphvTYwWQ zk_Ff<5nQJWy2--G84v_dr_q{<*X$~fn(J)`#3pMob^Mt#-$cKs7uU5gHZeyw0H zqIsbgO)yNxeS7PevT5K1^>v8Yxnlu&>J)W$SSx_@ak?fey$68s`1Fh?AQve!-{yHZ z$J$ZeQy@zFg*#}Gj&>*!0nDDXblJfBDxZEz%26u!}5(+_$9IC6FRI z40#MYDxRU3ql#ClTDKA=BOq!5p6j0X2!-k_-d!k$FgPu?TN>T2hm%?u6rF%aJQ@hu zEz&bk7GVz6aG^e+q2=?O*=+6xoTi>Eu1^r=9>5GGR27E8-WD@y5CX5rmT+!d*Ympi zNryq}v%jLC2~!y(QE9m20VbpbX`swp}nnG20tp%Thg9Er>=$&Rp ztWPyW4Zz~Rm32f&HlLB}f zLdM%L1F>};HTtLThehy9!FviKhQW8Dxs*fx%xY8*W?fj{L5=2o3uTPOJpQD4`3Q8-G3y|2SNRwe~5fy_R z*n$yuPC>UB=J6s==bhLJ-IA8E4#6``)19erbGKILnwF6;IA1Mvs_U~hcPM7>p*g+D z$EWF`-n?Kl&u!~I*MSO9Dqqty2i%aKpxMHrw3%|sduySoT)!G&t0+50yME8zOwa=z z>_mBnmg}hLn(Wv`MaE3qILX7IwZD}DRf7JYn0GI<92SV+QD#i2$bmS>i#E%U*gP{L zCUiyP#3{CATS4DA^%+1ystLMnIrYGdgdtX=YqadYKoO@x>!#Ub0;w3g<(+gv7oHO7 z@tj7rS48uQYP+Ww`G5ij!nd%mEpmiIBc|CX8(sO>x-oVH0edaZbkIfD1g#Zs-@|Iw z+a>2t$=-!-E$IdZ9@47^li6h%o<`9bg;6#}2XjWA7x~tnE7ts(;}|g2<~4v((+`et zN;8ib5t3Zf7(Br%#vA}x;T5L&3{p@Fi)5P;uScCS1Ru9Vt%cD%3+Jj=+#`iSVcaTE z%%>%2iJ7}$X|Zm$+P2R2Y>kllU9mHz&nTBBsb>vLL`+?&GywAojGFVeFIvPZs}co} z^mQGl9P^j-cu^0^I2>rpWp zR6)N-um)>!pB!t7Hh~g20R}V40tJ|n#ne}E6b5z)5X}th^;2mZeOn%5yhF>>5%{O4 zH|l8K0dq!%Y;QPUA&Lo+R^5<0g`75DZ)}SN_{MN0OdgSfAw%{8I`mMvq0NduacXsf zKZ@<@qnzY4*|^536pLfMDfOIfWACAJP_JgufJs|E1WjG$l0qqO08=h%nRfJ9LEvrE z%p&w-fZ{fH`kefP<4CeV7SX$0CF%(Q6FMUdY{=eFg*ZTqz79mLm09P zcXQG-N?VCJ&!ZfvJH`oD&2?iQrDBBa?kMBlTC)`ZIY^c78C_@EU53uF>z9+) zfWQcwZArs}#y8<16vhF%58-buPrz;2-ddTJ0A@0ucs;xoTkL{kx>u<8WDHaq!wd7t z!&_Yx(`kfjkgZ?{0|YhaS$bTwVtO0R!q(ZQA7-P3eH+axx#M%{MQG;0#eVNjtHHYT zO;aiYC=q|=B50HM!w{kNq_;F!*^~%E(4&1crb}U$(#S&zWf7wNEjv>}eOuK#uGcYm zA+#1cFJNr^MF0vWBc_y`C&=&5UJwq7XyK?k=R3?aN-Da=qU)#KNbkTg@EP{6Y`=mg%d|DgB{YZ{8$i|1jDt>!2262*=m{~ThT1~x9bV>I($` zW8DpxQ3jm!jVXn(kUx9Ds~qq*1Rx;?DlHmHj-l8W22Q*%5j-USl`WsuxzKlcBo!UF zdw`D~h8DxdiO>XN=}`|62GJ4f6lwD?=mk93Id9j2Ez#WBt92jXZ8wPF zHB!hkqGH)zg8X+p0$|qlLjVf54>3*fPA_BfXbe%DM%;WYa86RKb+UImuXYNW0A%Q9 zsVH6RGhQX<57^aM*(vAHsYHq?*Acn~<7>WN%Y}^#Jk^~K250T&v?2%XxPB@+#A=*d z0IL>u1f&{bUklPZh^|CBvzN^v6iiFavm)}`Wms=ayi=Tif`gFi87T3T@*^4=DM^NE z0BnG>rf5A0C*Pw8u!GThD$~|{ueOh&rzaHKja_M|uus;`9?vx!@{1HlQ54q}7K#$Z zec4mRo@YV{!%Z{bW`&C-HC7P-&99~MZgM8>zBp4epb~XAx#~uzo{@nmgp#~xf!DIA zjCdH>=a)r#EnBHK2tf)UA`4f2HCyitiKd6t$j?D>|4=io~WWklpjrQTtGa-0YDs^vSZ_!N8Dav0Vebjl6jgOn=Y$Tmzz2 zvFd9(8c+>17l!(C3j?B{sT)jblt&UoxYl{sw?NLiHJsK4nR%mN2C0r zG~p%N{U#%b)OE@}IW|_L)hew3#>nMpHC23)PFJnHft1v3srZUey6YrK-4Inn*aFNM zt(u;gYp2A*xO@Ex`L=B6CJC9BXN&|Een0Q7;c6(n@;!{e+YnQ-jDwDomf zrI!5Wh$Hy`>pm3V*|X*fHHnoEyTNg=T{sh=pPJX?w0JHeUM369W3KyWQPLsDrl;(- z!E61X|GFP}LIsqTHFh4ICQ9J!0LW+s2WE(I)U>k#WlU3k)*20C^01pdJBg=>ML&|V zBhG(D91_6ESuynf0NHWfg0Ta9424#p@nXm{4RlWe8@p~%z({w-8lz863;QK}sSW86 zDTFR}z92s&Fd{=S>6Ym+x4laUEsC~Ar_|Dm3WtSjYoeJ)0+fn$iUGPQLevQTs01SkC)gkF z3JFFH32=Hjm}xm@Sx>3$M$7rRQA=go$c->RVriteEoCCSlr8K{f2P5Rb!u}OBbC)L zj)qgTOFE!uWQSTtddwRzML`7^h90I=$DI=Nh2hg{knrxIEC71!$t{hN8-+Nqj`AG@ z51{ujiqzWt{bb!zv2Hrn*1`Y>&k%NGxKYzB@g82~p9f_MH|%Z*>^f|TFMx&0I#aG8 zWDSLlv0IyHR>VCOUazgoYds67P=U#u`Yq+I<9>?WF6DIuUWx6G&Ro z6h!YjRb5UqV2p7?&rKDSQVUzDV0TeLQ38RXp>WuCOEm{XD4x}VVpVS50$}XHbGbfK z&;yZmEY*af(unjHo}yOl!W7XqoAD4`gZs3Kl%7T9n(s^u+^Jt#pW1``wV;|HTOKLG zhJ=}J??|a<%1A!bqYGN5%7HJeAYO`OVemysc*QhE5l7!UBF*q`3&lEA=5h{0!=&1u zr1zqHTY8VEt1#o_3*Z03fmx}hK8pxJateTLK(ShDh7v~ z389>kpDaq&b}hA3@Yjqx!im#FNh=7))IG9bf;o1Yp;dSs=vxthEyB>Q)F&74v4r>> zWGZVHx+}8xIn+Kd3RV_#fB?VfdN<$d-OUwH_JdGk>&%6E8FHo33xn(5by5^jfU&%% zmDNDoWdN*J_m;yT`J`=^5AWDFoses~MfG)h59%JdrER^17p<&0? zO>(&g`T8~9Nc!dW;Z!`STHMgKGM+F(2~LPwNmC}kwK-;(*oHMk!~)@Y6mgmHgh^_J zg;JL(*pMH`+<~xIq~UQ+VomEf=+f!0b&!B-Ul4f?a@2fMPog(`$589|?WOcvgJ5PJ&tv zU<6%H1~#pEV#;@}_At|ZliMfkEUVE@gPZg0%+lnKCy zW1*s0f+)gw@WcJV&MQI5rrT{X73$rRDF?gkAFvgA0@4~fZBNRDN0ucutRPK(Z zKE*(x!=8HcInojWohw{h9OOOci;Tbd5+*bHCn9*ZCdu>*PrWHVagbNfx4`x+RY8M$ zxn9`>rXS2E(_*brmXT8$ZXz#SF2Xg{dY@j5j<0cR9$HR1!r0ab6Fwi%A+q;~dFZq4 zKfWWS$Gql1qxrUW1ADC{7)*uMW(G6@(#_ru zII~ASj~xL}v~sI^77?C~`&!5VU7N4b#=xH(!i7FUm9{oL`?=QZT#q2O#4v>h`HXSO zC|)moNyUKlLf?Wo2nNxUeIBVB)SzYeVZ5qHddPnPQ&=p2?i6X6tmUAxrpA-#UI`#Y zF-8E9A;ry%j9cd)hEYxz8p z9rboTB#6b&8DWe)o4cpn=+!QBJY#B+Mybelv%b!P-KrT8)6NL`f z`4VahTY$|rOxXjfn==}=*K4}Somxbj0`Iy!38_&pic`}OLBjYeADf+V2e8N;qVTzC z0#TvVpQvroxx1mAoUb}Sgw7-DY8J~Sf%tKd;2@`TJ0itdEv-YzwNTW^31WMcq3_WY zv7>z|wH_{krf8k{SIAvq7+9d*((CLtC^*W!AjvSM^6ushj+!yIG>*fzNON zPypCw!i|y_6pZ=E3EpWcUkF|*_sl)!wLP|`68$1iqIVdK7R-v3j5N>CGKJyH56REE zltK3hEF6RYoMb+;sizmnb@EQV)MG8j5$Dagkj#*BroJ*=)ngo(uT@O=99!<67Z5Zy z6SC&du4#%mMcNIu@{RH#B0Md_n$7sLxv>EK7Q>RVIav>2h7de>5bM^d03IUWQtZ_C za5x1HX;d;8q5K=3*<9dsx6iyM4}{)XyKqo1MP_bXg8Cj}?elsejDG>;OsP}`A7dEU zUTS#=ihv40B&tRo+5~AOo5P^dsss|`AS!`ar^F66mE4(P{2En1)M*YfVkbsJl!pQo zNVGG=!GEXn_lyFy^8Pkg_$}pcRyWac$Z5|4eIsIQ-;CWW&9?31_zJtuK#E3Xoi4*N z4|}w9F9m<;_S=PflRbO0K>s1sjnvRQz3MF*{5`FLV@ePJj<=c_>%pUrghwh?J-6&r ziC&u+XOzf-ouuTSa4@HVlK?PC-9d-A?lC|)SiHPv z4WmTqf@Y|zg#PMNMEYRwEduY_vgZykJOZH8u~P7ieJ}Q!phmL5pB%)YCPjFnyN$+X z7@Ps8pEcVyPiYA4u|P&T=t#ZLJg)?Sp)@cP#gr;=}lSaSP zgPBl#=yd=zFOmX-_ApYQ$9!D6-aZe9L4aVM^KD+?PG&?pXx+U@8%4j00F^C!3yg)P zFw@j)V=;srJEdKBMc*hvS;yadgw1P&M{;jy;w6ckvDgJ$Beq|R|%dN=rrQW`PfNAo&t)|}*y-Hm+g*;CpwIM^Adwr=?=cMIcX%o zcf2eegicB?>%ox@m>YYSxy1q?(FB+b&%Ks(S4_y^Gn=MvDOxKmsxsz3GeeU_i38Rb*&M^ zn9!3akZDid0DEL>Gn6&8FQZ4MXBVECSvKpGy+mz;Erl~*&)NcvnTqg1!Goxy3jlU- zv{pPApQI`VY8meGNkwaMAHfuGf?U~qUXki`NFQXF%!CFA7KWd%S{QPkz$Oi*ldxaH z35BJ`Bz+XUtXnaDMhCyA_dwL3XKhw?{R`d)I4=b%w^-u9v5v_(s2hDqFd}Hkrp7Z2 zkQ;hR4I>$pq zHZMkQeuRB%uB<4$(%|pb!pN!Mc31FIi8%PPk=_{m0a^^*T9$LRjC4k10g9L0;CSM^ zPZOniwP#lY1-cBaq%)i|qRCSjIErMpUx2-PB+bN@NmnN}TVix5=YcQ`G&a{x=pe zn)olO_lj+okJnsg5McxtEj$%j9f+uXa(V#=n7xw7$(XXxd+2G6SWfBe4X!KX#^pQ* zM^2p4y^fwt>kow&Cmr!5AE)H(*4f^#m&53yf)g50&&A6dqKA?>Hj&3MhFcz`Cb#plnc!0->J(Qd*m_S?if*AvYLc z1kBvR=pM0g1y8Pg8Vnu`WAqlX-BwyxP}bKuH9$$6s!QHb%-;?5zo2<>WJIDIxX;q3 zt#l6c6bqgmr)B%%qIX3qK$?Mth%&WQhGGOq2V5xBH4k$LN6dg%(P^w9my1QwJ%F?n zAR|bg+#Sl+3MzYyAwh7Tr60P>l0F4S1PvrBA_+}p^BrBzOqVr^#$=6B?k1b()K18oCWVTL4lloWDlHY8Cps zM=>g*N4}*xP(Y7eO-R=-mxF^pvkKTz+Olnyfo}P~c<36fki!|h22O08k2M_{%DGZ6 zJE_c@dP+Uw= zAa1(Aw$$6_0En_+0(PW;7Uc~?%TDmiampPdLou}72P{L@kb~c793To*c zPvqSz?eIAp$LPwp&AL&d&TebV+H^7{+WZeNs+LyFIxhe$HK#E8y%;oK-KiLD zj0t0|#uhZRofE8($#yW*EvNwFYRsB}G`WU-cvYM|3_yB-3gE(6&!ay?shlB8b{*v2 z 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

x&${`tlfEk_i;yQbIelTqew{ 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

Bqu(S8kMrWW8pe>+;Pz?v>YH*S&o7@R1VYTq@z7 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

yBK5sEaZHc{Pou`-KrNu64(oAn|p|LIS?}jcf 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

;L=J+dT`@WYZ81NxCH`4JmBoD4 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 literal 0 HcmV?d00001 diff --git a/canopeum_frontend/src/assets/styles/theme-variables.scss b/canopeum_frontend/src/assets/styles/theme-variables.scss index 4ac164afc..c9919aa7d 100644 --- a/canopeum_frontend/src/assets/styles/theme-variables.scss +++ b/canopeum_frontend/src/assets/styles/theme-variables.scss @@ -20,6 +20,8 @@ $gray-700: #C4C4C4; $gray-800: #343a40; $gray-900: #212529; $black: #000; +$default-text-color: #433A2E; +$cream: #FFFAF5; $grays: ( 100: $gray-100, 200: $gray-200, @@ -54,7 +56,8 @@ $colors: ( cyan: $cyan, white: $white, gray: $gray-600, - gray-dark: $gray-800 + gray-dark: $gray-800, + cream: $cream ); $theme-color-interval: 8%; @@ -89,7 +92,7 @@ $enable-print-styles: true; // Body $body-bg: $white; -$body-color: $gray-900; +$body-color: $default-text-color; // Links @@ -111,7 +114,7 @@ $container-max-widths: ( sm: 540px, md: 720px, lg: 960px, - xl: 1140px + xl: 1664px ); $grid-columns: 12; $grid-gutter-width: 30px; @@ -153,7 +156,7 @@ $headings-margin-bottom: calc(($spacer / 2)); $headings-font-family: Lato; $headings-font-weight: 500; $headings-line-height: 1.1; -$headings-color: inherit; +$headings-color: $default-text-color; $display1-size: 6rem; $display2-size: 5.5rem; $display3-size: 4.5rem; diff --git a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx new file mode 100644 index 000000000..d8c682107 --- /dev/null +++ b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx @@ -0,0 +1,36 @@ +import headerLogo from '@assets/images/map/MARR4059.png' + +import type { SiteSocial } from '../../services/api' + +type Props = { + readonly site: SiteSocial +} + +const SiteSummaryCard = ({ site }: Props) => ( +

+) +export default SiteSummaryCard diff --git a/canopeum_frontend/src/pages/MapSite.tsx b/canopeum_frontend/src/pages/MapSite.tsx index 4d9864243..29f5c074a 100644 --- a/canopeum_frontend/src/pages/MapSite.tsx +++ b/canopeum_frontend/src/pages/MapSite.tsx @@ -1,12 +1,53 @@ +import { useEffect, useState } from 'react' import { useParams } from 'react-router-dom' +import SiteSummaryCard from '../components/site/SiteSummaryCard' +import type { SiteSocial } from '../services/api' +import api from '../services/apiInterface' + +const fetchSite = async (siteId: number, setSite: (site: SiteSocial) => void) => { + try { + const site = await api().social.site(siteId); + setSite(site) + } catch (error) { + console.log(error) + } +} const MapSite = () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars -- We plan on using it - const { siteId } = useParams() + const { siteId } = useParams(); + const [site, setSite] = useState() + + useEffect(() => { + fetchSite(Number(siteId) ?? 1, setSite) + }, [setSite]) return ( -
-

Map Site

+
+ + {site && } + +
+
+
+ +
+ +

Left

+ +
+
+
+ +
+ +

Right

+ +
+
+
+ + +
) } diff --git a/canopeum_frontend/src/services/api.ts b/canopeum_frontend/src/services/api.ts index 63e342728..807227dcb 100644 --- a/canopeum_frontend/src/services/api.ts +++ b/canopeum_frontend/src/services/api.ts @@ -2735,8 +2735,8 @@ export class SiteSocial implements ISiteSocial { description?: string | undefined; contact!: Contact; announcement!: Announcement; - readonly sponsors!: string; - readonly widget!: string; + readonly sponsors!: string[]; + readonly widget!: Widget[]; [key: string]: any; @@ -2751,6 +2751,8 @@ export class SiteSocial implements ISiteSocial { this.siteType = new SiteType(); this.contact = new Contact(); this.announcement = new Announcement(); + this.sponsors = []; + this.widget = []; } } @@ -2766,8 +2768,16 @@ export class SiteSocial implements ISiteSocial { this.description = _data["description"]; this.contact = _data["contact"] ? Contact.fromJS(_data["contact"]) : new Contact(); this.announcement = _data["announcement"] ? Announcement.fromJS(_data["announcement"]) : new Announcement(); - (this).sponsors = _data["sponsors"]; - (this).widget = _data["widget"]; + if (Array.isArray(_data["sponsors"])) { + (this).sponsors = [] as any; + for (let item of _data["sponsors"]) + (this).sponsors!.push(item); + } + if (Array.isArray(_data["widget"])) { + (this).widget = [] as any; + for (let item of _data["widget"]) + (this).widget!.push(Widget.fromJS(item)); + } } } @@ -2790,8 +2800,16 @@ export class SiteSocial implements ISiteSocial { data["description"] = this.description; data["contact"] = this.contact ? this.contact.toJSON() : undefined; data["announcement"] = this.announcement ? this.announcement.toJSON() : undefined; - data["sponsors"] = this.sponsors; - data["widget"] = this.widget; + if (Array.isArray(this.sponsors)) { + data["sponsors"] = []; + for (let item of this.sponsors) + data["sponsors"].push(item); + } + if (Array.isArray(this.widget)) { + data["widget"] = []; + for (let item of this.widget) + data["widget"].push(item.toJSON()); + } return data; } } @@ -2803,8 +2821,8 @@ export interface ISiteSocial { description?: string | undefined; contact: Contact; announcement: Announcement; - sponsors: string; - widget: string; + sponsors: string[]; + widget: Widget[]; [key: string]: any; } From 9586a25d0752c27ae0488a82e3ef0899f64d60ed Mon Sep 17 00:00:00 2001 From: Samuel Poirier Date: Sat, 23 Mar 2024 22:05:15 +0000 Subject: [PATCH 2/7] Fix linting error --- canopeum_frontend/src/components/site/SiteSummaryCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx index d8c682107..56fecf1be 100644 --- a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx +++ b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx @@ -25,7 +25,7 @@ const SiteSummaryCard = ({ site }: Props) => (
personSponsors:
- {site.sponsors.map((sponsorName, index) =>
{sponsorName}
)} + {site.sponsors.map((sponsorName) =>
{sponsorName}
)}
From 2c68b0af0e7c1046df3bb0ae7f65b389f0195904 Mon Sep 17 00:00:00 2001 From: Samuel Poirier Date: Sat, 23 Mar 2024 22:06:24 +0000 Subject: [PATCH 3/7] Fix linting error --- canopeum_frontend/src/components/site/SiteSummaryCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx index 56fecf1be..af4057057 100644 --- a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx +++ b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx @@ -21,7 +21,7 @@ const SiteSummaryCard = ({ site }: Props) => (

{site.type.en}

-

{site.description || ''}

+

{site.description ?? ''}

personSponsors:
From ada85b3d1d933028118277ea57d8475c5a46938f Mon Sep 17 00:00:00 2001 From: Samuel Poirier Date: Sat, 23 Mar 2024 22:18:04 +0000 Subject: [PATCH 4/7] Run lint fixes --- canopeum_frontend/.eslintrc.cjs | 5 + canopeum_frontend/src/App.tsx | 24 +- .../src/components/site/SiteSummaryCard.tsx | 23 +- canopeum_frontend/src/pages/MapSite.tsx | 15 +- canopeum_frontend/src/services/api.ts | 5095 +++++++++-------- dprint.json | 17 +- 6 files changed, 2668 insertions(+), 2511 deletions(-) diff --git a/canopeum_frontend/.eslintrc.cjs b/canopeum_frontend/.eslintrc.cjs index 6be3db294..83c429432 100644 --- a/canopeum_frontend/.eslintrc.cjs +++ b/canopeum_frontend/.eslintrc.cjs @@ -6,6 +6,10 @@ module.exports = { 'beslogic/typescript', 'beslogic/dprint', ], + parser: '@typescript-eslint/parser', + parserOptions: { + project: ['tsconfig?(.*).json'], + }, ignorePatterns: [ '.eslintrc.cjs', // Auto-generated @@ -24,5 +28,6 @@ module.exports = { 'no-autofix/no-relative-import-paths/no-relative-import-paths': 'off', // Using Bootraps directly without a React wrapper will cause us to have to add classes to React Components 'react/forbid-component-props': 'off', + '@typescript-eslint/no-unsafe-member-access': 'warn', }, } diff --git a/canopeum_frontend/src/App.tsx b/canopeum_frontend/src/App.tsx index 3e8144128..f5e9adcee 100644 --- a/canopeum_frontend/src/App.tsx +++ b/canopeum_frontend/src/App.tsx @@ -1,17 +1,17 @@ -import 'bootstrap/js/index.umd.js'; -import './App.scss'; +import 'bootstrap/js/index.umd.js' +import './App.scss' -import { BrowserRouter, Route, Routes } from 'react-router-dom'; +import { BrowserRouter, Route, Routes } from 'react-router-dom' -import AuthenticationContextProvider from './components/context/AuthenticationContext'; -import Navbar from './components/Navbar'; -import Analytics from './pages/Analytics'; -import Home from './pages/Home'; -import Login from './pages/Login'; -import Map from './pages/Map'; -import MapSite from './pages/MapSite'; -import UserManagement from './pages/UserManagement'; -import Utilities from './pages/Utilities'; +import AuthenticationContextProvider from './components/context/AuthenticationContext' +import Navbar from './components/Navbar' +import Analytics from './pages/Analytics' +import Home from './pages/Home' +import Login from './pages/Login' +import Map from './pages/Map' +import MapSite from './pages/MapSite' +import UserManagement from './pages/UserManagement' +import Utilities from './pages/Utilities' const App = () => ( diff --git a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx index af4057057..e90d6bb7a 100644 --- a/canopeum_frontend/src/components/site/SiteSummaryCard.tsx +++ b/canopeum_frontend/src/components/site/SiteSummaryCard.tsx @@ -3,12 +3,11 @@ import headerLogo from '@assets/images/map/MARR4059.png' import type { SiteSocial } from '../../services/api' type Props = { - readonly site: SiteSocial + readonly site: SiteSocial, } const SiteSummaryCard = ({ site }: Props) => (
- {/* TODO: replace img source when backend offers an image endpoint */} header logo
@@ -16,21 +15,25 @@ const SiteSummaryCard = ({ site }: Props) => (
- school + + school +

{site.type.en}

{site.description ?? ''}

-
-
-
personSponsors:
- {site.sponsors.map((sponsorName) =>
{sponsorName}
)} +
+
+
+ personSponsors: +
+ {site.sponsors.map(sponsorName =>
{sponsorName}
)}
- -
) export default SiteSummaryCard diff --git a/canopeum_frontend/src/pages/MapSite.tsx b/canopeum_frontend/src/pages/MapSite.tsx index 29f5c074a..ae4fe56c1 100644 --- a/canopeum_frontend/src/pages/MapSite.tsx +++ b/canopeum_frontend/src/pages/MapSite.tsx @@ -7,14 +7,14 @@ import api from '../services/apiInterface' const fetchSite = async (siteId: number, setSite: (site: SiteSocial) => void) => { try { - const site = await api().social.site(siteId); + const site = await api().social.site(siteId) setSite(site) } catch (error) { console.log(error) } } const MapSite = () => { - const { siteId } = useParams(); + const { siteId } = useParams() const [site, setSite] = useState() useEffect(() => { @@ -23,30 +23,21 @@ const MapSite = () => { return (
- {site && }
-
-

Left

-
-
- +
-

Right

-
- -
) diff --git a/canopeum_frontend/src/services/api.ts b/canopeum_frontend/src/services/api.ts index 807227dcb..bba82f47f 100644 --- a/canopeum_frontend/src/services/api.ts +++ b/canopeum_frontend/src/services/api.ts @@ -1,3285 +1,3428 @@ -//---------------------- +// ---------------------- // // Generated using the NSwag toolchain v14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org) // -//---------------------- +// ---------------------- /* tslint:disable */ /* eslint-disable */ // ReSharper disable InconsistentNaming export class Client { - private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; - private baseUrl: string; - protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; + private http: { fetch(url: RequestInfo, init?: RequestInit): Promise } + private baseUrl: string + protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { - this.http = http ? http : window as any; - this.baseUrl = baseUrl ?? ""; + this.http = http ? http : window as any + this.baseUrl = baseUrl ?? '' } batchAll(): Promise { - let url_ = this.baseUrl + "/analytics/batches/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/analytics/batches/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processBatchAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processBatchAll(_response) + }) } protected processBatchAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(BatchAnalytics.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(BatchAnalytics.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } batchCreate(body: Batch | undefined): Promise { - let url_ = this.baseUrl + "/analytics/batches/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/analytics/batches/' + url_ = url_.replace(/[?&]$/, '') - const content_ = JSON.stringify(body); + const content_ = JSON.stringify(body) - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processBatchCreate(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processBatchCreate(_response) + }) } protected processBatchCreate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Batch.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Batch.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } batchUpdate(batchId: number, body: PatchedBatch | undefined): Promise { - let url_ = this.baseUrl + "/analytics/batches/{batchId}/"; - if (batchId === undefined || batchId === null) - throw new Error("The parameter 'batchId' must be defined."); - url_ = url_.replace("{batchId}", encodeURIComponent("" + batchId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "PATCH", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/analytics/batches/{batchId}/' + if (batchId === undefined || batchId === null) { + throw new Error("The parameter 'batchId' must be defined.") + } + url_ = url_.replace('{batchId}', encodeURIComponent('' + batchId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processBatchUpdate(_response); - }); + let options_: RequestInit = { + body: content_, + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processBatchUpdate(_response) + }) } protected processBatchUpdate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Batch.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Batch.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } /** * @return No response body */ batchDelete(batchId: number): Promise { - let url_ = this.baseUrl + "/analytics/batches/{batchId}/"; - if (batchId === undefined || batchId === null) - throw new Error("The parameter 'batchId' must be defined."); - url_ = url_.replace("{batchId}", encodeURIComponent("" + batchId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "DELETE", - headers: { - } - }; + let url_ = this.baseUrl + '/analytics/batches/{batchId}/' + if (batchId === undefined || batchId === null) { + throw new Error("The parameter 'batchId' must be defined.") + } + url_ = url_.replace('{batchId}', encodeURIComponent('' + batchId)) + url_ = url_.replace(/[?&]$/, '') - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processBatchDelete(_response); - }); + let options_: RequestInit = { + method: 'DELETE', + headers: {}, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processBatchDelete(_response) + }) } protected processBatchDelete(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 204) { - return response.text().then((_responseText) => { - return; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 204) { + return response.text().then(_responseText => { + return + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteAll(): Promise { - let url_ = this.baseUrl + "/analytics/sites/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/analytics/sites/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteAll(_response) + }) } protected processSiteAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(Site.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(Site.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteCreate(body: Site): Promise { - let url_ = this.baseUrl + "/analytics/sites/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/analytics/sites/' + url_ = url_.replace(/[?&]$/, '') - const content_ = JSON.stringify(body); + const content_ = JSON.stringify(body) - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteCreate(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteCreate(_response) + }) } protected processSiteCreate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Site.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Site.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteDetail(siteId: number): Promise { - let url_ = this.baseUrl + "/analytics/sites/{siteId}/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/analytics/sites/{siteId}/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteDetail(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteDetail(_response) + }) } protected processSiteDetail(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Site.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Site.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteUpdate(siteId: number, body: PatchedSite | undefined): Promise { - let url_ = this.baseUrl + "/analytics/sites/{siteId}/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "PATCH", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/analytics/sites/{siteId}/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) + + let options_: RequestInit = { + body: content_, + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteUpdate(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteUpdate(_response) + }) } protected processSiteUpdate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Site.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); - } - - siteDelete(siteId: number): Promise<{ [key: string]: any; }> { - let url_ = this.baseUrl + "/analytics/sites/{siteId}/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "DELETE", - headers: { - "Accept": "application/json" - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteDelete(_response); - }); - } - - protected processSiteDelete(response: Response): Promise<{ [key: string]: any; }> { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (resultData200) { - result200 = {} as any; - for (let key in resultData200) { - if (resultData200.hasOwnProperty(key)) - (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null; - } - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve<{ [key: string]: any; }>(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Site.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) + } + + siteDelete(siteId: number): Promise<{ [key: string]: any }> { + let url_ = this.baseUrl + '/analytics/sites/{siteId}/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'DELETE', + headers: { + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteDelete(_response) + }) + } + + protected processSiteDelete(response: Response): Promise<{ [key: string]: any }> { + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (resultData200) { + result200 = {} as any + for (let key in resultData200) { + if (resultData200.hasOwnProperty(key)) { + ;( result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null + } + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve<{ [key: string]: any }>(null as any) } siteSummary(siteId: number): Promise { - let url_ = this.baseUrl + "/analytics/sites/{siteId}/summary"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/analytics/sites/{siteId}/summary' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteSummary(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteSummary(_response) + }) } protected processSiteSummary(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = SiteSummary.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = SiteSummary.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteSummaryAll(): Promise { - let url_ = this.baseUrl + "/analytics/sites/summary"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/analytics/sites/summary' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteSummaryAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteSummaryAll(_response) + }) } protected processSiteSummaryAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(SiteSummary.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); - } - - apiSchemaRetrieve(format: Format | undefined, lang: Lang | undefined): Promise<{ [key: string]: any; }> { - let url_ = this.baseUrl + "/api/schema/?"; - if (format === null) - throw new Error("The parameter 'format' cannot be null."); - else if (format !== undefined) - url_ += "format=" + encodeURIComponent("" + format) + "&"; - if (lang === null) - throw new Error("The parameter 'lang' cannot be null."); - else if (lang !== undefined) - url_ += "lang=" + encodeURIComponent("" + lang) + "&"; - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/vnd.oai.openapi" - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processApiSchemaRetrieve(_response); - }); - } - - protected processApiSchemaRetrieve(response: Response): Promise<{ [key: string]: any; }> { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (resultData200) { - result200 = {} as any; - for (let key in resultData200) { - if (resultData200.hasOwnProperty(key)) - (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null; - } - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve<{ [key: string]: any; }>(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(SiteSummary.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) + } + + apiSchemaRetrieve(format: Format | undefined, lang: Lang | undefined): Promise<{ [key: string]: any }> { + let url_ = this.baseUrl + '/api/schema/?' + if (format === null) { + throw new Error("The parameter 'format' cannot be null.") + } else if (format !== undefined) { + url_ += 'format=' + encodeURIComponent('' + format) + '&' + } + if (lang === null) { + throw new Error("The parameter 'lang' cannot be null.") + } else if (lang !== undefined) { + url_ += 'lang=' + encodeURIComponent('' + lang) + '&' + } + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/vnd.oai.openapi', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processApiSchemaRetrieve(_response) + }) + } + + protected processApiSchemaRetrieve(response: Response): Promise<{ [key: string]: any }> { + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (resultData200) { + result200 = {} as any + for (let key in resultData200) { + if (resultData200.hasOwnProperty(key)) { + ;( result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null + } + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve<{ [key: string]: any }>(null as any) } authenticationLogin(body: AuthUser): Promise { - let url_ = this.baseUrl + "/auth/login/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/auth/login/' + url_ = url_.replace(/[?&]$/, '') - const content_ = JSON.stringify(body); + const content_ = JSON.stringify(body) - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processAuthenticationLogin(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processAuthenticationLogin(_response) + }) } protected processAuthenticationLogin(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = User.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); - } - - authenticationLogout(): Promise<{ [key: string]: any; }> { - let url_ = this.baseUrl + "/auth/logout/"; - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "POST", - headers: { - "Accept": "application/json" - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processAuthenticationLogout(_response); - }); - } - - protected processAuthenticationLogout(response: Response): Promise<{ [key: string]: any; }> { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (resultData200) { - result200 = {} as any; - for (let key in resultData200) { - if (resultData200.hasOwnProperty(key)) - (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null; - } - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve<{ [key: string]: any; }>(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = User.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) + } + + authenticationLogout(): Promise<{ [key: string]: any }> { + let url_ = this.baseUrl + '/auth/logout/' + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'POST', + headers: { + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processAuthenticationLogout(_response) + }) + } + + protected processAuthenticationLogout(response: Response): Promise<{ [key: string]: any }> { + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (resultData200) { + result200 = {} as any + for (let key in resultData200) { + if (resultData200.hasOwnProperty(key)) { + ;( result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null + } + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve<{ [key: string]: any }>(null as any) } authenticationRegister(body: User): Promise { - let url_ = this.baseUrl + "/auth/register/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/auth/register/' + url_ = url_.replace(/[?&]$/, '') - const content_ = JSON.stringify(body); + const content_ = JSON.stringify(body) - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processAuthenticationRegister(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processAuthenticationRegister(_response) + }) } protected processAuthenticationRegister(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = AuthUser.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = AuthUser.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteMap(): Promise { - let url_ = this.baseUrl + "/map/sites/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/map/sites/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteMap(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteMap(_response) + }) } protected processSiteMap(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(SiteMap.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(SiteMap.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } postAll(): Promise { - let url_ = this.baseUrl + "/social/posts/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/social/posts/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processPostAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processPostAll(_response) + }) } protected processPostAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(Post.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(Post.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } postCreate(body: Post): Promise { - let url_ = this.baseUrl + "/social/posts/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/social/posts/' + url_ = url_.replace(/[?&]$/, '') - const content_ = JSON.stringify(body); + const content_ = JSON.stringify(body) - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processPostCreate(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processPostCreate(_response) + }) } protected processPostCreate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Post.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Post.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } commentAll(postId: number): Promise { - let url_ = this.baseUrl + "/social/posts/{postId}/comments/"; - if (postId === undefined || postId === null) - throw new Error("The parameter 'postId' must be defined."); - url_ = url_.replace("{postId}", encodeURIComponent("" + postId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/social/posts/{postId}/comments/' + if (postId === undefined || postId === null) { + throw new Error("The parameter 'postId' must be defined.") + } + url_ = url_.replace('{postId}', encodeURIComponent('' + postId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processCommentAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processCommentAll(_response) + }) } protected processCommentAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(Comment.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(Comment.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } commentCreate(postId: number, body: Comment | undefined): Promise { - let url_ = this.baseUrl + "/social/posts/{postId}/comments/"; - if (postId === undefined || postId === null) - throw new Error("The parameter 'postId' must be defined."); - url_ = url_.replace("{postId}", encodeURIComponent("" + postId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/social/posts/{postId}/comments/' + if (postId === undefined || postId === null) { + throw new Error("The parameter 'postId' must be defined.") + } + url_ = url_.replace('{postId}', encodeURIComponent('' + postId)) + url_ = url_.replace(/[?&]$/, '') - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processCommentCreate(_response); - }); + const content_ = JSON.stringify(body) + + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processCommentCreate(_response) + }) } protected processCommentCreate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Comment.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Comment.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } /** * @return No response body */ commentDelete(commentId: number, postId: number): Promise { - let url_ = this.baseUrl + "/social/posts/{postId}/comments/{commentId}/"; - if (commentId === undefined || commentId === null) - throw new Error("The parameter 'commentId' must be defined."); - url_ = url_.replace("{commentId}", encodeURIComponent("" + commentId)); - if (postId === undefined || postId === null) - throw new Error("The parameter 'postId' must be defined."); - url_ = url_.replace("{postId}", encodeURIComponent("" + postId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "DELETE", - headers: { - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processCommentDelete(_response); - }); + let url_ = this.baseUrl + '/social/posts/{postId}/comments/{commentId}/' + if (commentId === undefined || commentId === null) { + throw new Error("The parameter 'commentId' must be defined.") + } + url_ = url_.replace('{commentId}', encodeURIComponent('' + commentId)) + if (postId === undefined || postId === null) { + throw new Error("The parameter 'postId' must be defined.") + } + url_ = url_.replace('{postId}', encodeURIComponent('' + postId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'DELETE', + headers: {}, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processCommentDelete(_response) + }) } protected processCommentDelete(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 204) { - return response.text().then((_responseText) => { - return; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 204) { + return response.text().then(_responseText => { + return + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } likeAll(postId: number, body: Like | undefined): Promise { - let url_ = this.baseUrl + "/social/posts/{postId}/likes/"; - if (postId === undefined || postId === null) - throw new Error("The parameter 'postId' must be defined."); - url_ = url_.replace("{postId}", encodeURIComponent("" + postId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/social/posts/{postId}/likes/' + if (postId === undefined || postId === null) { + throw new Error("The parameter 'postId' must be defined.") + } + url_ = url_.replace('{postId}', encodeURIComponent('' + postId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processLikeAll(_response); - }); + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processLikeAll(_response) + }) } protected processLikeAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Like.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Like.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteSocialAll(): Promise { - let url_ = this.baseUrl + "/social/sites/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/social/sites/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteSocialAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteSocialAll(_response) + }) } protected processSiteSocialAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = SiteSocial.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = SiteSocial.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } siteSocial(siteId: number): Promise { - let url_ = this.baseUrl + "/social/sites/{siteId}/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/social/sites/{siteId}/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processSiteSocial(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processSiteSocial(_response) + }) } protected processSiteSocial(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = SiteSocial.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = SiteSocial.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } announcementUpdate(siteId: number, body: PatchedAnnouncement | undefined): Promise { - let url_ = this.baseUrl + "/social/sites/{siteId}/announcements/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "PATCH", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/social/sites/{siteId}/announcements/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) + + let options_: RequestInit = { + body: content_, + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processAnnouncementUpdate(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processAnnouncementUpdate(_response) + }) } protected processAnnouncementUpdate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Announcement.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Announcement.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } contactUpdate(contactId: number, siteId: number, body: PatchedContact | undefined): Promise { - let url_ = this.baseUrl + "/social/sites/{siteId}/contacts/{contactId}/"; - if (contactId === undefined || contactId === null) - throw new Error("The parameter 'contactId' must be defined."); - url_ = url_.replace("{contactId}", encodeURIComponent("" + contactId)); - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "PATCH", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processContactUpdate(_response); - }); + let url_ = this.baseUrl + '/social/sites/{siteId}/contacts/{contactId}/' + if (contactId === undefined || contactId === null) { + throw new Error("The parameter 'contactId' must be defined.") + } + url_ = url_.replace('{contactId}', encodeURIComponent('' + contactId)) + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) + + let options_: RequestInit = { + body: content_, + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processContactUpdate(_response) + }) } protected processContactUpdate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Contact.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Contact.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } widgetCreate(siteId: number, body: Widget | undefined): Promise { - let url_ = this.baseUrl + "/social/sites/{siteId}/widgets/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/social/sites/{siteId}/widgets/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processWidgetCreate(_response); - }); + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processWidgetCreate(_response) + }) } protected processWidgetCreate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Widget.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Widget.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } widgetUpdate(siteId: number, widgetId: number, body: PatchedWidget | undefined): Promise { - let url_ = this.baseUrl + "/social/sites/{siteId}/widgets/{widgetId}/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - if (widgetId === undefined || widgetId === null) - throw new Error("The parameter 'widgetId' must be defined."); - url_ = url_.replace("{widgetId}", encodeURIComponent("" + widgetId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "PATCH", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processWidgetUpdate(_response); - }); + let url_ = this.baseUrl + '/social/sites/{siteId}/widgets/{widgetId}/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + if (widgetId === undefined || widgetId === null) { + throw new Error("The parameter 'widgetId' must be defined.") + } + url_ = url_.replace('{widgetId}', encodeURIComponent('' + widgetId)) + url_ = url_.replace(/[?&]$/, '') + + const content_ = JSON.stringify(body) + + let options_: RequestInit = { + body: content_, + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processWidgetUpdate(_response) + }) } protected processWidgetUpdate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = Widget.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = Widget.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } /** * @return No response body */ widgetDelete(siteId: number, widgetId: number): Promise { - let url_ = this.baseUrl + "/social/sites/{siteId}/widgets/{widgetId}/"; - if (siteId === undefined || siteId === null) - throw new Error("The parameter 'siteId' must be defined."); - url_ = url_.replace("{siteId}", encodeURIComponent("" + siteId)); - if (widgetId === undefined || widgetId === null) - throw new Error("The parameter 'widgetId' must be defined."); - url_ = url_.replace("{widgetId}", encodeURIComponent("" + widgetId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "DELETE", - headers: { - } - }; - - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processWidgetDelete(_response); - }); + let url_ = this.baseUrl + '/social/sites/{siteId}/widgets/{widgetId}/' + if (siteId === undefined || siteId === null) { + throw new Error("The parameter 'siteId' must be defined.") + } + url_ = url_.replace('{siteId}', encodeURIComponent('' + siteId)) + if (widgetId === undefined || widgetId === null) { + throw new Error("The parameter 'widgetId' must be defined.") + } + url_ = url_.replace('{widgetId}', encodeURIComponent('' + widgetId)) + url_ = url_.replace(/[?&]$/, '') + + let options_: RequestInit = { + method: 'DELETE', + headers: {}, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processWidgetDelete(_response) + }) } protected processWidgetDelete(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 204) { - return response.text().then((_responseText) => { - return; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 204) { + return response.text().then(_responseText => { + return + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } userAll(): Promise { - let url_ = this.baseUrl + "/users/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/users/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processUserAll(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processUserAll(_response) + }) } protected processUserAll(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - if (Array.isArray(resultData200)) { - result200 = [] as any; - for (let item of resultData200) - result200!.push(User.fromJS(item)); - } - else { - result200 = null; - } - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + if (Array.isArray(resultData200)) { + result200 = [] as any + for (let item of resultData200) { + result200!.push(User.fromJS(item)) + } + } else { + result200 = null + } + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } userCreate(body: User): Promise { - let url_ = this.baseUrl + "/users/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/users/' + url_ = url_.replace(/[?&]$/, '') - const content_ = JSON.stringify(body); + const content_ = JSON.stringify(body) - let options_: RequestInit = { - body: content_, - method: "POST", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let options_: RequestInit = { + body: content_, + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processUserCreate(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processUserCreate(_response) + }) } protected processUserCreate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = User.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = User.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } userDetail(userId: number): Promise { - let url_ = this.baseUrl + "/users/{userId}/"; - if (userId === undefined || userId === null) - throw new Error("The parameter 'userId' must be defined."); - url_ = url_.replace("{userId}", encodeURIComponent("" + userId)); - url_ = url_.replace(/[?&]$/, ""); - - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/users/{userId}/' + if (userId === undefined || userId === null) { + throw new Error("The parameter 'userId' must be defined.") + } + url_ = url_.replace('{userId}', encodeURIComponent('' + userId)) + url_ = url_.replace(/[?&]$/, '') - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processUserDetail(_response); - }); + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processUserDetail(_response) + }) } protected processUserDetail(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = User.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = User.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } userUpdate(userId: number, body: PatchedUser | undefined): Promise { - let url_ = this.baseUrl + "/users/{userId}/"; - if (userId === undefined || userId === null) - throw new Error("The parameter 'userId' must be defined."); - url_ = url_.replace("{userId}", encodeURIComponent("" + userId)); - url_ = url_.replace(/[?&]$/, ""); - - const content_ = JSON.stringify(body); - - let options_: RequestInit = { - body: content_, - method: "PATCH", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } - }; + let url_ = this.baseUrl + '/users/{userId}/' + if (userId === undefined || userId === null) { + throw new Error("The parameter 'userId' must be defined.") + } + url_ = url_.replace('{userId}', encodeURIComponent('' + userId)) + url_ = url_.replace(/[?&]$/, '') - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processUserUpdate(_response); - }); + const content_ = JSON.stringify(body) + + let options_: RequestInit = { + body: content_, + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + } + + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processUserUpdate(_response) + }) } protected processUserUpdate(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = User.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = User.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } userCurrentUser(): Promise { - let url_ = this.baseUrl + "/users/current_user/"; - url_ = url_.replace(/[?&]$/, ""); + let url_ = this.baseUrl + '/users/current_user/' + url_ = url_.replace(/[?&]$/, '') - let options_: RequestInit = { - method: "GET", - headers: { - "Accept": "application/json" - } - }; + let options_: RequestInit = { + method: 'GET', + headers: { + Accept: 'application/json', + }, + } - return this.http.fetch(url_, options_).then((_response: Response) => { - return this.processUserCurrentUser(_response); - }); + return this.http.fetch(url_, options_).then((_response: Response) => { + return this.processUserCurrentUser(_response) + }) } protected processUserCurrentUser(response: Response): Promise { - const status = response.status; - let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); }; - if (status === 200) { - return response.text().then((_responseText) => { - let result200: any = null; - let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); - result200 = User.fromJS(resultData200); - return result200; - }); - } else if (status !== 200 && status !== 204) { - return response.text().then((_responseText) => { - return throwException("An unexpected server error occurred.", status, _responseText, _headers); - }); - } - return Promise.resolve(null as any); + const status = response.status + let _headers: any = {} + if (response.headers && response.headers.forEach) response.headers.forEach((v: any, k: any) => _headers[k] = v) + if (status === 200) { + return response.text().then(_responseText => { + let result200: any = null + let resultData200 = _responseText === '' ? null : JSON.parse(_responseText, this.jsonParseReviver) + result200 = User.fromJS(resultData200) + return result200 + }) + } else if (status !== 200 && status !== 204) { + return response.text().then(_responseText => { + return throwException('An unexpected server error occurred.', status, _responseText, _headers) + }) + } + return Promise.resolve(null as any) } } export class Announcement implements IAnnouncement { - readonly id!: number; - body?: string | undefined; + readonly id!: number + body?: string | undefined link?: string | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IAnnouncement) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.body = _data["body"]; - this.link = _data["link"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.body = _data['body'] + this.link = _data['link'] + } } static fromJS(data: any): Announcement { - data = typeof data === 'object' ? data : {}; - let result = new Announcement(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Announcement() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] } - data["id"] = this.id; - data["body"] = this.body; - data["link"] = this.link; - return data; + } + data['id'] = this.id + data['body'] = this.body + data['link'] = this.link + return data } } export interface IAnnouncement { - id: number; - body?: string | undefined; - link?: string | undefined; + id: number + body?: string | undefined + link?: string | undefined - [key: string]: any; + [key: string]: any } export class AuthUser implements IAuthUser { - readonly id!: number; + readonly id!: number /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username!: string; - email?: string; + username!: string + email?: string password!: string; - [key: string]: any; + [key: string]: any constructor(data?: IAuthUser) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.username = _data["username"]; - this.email = _data["email"]; - this.password = _data["password"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.username = _data['username'] + this.email = _data['email'] + this.password = _data['password'] + } } static fromJS(data: any): AuthUser { - data = typeof data === 'object' ? data : {}; - let result = new AuthUser(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new AuthUser() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["username"] = this.username; - data["email"] = this.email; - data["password"] = this.password; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['username'] = this.username + data['email'] = this.email + data['password'] = this.password + return data } } export interface IAuthUser { - id: number; + id: number /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string; - email?: string; - password: string; + username: string + email?: string + password: string - [key: string]: any; + [key: string]: any } export class Batch implements IBatch { - readonly id!: number; - createdAt?: Date | undefined; - name?: string | undefined; - sponsor?: string | undefined; - size?: string | undefined; - soilCondition?: string | undefined; - totalNumberSeed?: number | undefined; - totalPropagation?: number | undefined; + readonly id!: number + createdAt?: Date | undefined + name?: string | undefined + sponsor?: string | undefined + size?: string | undefined + soilCondition?: string | undefined + totalNumberSeed?: number | undefined + totalPropagation?: number | undefined site?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IBatch) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.createdAt = _data["createdAt"] ? new Date(_data["createdAt"].toString()) : undefined; - this.name = _data["name"]; - this.sponsor = _data["sponsor"]; - this.size = _data["size"]; - this.soilCondition = _data["soilCondition"]; - this.totalNumberSeed = _data["totalNumberSeed"]; - this.totalPropagation = _data["totalPropagation"]; - this.site = _data["site"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.createdAt = _data['createdAt'] ? new Date(_data['createdAt'].toString()) : undefined + this.name = _data['name'] + this.sponsor = _data['sponsor'] + this.size = _data['size'] + this.soilCondition = _data['soilCondition'] + this.totalNumberSeed = _data['totalNumberSeed'] + this.totalPropagation = _data['totalPropagation'] + this.site = _data['site'] + } } static fromJS(data: any): Batch { - data = typeof data === 'object' ? data : {}; - let result = new Batch(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Batch() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["createdAt"] = this.createdAt ? this.createdAt.toISOString() : undefined; - data["name"] = this.name; - data["sponsor"] = this.sponsor; - data["size"] = this.size; - data["soilCondition"] = this.soilCondition; - data["totalNumberSeed"] = this.totalNumberSeed; - data["totalPropagation"] = this.totalPropagation; - data["site"] = this.site; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['createdAt'] = this.createdAt ? this.createdAt.toISOString() : undefined + data['name'] = this.name + data['sponsor'] = this.sponsor + data['size'] = this.size + data['soilCondition'] = this.soilCondition + data['totalNumberSeed'] = this.totalNumberSeed + data['totalPropagation'] = this.totalPropagation + data['site'] = this.site + return data } } export interface IBatch { - id: number; - createdAt?: Date | undefined; - name?: string | undefined; - sponsor?: string | undefined; - size?: string | undefined; - soilCondition?: string | undefined; - totalNumberSeed?: number | undefined; - totalPropagation?: number | undefined; - site?: number | undefined; - - [key: string]: any; + id: number + createdAt?: Date | undefined + name?: string | undefined + sponsor?: string | undefined + size?: string | undefined + soilCondition?: string | undefined + totalNumberSeed?: number | undefined + totalPropagation?: number | undefined + site?: number | undefined + + [key: string]: any } export class BatchAnalytics implements IBatchAnalytics { - readonly id!: number; - name?: string | undefined; - size?: string | undefined; - soilCondition?: string | undefined; - readonly fertilizers!: string; - readonly mulchLayers!: string; - readonly supportedSpecies!: string; - readonly plantCount!: string; - readonly survivedCount!: string; - readonly replaceCount!: string; - readonly seedCollectedCount!: string; - readonly seeds!: string; + readonly id!: number + name?: string | undefined + size?: string | undefined + soilCondition?: string | undefined + readonly fertilizers!: string + readonly mulchLayers!: string + readonly supportedSpecies!: string + readonly plantCount!: string + readonly survivedCount!: string + readonly replaceCount!: string + readonly seedCollectedCount!: string + readonly seeds!: string readonly species!: string; - [key: string]: any; + [key: string]: any constructor(data?: IBatchAnalytics) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.name = _data["name"]; - this.size = _data["size"]; - this.soilCondition = _data["soilCondition"]; - (this).fertilizers = _data["fertilizers"]; - (this).mulchLayers = _data["mulchLayers"]; - (this).supportedSpecies = _data["supportedSpecies"]; - (this).plantCount = _data["plantCount"]; - (this).survivedCount = _data["survivedCount"]; - (this).replaceCount = _data["replaceCount"]; - (this).seedCollectedCount = _data["seedCollectedCount"]; - (this).seeds = _data["seeds"]; - (this).species = _data["species"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.name = _data['name'] + this.size = _data['size'] + this.soilCondition = _data['soilCondition'] + ;( this).fertilizers = _data['fertilizers'] + ;( this).mulchLayers = _data['mulchLayers'] + ;( this).supportedSpecies = _data['supportedSpecies'] + ;( this).plantCount = _data['plantCount'] + ;( this).survivedCount = _data['survivedCount'] + ;( this).replaceCount = _data['replaceCount'] + ;( this).seedCollectedCount = _data['seedCollectedCount'] + ;( this).seeds = _data['seeds'] + ;( this).species = _data['species'] + } } static fromJS(data: any): BatchAnalytics { - data = typeof data === 'object' ? data : {}; - let result = new BatchAnalytics(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new BatchAnalytics() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["name"] = this.name; - data["size"] = this.size; - data["soilCondition"] = this.soilCondition; - data["fertilizers"] = this.fertilizers; - data["mulchLayers"] = this.mulchLayers; - data["supportedSpecies"] = this.supportedSpecies; - data["plantCount"] = this.plantCount; - data["survivedCount"] = this.survivedCount; - data["replaceCount"] = this.replaceCount; - data["seedCollectedCount"] = this.seedCollectedCount; - data["seeds"] = this.seeds; - data["species"] = this.species; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['name'] = this.name + data['size'] = this.size + data['soilCondition'] = this.soilCondition + data['fertilizers'] = this.fertilizers + data['mulchLayers'] = this.mulchLayers + data['supportedSpecies'] = this.supportedSpecies + data['plantCount'] = this.plantCount + data['survivedCount'] = this.survivedCount + data['replaceCount'] = this.replaceCount + data['seedCollectedCount'] = this.seedCollectedCount + data['seeds'] = this.seeds + data['species'] = this.species + return data } } export interface IBatchAnalytics { - id: number; - name?: string | undefined; - size?: string | undefined; - soilCondition?: string | undefined; - fertilizers: string; - mulchLayers: string; - supportedSpecies: string; - plantCount: string; - survivedCount: string; - replaceCount: string; - seedCollectedCount: string; - seeds: string; - species: string; - - [key: string]: any; + id: number + name?: string | undefined + size?: string | undefined + soilCondition?: string | undefined + fertilizers: string + mulchLayers: string + supportedSpecies: string + plantCount: string + survivedCount: string + replaceCount: string + seedCollectedCount: string + seeds: string + species: string + + [key: string]: any } export class Comment implements IComment { - readonly id!: number; - body?: string | undefined; - authUser?: number | undefined; + readonly id!: number + body?: string | undefined + authUser?: number | undefined createdAt?: Date | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IComment) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.body = _data["body"]; - this.authUser = _data["authUser"]; - this.createdAt = _data["createdAt"] ? new Date(_data["createdAt"].toString()) : undefined; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.body = _data['body'] + this.authUser = _data['authUser'] + this.createdAt = _data['createdAt'] ? new Date(_data['createdAt'].toString()) : undefined + } } static fromJS(data: any): Comment { - data = typeof data === 'object' ? data : {}; - let result = new Comment(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Comment() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["body"] = this.body; - data["authUser"] = this.authUser; - data["createdAt"] = this.createdAt ? this.createdAt.toISOString() : undefined; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['body'] = this.body + data['authUser'] = this.authUser + data['createdAt'] = this.createdAt ? this.createdAt.toISOString() : undefined + return data } } export interface IComment { - id: number; - body?: string | undefined; - authUser?: number | undefined; - createdAt?: Date | undefined; + id: number + body?: string | undefined + authUser?: number | undefined + createdAt?: Date | undefined - [key: string]: any; + [key: string]: any } export class Contact implements IContact { - readonly id!: number; - address?: string | undefined; - email?: string | undefined; - phone?: string | undefined; - facebookLink?: string | undefined; - xLink?: string | undefined; - instagramLink?: string | undefined; + readonly id!: number + address?: string | undefined + email?: string | undefined + phone?: string | undefined + facebookLink?: string | undefined + xLink?: string | undefined + instagramLink?: string | undefined linkedinLink?: string | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IContact) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.address = _data["address"]; - this.email = _data["email"]; - this.phone = _data["phone"]; - this.facebookLink = _data["facebookLink"]; - this.xLink = _data["xLink"]; - this.instagramLink = _data["instagramLink"]; - this.linkedinLink = _data["linkedinLink"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.address = _data['address'] + this.email = _data['email'] + this.phone = _data['phone'] + this.facebookLink = _data['facebookLink'] + this.xLink = _data['xLink'] + this.instagramLink = _data['instagramLink'] + this.linkedinLink = _data['linkedinLink'] + } } static fromJS(data: any): Contact { - data = typeof data === 'object' ? data : {}; - let result = new Contact(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Contact() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["address"] = this.address; - data["email"] = this.email; - data["phone"] = this.phone; - data["facebookLink"] = this.facebookLink; - data["xLink"] = this.xLink; - data["instagramLink"] = this.instagramLink; - data["linkedinLink"] = this.linkedinLink; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['address'] = this.address + data['email'] = this.email + data['phone'] = this.phone + data['facebookLink'] = this.facebookLink + data['xLink'] = this.xLink + data['instagramLink'] = this.instagramLink + data['linkedinLink'] = this.linkedinLink + return data } } export interface IContact { - id: number; - address?: string | undefined; - email?: string | undefined; - phone?: string | undefined; - facebookLink?: string | undefined; - xLink?: string | undefined; - instagramLink?: string | undefined; - linkedinLink?: string | undefined; - - [key: string]: any; + id: number + address?: string | undefined + email?: string | undefined + phone?: string | undefined + facebookLink?: string | undefined + xLink?: string | undefined + instagramLink?: string | undefined + linkedinLink?: string | undefined + + [key: string]: any } export class Coordinates implements ICoordinates { - readonly id!: number; - dmsLatitude?: string | undefined; - dmsLongitude?: string | undefined; - ddLatitude?: string | undefined; - ddLongitude?: string | undefined; + readonly id!: number + dmsLatitude?: string | undefined + dmsLongitude?: string | undefined + ddLatitude?: string | undefined + ddLongitude?: string | undefined address?: string | undefined; - [key: string]: any; + [key: string]: any constructor(data?: ICoordinates) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.dmsLatitude = _data["dmsLatitude"]; - this.dmsLongitude = _data["dmsLongitude"]; - this.ddLatitude = _data["ddLatitude"]; - this.ddLongitude = _data["ddLongitude"]; - this.address = _data["address"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.dmsLatitude = _data['dmsLatitude'] + this.dmsLongitude = _data['dmsLongitude'] + this.ddLatitude = _data['ddLatitude'] + this.ddLongitude = _data['ddLongitude'] + this.address = _data['address'] + } } static fromJS(data: any): Coordinates { - data = typeof data === 'object' ? data : {}; - let result = new Coordinates(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Coordinates() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["dmsLatitude"] = this.dmsLatitude; - data["dmsLongitude"] = this.dmsLongitude; - data["ddLatitude"] = this.ddLatitude; - data["ddLongitude"] = this.ddLongitude; - data["address"] = this.address; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['dmsLatitude'] = this.dmsLatitude + data['dmsLongitude'] = this.dmsLongitude + data['ddLatitude'] = this.ddLatitude + data['ddLongitude'] = this.ddLongitude + data['address'] = this.address + return data } } export interface ICoordinates { - id: number; - dmsLatitude?: string | undefined; - dmsLongitude?: string | undefined; - ddLatitude?: string | undefined; - ddLongitude?: string | undefined; - address?: string | undefined; - - [key: string]: any; + id: number + dmsLatitude?: string | undefined + dmsLongitude?: string | undefined + ddLatitude?: string | undefined + ddLongitude?: string | undefined + address?: string | undefined + + [key: string]: any } export class Like implements ILike { - readonly id!: number; - authUser?: number | undefined; + readonly id!: number + authUser?: number | undefined post?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: ILike) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.authUser = _data["authUser"]; - this.post = _data["post"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.authUser = _data['authUser'] + this.post = _data['post'] + } } static fromJS(data: any): Like { - data = typeof data === 'object' ? data : {}; - let result = new Like(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Like() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] } - data["id"] = this.id; - data["authUser"] = this.authUser; - data["post"] = this.post; - return data; + } + data['id'] = this.id + data['authUser'] = this.authUser + data['post'] = this.post + return data } } export interface ILike { - id: number; - authUser?: number | undefined; - post?: number | undefined; + id: number + authUser?: number | undefined + post?: number | undefined - [key: string]: any; + [key: string]: any } export class PatchedAnnouncement implements IPatchedAnnouncement { - readonly id?: number; - body?: string | undefined; + readonly id?: number + body?: string | undefined link?: string | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IPatchedAnnouncement) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.body = _data["body"]; - this.link = _data["link"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.body = _data['body'] + this.link = _data['link'] + } } static fromJS(data: any): PatchedAnnouncement { - data = typeof data === 'object' ? data : {}; - let result = new PatchedAnnouncement(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new PatchedAnnouncement() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] } - data["id"] = this.id; - data["body"] = this.body; - data["link"] = this.link; - return data; + } + data['id'] = this.id + data['body'] = this.body + data['link'] = this.link + return data } } export interface IPatchedAnnouncement { - id?: number; - body?: string | undefined; - link?: string | undefined; + id?: number + body?: string | undefined + link?: string | undefined - [key: string]: any; + [key: string]: any } export class PatchedBatch implements IPatchedBatch { - readonly id?: number; - createdAt?: Date | undefined; - name?: string | undefined; - sponsor?: string | undefined; - size?: string | undefined; - soilCondition?: string | undefined; - totalNumberSeed?: number | undefined; - totalPropagation?: number | undefined; + readonly id?: number + createdAt?: Date | undefined + name?: string | undefined + sponsor?: string | undefined + size?: string | undefined + soilCondition?: string | undefined + totalNumberSeed?: number | undefined + totalPropagation?: number | undefined site?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IPatchedBatch) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.createdAt = _data["createdAt"] ? new Date(_data["createdAt"].toString()) : undefined; - this.name = _data["name"]; - this.sponsor = _data["sponsor"]; - this.size = _data["size"]; - this.soilCondition = _data["soilCondition"]; - this.totalNumberSeed = _data["totalNumberSeed"]; - this.totalPropagation = _data["totalPropagation"]; - this.site = _data["site"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.createdAt = _data['createdAt'] ? new Date(_data['createdAt'].toString()) : undefined + this.name = _data['name'] + this.sponsor = _data['sponsor'] + this.size = _data['size'] + this.soilCondition = _data['soilCondition'] + this.totalNumberSeed = _data['totalNumberSeed'] + this.totalPropagation = _data['totalPropagation'] + this.site = _data['site'] + } } static fromJS(data: any): PatchedBatch { - data = typeof data === 'object' ? data : {}; - let result = new PatchedBatch(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new PatchedBatch() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["createdAt"] = this.createdAt ? this.createdAt.toISOString() : undefined; - data["name"] = this.name; - data["sponsor"] = this.sponsor; - data["size"] = this.size; - data["soilCondition"] = this.soilCondition; - data["totalNumberSeed"] = this.totalNumberSeed; - data["totalPropagation"] = this.totalPropagation; - data["site"] = this.site; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['createdAt'] = this.createdAt ? this.createdAt.toISOString() : undefined + data['name'] = this.name + data['sponsor'] = this.sponsor + data['size'] = this.size + data['soilCondition'] = this.soilCondition + data['totalNumberSeed'] = this.totalNumberSeed + data['totalPropagation'] = this.totalPropagation + data['site'] = this.site + return data } } export interface IPatchedBatch { - id?: number; - createdAt?: Date | undefined; - name?: string | undefined; - sponsor?: string | undefined; - size?: string | undefined; - soilCondition?: string | undefined; - totalNumberSeed?: number | undefined; - totalPropagation?: number | undefined; - site?: number | undefined; - - [key: string]: any; + id?: number + createdAt?: Date | undefined + name?: string | undefined + sponsor?: string | undefined + size?: string | undefined + soilCondition?: string | undefined + totalNumberSeed?: number | undefined + totalPropagation?: number | undefined + site?: number | undefined + + [key: string]: any } export class PatchedContact implements IPatchedContact { - readonly id?: number; - address?: string | undefined; - email?: string | undefined; - phone?: string | undefined; - facebookLink?: string | undefined; - xLink?: string | undefined; - instagramLink?: string | undefined; + readonly id?: number + address?: string | undefined + email?: string | undefined + phone?: string | undefined + facebookLink?: string | undefined + xLink?: string | undefined + instagramLink?: string | undefined linkedinLink?: string | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IPatchedContact) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.address = _data["address"]; - this.email = _data["email"]; - this.phone = _data["phone"]; - this.facebookLink = _data["facebookLink"]; - this.xLink = _data["xLink"]; - this.instagramLink = _data["instagramLink"]; - this.linkedinLink = _data["linkedinLink"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.address = _data['address'] + this.email = _data['email'] + this.phone = _data['phone'] + this.facebookLink = _data['facebookLink'] + this.xLink = _data['xLink'] + this.instagramLink = _data['instagramLink'] + this.linkedinLink = _data['linkedinLink'] + } } static fromJS(data: any): PatchedContact { - data = typeof data === 'object' ? data : {}; - let result = new PatchedContact(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new PatchedContact() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["address"] = this.address; - data["email"] = this.email; - data["phone"] = this.phone; - data["facebookLink"] = this.facebookLink; - data["xLink"] = this.xLink; - data["instagramLink"] = this.instagramLink; - data["linkedinLink"] = this.linkedinLink; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['address'] = this.address + data['email'] = this.email + data['phone'] = this.phone + data['facebookLink'] = this.facebookLink + data['xLink'] = this.xLink + data['instagramLink'] = this.instagramLink + data['linkedinLink'] = this.linkedinLink + return data } } export interface IPatchedContact { - id?: number; - address?: string | undefined; - email?: string | undefined; - phone?: string | undefined; - facebookLink?: string | undefined; - xLink?: string | undefined; - instagramLink?: string | undefined; - linkedinLink?: string | undefined; - - [key: string]: any; + id?: number + address?: string | undefined + email?: string | undefined + phone?: string | undefined + facebookLink?: string | undefined + xLink?: string | undefined + instagramLink?: string | undefined + linkedinLink?: string | undefined + + [key: string]: any } export class PatchedSite implements IPatchedSite { - readonly id?: number; - siteType?: SiteType; - coordinate?: Coordinates; - readonly siteTreeSpecies?: string; - contact?: Contact; - announcement?: Announcement; - name?: string | undefined; - description?: string | undefined; - size?: string | undefined; - researchPartnership?: boolean | undefined; - visibleMap?: boolean | undefined; - visitorCount?: number | undefined; + readonly id?: number + siteType?: SiteType + coordinate?: Coordinates + readonly siteTreeSpecies?: string + contact?: Contact + announcement?: Announcement + name?: string | undefined + description?: string | undefined + size?: string | undefined + researchPartnership?: boolean | undefined + visibleMap?: boolean | undefined + visitorCount?: number | undefined image?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IPatchedSite) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.siteType = _data["siteType"] ? SiteType.fromJS(_data["siteType"]) : undefined; - this.coordinate = _data["coordinate"] ? Coordinates.fromJS(_data["coordinate"]) : undefined; - (this).siteTreeSpecies = _data["siteTreeSpecies"]; - this.contact = _data["contact"] ? Contact.fromJS(_data["contact"]) : undefined; - this.announcement = _data["announcement"] ? Announcement.fromJS(_data["announcement"]) : undefined; - this.name = _data["name"]; - this.description = _data["description"]; - this.size = _data["size"]; - this.researchPartnership = _data["researchPartnership"]; - this.visibleMap = _data["visibleMap"]; - this.visitorCount = _data["visitorCount"]; - this.image = _data["image"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.siteType = _data['siteType'] ? SiteType.fromJS(_data['siteType']) : undefined + this.coordinate = _data['coordinate'] ? Coordinates.fromJS(_data['coordinate']) : undefined + ;( this).siteTreeSpecies = _data['siteTreeSpecies'] + this.contact = _data['contact'] ? Contact.fromJS(_data['contact']) : undefined + this.announcement = _data['announcement'] ? Announcement.fromJS(_data['announcement']) : undefined + this.name = _data['name'] + this.description = _data['description'] + this.size = _data['size'] + this.researchPartnership = _data['researchPartnership'] + this.visibleMap = _data['visibleMap'] + this.visitorCount = _data['visitorCount'] + this.image = _data['image'] + } } static fromJS(data: any): PatchedSite { - data = typeof data === 'object' ? data : {}; - let result = new PatchedSite(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new PatchedSite() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["siteType"] = this.siteType ? this.siteType.toJSON() : undefined; - data["coordinate"] = this.coordinate ? this.coordinate.toJSON() : undefined; - data["siteTreeSpecies"] = this.siteTreeSpecies; - data["contact"] = this.contact ? this.contact.toJSON() : undefined; - data["announcement"] = this.announcement ? this.announcement.toJSON() : undefined; - data["name"] = this.name; - data["description"] = this.description; - data["size"] = this.size; - data["researchPartnership"] = this.researchPartnership; - data["visibleMap"] = this.visibleMap; - data["visitorCount"] = this.visitorCount; - data["image"] = this.image; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['siteType'] = this.siteType ? this.siteType.toJSON() : undefined + data['coordinate'] = this.coordinate ? this.coordinate.toJSON() : undefined + data['siteTreeSpecies'] = this.siteTreeSpecies + data['contact'] = this.contact ? this.contact.toJSON() : undefined + data['announcement'] = this.announcement ? this.announcement.toJSON() : undefined + data['name'] = this.name + data['description'] = this.description + data['size'] = this.size + data['researchPartnership'] = this.researchPartnership + data['visibleMap'] = this.visibleMap + data['visitorCount'] = this.visitorCount + data['image'] = this.image + return data } } export interface IPatchedSite { - id?: number; - siteType?: SiteType; - coordinate?: Coordinates; - siteTreeSpecies?: string; - contact?: Contact; - announcement?: Announcement; - name?: string | undefined; - description?: string | undefined; - size?: string | undefined; - researchPartnership?: boolean | undefined; - visibleMap?: boolean | undefined; - visitorCount?: number | undefined; - image?: number | undefined; - - [key: string]: any; + id?: number + siteType?: SiteType + coordinate?: Coordinates + siteTreeSpecies?: string + contact?: Contact + announcement?: Announcement + name?: string | undefined + description?: string | undefined + size?: string | undefined + researchPartnership?: boolean | undefined + visibleMap?: boolean | undefined + visitorCount?: number | undefined + image?: number | undefined + + [key: string]: any } export class PatchedUser implements IPatchedUser { - readonly id?: number; - password?: string; - lastLogin?: Date | undefined; + readonly id?: number + password?: string + lastLogin?: Date | undefined /** Designates that this user has all permissions without explicitly assigning them. */ - isSuperuser?: boolean; + isSuperuser?: boolean /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username?: string; - firstName?: string; - lastName?: string; - email?: string; + username?: string + firstName?: string + lastName?: string + email?: string /** Designates whether the user can log into this admin site. */ - isStaff?: boolean; + isStaff?: boolean /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ - isActive?: boolean; - dateJoined?: Date; + isActive?: boolean + dateJoined?: Date /** The groups this user belongs to. A user will get all permissions granted to each of their groups. */ - groups?: number[]; + groups?: number[] /** Specific permissions for this user. */ userPermissions?: number[]; - [key: string]: any; + [key: string]: any constructor(data?: IPatchedUser) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.password = _data["password"]; - this.lastLogin = _data["lastLogin"] ? new Date(_data["lastLogin"].toString()) : undefined; - this.isSuperuser = _data["isSuperuser"]; - this.username = _data["username"]; - this.firstName = _data["firstName"]; - this.lastName = _data["lastName"]; - this.email = _data["email"]; - this.isStaff = _data["isStaff"]; - this.isActive = _data["isActive"]; - this.dateJoined = _data["dateJoined"] ? new Date(_data["dateJoined"].toString()) : undefined; - if (Array.isArray(_data["groups"])) { - this.groups = [] as any; - for (let item of _data["groups"]) - this.groups!.push(item); - } - if (Array.isArray(_data["userPermissions"])) { - this.userPermissions = [] as any; - for (let item of _data["userPermissions"]) - this.userPermissions!.push(item); - } - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.password = _data['password'] + this.lastLogin = _data['lastLogin'] ? new Date(_data['lastLogin'].toString()) : undefined + this.isSuperuser = _data['isSuperuser'] + this.username = _data['username'] + this.firstName = _data['firstName'] + this.lastName = _data['lastName'] + this.email = _data['email'] + this.isStaff = _data['isStaff'] + this.isActive = _data['isActive'] + this.dateJoined = _data['dateJoined'] ? new Date(_data['dateJoined'].toString()) : undefined + if (Array.isArray(_data['groups'])) { + this.groups = [] as any + for (let item of _data['groups']) { + this.groups!.push(item) + } + } + if (Array.isArray(_data['userPermissions'])) { + this.userPermissions = [] as any + for (let item of _data['userPermissions']) { + this.userPermissions!.push(item) + } + } + } } static fromJS(data: any): PatchedUser { - data = typeof data === 'object' ? data : {}; - let result = new PatchedUser(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new PatchedUser() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["password"] = this.password; - data["lastLogin"] = this.lastLogin ? this.lastLogin.toISOString() : undefined; - data["isSuperuser"] = this.isSuperuser; - data["username"] = this.username; - data["firstName"] = this.firstName; - data["lastName"] = this.lastName; - data["email"] = this.email; - data["isStaff"] = this.isStaff; - data["isActive"] = this.isActive; - data["dateJoined"] = this.dateJoined ? this.dateJoined.toISOString() : undefined; - if (Array.isArray(this.groups)) { - data["groups"] = []; - for (let item of this.groups) - data["groups"].push(item); - } - if (Array.isArray(this.userPermissions)) { - data["userPermissions"] = []; - for (let item of this.userPermissions) - data["userPermissions"].push(item); - } - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['password'] = this.password + data['lastLogin'] = this.lastLogin ? this.lastLogin.toISOString() : undefined + data['isSuperuser'] = this.isSuperuser + data['username'] = this.username + data['firstName'] = this.firstName + data['lastName'] = this.lastName + data['email'] = this.email + data['isStaff'] = this.isStaff + data['isActive'] = this.isActive + data['dateJoined'] = this.dateJoined ? this.dateJoined.toISOString() : undefined + if (Array.isArray(this.groups)) { + data['groups'] = [] + for (let item of this.groups) { + data['groups'].push(item) + } + } + if (Array.isArray(this.userPermissions)) { + data['userPermissions'] = [] + for (let item of this.userPermissions) { + data['userPermissions'].push(item) + } + } + return data } } export interface IPatchedUser { - id?: number; - password?: string; - lastLogin?: Date | undefined; + id?: number + password?: string + lastLogin?: Date | undefined /** Designates that this user has all permissions without explicitly assigning them. */ - isSuperuser?: boolean; + isSuperuser?: boolean /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username?: string; - firstName?: string; - lastName?: string; - email?: string; + username?: string + firstName?: string + lastName?: string + email?: string /** Designates whether the user can log into this admin site. */ - isStaff?: boolean; + isStaff?: boolean /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ - isActive?: boolean; - dateJoined?: Date; + isActive?: boolean + dateJoined?: Date /** The groups this user belongs to. A user will get all permissions granted to each of their groups. */ - groups?: number[]; + groups?: number[] /** Specific permissions for this user. */ - userPermissions?: number[]; + userPermissions?: number[] - [key: string]: any; + [key: string]: any } export class PatchedWidget implements IPatchedWidget { - readonly id?: number; - title?: string | undefined; - body?: string | undefined; + readonly id?: number + title?: string | undefined + body?: string | undefined site?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IPatchedWidget) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.title = _data["title"]; - this.body = _data["body"]; - this.site = _data["site"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.title = _data['title'] + this.body = _data['body'] + this.site = _data['site'] + } } static fromJS(data: any): PatchedWidget { - data = typeof data === 'object' ? data : {}; - let result = new PatchedWidget(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new PatchedWidget() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["title"] = this.title; - data["body"] = this.body; - data["site"] = this.site; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['title'] = this.title + data['body'] = this.body + data['site'] = this.site + return data } } export interface IPatchedWidget { - id?: number; - title?: string | undefined; - body?: string | undefined; - site?: number | undefined; + id?: number + title?: string | undefined + body?: string | undefined + site?: number | undefined - [key: string]: any; + [key: string]: any } export class Post implements IPost { - readonly id!: number; - site!: SiteOverview; - createdAt?: Date | undefined; - body?: string | undefined; - likeCount?: number | undefined; - shareCount?: number | undefined; - readonly commentCount!: string; + readonly id!: number + site!: SiteOverview + createdAt?: Date | undefined + body?: string | undefined + likeCount?: number | undefined + shareCount?: number | undefined + readonly commentCount!: string readonly hasLiked!: string; - [key: string]: any; + [key: string]: any constructor(data?: IPost) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } - } - if (!data) { - this.site = new SiteOverview(); + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } + if (!data) { + this.site = new SiteOverview() + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.site = _data["site"] ? SiteOverview.fromJS(_data["site"]) : new SiteOverview(); - this.createdAt = _data["createdAt"] ? new Date(_data["createdAt"].toString()) : undefined; - this.body = _data["body"]; - this.likeCount = _data["likeCount"]; - this.shareCount = _data["shareCount"]; - (this).commentCount = _data["commentCount"]; - (this).hasLiked = _data["hasLiked"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.site = _data['site'] ? SiteOverview.fromJS(_data['site']) : new SiteOverview() + this.createdAt = _data['createdAt'] ? new Date(_data['createdAt'].toString()) : undefined + this.body = _data['body'] + this.likeCount = _data['likeCount'] + this.shareCount = _data['shareCount'] + ;( this).commentCount = _data['commentCount'] + ;( this).hasLiked = _data['hasLiked'] + } } static fromJS(data: any): Post { - data = typeof data === 'object' ? data : {}; - let result = new Post(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Post() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["site"] = this.site ? this.site.toJSON() : undefined; - data["createdAt"] = this.createdAt ? this.createdAt.toISOString() : undefined; - data["body"] = this.body; - data["likeCount"] = this.likeCount; - data["shareCount"] = this.shareCount; - data["commentCount"] = this.commentCount; - data["hasLiked"] = this.hasLiked; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['site'] = this.site ? this.site.toJSON() : undefined + data['createdAt'] = this.createdAt ? this.createdAt.toISOString() : undefined + data['body'] = this.body + data['likeCount'] = this.likeCount + data['shareCount'] = this.shareCount + data['commentCount'] = this.commentCount + data['hasLiked'] = this.hasLiked + return data } } export interface IPost { - id: number; - site: SiteOverview; - createdAt?: Date | undefined; - body?: string | undefined; - likeCount?: number | undefined; - shareCount?: number | undefined; - commentCount: string; - hasLiked: string; - - [key: string]: any; + id: number + site: SiteOverview + createdAt?: Date | undefined + body?: string | undefined + likeCount?: number | undefined + shareCount?: number | undefined + commentCount: string + hasLiked: string + + [key: string]: any } export class Site implements ISite { - readonly id!: number; - siteType!: SiteType; - coordinate!: Coordinates; - readonly siteTreeSpecies!: string; - contact!: Contact; - announcement!: Announcement; - name?: string | undefined; - description?: string | undefined; - size?: string | undefined; - researchPartnership?: boolean | undefined; - visibleMap?: boolean | undefined; - visitorCount?: number | undefined; + readonly id!: number + siteType!: SiteType + coordinate!: Coordinates + readonly siteTreeSpecies!: string + contact!: Contact + announcement!: Announcement + name?: string | undefined + description?: string | undefined + size?: string | undefined + researchPartnership?: boolean | undefined + visibleMap?: boolean | undefined + visitorCount?: number | undefined image?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: ISite) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } - } - if (!data) { - this.siteType = new SiteType(); - this.coordinate = new Coordinates(); - this.contact = new Contact(); - this.announcement = new Announcement(); + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } + if (!data) { + this.siteType = new SiteType() + this.coordinate = new Coordinates() + this.contact = new Contact() + this.announcement = new Announcement() + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.siteType = _data["siteType"] ? SiteType.fromJS(_data["siteType"]) : new SiteType(); - this.coordinate = _data["coordinate"] ? Coordinates.fromJS(_data["coordinate"]) : new Coordinates(); - (this).siteTreeSpecies = _data["siteTreeSpecies"]; - this.contact = _data["contact"] ? Contact.fromJS(_data["contact"]) : new Contact(); - this.announcement = _data["announcement"] ? Announcement.fromJS(_data["announcement"]) : new Announcement(); - this.name = _data["name"]; - this.description = _data["description"]; - this.size = _data["size"]; - this.researchPartnership = _data["researchPartnership"]; - this.visibleMap = _data["visibleMap"]; - this.visitorCount = _data["visitorCount"]; - this.image = _data["image"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.siteType = _data['siteType'] ? SiteType.fromJS(_data['siteType']) : new SiteType() + this.coordinate = _data['coordinate'] ? Coordinates.fromJS(_data['coordinate']) : new Coordinates() + ;( this).siteTreeSpecies = _data['siteTreeSpecies'] + this.contact = _data['contact'] ? Contact.fromJS(_data['contact']) : new Contact() + this.announcement = _data['announcement'] ? Announcement.fromJS(_data['announcement']) : new Announcement() + this.name = _data['name'] + this.description = _data['description'] + this.size = _data['size'] + this.researchPartnership = _data['researchPartnership'] + this.visibleMap = _data['visibleMap'] + this.visitorCount = _data['visitorCount'] + this.image = _data['image'] + } } static fromJS(data: any): Site { - data = typeof data === 'object' ? data : {}; - let result = new Site(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Site() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["siteType"] = this.siteType ? this.siteType.toJSON() : undefined; - data["coordinate"] = this.coordinate ? this.coordinate.toJSON() : undefined; - data["siteTreeSpecies"] = this.siteTreeSpecies; - data["contact"] = this.contact ? this.contact.toJSON() : undefined; - data["announcement"] = this.announcement ? this.announcement.toJSON() : undefined; - data["name"] = this.name; - data["description"] = this.description; - data["size"] = this.size; - data["researchPartnership"] = this.researchPartnership; - data["visibleMap"] = this.visibleMap; - data["visitorCount"] = this.visitorCount; - data["image"] = this.image; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['siteType'] = this.siteType ? this.siteType.toJSON() : undefined + data['coordinate'] = this.coordinate ? this.coordinate.toJSON() : undefined + data['siteTreeSpecies'] = this.siteTreeSpecies + data['contact'] = this.contact ? this.contact.toJSON() : undefined + data['announcement'] = this.announcement ? this.announcement.toJSON() : undefined + data['name'] = this.name + data['description'] = this.description + data['size'] = this.size + data['researchPartnership'] = this.researchPartnership + data['visibleMap'] = this.visibleMap + data['visitorCount'] = this.visitorCount + data['image'] = this.image + return data } } export interface ISite { - id: number; - siteType: SiteType; - coordinate: Coordinates; - siteTreeSpecies: string; - contact: Contact; - announcement: Announcement; - name?: string | undefined; - description?: string | undefined; - size?: string | undefined; - researchPartnership?: boolean | undefined; - visibleMap?: boolean | undefined; - visitorCount?: number | undefined; - image?: number | undefined; - - [key: string]: any; + id: number + siteType: SiteType + coordinate: Coordinates + siteTreeSpecies: string + contact: Contact + announcement: Announcement + name?: string | undefined + description?: string | undefined + size?: string | undefined + researchPartnership?: boolean | undefined + visibleMap?: boolean | undefined + visitorCount?: number | undefined + image?: number | undefined + + [key: string]: any } export class SiteMap implements ISiteMap { - readonly id!: number; - name?: string | undefined; - siteType!: SiteType; - readonly coordinates!: string; + readonly id!: number + name?: string | undefined + siteType!: SiteType + readonly coordinates!: string image?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: ISiteMap) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } - } - if (!data) { - this.siteType = new SiteType(); + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } + if (!data) { + this.siteType = new SiteType() + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.name = _data["name"]; - this.siteType = _data["siteType"] ? SiteType.fromJS(_data["siteType"]) : new SiteType(); - (this).coordinates = _data["coordinates"]; - this.image = _data["image"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.name = _data['name'] + this.siteType = _data['siteType'] ? SiteType.fromJS(_data['siteType']) : new SiteType() + ;( this).coordinates = _data['coordinates'] + this.image = _data['image'] + } } static fromJS(data: any): SiteMap { - data = typeof data === 'object' ? data : {}; - let result = new SiteMap(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new SiteMap() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["name"] = this.name; - data["siteType"] = this.siteType ? this.siteType.toJSON() : undefined; - data["coordinates"] = this.coordinates; - data["image"] = this.image; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['name'] = this.name + data['siteType'] = this.siteType ? this.siteType.toJSON() : undefined + data['coordinates'] = this.coordinates + data['image'] = this.image + return data } } export interface ISiteMap { - id: number; - name?: string | undefined; - siteType: SiteType; - coordinates: string; - image?: number | undefined; + id: number + name?: string | undefined + siteType: SiteType + coordinates: string + image?: number | undefined - [key: string]: any; + [key: string]: any } export class SiteOverview implements ISiteOverview { - readonly id!: number; + readonly id!: number name?: string | undefined; - [key: string]: any; + [key: string]: any constructor(data?: ISiteOverview) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.name = _data["name"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.name = _data['name'] + } } static fromJS(data: any): SiteOverview { - data = typeof data === 'object' ? data : {}; - let result = new SiteOverview(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new SiteOverview() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] } - data["id"] = this.id; - data["name"] = this.name; - return data; + } + data['id'] = this.id + data['name'] = this.name + return data } } export interface ISiteOverview { - id: number; - name?: string | undefined; + id: number + name?: string | undefined - [key: string]: any; + [key: string]: any } export class SiteSocial implements ISiteSocial { - name?: string | undefined; - siteType!: SiteType; - image?: number | undefined; - description?: string | undefined; - contact!: Contact; - announcement!: Announcement; - readonly sponsors!: string[]; + name?: string | undefined + siteType!: SiteType + image?: number | undefined + description?: string | undefined + contact!: Contact + announcement!: Announcement + readonly sponsors!: string[] readonly widget!: Widget[]; - [key: string]: any; + [key: string]: any constructor(data?: ISiteSocial) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } - } - if (!data) { - this.siteType = new SiteType(); - this.contact = new Contact(); - this.announcement = new Announcement(); - this.sponsors = []; - this.widget = []; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } + } + } + if (!data) { + this.siteType = new SiteType() + this.contact = new Contact() + this.announcement = new Announcement() + this.sponsors = [] + this.widget = [] + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - this.name = _data["name"]; - this.siteType = _data["siteType"] ? SiteType.fromJS(_data["siteType"]) : new SiteType(); - this.image = _data["image"]; - this.description = _data["description"]; - this.contact = _data["contact"] ? Contact.fromJS(_data["contact"]) : new Contact(); - this.announcement = _data["announcement"] ? Announcement.fromJS(_data["announcement"]) : new Announcement(); - if (Array.isArray(_data["sponsors"])) { - (this).sponsors = [] as any; - for (let item of _data["sponsors"]) - (this).sponsors!.push(item); - } - if (Array.isArray(_data["widget"])) { - (this).widget = [] as any; - for (let item of _data["widget"]) - (this).widget!.push(Widget.fromJS(item)); - } - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + this.name = _data['name'] + this.siteType = _data['siteType'] ? SiteType.fromJS(_data['siteType']) : new SiteType() + this.image = _data['image'] + this.description = _data['description'] + this.contact = _data['contact'] ? Contact.fromJS(_data['contact']) : new Contact() + this.announcement = _data['announcement'] ? Announcement.fromJS(_data['announcement']) : new Announcement() + if (Array.isArray(_data['sponsors'])) { + ;( this).sponsors = [] as any + for (let item of _data['sponsors']) { + ;( this).sponsors!.push(item) + } + } + if (Array.isArray(_data['widget'])) { + ;( this).widget = [] as any + for (let item of _data['widget']) { + ;( this).widget!.push(Widget.fromJS(item)) + } + } + } } static fromJS(data: any): SiteSocial { - data = typeof data === 'object' ? data : {}; - let result = new SiteSocial(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new SiteSocial() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["name"] = this.name; - data["siteType"] = this.siteType ? this.siteType.toJSON() : undefined; - data["image"] = this.image; - data["description"] = this.description; - data["contact"] = this.contact ? this.contact.toJSON() : undefined; - data["announcement"] = this.announcement ? this.announcement.toJSON() : undefined; - if (Array.isArray(this.sponsors)) { - data["sponsors"] = []; - for (let item of this.sponsors) - data["sponsors"].push(item); - } - if (Array.isArray(this.widget)) { - data["widget"] = []; - for (let item of this.widget) - data["widget"].push(item.toJSON()); - } - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['name'] = this.name + data['siteType'] = this.siteType ? this.siteType.toJSON() : undefined + data['image'] = this.image + data['description'] = this.description + data['contact'] = this.contact ? this.contact.toJSON() : undefined + data['announcement'] = this.announcement ? this.announcement.toJSON() : undefined + if (Array.isArray(this.sponsors)) { + data['sponsors'] = [] + for (let item of this.sponsors) { + data['sponsors'].push(item) + } + } + if (Array.isArray(this.widget)) { + data['widget'] = [] + for (let item of this.widget) { + data['widget'].push(item.toJSON()) + } + } + return data } } export interface ISiteSocial { - name?: string | undefined; - siteType: SiteType; - image?: number | undefined; - description?: string | undefined; - contact: Contact; - announcement: Announcement; - sponsors: string[]; - widget: Widget[]; - - [key: string]: any; + name?: string | undefined + siteType: SiteType + image?: number | undefined + description?: string | undefined + contact: Contact + announcement: Announcement + sponsors: string[] + widget: Widget[] + + [key: string]: any } export class SiteSummary implements ISiteSummary { - name?: string | undefined; - siteType!: SiteType; - readonly plantCount!: string; - readonly survivedCount!: string; - readonly propagationCount!: string; - visitorCount?: number | undefined; - readonly sponsor!: string; + name?: string | undefined + siteType!: SiteType + readonly plantCount!: string + readonly survivedCount!: string + readonly propagationCount!: string + visitorCount?: number | undefined + readonly sponsor!: string readonly progress!: string; - [key: string]: any; + [key: string]: any constructor(data?: ISiteSummary) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } - } - if (!data) { - this.siteType = new SiteType(); + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } + if (!data) { + this.siteType = new SiteType() + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - this.name = _data["name"]; - this.siteType = _data["siteType"] ? SiteType.fromJS(_data["siteType"]) : new SiteType(); - (this).plantCount = _data["plantCount"]; - (this).survivedCount = _data["survivedCount"]; - (this).propagationCount = _data["propagationCount"]; - this.visitorCount = _data["visitorCount"]; - (this).sponsor = _data["sponsor"]; - (this).progress = _data["progress"]; - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + this.name = _data['name'] + this.siteType = _data['siteType'] ? SiteType.fromJS(_data['siteType']) : new SiteType() + ;( this).plantCount = _data['plantCount'] + ;( this).survivedCount = _data['survivedCount'] + ;( this).propagationCount = _data['propagationCount'] + this.visitorCount = _data['visitorCount'] + ;( this).sponsor = _data['sponsor'] + ;( this).progress = _data['progress'] + } } static fromJS(data: any): SiteSummary { - data = typeof data === 'object' ? data : {}; - let result = new SiteSummary(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new SiteSummary() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["name"] = this.name; - data["siteType"] = this.siteType ? this.siteType.toJSON() : undefined; - data["plantCount"] = this.plantCount; - data["survivedCount"] = this.survivedCount; - data["propagationCount"] = this.propagationCount; - data["visitorCount"] = this.visitorCount; - data["sponsor"] = this.sponsor; - data["progress"] = this.progress; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['name'] = this.name + data['siteType'] = this.siteType ? this.siteType.toJSON() : undefined + data['plantCount'] = this.plantCount + data['survivedCount'] = this.survivedCount + data['propagationCount'] = this.propagationCount + data['visitorCount'] = this.visitorCount + data['sponsor'] = this.sponsor + data['progress'] = this.progress + return data } } export interface ISiteSummary { - name?: string | undefined; - siteType: SiteType; - plantCount: string; - survivedCount: string; - propagationCount: string; - visitorCount?: number | undefined; - sponsor: string; - progress: string; - - [key: string]: any; + name?: string | undefined + siteType: SiteType + plantCount: string + survivedCount: string + propagationCount: string + visitorCount?: number | undefined + sponsor: string + progress: string + + [key: string]: any } export class SiteType implements ISiteType { - readonly id!: number; - readonly en!: string; + readonly id!: number + readonly en!: string readonly fr!: string; - [key: string]: any; + [key: string]: any constructor(data?: ISiteType) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - (this).en = _data["en"]; - (this).fr = _data["fr"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + ;( this).en = _data['en'] + ;( this).fr = _data['fr'] + } } static fromJS(data: any): SiteType { - data = typeof data === 'object' ? data : {}; - let result = new SiteType(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new SiteType() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] } - data["id"] = this.id; - data["en"] = this.en; - data["fr"] = this.fr; - return data; + } + data['id'] = this.id + data['en'] = this.en + data['fr'] = this.fr + return data } } export interface ISiteType { - id: number; - en: string; - fr: string; + id: number + en: string + fr: string - [key: string]: any; + [key: string]: any } export class User implements IUser { - readonly id!: number; - password!: string; - lastLogin?: Date | undefined; + readonly id!: number + password!: string + lastLogin?: Date | undefined /** Designates that this user has all permissions without explicitly assigning them. */ - isSuperuser?: boolean; + isSuperuser?: boolean /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username!: string; - firstName?: string; - lastName?: string; - email?: string; + username!: string + firstName?: string + lastName?: string + email?: string /** Designates whether the user can log into this admin site. */ - isStaff?: boolean; + isStaff?: boolean /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ - isActive?: boolean; - dateJoined?: Date; + isActive?: boolean + dateJoined?: Date /** The groups this user belongs to. A user will get all permissions granted to each of their groups. */ - groups?: number[]; + groups?: number[] /** Specific permissions for this user. */ userPermissions?: number[]; - [key: string]: any; + [key: string]: any constructor(data?: IUser) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.password = _data["password"]; - this.lastLogin = _data["lastLogin"] ? new Date(_data["lastLogin"].toString()) : undefined; - this.isSuperuser = _data["isSuperuser"]; - this.username = _data["username"]; - this.firstName = _data["firstName"]; - this.lastName = _data["lastName"]; - this.email = _data["email"]; - this.isStaff = _data["isStaff"]; - this.isActive = _data["isActive"]; - this.dateJoined = _data["dateJoined"] ? new Date(_data["dateJoined"].toString()) : undefined; - if (Array.isArray(_data["groups"])) { - this.groups = [] as any; - for (let item of _data["groups"]) - this.groups!.push(item); - } - if (Array.isArray(_data["userPermissions"])) { - this.userPermissions = [] as any; - for (let item of _data["userPermissions"]) - this.userPermissions!.push(item); - } - } + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } + } + ;( this).id = _data['id'] + this.password = _data['password'] + this.lastLogin = _data['lastLogin'] ? new Date(_data['lastLogin'].toString()) : undefined + this.isSuperuser = _data['isSuperuser'] + this.username = _data['username'] + this.firstName = _data['firstName'] + this.lastName = _data['lastName'] + this.email = _data['email'] + this.isStaff = _data['isStaff'] + this.isActive = _data['isActive'] + this.dateJoined = _data['dateJoined'] ? new Date(_data['dateJoined'].toString()) : undefined + if (Array.isArray(_data['groups'])) { + this.groups = [] as any + for (let item of _data['groups']) { + this.groups!.push(item) + } + } + if (Array.isArray(_data['userPermissions'])) { + this.userPermissions = [] as any + for (let item of _data['userPermissions']) { + this.userPermissions!.push(item) + } + } + } } static fromJS(data: any): User { - data = typeof data === 'object' ? data : {}; - let result = new User(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new User() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["password"] = this.password; - data["lastLogin"] = this.lastLogin ? this.lastLogin.toISOString() : undefined; - data["isSuperuser"] = this.isSuperuser; - data["username"] = this.username; - data["firstName"] = this.firstName; - data["lastName"] = this.lastName; - data["email"] = this.email; - data["isStaff"] = this.isStaff; - data["isActive"] = this.isActive; - data["dateJoined"] = this.dateJoined ? this.dateJoined.toISOString() : undefined; - if (Array.isArray(this.groups)) { - data["groups"] = []; - for (let item of this.groups) - data["groups"].push(item); - } - if (Array.isArray(this.userPermissions)) { - data["userPermissions"] = []; - for (let item of this.userPermissions) - data["userPermissions"].push(item); - } - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['password'] = this.password + data['lastLogin'] = this.lastLogin ? this.lastLogin.toISOString() : undefined + data['isSuperuser'] = this.isSuperuser + data['username'] = this.username + data['firstName'] = this.firstName + data['lastName'] = this.lastName + data['email'] = this.email + data['isStaff'] = this.isStaff + data['isActive'] = this.isActive + data['dateJoined'] = this.dateJoined ? this.dateJoined.toISOString() : undefined + if (Array.isArray(this.groups)) { + data['groups'] = [] + for (let item of this.groups) { + data['groups'].push(item) + } + } + if (Array.isArray(this.userPermissions)) { + data['userPermissions'] = [] + for (let item of this.userPermissions) { + data['userPermissions'].push(item) + } + } + return data } } export interface IUser { - id: number; - password: string; - lastLogin?: Date | undefined; + id: number + password: string + lastLogin?: Date | undefined /** Designates that this user has all permissions without explicitly assigning them. */ - isSuperuser?: boolean; + isSuperuser?: boolean /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ - username: string; - firstName?: string; - lastName?: string; - email?: string; + username: string + firstName?: string + lastName?: string + email?: string /** Designates whether the user can log into this admin site. */ - isStaff?: boolean; + isStaff?: boolean /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ - isActive?: boolean; - dateJoined?: Date; + isActive?: boolean + dateJoined?: Date /** The groups this user belongs to. A user will get all permissions granted to each of their groups. */ - groups?: number[]; + groups?: number[] /** Specific permissions for this user. */ - userPermissions?: number[]; + userPermissions?: number[] - [key: string]: any; + [key: string]: any } export class Widget implements IWidget { - readonly id!: number; - title?: string | undefined; - body?: string | undefined; + readonly id!: number + title?: string | undefined + body?: string | undefined site?: number | undefined; - [key: string]: any; + [key: string]: any constructor(data?: IWidget) { - if (data) { - for (var property in data) { - if (data.hasOwnProperty(property)) - (this)[property] = (data)[property]; - } + if (data) { + for (var property in data) { + if (data.hasOwnProperty(property)) { + ;( this)[property] = ( data)[property] + } } + } } init(_data?: any) { - if (_data) { - for (var property in _data) { - if (_data.hasOwnProperty(property)) - this[property] = _data[property]; - } - (this).id = _data["id"]; - this.title = _data["title"]; - this.body = _data["body"]; - this.site = _data["site"]; + if (_data) { + for (var property in _data) { + if (_data.hasOwnProperty(property)) { + this[property] = _data[property] + } } + ;( this).id = _data['id'] + this.title = _data['title'] + this.body = _data['body'] + this.site = _data['site'] + } } static fromJS(data: any): Widget { - data = typeof data === 'object' ? data : {}; - let result = new Widget(); - result.init(data); - return result; + data = typeof data === 'object' ? data : {} + let result = new Widget() + result.init(data) + return result } toJSON(data?: any) { - data = typeof data === 'object' ? data : {}; - for (var property in this) { - if (this.hasOwnProperty(property)) - data[property] = this[property]; - } - data["id"] = this.id; - data["title"] = this.title; - data["body"] = this.body; - data["site"] = this.site; - return data; + data = typeof data === 'object' ? data : {} + for (var property in this) { + if (this.hasOwnProperty(property)) { + data[property] = this[property] + } + } + data['id'] = this.id + data['title'] = this.title + data['body'] = this.body + data['site'] = this.site + return data } } export interface IWidget { - id: number; - title?: string | undefined; - body?: string | undefined; - site?: number | undefined; + id: number + title?: string | undefined + body?: string | undefined + site?: number | undefined - [key: string]: any; + [key: string]: any } export enum Format { - Json = "json", - Yaml = "yaml", + Json = 'json', + Yaml = 'yaml', } export enum Lang { - Af = "af", - Ar = "ar", - ArDz = "ar-dz", - Ast = "ast", - Az = "az", - Be = "be", - Bg = "bg", - Bn = "bn", - Br = "br", - Bs = "bs", - Ca = "ca", - Ckb = "ckb", - Cs = "cs", - Cy = "cy", - Da = "da", - De = "de", - Dsb = "dsb", - El = "el", - En = "en", - EnAu = "en-au", - EnGb = "en-gb", - Eo = "eo", - Es = "es", - EsAr = "es-ar", - EsCo = "es-co", - EsMx = "es-mx", - EsNi = "es-ni", - EsVe = "es-ve", - Et = "et", - Eu = "eu", - Fa = "fa", - Fi = "fi", - Fr = "fr", - Fy = "fy", - Ga = "ga", - Gd = "gd", - Gl = "gl", - He = "he", - Hi = "hi", - Hr = "hr", - Hsb = "hsb", - Hu = "hu", - Hy = "hy", - Ia = "ia", - Id = "id", - Ig = "ig", - Io = "io", - Is = "is", - It = "it", - Ja = "ja", - Ka = "ka", - Kab = "kab", - Kk = "kk", - Km = "km", - Kn = "kn", - Ko = "ko", - Ky = "ky", - Lb = "lb", - Lt = "lt", - Lv = "lv", - Mk = "mk", - Ml = "ml", - Mn = "mn", - Mr = "mr", - Ms = "ms", - My = "my", - Nb = "nb", - Ne = "ne", - Nl = "nl", - Nn = "nn", - Os = "os", - Pa = "pa", - Pl = "pl", - Pt = "pt", - PtBr = "pt-br", - Ro = "ro", - Ru = "ru", - Sk = "sk", - Sl = "sl", - Sq = "sq", - Sr = "sr", - SrLatn = "sr-latn", - Sv = "sv", - Sw = "sw", - Ta = "ta", - Te = "te", - Tg = "tg", - Th = "th", - Tk = "tk", - Tr = "tr", - Tt = "tt", - Udm = "udm", - Ug = "ug", - Uk = "uk", - Ur = "ur", - Uz = "uz", - Vi = "vi", - ZhHans = "zh-hans", - ZhHant = "zh-hant", + Af = 'af', + Ar = 'ar', + ArDz = 'ar-dz', + Ast = 'ast', + Az = 'az', + Be = 'be', + Bg = 'bg', + Bn = 'bn', + Br = 'br', + Bs = 'bs', + Ca = 'ca', + Ckb = 'ckb', + Cs = 'cs', + Cy = 'cy', + Da = 'da', + De = 'de', + Dsb = 'dsb', + El = 'el', + En = 'en', + EnAu = 'en-au', + EnGb = 'en-gb', + Eo = 'eo', + Es = 'es', + EsAr = 'es-ar', + EsCo = 'es-co', + EsMx = 'es-mx', + EsNi = 'es-ni', + EsVe = 'es-ve', + Et = 'et', + Eu = 'eu', + Fa = 'fa', + Fi = 'fi', + Fr = 'fr', + Fy = 'fy', + Ga = 'ga', + Gd = 'gd', + Gl = 'gl', + He = 'he', + Hi = 'hi', + Hr = 'hr', + Hsb = 'hsb', + Hu = 'hu', + Hy = 'hy', + Ia = 'ia', + Id = 'id', + Ig = 'ig', + Io = 'io', + Is = 'is', + It = 'it', + Ja = 'ja', + Ka = 'ka', + Kab = 'kab', + Kk = 'kk', + Km = 'km', + Kn = 'kn', + Ko = 'ko', + Ky = 'ky', + Lb = 'lb', + Lt = 'lt', + Lv = 'lv', + Mk = 'mk', + Ml = 'ml', + Mn = 'mn', + Mr = 'mr', + Ms = 'ms', + My = 'my', + Nb = 'nb', + Ne = 'ne', + Nl = 'nl', + Nn = 'nn', + Os = 'os', + Pa = 'pa', + Pl = 'pl', + Pt = 'pt', + PtBr = 'pt-br', + Ro = 'ro', + Ru = 'ru', + Sk = 'sk', + Sl = 'sl', + Sq = 'sq', + Sr = 'sr', + SrLatn = 'sr-latn', + Sv = 'sv', + Sw = 'sw', + Ta = 'ta', + Te = 'te', + Tg = 'tg', + Th = 'th', + Tk = 'tk', + Tr = 'tr', + Tt = 'tt', + Udm = 'udm', + Ug = 'ug', + Uk = 'uk', + Ur = 'ur', + Uz = 'uz', + Vi = 'vi', + ZhHans = 'zh-hans', + ZhHant = 'zh-hant', } export class ApiException extends Error { - message: string; - status: number; - response: string; - headers: { [key: string]: any; }; - result: any; + message: string + status: number + response: string + headers: { [key: string]: any } + result: any - constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) { - super(); + constructor(message: string, status: number, response: string, headers: { [key: string]: any }, result: any) { + super() - this.message = message; - this.status = status; - this.response = response; - this.headers = headers; - this.result = result; + this.message = message + this.status = status + this.response = response + this.headers = headers + this.result = result } - protected isApiException = true; + protected isApiException = true static isApiException(obj: any): obj is ApiException { - return obj.isApiException === true; + return obj.isApiException === true } } -function throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any { - if (result !== null && result !== undefined) - throw result; - else - throw new ApiException(message, status, response, headers, null); +function throwException( + message: string, + status: number, + response: string, + headers: { [key: string]: any }, + result?: any, +): any { + if (result !== null && result !== undefined) { + throw result + } else { + throw new ApiException(message, status, response, headers, null) + } } diff --git a/dprint.json b/dprint.json index 427fe9c0f..807d95457 100644 --- a/dprint.json +++ b/dprint.json @@ -1,4 +1,19 @@ { // https://dprint.dev/config/#extending-a-different-configuration-file - "extends": "https://raw.githubusercontent.com/BesLogic/beslogic-dprint-configuration/main/dprint.json" + "extends": "https://raw.githubusercontent.com/BesLogic/beslogic-dprint-configuration/main/dprint.json", + "excludes": [ + "**/node_modules", + "**/*-lock.json", + "**/.yalc", + "**/coverage", // created on install by nx + "**/build", + "**/cache", + "**/dist", + "**/tmp", + "**/obj", + // capacitor folders + "**/*/android/app", + "**/*/ios/App", + "**/*/services/api.ts" + ] } From 4b8f35ef7885619fb71c4731b1fc035753be1277 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 22:19:17 +0000 Subject: [PATCH 5/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- README.md | 6 +++--- canopeum_backend/canopeum_backend/serializers.py | 5 +++-- canopeum_backend/canopeum_backend/settings.py | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ca787a65d..38a27e8c2 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ This project integrates Django backend with React Vite frontend template to crea ## Getting Started -This project has been configured to run in VsCode dev container with all -necessary tools to run the front-end and backend from within the environment or -follow these instructions to get the project up and running on your local machine +This project has been configured to run in VsCode dev container with all +necessary tools to run the front-end and backend from within the environment or +follow these instructions to get the project up and running on your local machine without dev container. Note: If you choose to develop from within the dev container, you still need to diff --git a/canopeum_backend/canopeum_backend/serializers.py b/canopeum_backend/canopeum_backend/serializers.py index 26ec9766f..93aba3394 100644 --- a/canopeum_backend/canopeum_backend/serializers.py +++ b/canopeum_backend/canopeum_backend/serializers.py @@ -1,6 +1,6 @@ from django.contrib.auth.models import User -from rest_framework import serializers from drf_spectacular.utils import extend_schema_field +from rest_framework import serializers from .models import ( Announcement, @@ -125,6 +125,7 @@ class Meta: def get_site_tree_species(self, obj): return SitetreespeciesSerializer(obj.sitetreespecies_set.all(), many=True).data + class SiteSocialSerializer(serializers.ModelSerializer): site_type = SiteTypeSerializer() contact = ContactSerializer() @@ -138,7 +139,7 @@ class Meta: # Bug in the extend_schema_field type annotation, they should allow # base python types supported by open api specs - @extend_schema_field(list[str]) # pyright: ignore[reportArgumentType] + @extend_schema_field(list[str]) # pyright: ignore[reportArgumentType] def get_sponsors(self, obj): return self.context.get("sponsors") diff --git a/canopeum_backend/canopeum_backend/settings.py b/canopeum_backend/canopeum_backend/settings.py index 5d6b20a24..0a508c3ed 100644 --- a/canopeum_backend/canopeum_backend/settings.py +++ b/canopeum_backend/canopeum_backend/settings.py @@ -127,8 +127,8 @@ "NAME": "canopeum_db", "USER": "root", "PASSWORD": "canopeum", - "HOST": os.environ.get('MYSQL_HOST', "localhost"), - "PORT": "3308", # Same as in docker-compose.yaml + "HOST": os.environ.get("MYSQL_HOST", "localhost"), + "PORT": "3308", # Same as in docker-compose.yaml }, } From 8aba2cbab1159175fdabaa630cfe91ef34bb482e Mon Sep 17 00:00:00 2001 From: Samuel Poirier Date: Sat, 23 Mar 2024 22:27:26 +0000 Subject: [PATCH 6/7] Add missing override Fix linting issue --- canopeum_frontend/src/pages/MapSite.tsx | 8 ++++---- canopeum_frontend/src/services/api.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/canopeum_frontend/src/pages/MapSite.tsx b/canopeum_frontend/src/pages/MapSite.tsx index ae4fe56c1..1f6bbdf2c 100644 --- a/canopeum_frontend/src/pages/MapSite.tsx +++ b/canopeum_frontend/src/pages/MapSite.tsx @@ -10,16 +10,16 @@ const fetchSite = async (siteId: number, setSite: (site: SiteSocial) => void) => const site = await api().social.site(siteId) setSite(site) } catch (error) { - console.log(error) + console.error(error) } } const MapSite = () => { const { siteId } = useParams() const [site, setSite] = useState() - useEffect(() => { - fetchSite(Number(siteId) ?? 1, setSite) - }, [setSite]) + useEffect((): void => { + void fetchSite(Number(siteId) || 1, setSite) + }, [setSite, siteId]) return (
diff --git a/canopeum_frontend/src/services/api.ts b/canopeum_frontend/src/services/api.ts index bba82f47f..5e1a0a78a 100644 --- a/canopeum_frontend/src/services/api.ts +++ b/canopeum_frontend/src/services/api.ts @@ -3390,7 +3390,7 @@ export enum Lang { } export class ApiException extends Error { - message: string + override message: string status: number response: string headers: { [key: string]: any } From 3b97a11275103b639bf730904540796f12d8f5e5 Mon Sep 17 00:00:00 2001 From: Samuel T Date: Sat, 23 Mar 2024 18:30:52 -0400 Subject: [PATCH 7/7] Update .vscode/settings.json --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 5707bd574..d8df4f690 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -88,7 +88,7 @@ "editor.defaultFormatter": "dprint.dprint" }, "[typescriptreact]": { - "editor.defaultFormatter": "vscode.typescript-language-features" + "editor.defaultFormatter": "dprint.dprint" }, "[markdown]": { "files.trimTrailingWhitespace": false,