From d8109c5c116573d65c4a2a176cb7204aee24e4e1 Mon Sep 17 00:00:00 2001 From: Marco Enrico Piras Date: Thu, 11 Jan 2024 16:41:38 +0100 Subject: [PATCH 1/6] feat(util): add a utility script to generate and handle copyright headers --- utils/add_boilerplate.py | 131 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 utils/add_boilerplate.py diff --git a/utils/add_boilerplate.py b/utils/add_boilerplate.py new file mode 100644 index 0000000..e214d95 --- /dev/null +++ b/utils/add_boilerplate.py @@ -0,0 +1,131 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import logging +import io +import datetime +import os +import re +from typing import Optional, Tuple, Union + +# configure logging +logger = logging.getLogger(__name__) + + +THIS_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) +THIS_YEAR = datetime.date.today().year +C_YEAR = f"2020-{THIS_YEAR}" +LICENSE_FN = os.path.join(THIS_DIR, "LICENSE") +COM_MAP = { + ".py": "#", + ".ts": ("/*", "*/"), + ".js": ("/*", "*/"), + ".html": (""), + ".css": ("/*", "*/"), +} +EXCLUDE_FILES = set() +EXCLUDE_DIRS = {"build", "dist", "venv", "node_modules"} + +PATTERN = re.compile(r"Copyright \(c\) [0-9-]+") +REPL = f"Copyright (c) {C_YEAR}" + + +def get_boilerplate(): + with io.open(LICENSE_FN, "rt") as f: + content = f.read() + return content[content.find("Copyright") :] + + +def comment(text, com: Union[str, Tuple[str, str]] = "#"): + # check comment delimiters type + if not isinstance(com, str) and not isinstance(com, tuple): + raise TypeError( + "Comment delimiters should be declared using a string or a 2-tuple." + ) + # if comment delimiter is a 2-tuple + if isinstance(com, tuple): + # check comment delimiters length + assert len(com) == 2, "Comment delimiters should be declared using a 2-tuple." + return f"{com[0]}\n{text}{com[1]}\n" + # if comment delimiter is a string + out_lines = [] + for line in text.splitlines(): + line = line.strip() + out_lines.append(com if not line else f"{com} {line}") + return "\n".join(out_lines) + "\n\n" + + +def add_boilerplate(boilerplate, fn): + with io.open(fn, "rt") as f: + text = f.read() + if not text: + return + m = PATTERN.search(text) + if m: + # update existing + with io.open(fn, "wt") as f: + f.write(text.replace(m.group(), REPL)) + return + # add new + if text.startswith("#!"): + head, tail = text.split("\n", 1) + head += "\n\n" + else: + head, tail = "", text + if not tail.startswith("\n"): + boilerplate += "\n" + with io.open(fn, "wt") as f: + f.write(f"{head}{boilerplate}{tail}") + + +def main(): + # configure logging + logging.basicConfig(level=logging.INFO) + + join = os.path.join + boilerplate = get_boilerplate() + add_boilerplate(boilerplate, LICENSE_FN) + boilerplate = get_boilerplate() # read the updated version + logger.debug("Boilerplate:\n%s", boilerplate) + print("Boilerplate generated!") + print("Adding boilerplate to files...") + bp_map = {ext: comment(boilerplate, com) for ext, com in COM_MAP.items()} + for root, dirs, files in os.walk(THIS_DIR): + dirs[:] = [_ for _ in dirs if not _.startswith(".") and _ not in EXCLUDE_DIRS] + for name in files: + if name in EXCLUDE_FILES: + print(f" - skipping {name}...") + continue + ext = os.path.splitext(name)[-1] + try: + bp = bp_map[ext] + except KeyError: + logger.debug(f" - skipping {name}: not supported!") + continue + else: + path = join(root, name) + logger.debug(f"Adding boilerplate to {path}...") + add_boilerplate(bp, path) + print(f" - {name}: OK!") + print("Done!") + + +if __name__ == "__main__": + main() From f47772132e248f13cedba48a350f99957a53300d Mon Sep 17 00:00:00 2001 From: Marco Enrico Piras Date: Thu, 11 Jan 2024 17:31:23 +0100 Subject: [PATCH 2/6] feat(util): include yaml files --- utils/add_boilerplate.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/add_boilerplate.py b/utils/add_boilerplate.py index e214d95..98d63be 100644 --- a/utils/add_boilerplate.py +++ b/utils/add_boilerplate.py @@ -39,6 +39,8 @@ ".js": ("/*", "*/"), ".html": (""), ".css": ("/*", "*/"), + ".yaml": "#", + ".yml": "#", } EXCLUDE_FILES = set() EXCLUDE_DIRS = {"build", "dist", "venv", "node_modules"} From fd4eaa1e7940dba38d9a0f1f79ca9e9911720d8e Mon Sep 17 00:00:00 2001 From: Marco Enrico Piras Date: Thu, 11 Jan 2024 17:33:42 +0100 Subject: [PATCH 3/6] feat(util): add a summary of the copyright updates --- utils/add_boilerplate.py | 81 ++++++++++++++++++++++++++++++++-------- 1 file changed, 65 insertions(+), 16 deletions(-) diff --git a/utils/add_boilerplate.py b/utils/add_boilerplate.py index 98d63be..80f2b2d 100644 --- a/utils/add_boilerplate.py +++ b/utils/add_boilerplate.py @@ -18,21 +18,25 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -import logging -import io + import datetime +import io +import logging import os import re -from typing import Optional, Tuple, Union +from typing import Tuple, Union + +from colorama import Fore, Style # configure logging logger = logging.getLogger(__name__) -THIS_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) +SOURCE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) +# SOURCE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "src") # uncomment this line to test the script THIS_YEAR = datetime.date.today().year C_YEAR = f"2020-{THIS_YEAR}" -LICENSE_FN = os.path.join(THIS_DIR, "LICENSE") +LICENSE_FN = os.path.join(SOURCE_PATH, "LICENSE") COM_MAP = { ".py": "#", ".ts": ("/*", "*/"), @@ -48,6 +52,12 @@ PATTERN = re.compile(r"Copyright \(c\) [0-9-]+") REPL = f"Copyright (c) {C_YEAR}" +# Result codes +ERROR = -1 +UNCHANGED = 0 +UPDATED = 1 +CREATED = 2 + def get_boilerplate(): with io.open(LICENSE_FN, "rt") as f: @@ -74,17 +84,20 @@ def comment(text, com: Union[str, Tuple[str, str]] = "#"): return "\n".join(out_lines) + "\n\n" -def add_boilerplate(boilerplate, fn): +def add_boilerplate(boilerplate, fn) -> int: with io.open(fn, "rt") as f: text = f.read() if not text: - return + return UNCHANGED m = PATTERN.search(text) if m: + logger.debug("Found existing boilerplate in %s", fn) + if m.group() == REPL: + return UNCHANGED # update existing with io.open(fn, "wt") as f: f.write(text.replace(m.group(), REPL)) - return + return UPDATED # add new if text.startswith("#!"): head, tail = text.split("\n", 1) @@ -95,38 +108,74 @@ def add_boilerplate(boilerplate, fn): boilerplate += "\n" with io.open(fn, "wt") as f: f.write(f"{head}{boilerplate}{tail}") + return CREATED + + +def __print_section__(msg: str, end: str = "\n"): + print(f"\n{Fore.BLUE}{Style.BRIGHT}{msg}{Style.RESET_ALL}", end=end) + + +def __print_done__(): + print(f"{Fore.GREEN}Done!{Style.RESET_ALL}") def main(): # configure logging logging.basicConfig(level=logging.INFO) + # result counters + unchanged = 0 + updated = 0 + created = 0 + errors = 0 + + # generate boilerplate + __print_section__("Generating boilerplate... ", end="") join = os.path.join boilerplate = get_boilerplate() add_boilerplate(boilerplate, LICENSE_FN) + __print_done__() boilerplate = get_boilerplate() # read the updated version logger.debug("Boilerplate:\n%s", boilerplate) - print("Boilerplate generated!") - print("Adding boilerplate to files...") + + __print_section__("Adding boilerplate to files...") bp_map = {ext: comment(boilerplate, com) for ext, com in COM_MAP.items()} - for root, dirs, files in os.walk(THIS_DIR): + for root, dirs, files in os.walk(SOURCE_PATH): dirs[:] = [_ for _ in dirs if not _.startswith(".") and _ not in EXCLUDE_DIRS] for name in files: if name in EXCLUDE_FILES: - print(f" - skipping {name}...") + print(f" - {name}: {Style.BRIGHT}excluded{Style.RESET_ALL}") continue ext = os.path.splitext(name)[-1] try: bp = bp_map[ext] except KeyError: - logger.debug(f" - skipping {name}: not supported!") + logger.debug(f" - {name}: {Style.BRIGHT}not supported{Style.RESET_ALL}") continue else: path = join(root, name) logger.debug(f"Adding boilerplate to {path}...") - add_boilerplate(bp, path) - print(f" - {name}: OK!") - print("Done!") + result = add_boilerplate(bp, path) + print(f" - {path}: ", end="") + if result == UNCHANGED: + print(f"{Style.BRIGHT}unchanged{Style.RESET_ALL}") + unchanged += 1 + elif result == UPDATED: + print(f"{Style.BRIGHT}{Fore.YELLOW}updated{Style.RESET_ALL}") + updated += 1 + elif result == CREATED: + print(f"{Style.BRIGHT}{Fore.GREEN}created{Style.RESET_ALL}") + created += 1 + else: + print(f"{Style.BRIGHT}{Fore.RED}error{Style.RESET_ALL}") + errors += 1 + __print_section__("DONE!") + # print summary + __print_section__("Summary:") + print(f" - {Style.BRIGHT}{unchanged} files unchanged{Style.RESET_ALL}") + print(f" - {Style.BRIGHT}{Fore.YELLOW}{updated} files updated{Style.RESET_ALL}") + print(f" - {Style.BRIGHT}{Fore.GREEN}{created} files created{Style.RESET_ALL}") + print(f" - {Style.BRIGHT}{Fore.RED}{errors} errors{Style.RESET_ALL}") if __name__ == "__main__": From d3fd22cd38ecb2f5ae0230f77905cf2685967df9 Mon Sep 17 00:00:00 2001 From: Marco Enrico Piras Date: Thu, 11 Jan 2024 17:37:58 +0100 Subject: [PATCH 4/6] chore: update copyright end year to 2024 --- LICENSE | 2 +- e2e/protractor.conf.js | 22 +++++++++++++++++++ e2e/src/app.e2e-spec.ts | 22 +++++++++++++++++++ e2e/src/app.po.ts | 22 +++++++++++++++++++ k8s/lifemonitor-web/Chart.yaml | 21 ++++++++++++++++++ k8s/lifemonitor-web/templates/configmap.yaml | 21 ++++++++++++++++++ k8s/lifemonitor-web/templates/deployment.yaml | 21 ++++++++++++++++++ k8s/lifemonitor-web/templates/ingress.yaml | 21 ++++++++++++++++++ k8s/lifemonitor-web/templates/monitoring.yaml | 21 ++++++++++++++++++ .../templates/nginx.configmap.yml | 21 ++++++++++++++++++ .../templates/promtail.configmap.yaml | 21 ++++++++++++++++++ k8s/lifemonitor-web/templates/service.yaml | 21 ++++++++++++++++++ .../templates/tests/test-connection.yaml | 21 ++++++++++++++++++ k8s/lifemonitor-web/values.yaml | 21 ++++++++++++++++++ k8s/values.yaml | 21 ++++++++++++++++++ karma.conf.js | 22 +++++++++++++++++++ ng-lint-staged.js | 22 +++++++++++++++++++ server.js | 22 +++++++++++++++++++ src/app/app-routing.module.ts | 22 +++++++++++++++++++ src/app/app.component.html | 22 +++++++++++++++++++ src/app/app.component.spec.ts | 22 +++++++++++++++++++ src/app/app.component.ts | 22 +++++++++++++++++++ src/app/app.module.ts | 22 +++++++++++++++++++ .../app-button/app-button.component.html | 22 +++++++++++++++++++ .../app-button/app-button.component.spec.ts | 22 +++++++++++++++++++ .../app-button/app-button.component.ts | 22 +++++++++++++++++++ .../base-data-view.component.spec.ts | 22 +++++++++++++++++++ .../base-data-view.component.ts | 22 +++++++++++++++++++ src/app/components/environment.ts | 22 +++++++++++++++++++ .../input-dialog/input-dialog.component.html | 22 +++++++++++++++++++ .../input-dialog.component.spec.ts | 22 +++++++++++++++++++ .../input-dialog/input-dialog.component.ts | 22 +++++++++++++++++++ .../components/loader/loader.component.html | 22 +++++++++++++++++++ .../loader/loader.component.spec.ts | 22 +++++++++++++++++++ src/app/components/loader/loader.component.ts | 22 +++++++++++++++++++ .../rocrate-logo/rocrate-logo.component.html | 22 +++++++++++++++++++ .../rocrate-logo.component.spec.ts | 22 +++++++++++++++++++ .../rocrate-logo/rocrate-logo.component.ts | 22 +++++++++++++++++++ .../components/scroll/scroll.component.html | 22 +++++++++++++++++++ .../scroll/scroll.component.spec.ts | 22 +++++++++++++++++++ src/app/components/scroll/scroll.component.ts | 22 +++++++++++++++++++ .../search-bar/search-bar.component.html | 22 +++++++++++++++++++ .../search-bar/search-bar.component.spec.ts | 22 +++++++++++++++++++ .../search-bar/search-bar.component.ts | 22 +++++++++++++++++++ .../stats-bar-chart.component.html | 22 +++++++++++++++++++ .../stats-bar-chart.component.spec.ts | 22 +++++++++++++++++++ .../stats-bar-chart.component.ts | 22 +++++++++++++++++++ .../stats-pie-chart.component.html | 22 +++++++++++++++++++ .../stats-pie-chart.component.spec.ts | 22 +++++++++++++++++++ .../stats-pie-chart.component.ts | 22 +++++++++++++++++++ .../test-instances.component.html | 22 +++++++++++++++++++ .../test-instances.component.spec.ts | 22 +++++++++++++++++++ .../test-instances.component.ts | 22 +++++++++++++++++++ .../test-suites/test-suites.component.html | 22 +++++++++++++++++++ .../test-suites/test-suites.component.spec.ts | 22 +++++++++++++++++++ .../test-suites/test-suites.component.ts | 22 +++++++++++++++++++ .../workflow-header.component.html | 22 +++++++++++++++++++ .../workflow-header.component.spec.ts | 22 +++++++++++++++++++ .../workflow-header.component.ts | 22 +++++++++++++++++++ .../workflow-uploader.component.html | 22 +++++++++++++++++++ .../workflow-uploader.component.spec.ts | 22 +++++++++++++++++++ .../workflow-uploader.component.ts | 22 +++++++++++++++++++ .../workflow-version-selector.component.html | 22 +++++++++++++++++++ ...orkflow-version-selector.component.spec.ts | 22 +++++++++++++++++++ .../workflow-version-selector.component.ts | 22 +++++++++++++++++++ src/app/cookieConfig.ts | 22 +++++++++++++++++++ src/app/models/base.models.ts | 22 +++++++++++++++++++ src/app/models/common.models.ts | 22 +++++++++++++++++++ src/app/models/job.model.ts | 22 +++++++++++++++++++ src/app/models/notification.model.ts | 22 +++++++++++++++++++ src/app/models/registry.models.ts | 22 +++++++++++++++++++ src/app/models/service.modes.ts | 22 +++++++++++++++++++ src/app/models/stats.model.ts | 22 +++++++++++++++++++ src/app/models/suite.models.ts | 22 +++++++++++++++++++ src/app/models/testBuild.models.ts | 22 +++++++++++++++++++ src/app/models/testInstance.models.ts | 22 +++++++++++++++++++ src/app/models/user.modes.ts | 22 +++++++++++++++++++ src/app/models/workflow.model.ts | 22 +++++++++++++++++++ src/app/pages/home/home.component.html | 22 +++++++++++++++++++ src/app/pages/home/home.component.ts | 22 +++++++++++++++++++ src/app/pages/login/login.component.html | 22 +++++++++++++++++++ src/app/pages/login/login.component.spec.ts | 22 +++++++++++++++++++ src/app/pages/login/login.component.ts | 22 +++++++++++++++++++ src/app/pages/logout/logout.component.html | 22 +++++++++++++++++++ src/app/pages/logout/logout.component.spec.ts | 22 +++++++++++++++++++ src/app/pages/logout/logout.component.ts | 22 +++++++++++++++++++ .../pages/main/footer/footer.component.html | 22 +++++++++++++++++++ .../main/footer/footer.component.spec.ts | 22 +++++++++++++++++++ src/app/pages/main/footer/footer.component.ts | 22 +++++++++++++++++++ .../pages/main/header/header.component.html | 22 +++++++++++++++++++ .../main/header/header.component.spec.ts | 22 +++++++++++++++++++ src/app/pages/main/header/header.component.ts | 22 +++++++++++++++++++ .../messages-dropdown-menu.component.html | 22 +++++++++++++++++++ .../messages-dropdown-menu.component.spec.ts | 22 +++++++++++++++++++ .../messages-dropdown-menu.component.ts | 22 +++++++++++++++++++ ...notifications-dropdown-menu.component.html | 22 +++++++++++++++++++ ...ifications-dropdown-menu.component.spec.ts | 22 +++++++++++++++++++ .../notifications-dropdown-menu.component.ts | 22 +++++++++++++++++++ .../user-dropdown-menu.component.html | 22 +++++++++++++++++++ .../user-dropdown-menu.component.spec.ts | 22 +++++++++++++++++++ .../user-dropdown-menu.component.ts | 22 +++++++++++++++++++ src/app/pages/main/main.component.html | 22 +++++++++++++++++++ src/app/pages/main/main.component.spec.ts | 22 +++++++++++++++++++ src/app/pages/main/main.component.ts | 22 +++++++++++++++++++ .../menu-sidebar/menu-sidebar.component.html | 22 +++++++++++++++++++ .../menu-sidebar.component.spec.ts | 22 +++++++++++++++++++ .../menu-sidebar/menu-sidebar.component.ts | 22 +++++++++++++++++++ .../maintenance/maintenance.component.html | 22 +++++++++++++++++++ .../maintenance/maintenance.component.spec.ts | 22 +++++++++++++++++++ .../maintenance/maintenance.component.ts | 22 +++++++++++++++++++ src/app/utils/components/router.component.ts | 22 +++++++++++++++++++ .../utils/filters/array-size-filter.pipe.ts | 22 +++++++++++++++++++ .../utils/filters/item-filter.pipe.spec.ts | 22 +++++++++++++++++++ src/app/utils/filters/item-filter.pipe.ts | 22 +++++++++++++++++++ src/app/utils/filters/orderby.pipe.ts | 22 +++++++++++++++++++ .../utils/filters/sorting-filter.pipe.spec.ts | 22 +++++++++++++++++++ src/app/utils/filters/sorting-filter.pipe.ts | 22 +++++++++++++++++++ .../sorting-notification-filter.pipe.ts | 22 +++++++++++++++++++ .../utils/filters/stats-filter.pipe.spec.ts | 22 +++++++++++++++++++ src/app/utils/filters/stats-filter.pipe.ts | 22 +++++++++++++++++++ src/app/utils/filters/trim.pipe.ts | 22 +++++++++++++++++++ .../utils/filters/workflow-orderby.pipe.ts | 22 +++++++++++++++++++ src/app/utils/guards/auth.guard.spec.ts | 22 +++++++++++++++++++ src/app/utils/guards/auth.guard.ts | 22 +++++++++++++++++++ src/app/utils/guards/non-auth.guard.spec.ts | 22 +++++++++++++++++++ src/app/utils/guards/non-auth.guard.ts | 22 +++++++++++++++++++ src/app/utils/guards/wf.guard.spec.ts | 22 +++++++++++++++++++ src/app/utils/guards/wf.guard.ts | 22 +++++++++++++++++++ .../interceptors/http-error.interceptor.ts | 22 +++++++++++++++++++ src/app/utils/logging/display.ts | 22 +++++++++++++++++++ src/app/utils/logging/index.ts | 22 +++++++++++++++++++ src/app/utils/logging/level.ts | 22 +++++++++++++++++++ src/app/utils/logging/logger.ts | 22 +++++++++++++++++++ src/app/utils/logging/loggerManager.ts | 22 +++++++++++++++++++ src/app/utils/services/api.service.spec.ts | 22 +++++++++++++++++++ src/app/utils/services/api.service.ts | 22 +++++++++++++++++++ src/app/utils/services/app.service.spec.ts | 22 +++++++++++++++++++ src/app/utils/services/app.service.ts | 22 +++++++++++++++++++ src/app/utils/services/auth-base.service.ts | 22 +++++++++++++++++++ src/app/utils/services/auth-cookie.service.ts | 22 +++++++++++++++++++ src/app/utils/services/auth-oauth2.service.ts | 22 +++++++++++++++++++ src/app/utils/services/auth.interface.ts | 22 +++++++++++++++++++ src/app/utils/services/auth.service.spec.ts | 22 +++++++++++++++++++ src/app/utils/services/auth.service.ts | 22 +++++++++++++++++++ src/app/utils/services/cache/cache-manager.ts | 22 +++++++++++++++++++ src/app/utils/services/cache/cache.model.ts | 22 +++++++++++++++++++ src/app/utils/services/cache/cache.worker.ts | 22 +++++++++++++++++++ .../cache/cachedhttpclient.service.ts | 22 +++++++++++++++++++ src/app/utils/services/config.loader.ts | 22 +++++++++++++++++++ src/app/utils/services/config.service.spec.ts | 22 +++++++++++++++++++ src/app/utils/services/config.service.ts | 22 +++++++++++++++++++ .../services/input-dialog.service.spec.ts | 22 +++++++++++++++++++ .../utils/services/input-dialog.service.ts | 22 +++++++++++++++++++ .../workflow-uploader.service.spec.ts | 22 +++++++++++++++++++ .../services/workflow-uploader.service.ts | 22 +++++++++++++++++++ src/app/utils/shared/api-socket.ts | 22 +++++++++++++++++++ src/app/utils/shared/indexdb.ts | 22 +++++++++++++++++++ src/app/utils/shared/utils.ts | 22 +++++++++++++++++++ src/app/views/blank/blank.component.html | 22 +++++++++++++++++++ src/app/views/blank/blank.component.spec.ts | 22 +++++++++++++++++++ src/app/views/blank/blank.component.ts | 22 +++++++++++++++++++ .../views/dashboard/dashboard.component.html | 22 +++++++++++++++++++ .../dashboard/dashboard.component.spec.ts | 22 +++++++++++++++++++ .../views/dashboard/dashboard.component.ts | 22 +++++++++++++++++++ src/app/views/suite/suite.component.html | 22 +++++++++++++++++++ src/app/views/suite/suite.component.spec.ts | 22 +++++++++++++++++++ src/app/views/suite/suite.component.ts | 22 +++++++++++++++++++ .../views/workflow/workflow.component.html | 22 +++++++++++++++++++ .../views/workflow/workflow.component.spec.ts | 22 +++++++++++++++++++ src/app/views/workflow/workflow.component.ts | 22 +++++++++++++++++++ src/environments/environment.prod.ts | 22 +++++++++++++++++++ src/environments/environment.ts | 22 +++++++++++++++++++ src/index.html | 22 +++++++++++++++++++ src/main.ts | 22 +++++++++++++++++++ src/ngstyles.css | 22 +++++++++++++++++++ src/polyfills.ts | 22 +++++++++++++++++++ src/test.ts | 22 +++++++++++++++++++ 177 files changed, 3862 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index a0d14a7..a3ab710 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020-2021 CRS4 +Copyright (c) 2020-2024 CRS4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js index 94f1bf2..1c16c64 100644 --- a/e2e/protractor.conf.js +++ b/e2e/protractor.conf.js @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + // @ts-check // Protractor configuration file, see link for more information // https://github.com/angular/protractor/blob/master/lib/config.ts diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts index e0f5487..191419c 100644 --- a/e2e/src/app.e2e-spec.ts +++ b/e2e/src/app.e2e-spec.ts @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import { AppPage } from './app.po'; import { browser, logging } from 'protractor'; diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts index c63155b..f19479b 100644 --- a/e2e/src/app.po.ts +++ b/e2e/src/app.po.ts @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import { browser, by, element } from 'protractor'; export class AppPage { diff --git a/k8s/lifemonitor-web/Chart.yaml b/k8s/lifemonitor-web/Chart.yaml index f534530..4c0f9ce 100644 --- a/k8s/lifemonitor-web/Chart.yaml +++ b/k8s/lifemonitor-web/Chart.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + apiVersion: v1 appVersion: '0.5.4' description: A Helm chart for Kubernetes diff --git a/k8s/lifemonitor-web/templates/configmap.yaml b/k8s/lifemonitor-web/templates/configmap.yaml index 50ed5ae..4627def 100644 --- a/k8s/lifemonitor-web/templates/configmap.yaml +++ b/k8s/lifemonitor-web/templates/configmap.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + apiVersion: v1 kind: ConfigMap metadata: diff --git a/k8s/lifemonitor-web/templates/deployment.yaml b/k8s/lifemonitor-web/templates/deployment.yaml index 2d8ab7d..b8517e3 100644 --- a/k8s/lifemonitor-web/templates/deployment.yaml +++ b/k8s/lifemonitor-web/templates/deployment.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + apiVersion: apps/v1 kind: Deployment metadata: diff --git a/k8s/lifemonitor-web/templates/ingress.yaml b/k8s/lifemonitor-web/templates/ingress.yaml index 2379f28..6766b81 100644 --- a/k8s/lifemonitor-web/templates/ingress.yaml +++ b/k8s/lifemonitor-web/templates/ingress.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + {{- $fullname := include "lifemonitor-web.fullname" . -}} {{- $newStyle := semverCompare ">=1.18.0" .Capabilities.KubeVersion.GitVersion -}} {{- if semverCompare ">=1.17-0" .Capabilities.KubeVersion.GitVersion }} diff --git a/k8s/lifemonitor-web/templates/monitoring.yaml b/k8s/lifemonitor-web/templates/monitoring.yaml index 70f2814..e8f5404 100644 --- a/k8s/lifemonitor-web/templates/monitoring.yaml +++ b/k8s/lifemonitor-web/templates/monitoring.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + {{- if .Values.monitoring.enabled -}} apiVersion: v1 kind: Service diff --git a/k8s/lifemonitor-web/templates/nginx.configmap.yml b/k8s/lifemonitor-web/templates/nginx.configmap.yml index 839aa16..ee89366 100644 --- a/k8s/lifemonitor-web/templates/nginx.configmap.yml +++ b/k8s/lifemonitor-web/templates/nginx.configmap.yml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + apiVersion: v1 kind: ConfigMap metadata: diff --git a/k8s/lifemonitor-web/templates/promtail.configmap.yaml b/k8s/lifemonitor-web/templates/promtail.configmap.yaml index 02ed4e8..be427eb 100644 --- a/k8s/lifemonitor-web/templates/promtail.configmap.yaml +++ b/k8s/lifemonitor-web/templates/promtail.configmap.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + {{- if .Values.monitoring.loki.enabled }} --- apiVersion: v1 diff --git a/k8s/lifemonitor-web/templates/service.yaml b/k8s/lifemonitor-web/templates/service.yaml index 5de764b..9832df2 100644 --- a/k8s/lifemonitor-web/templates/service.yaml +++ b/k8s/lifemonitor-web/templates/service.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + apiVersion: v1 kind: Service metadata: diff --git a/k8s/lifemonitor-web/templates/tests/test-connection.yaml b/k8s/lifemonitor-web/templates/tests/test-connection.yaml index f63f893..f8288d4 100644 --- a/k8s/lifemonitor-web/templates/tests/test-connection.yaml +++ b/k8s/lifemonitor-web/templates/tests/test-connection.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + apiVersion: v1 kind: Pod metadata: diff --git a/k8s/lifemonitor-web/values.yaml b/k8s/lifemonitor-web/values.yaml index c801840..1e77040 100644 --- a/k8s/lifemonitor-web/values.yaml +++ b/k8s/lifemonitor-web/values.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + # Default values for lifemonitor-web. # This is a YAML-formatted file. # Declare variables to be passed into your templates. diff --git a/k8s/values.yaml b/k8s/values.yaml index 4e11710..6a3e6ec 100644 --- a/k8s/values.yaml +++ b/k8s/values.yaml @@ -1,3 +1,24 @@ +# Copyright (c) 2020-2024 CRS4 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + # Default values for lifemonitor-web. # This is a YAML-formatted file. # Declare variables to be passed into your templates. diff --git a/karma.conf.js b/karma.conf.js index 5d31cf3..40a0d67 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + // Karma configuration file, see link for more information // https://karma-runner.github.io/1.0/config/configuration-file.html diff --git a/ng-lint-staged.js b/ng-lint-staged.js index 1bbccc9..ed61405 100644 --- a/ng-lint-staged.js +++ b/ng-lint-staged.js @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + const { exec } = require('child_process'); const cwd = process.cwd(); diff --git a/server.js b/server.js index bb4f8f2..e022e60 100644 --- a/server.js +++ b/server.js @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + const path = require('path'); const express = require('express'); diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 11d5d81..d578ee7 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import { NgModule, OnInit } from '@angular/core'; import { Router, RouterModule, Routes } from '@angular/router'; import { ToastrService } from 'ngx-toastr'; diff --git a/src/app/app.component.html b/src/app/app.component.html index 0680b43..1f4ec11 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1 +1,23 @@ + + diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 9aad2eb..81ff9b5 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import { TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { AppComponent } from './app.component'; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index f258e62..9f26a73 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import { Component, OnDestroy, OnInit } from '@angular/core'; import { SwUpdate, UpdateAvailableEvent } from '@angular/service-worker'; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 709eb2c..9a7ca52 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,3 +1,25 @@ +/* +Copyright (c) 2020-2024 CRS4 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import { registerLocaleData } from '@angular/common'; import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import localeEn from '@angular/common/locales/en'; diff --git a/src/app/components/app-button/app-button.component.html b/src/app/components/app-button/app-button.component.html index 0c14f93..0208779 100644 --- a/src/app/components/app-button/app-button.component.html +++ b/src/app/components/app-button/app-button.component.html @@ -1,3 +1,25 @@ + +