From 957e9f660c6351bde9d013fdc4dd8d4f90374479 Mon Sep 17 00:00:00 2001 From: Raido Kaju Date: Wed, 4 Dec 2024 14:17:04 +0200 Subject: [PATCH 01/12] chore: work around issue with large list causing recursion error in Vuetify radiobutton groups component --- .../AddServiceClientAccessRightsWizard.vue | 44 ++---- .../MemberOrGroupSelectionStep.vue | 128 ++++++++---------- 2 files changed, 68 insertions(+), 104 deletions(-) diff --git a/src/security-server/admin-service/ui/src/views/Clients/ServiceClients/AddServiceClientAccessRightsWizard.vue b/src/security-server/admin-service/ui/src/views/Clients/ServiceClients/AddServiceClientAccessRightsWizard.vue index 70d4d6e261..d70541774a 100644 --- a/src/security-server/admin-service/ui/src/views/Clients/ServiceClients/AddServiceClientAccessRightsWizard.vue +++ b/src/security-server/admin-service/ui/src/views/Clients/ServiceClients/AddServiceClientAccessRightsWizard.vue @@ -25,47 +25,29 @@ --> diff --git a/src/security-server/admin-service/ui/tests/unit/views/Clients/ServiceClients/MemberOrGroupSelectionStep.spec.ts b/src/security-server/admin-service/ui/tests/unit/views/Clients/ServiceClients/MemberOrGroupSelectionStep.spec.ts new file mode 100644 index 0000000000..3a4223f470 --- /dev/null +++ b/src/security-server/admin-service/ui/tests/unit/views/Clients/ServiceClients/MemberOrGroupSelectionStep.spec.ts @@ -0,0 +1,112 @@ +/* + * The MIT License + * Copyright (c) 2019- Nordic Institute for Interoperability Solutions (NIIS) + * Copyright (c) 2018 Estonian Information System Authority (RIA), + * Nordic Institute for Interoperability Solutions (NIIS), Population Register Centre (VRK) + * Copyright (c) 2015-2017 Estonian Information System Authority (RIA), Population Register Centre (VRK) + * + * 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 MemberOrGroupSelectionStep from '@/views/Clients/ServiceClients/MemberOrGroupSelectionStep.vue'; +import { mount } from '@vue/test-utils'; +import { createTestingPinia } from '@pinia/testing'; +import { describe, expect, it, vi } from 'vitest'; +import { createVuetify } from 'vuetify'; +import * as components from 'vuetify/components'; +import * as directives from 'vuetify/directives'; +import { XrdButton } from '@niis/shared-ui'; +import { ServiceClient } from '@/openapi-types'; + +// Large number here because that is what has caused issues in the past +const SERVICE_CLIENTS_COUNT = 2000; + +const serviceClients: ServiceClient[] = Array(SERVICE_CLIENTS_COUNT).fill(null).map((_, index) => ({ + id: `service-client-${index}`, + name: `Service Client ${index}`, + service: `service-${index}`, +})); + +vi.mock('@/util/api', () => ({ + get: vi.fn(() => Promise.resolve({ data: serviceClients })), + encodePathParameter: vi.fn((value: string) => value), +})); + +const vuetify = createVuetify({ + components, + directives, +}); + +global.ResizeObserver = require('resize-observer-polyfill'); + +const wrapper = mount(MemberOrGroupSelectionStep, { + props: { + id: 'member-or-group-selection-step', + serviceClients: [ + { + id: 'service-client-a', + name: 'Service Client-a', + service: 'service-a', + }, + { + id: 'service-client-b', + name: 'Service Client-b', + service: 'service-b', + }, + ], + }, + global: { + components: { + XrdButton, + }, + plugins: [createTestingPinia(), vuetify], + mocks: { + $t: (key: string) => key, + }, + }, +}); + +describe('MemberOrGroupSelectionStep', () => { + it('component renders', () => { + expect(wrapper.exists()).toBe(true); + }); + + it('all service client rows are rendered', () => { + const serviceClientElements = wrapper.find('.service-clients-table').findAll('tbody tr'); + expect(serviceClientElements.length).toBe(SERVICE_CLIENTS_COUNT); + }); + + it('selecting a service client emits the set-step event with the specific client', async () => { + const nextButton = wrapper.findAllComponents(XrdButton).find((button) => button.text() === 'action.next'); + expect(nextButton).not.toBeUndefined(); + + const selectedId = Math.floor(Math.random() * SERVICE_CLIENTS_COUNT); + + const serviceClientElements = wrapper.find('.service-clients-table').findAll('tbody tr'); + await serviceClientElements[selectedId].findComponent(components.VRadio).trigger('click'); + + expect(nextButton!.props().disabled).toBeFalsy(); + await nextButton!.trigger('click'); + + const emits = wrapper.getComponent(MemberOrGroupSelectionStep).emitted('set-step'); + expect(emits).toHaveLength(1); + const emit = emits![0][0] as ServiceClient; + expect(emit.id).toBe(serviceClients[selectedId].id); + }); + +}); From f6d0b5e65f21acde929bdac944bfc541f5c5af22 Mon Sep 17 00:00:00 2001 From: Raido Kaju Date: Thu, 5 Dec 2024 11:50:21 +0200 Subject: [PATCH 06/12] chore: include UI unit tests to Gradle test tasks goals --- src/security-server/admin-service/ui/package.json | 2 +- src/shared-ui/build.gradle | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/security-server/admin-service/ui/package.json b/src/security-server/admin-service/ui/package.json index 9036bca3b9..d35aad8531 100644 --- a/src/security-server/admin-service/ui/package.json +++ b/src/security-server/admin-service/ui/package.json @@ -8,7 +8,7 @@ "build": "pnpm run generate-types && vitest --run && vite build", "preview": "vite preview", "build-only": "vite build", - "test": "vitest", + "test": "vitest run", "type-check": "vue-tsc --noEmit -p tsconfig.json --composite false", "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", "generate-types": "rm -rf src/openapi-types && openapi --input ../../openapi-model/src/main/resources/META-INF/openapi-definition.yaml --output ./src/openapi-types --exportCore false --exportServices false", diff --git a/src/shared-ui/build.gradle b/src/shared-ui/build.gradle index 4a62be7458..c5ca5eeccc 100644 --- a/src/shared-ui/build.gradle +++ b/src/shared-ui/build.gradle @@ -31,6 +31,12 @@ tasks.register('checkFrontAudit', RunPnpmTaskType) { args = 'run npx-check-audit' } + +tasks.register('test', RunPnpmTaskType) { + dependsOn installFrontend + args = 'run test-ss' +} + if (project.hasProperty('frontend-npm-audit')) { assemble.dependsOn checkFrontAudit } From 3aad5e8758048cae3fe239d4b7f8872e9c6869b6 Mon Sep 17 00:00:00 2001 From: Eneli Reimets Date: Fri, 6 Dec 2024 11:21:41 +0200 Subject: [PATCH 07/12] docs: Add endpoint level statistics gathering support (#2465) * docs: Add endpoint level statistics gathering support Refs: XRDDEV-2786 * docs: minor fixes Refs: XRDDEV-2786 * docs: minor fix Refs: XRDDEV-2786 --- ...monitoring_daemon_architecture_Y-1096-1.md | 39 +++++++++++++++++-- ...perational_monitoring_protocol_Y-1096-2.md | 15 ++++++- ...rational_data_response_payload_schema.yaml | 20 +++++++--- 3 files changed, 63 insertions(+), 11 deletions(-) diff --git a/doc/OperationalMonitoring/Architecture/arc-opmond_x-road_operational_monitoring_daemon_architecture_Y-1096-1.md b/doc/OperationalMonitoring/Architecture/arc-opmond_x-road_operational_monitoring_daemon_architecture_Y-1096-1.md index 6916b11b07..c4d62946fb 100644 --- a/doc/OperationalMonitoring/Architecture/arc-opmond_x-road_operational_monitoring_daemon_architecture_Y-1096-1.md +++ b/doc/OperationalMonitoring/Architecture/arc-opmond_x-road_operational_monitoring_daemon_architecture_Y-1096-1.md @@ -1,6 +1,6 @@ # X-Road: Operational Monitoring Daemon Architecture -Version: 1.3 +Version: 1.4 Document ID: ARC-OPMOND | Date | Version | Description | Author | @@ -14,6 +14,7 @@ Document ID: ARC-OPMOND | 25.06.2020 | 1.1 | Update section 3.3 with the instructions how to enable JMX | Petteri Kivimäki | | 01.06.2023 | 1.2 | Update references | Petteri Kivimäki | | 02.10.2024 | 1.3 | Update schema file locations | Justas Samuolis | +| 05.12.2024 | 1.4 | Add endpoint level statistics gathering support | Eneli Reimets | ## Table of Contents @@ -49,7 +50,7 @@ This document is licensed under the Creative Commons Attribution-ShareAlike 3.0 ## 1 Introduction -The X-Road monitoring solution is conceptually split into two parts: environmental and operational monitoring. The operational monitoring processes operational statistics (such as which services have been called, how many times, what was the size of the response, etc.) of the security servers. +The X-Road monitoring solution is conceptually split into two parts: environmental and operational monitoring. The operational monitoring processes operational statistics (such as which services or endpoints have been called, how many times, what was the size of the response, etc.) of the security servers. This document describes the architecture of the X-Road operational monitoring daemon. It presents an overview of the components of the monitoring daemon and its interfaces. @@ -169,7 +170,7 @@ The schema is located in the file *src/op-monitor-daemon/core/src/main/resources ### A.2 Example Store Operational Monitoring Data Request -The first record of the store request reflects successfully mediated request, the second one unsuccessfully mediated request. +The first record of the store request reflects successfully mediated SOAP request, the second one successfully mediated REST request and the third one unsuccessfully mediated request. ```json { @@ -206,6 +207,38 @@ The first record of the store request reflects successfully mediated request, th "xRequestId": "d4490e7f-305e-44c3-b869-beaaeda694e7", "serviceType": "WSDL" }, + { + "monitoringDataTs": 1733404603, + "securityServerInternalIp": "fd42:2642:2cb3:31ac:216:3eff:fedf:85c%eth0", + "securityServerType": "Client", + "requestInTs": 1733404602876, + "requestOutTs": 1733404602884, + "responseInTs": 1733404602970, + "responseOutTs": 1733404603005, + "clientXRoadInstance": "FI", + "clientMemberClass": "COM", + "clientMemberCode": "111", + "clientSubsystemCode": "CLIENT", + "serviceXRoadInstance": "FI", + "serviceMemberClass": "COM", + "serviceMemberCode": "111", + "serviceSubsystemCode": "SERVICE", + "serviceCode": "pets", + "restMethod": "GET", + "restPath": "/cat", + "messageId": "1234", + "messageProtocolVersion": "1", + "clientSecurityServerAddress": "ss1", + "serviceSecurityServerAddress": "ss1", + "requestSize": 214, + "responseSize": 462, + "requestAttachmentCount": 0, + "responseAttachmentCount": 0, + "succeeded": true, + "statusCode": 200, + "xRequestId": "1244d018-9300-4f1b-8c2b-9b7f2bc4e933", + "serviceType": "REST" + }, { "monitoringDataTs": 1576134508, "securityServerInternalIp": "fd42:2642:2cb3:31ac:216:3eff:fedf:85c%eth0", diff --git a/doc/OperationalMonitoring/Protocols/pr-opmon_x-road_operational_monitoring_protocol_Y-1096-2.md b/doc/OperationalMonitoring/Protocols/pr-opmon_x-road_operational_monitoring_protocol_Y-1096-2.md index ac200085ce..fc65544354 100644 --- a/doc/OperationalMonitoring/Protocols/pr-opmon_x-road_operational_monitoring_protocol_Y-1096-2.md +++ b/doc/OperationalMonitoring/Protocols/pr-opmon_x-road_operational_monitoring_protocol_Y-1096-2.md @@ -2,7 +2,7 @@ **Technical Specification** -Version: 1.3 +Version: 1.4 Doc. ID: PR-OPMON | Date | Version | Description | Author | @@ -17,6 +17,7 @@ Doc. ID: PR-OPMON | 10.05.2023 | 1.1 | Security Categories removed. | Justas Samuolis | | 01.06.2023 | 1.2 | Update references | Petteri Kivimäki | | 02.10.2024 | 1.3 | Update schema file locations | Justas Samuolis | +| 05.12.2024 | 1.4 | Add endpoint level statistics gathering support | Eneli Reimets | ## Table of Contents @@ -45,7 +46,7 @@ This document is licensed under the Creative Commons Attribution-ShareAlike 3.0 # 1 Introduction -This specification describes services that can be used by X-Road participants to gather operational monitoring information of the security servers. The operational monitoring information contains data about request exchange (such as which services have been called, how many times, what was the size of the response, etc.) of the security servers. The X-Road operational monitoring protocol is intended to support external monitoring systems and other software that can monitor service level agreements, make service statistics, etc. +This specification describes services that can be used by X-Road participants to gather operational monitoring information of the security servers. The operational monitoring information contains data about request exchange (such as which services or endpoints have been called, how many times, what was the size of the response, etc.) of the security servers. The X-Road operational monitoring protocol is intended to support external monitoring systems and other software that can monitor service level agreements, make service statistics, etc. The operational monitoring services are the following: * *getSecurityServerOperationalData* - downloading operational data of the specified time period of the security server. @@ -105,6 +106,8 @@ The body of the request MUST contain an XML element *getSecurityServerOperationa * *serviceMemberCode* * *serviceSubsystemCode* * *serviceCode* + * *restMethod* + * *restPath* * *serviceVersion* * *representedPartyClass* * *representedPartyCode* @@ -1028,6 +1031,14 @@ properties: description: Code of the service type: string maxLength: 255 + restMethod: + description: Method of the rest + type: string + maxLength: 255 + restPath: + description: Path of the rest + type: string + maxLength: 255 serviceVersion: description: Version of the service type: string diff --git a/src/op-monitor-daemon/core/src/main/resources/query_operational_data_response_payload_schema.yaml b/src/op-monitor-daemon/core/src/main/resources/query_operational_data_response_payload_schema.yaml index 18b47c3baa..be6b67ec2e 100644 --- a/src/op-monitor-daemon/core/src/main/resources/query_operational_data_response_payload_schema.yaml +++ b/src/op-monitor-daemon/core/src/main/resources/query_operational_data_response_payload_schema.yaml @@ -20,8 +20,8 @@ properties: description: Type of the security server type: string enum: - - Client - - Producer + - Client + - Producer requestInTs: description: 'In the client''s security server: the Unix timestamp in milliseconds when the request was received by the client''s security server. In the service provider''s security server: the Unix timestamp in milliseconds when the request was received by the service provider''s security server. In both cases, the timestamp is taken just before received payload byte array is decoded and processed' type: integer @@ -74,6 +74,14 @@ properties: description: Code of the service type: string maxLength: 255 + restMethod: + description: Method of the rest + type: string + maxLength: 255 + restPath: + description: Path of the rest + type: string + maxLength: 255 serviceVersion: description: Version of the service type: string @@ -150,8 +158,8 @@ properties: type: integer minimum: 0 serviceType: - description: Type of the service WSDL, REST or OPENAPI3 - type: string - minimum: 0 + description: Type of the service WSDL, REST or OPENAPI3 + type: string + minimum: 0 required: -- records + - records From 1d0b2ed9df2432c33b526311807826f409393ce6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 09:54:39 +0000 Subject: [PATCH 08/12] chore(deps): bump the javascript-minor-patch group (#2469) --- src/package.json | 10 +- src/pnpm-lock.yaml | 865 ++++++++++++------ .../admin-service/ui/package.json | 4 +- src/shared-ui/package.json | 6 +- 4 files changed, 590 insertions(+), 295 deletions(-) diff --git a/src/package.json b/src/package.json index 899055f8ee..0fe8a166f8 100644 --- a/src/package.json +++ b/src/package.json @@ -11,7 +11,7 @@ "npx-check-audit": "pnpm run prepReportDirs && pnpm dlx audit-ci@^7 --config shared-ui/audit-ci-shared.json >build/reports/audit-ci.txt" }, "devDependencies": { - "@intlify/eslint-plugin-vue-i18n": "^3.1.0", + "@intlify/eslint-plugin-vue-i18n": "^3.2.0", "@rushstack/eslint-patch": "^1.10.4", "@tsconfig/node18": "^18.2.4", "@types/node": "^22.10.1", @@ -30,13 +30,13 @@ "mkdirp": "^3.0.1", "openapi-typescript-codegen": "^0.29.0", "path": "^0.12.7", - "prettier": "^3.4.1", + "prettier": "^3.4.2", "resize-observer-polyfill": "^1.5.1", - "sass": "^1.81.0", + "sass": "^1.82.0", "typescript": "~5.7.2", - "vite": "^6.0.2", + "vite": "^6.0.3", "vite-plugin-vuetify": "^2.0.4", - "vitest": "^2.1.6", + "vitest": "^2.1.8", "vue-eslint-parser": "^9.4.3", "vue-i18n": "^10.0.5", "vue-tsc": "^2.1.10" diff --git a/src/pnpm-lock.yaml b/src/pnpm-lock.yaml index f12379cfdd..bd5d682d27 100644 --- a/src/pnpm-lock.yaml +++ b/src/pnpm-lock.yaml @@ -13,8 +13,8 @@ importers: .: devDependencies: '@intlify/eslint-plugin-vue-i18n': - specifier: ^3.1.0 - version: 3.1.0(eslint@8.57.1) + specifier: ^3.2.0 + version: 3.2.0(eslint@8.57.1) '@rushstack/eslint-patch': specifier: ^1.10.4 version: 1.10.4 @@ -26,13 +26,13 @@ importers: version: 22.10.1 '@vitejs/plugin-basic-ssl': specifier: ^1.2.0 - version: 1.2.0(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1)) + version: 1.2.0(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1)) '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vue/eslint-config-prettier': specifier: ^10.1.0 - version: 10.1.0(eslint@8.57.1)(prettier@3.4.1) + version: 10.1.0(eslint@8.57.1)(prettier@3.4.2) '@vue/eslint-config-typescript': specifier: ^13.0.0 version: 13.0.0(eslint-plugin-vue@9.32.0(eslint@8.57.1))(eslint@8.57.1)(typescript@5.7.2) @@ -47,13 +47,13 @@ importers: version: 9.1.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.1) + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2) eslint-plugin-vue: specifier: ^9.32.0 version: 9.32.0(eslint@8.57.1) eslint-plugin-vuetify: specifier: ^2.5.1 - version: 2.5.1(eslint@8.57.1)(vuetify@3.7.4) + version: 2.5.1(eslint@8.57.1)(vuetify@3.7.5) happy-dom: specifier: ^15.11.7 version: 15.11.7 @@ -70,26 +70,26 @@ importers: specifier: ^0.12.7 version: 0.12.7 prettier: - specifier: ^3.4.1 - version: 3.4.1 + specifier: ^3.4.2 + version: 3.4.2 resize-observer-polyfill: specifier: ^1.5.1 version: 1.5.1 sass: - specifier: ^1.81.0 - version: 1.81.0 + specifier: ^1.82.0 + version: 1.82.0 typescript: specifier: ~5.7.2 version: 5.7.2 vite: - specifier: ^6.0.2 - version: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + specifier: ^6.0.3 + version: 6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1) vite-plugin-vuetify: specifier: ^2.0.4 - version: 2.0.4(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.4) + version: 2.0.4(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.5) vitest: - specifier: ^2.1.6 - version: 2.1.6(@types/node@22.10.1)(happy-dom@15.11.7)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + specifier: ^2.1.8 + version: 2.1.8(@types/node@22.10.1)(happy-dom@15.11.7)(sass@1.82.0)(stylus@0.57.0) vue-eslint-parser: specifier: ^9.4.3 version: 9.4.3(eslint@8.57.1) @@ -124,13 +124,13 @@ importers: devDependencies: '@pinia/testing': specifier: ^0.1.7 - version: 0.1.7(pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) + version: 0.1.7(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) '@typescript-eslint/eslint-plugin': - specifier: ~8.16.0 - version: 8.16.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + specifier: ~8.17.0 + version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/parser': - specifier: ~8.16.0 - version: 8.16.0(eslint@8.57.1)(typescript@5.7.2) + specifier: ~8.17.0 + version: 8.17.0(eslint@8.57.1)(typescript@5.7.2) '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 @@ -156,8 +156,8 @@ importers: specifier: ~4.14.7 version: 4.14.7(vue@3.5.13(typescript@5.7.2)) axios: - specifier: ~1.7.8 - version: 1.7.8 + specifier: ~1.7.9 + version: 1.7.9 dayjs: specifier: ^1.11.12 version: 1.11.13 @@ -165,11 +165,11 @@ importers: specifier: ^4.3.1 version: 4.3.1 pinia: - specifier: ^2.2.8 - version: 2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) + specifier: ^2.3.0 + version: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) pinia-plugin-persistedstate: specifier: ^4.1.3 - version: 4.1.3(pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.28.0) + version: 4.1.3(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.28.1) vee-validate: specifier: ^4.14.7 version: 4.14.7(vue@3.5.13(typescript@5.7.2)) @@ -183,8 +183,8 @@ importers: specifier: ^4.5.0 version: 4.5.0(vue@3.5.13(typescript@5.7.2)) vuetify: - specifier: 3.7.4 - version: 3.7.4(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) + specifier: 3.7.5 + version: 3.7.5(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) packages: @@ -300,108 +300,216 @@ packages: resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} engines: {node: '>=6.9.0'} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.24.0': resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.24.0': resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.24.0': resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.24.0': resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.24.0': resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.24.0': resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.24.0': resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.24.0': resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.24.0': resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.24.0': resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.24.0': resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.24.0': resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.24.0': resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.24.0': resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.24.0': resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.24.0': resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.24.0': resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.24.0': resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} engines: {node: '>=18'} @@ -414,30 +522,60 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.24.0': resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.24.0': resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.24.0': resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.24.0': resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.24.0': resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} engines: {node: '>=18'} @@ -496,8 +634,8 @@ packages: resolution: {integrity: sha512-DZyQ4Hk22sC81MP4qiCDuU+LdaYW91A6lCjq8AWPvY3+mGMzhGDfOCzvyR6YBQxtlPjFqMoFk9ylnNYRAQwXtQ==} engines: {node: '>= 16'} - '@intlify/eslint-plugin-vue-i18n@3.1.0': - resolution: {integrity: sha512-X9EhEu7KHFUsbTteVYQn0BCPCh0udrC/KEukn5LWkkiZGY5jGtdLrxwUNIZudKGoXJOOxDfdEBPBnstm4QWVaQ==} + '@intlify/eslint-plugin-vue-i18n@3.2.0': + resolution: {integrity: sha512-TOIrD4tJE48WMyVIB8bNeQJJPYo1Prpqnm9Xpn1UZmcqlELhm8hmP8QyJnkgesfbG7hyiX/kvo63W7ClEQmhpg==} engines: {node: '>=18.0.0'} peerDependencies: eslint: ^8.0.0 || ^9.0.0-0 @@ -673,93 +811,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.28.0': - resolution: {integrity: sha512-wLJuPLT6grGZsy34g4N1yRfYeouklTgPhH1gWXCYspenKYD0s3cR99ZevOGw5BexMNywkbV3UkjADisozBmpPQ==} + '@rollup/rollup-android-arm-eabi@4.28.1': + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.28.0': - resolution: {integrity: sha512-eiNkznlo0dLmVG/6wf+Ifi/v78G4d4QxRhuUl+s8EWZpDewgk7PX3ZyECUXU0Zq/Ca+8nU8cQpNC4Xgn2gFNDA==} + '@rollup/rollup-android-arm64@4.28.1': + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.28.0': - resolution: {integrity: sha512-lmKx9yHsppblnLQZOGxdO66gT77bvdBtr/0P+TPOseowE7D9AJoBw8ZDULRasXRWf1Z86/gcOdpBrV6VDUY36Q==} + '@rollup/rollup-darwin-arm64@4.28.1': + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.28.0': - resolution: {integrity: sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==} + '@rollup/rollup-darwin-x64@4.28.1': + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.28.0': - resolution: {integrity: sha512-lA1zZB3bFx5oxu9fYud4+g1mt+lYXCoch0M0V/xhqLoGatbzVse0wlSQ1UYOWKpuSu3gyN4qEc0Dxf/DII1bhQ==} + '@rollup/rollup-freebsd-arm64@4.28.1': + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.28.0': - resolution: {integrity: sha512-aI2plavbUDjCQB/sRbeUZWX9qp12GfYkYSJOrdYTL/C5D53bsE2/nBPuoiJKoWp5SN78v2Vr8ZPnB+/VbQ2pFA==} + '@rollup/rollup-freebsd-x64@4.28.1': + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.28.0': - resolution: {integrity: sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==} + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.28.0': - resolution: {integrity: sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==} + '@rollup/rollup-linux-arm-musleabihf@4.28.1': + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.28.0': - resolution: {integrity: sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==} + '@rollup/rollup-linux-arm64-gnu@4.28.1': + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.28.0': - resolution: {integrity: sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==} + '@rollup/rollup-linux-arm64-musl@4.28.1': + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.28.0': - resolution: {integrity: sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.28.0': - resolution: {integrity: sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==} + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.28.0': - resolution: {integrity: sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==} + '@rollup/rollup-linux-s390x-gnu@4.28.1': + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.28.0': - resolution: {integrity: sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==} + '@rollup/rollup-linux-x64-gnu@4.28.1': + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.28.0': - resolution: {integrity: sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==} + '@rollup/rollup-linux-x64-musl@4.28.1': + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.28.0': - resolution: {integrity: sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==} + '@rollup/rollup-win32-arm64-msvc@4.28.1': + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.28.0': - resolution: {integrity: sha512-kN/Vpip8emMLn/eOza+4JwqDZBL6MPNpkdaEsgUtW1NYN3DZvZqSQrbKzJcTL6hd8YNmFTn7XGWMwccOcJBL0A==} + '@rollup/rollup-win32-ia32-msvc@4.28.1': + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.28.0': - resolution: {integrity: sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==} + '@rollup/rollup-win32-x64-msvc@4.28.1': + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} cpu: [x64] os: [win32] @@ -799,8 +942,8 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.16.0': - resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==} + '@typescript-eslint/eslint-plugin@8.17.0': + resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -820,8 +963,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.16.0': - resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==} + '@typescript-eslint/parser@8.17.0': + resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -834,8 +977,8 @@ packages: resolution: {integrity: sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.16.0': - resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==} + '@typescript-eslint/scope-manager@8.17.0': + resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.17.0': @@ -848,8 +991,8 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.16.0': - resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==} + '@typescript-eslint/type-utils@8.17.0': + resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -862,8 +1005,8 @@ packages: resolution: {integrity: sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.16.0': - resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==} + '@typescript-eslint/types@8.17.0': + resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.17.0': @@ -875,8 +1018,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.16.0': - resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==} + '@typescript-eslint/typescript-estree@8.17.0': + resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -890,8 +1033,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.16.0': - resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==} + '@typescript-eslint/utils@8.17.0': + resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -904,8 +1047,8 @@ packages: resolution: {integrity: sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.16.0': - resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} + '@typescript-eslint/visitor-keys@8.17.0': + resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -930,34 +1073,34 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@vitest/expect@2.1.6': - resolution: {integrity: sha512-9M1UR9CAmrhJOMoSwVnPh2rELPKhYo0m/CSgqw9PyStpxtkwhmdM6XYlXGKeYyERY1N6EIuzkQ7e3Lm1WKCoUg==} + '@vitest/expect@2.1.8': + resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} - '@vitest/mocker@2.1.6': - resolution: {integrity: sha512-MHZp2Z+Q/A3am5oD4WSH04f9B0T7UvwEb+v5W0kCYMhtXGYbdyl2NUk1wdSMqGthmhpiThPDp/hEoVwu16+u1A==} + '@vitest/mocker@2.1.8': + resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 + vite: ^5.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@2.1.6': - resolution: {integrity: sha512-exZyLcEnHgDMKc54TtHca4McV4sKT+NKAe9ix/yhd/qkYb/TP8HTyXRFDijV19qKqTZM0hPL4753zU/U8L/gAA==} + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} - '@vitest/runner@2.1.6': - resolution: {integrity: sha512-SjkRGSFyrA82m5nz7To4CkRSEVWn/rwQISHoia/DB8c6IHIhaE/UNAo+7UfeaeJRE979XceGl00LNkIz09RFsA==} + '@vitest/runner@2.1.8': + resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} - '@vitest/snapshot@2.1.6': - resolution: {integrity: sha512-5JTWHw8iS9l3v4/VSuthCndw1lN/hpPB+mlgn1BUhFbobeIUj1J1V/Bj2t2ovGEmkXLTckFjQddsxS5T6LuVWw==} + '@vitest/snapshot@2.1.8': + resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} - '@vitest/spy@2.1.6': - resolution: {integrity: sha512-oTFObV8bd4SDdRka5O+mSh5w9irgx5IetrD5i+OsUUsk/shsBoHifwCzy45SAORzAhtNiprUVaK3hSCCzZh1jQ==} + '@vitest/spy@2.1.8': + resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} - '@vitest/utils@2.1.6': - resolution: {integrity: sha512-ixNkFy3k4vokOUTU2blIUvOgKq/N2PW8vKIjZZYsGJCMX69MRa9J2sKqX5hY/k5O5Gty3YJChepkqZ3KM9LyIQ==} + '@vitest/utils@2.1.8': + resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} '@volar/language-core@2.4.10': resolution: {integrity: sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==} @@ -1143,8 +1286,8 @@ packages: engines: {node: '>= 4.5.0'} hasBin: true - axios@1.7.8: - resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1345,6 +1488,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -1421,6 +1573,11 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.24.0: resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} engines: {node: '>=18'} @@ -1683,8 +1840,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.12.0: - resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} + globals@15.13.0: + resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} globby@10.0.2: @@ -1748,8 +1905,8 @@ packages: resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} engines: {node: '>= 4'} - immutable@5.0.2: - resolution: {integrity: sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==} + immutable@5.0.3: + resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -2187,15 +2344,12 @@ packages: pinia: optional: true - pinia@2.2.8: - resolution: {integrity: sha512-NRTYy2g+kju5tBRe0oNlriZIbMNvma8ZJrpHsp3qudyiMEA8jMmPPKQ2QMHg0Oc4BkUyQYWagACabrwriCK9HQ==} + pinia@2.3.0: + resolution: {integrity: sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==} peerDependencies: - '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.5.11 + vue: ^2.7.0 || ^3.5.11 peerDependenciesMeta: - '@vue/composition-api': - optional: true typescript: optional: true @@ -2234,8 +2388,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier@3.4.1: - resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true @@ -2304,8 +2458,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup@4.28.0: - resolution: {integrity: sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==} + rollup@4.28.1: + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2315,8 +2469,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.81.0: - resolution: {integrity: sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==} + sass@1.82.0: + resolution: {integrity: sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -2589,9 +2743,9 @@ packages: peerDependencies: vue: ^3.4.26 - vite-node@2.1.6: - resolution: {integrity: sha512-DBfJY0n9JUwnyLxPSSUmEePT21j8JZp/sR9n+/gBwQU6DcQOioPdb8/pibWfXForbirSagZCilseYIwaL3f95A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite-node@2.1.8: + resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true vite-plugin-vuetify@2.0.4: @@ -2602,8 +2756,39 @@ packages: vue: ^3.0.0 vuetify: ^3.0.0 - vite@6.0.2: - resolution: {integrity: sha512-XdQ+VsY2tJpBsKGs0wf3U/+azx8BBpYRHFAyKm5VeEZNOJZRB63q7Sc8Iup3k0TrN3KO6QgyzFf+opSbfY1y0g==} + vite@5.4.11: + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vite@6.0.3: + resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -2642,15 +2827,15 @@ packages: yaml: optional: true - vitest@2.1.6: - resolution: {integrity: sha512-isUCkvPL30J4c5O5hgONeFRsDmlw6kzFEdLQHLezmDdKQHy8Ke/B/dgdTMEgU0vm+iZ0TjW8GuK83DiahBoKWQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@2.1.8: + resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 2.1.6 - '@vitest/ui': 2.1.6 + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.8 + '@vitest/ui': 2.1.8 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2715,8 +2900,8 @@ packages: typescript: optional: true - vuetify@3.7.4: - resolution: {integrity: sha512-Y8UU5wUDQXC3oz2uumPb8IOdvB4XMCxtxnmqdOc+LihNuPlkSgxIwf92ndRzbOtJFKHsggFUxpyLqpQp+A+5kg==} + vuetify@3.7.5: + resolution: {integrity: sha512-5aiSz8WJyGzYe3yfgDbzxsFATwHvKtdvFAaUJEDTx7xRv55s3YiOho/MFhs5iTbmh2VT4ToRgP0imBUP660UOw==} engines: {node: ^12.20 || >=14.13} peerDependencies: typescript: '>=4.7' @@ -2882,7 +3067,7 @@ snapshots: '@babel/traverse': 7.25.6 '@babel/types': 7.25.8 convert-source-map: 2.0.0 - debug: 4.3.7 + debug: 4.4.0 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 7.6.3 @@ -2969,7 +3154,7 @@ snapshots: '@babel/parser': 7.25.8 '@babel/template': 7.25.0 '@babel/types': 7.25.8 - debug: 4.3.7 + debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -2980,75 +3165,144 @@ snapshots: '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.24.0': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.24.0': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.24.0': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.24.0': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.24.0': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.24.0': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.24.0': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.24.0': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.24.0': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.24.0': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.24.0': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.24.0': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.24.0': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.24.0': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.24.0': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.24.0': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.24.0': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.24.0': optional: true '@esbuild/openbsd-arm64@0.24.0': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.24.0': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.24.0': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.24.0': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.24.0': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.24.0': optional: true @@ -3067,7 +3321,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.7 + debug: 4.4.0 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -3081,7 +3335,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.7 + debug: 4.4.0 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -3099,7 +3353,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3118,16 +3372,16 @@ snapshots: '@intlify/message-compiler': 9.14.2 '@intlify/shared': 9.14.2 - '@intlify/eslint-plugin-vue-i18n@3.1.0(eslint@8.57.1)': + '@intlify/eslint-plugin-vue-i18n@3.2.0(eslint@8.57.1)': dependencies: '@eslint/eslintrc': 3.2.0 '@intlify/core-base': 9.14.2 '@intlify/message-compiler': 9.14.2 - debug: 4.3.7 + debug: 4.4.0 eslint: 8.57.1 eslint-compat-utils: 0.6.4(eslint@8.57.1) glob: 10.4.5 - globals: 15.12.0 + globals: 15.13.0 ignore: 6.0.2 import-fresh: 3.3.0 is-language-code: 3.1.0 @@ -3199,9 +3453,9 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.16.0 - '@nuxt/kit@3.13.2(rollup@4.28.0)': + '@nuxt/kit@3.13.2(rollup@4.28.1)': dependencies: - '@nuxt/schema': 3.13.2(rollup@4.28.0) + '@nuxt/schema': 3.13.2(rollup@4.28.1) c12: 1.11.2 consola: 3.2.3 defu: 6.1.4 @@ -3219,7 +3473,7 @@ snapshots: semver: 7.6.3 ufo: 1.5.4 unctx: 2.3.1 - unimport: 3.12.0(rollup@4.28.0) + unimport: 3.12.0(rollup@4.28.1) untyped: 1.4.2 transitivePeerDependencies: - magicast @@ -3227,7 +3481,7 @@ snapshots: - supports-color - webpack-sources - '@nuxt/schema@3.13.2(rollup@4.28.0)': + '@nuxt/schema@3.13.2(rollup@4.28.1)': dependencies: compatx: 0.1.8 consola: 3.2.3 @@ -3239,7 +3493,7 @@ snapshots: std-env: 3.8.0 ufo: 1.5.4 uncrypto: 0.1.3 - unimport: 3.12.0(rollup@4.28.0) + unimport: 3.12.0(rollup@4.28.1) untyped: 1.4.2 transitivePeerDependencies: - rollup @@ -3309,9 +3563,9 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.0 optional: true - '@pinia/testing@0.1.7(pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': + '@pinia/testing@0.1.7(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': dependencies: - pinia: 2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) + pinia: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2)) transitivePeerDependencies: - '@vue/composition-api' @@ -3322,66 +3576,69 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/pluginutils@5.1.1(rollup@4.28.0)': + '@rollup/pluginutils@5.1.1(rollup@4.28.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.28.0 + rollup: 4.28.1 + + '@rollup/rollup-android-arm-eabi@4.28.1': + optional: true - '@rollup/rollup-android-arm-eabi@4.28.0': + '@rollup/rollup-android-arm64@4.28.1': optional: true - '@rollup/rollup-android-arm64@4.28.0': + '@rollup/rollup-darwin-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-arm64@4.28.0': + '@rollup/rollup-darwin-x64@4.28.1': optional: true - '@rollup/rollup-darwin-x64@4.28.0': + '@rollup/rollup-freebsd-arm64@4.28.1': optional: true - '@rollup/rollup-freebsd-arm64@4.28.0': + '@rollup/rollup-freebsd-x64@4.28.1': optional: true - '@rollup/rollup-freebsd-x64@4.28.0': + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.28.0': + '@rollup/rollup-linux-arm-musleabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.28.0': + '@rollup/rollup-linux-arm64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.28.0': + '@rollup/rollup-linux-arm64-musl@4.28.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.28.0': + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.28.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.28.0': + '@rollup/rollup-linux-riscv64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.28.0': + '@rollup/rollup-linux-s390x-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.28.0': + '@rollup/rollup-linux-x64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-musl@4.28.0': + '@rollup/rollup-linux-x64-musl@4.28.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.28.0': + '@rollup/rollup-win32-arm64-msvc@4.28.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.28.0': + '@rollup/rollup-win32-ia32-msvc@4.28.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.28.0': + '@rollup/rollup-win32-x64-msvc@4.28.1': optional: true '@rushstack/eslint-patch@1.10.4': {} @@ -3423,14 +3680,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.16.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/parser': 8.17.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/type-utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 @@ -3447,20 +3704,20 @@ snapshots: '@typescript-eslint/types': 7.17.0 '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.17.0 - debug: 4.3.7 + debug: 4.4.0 eslint: 8.57.1 optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 - debug: 4.3.7 + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 + debug: 4.4.0 eslint: 8.57.1 optionalDependencies: typescript: 5.7.2 @@ -3472,16 +3729,16 @@ snapshots: '@typescript-eslint/types': 7.17.0 '@typescript-eslint/visitor-keys': 7.17.0 - '@typescript-eslint/scope-manager@8.16.0': + '@typescript-eslint/scope-manager@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 '@typescript-eslint/type-utils@7.17.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.7.2) '@typescript-eslint/utils': 7.17.0(eslint@8.57.1)(typescript@5.7.2) - debug: 4.3.7 + debug: 4.4.0 eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: @@ -3489,11 +3746,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.16.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.17.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@8.57.1)(typescript@5.7.2) - debug: 4.3.7 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) + debug: 4.4.0 eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: @@ -3503,13 +3760,13 @@ snapshots: '@typescript-eslint/types@7.17.0': {} - '@typescript-eslint/types@8.16.0': {} + '@typescript-eslint/types@8.17.0': {} '@typescript-eslint/typescript-estree@7.17.0(typescript@5.7.2)': dependencies: '@typescript-eslint/types': 7.17.0 '@typescript-eslint/visitor-keys': 7.17.0 - debug: 4.3.7 + debug: 4.4.0 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3520,11 +3777,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 - debug: 4.3.7 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 + debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3546,12 +3803,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.16.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/utils@8.17.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) eslint: 8.57.1 optionalDependencies: typescript: 5.7.2 @@ -3563,9 +3820,9 @@ snapshots: '@typescript-eslint/types': 7.17.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.16.0': + '@typescript-eslint/visitor-keys@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.0': {} @@ -3578,52 +3835,52 @@ snapshots: transitivePeerDependencies: - vue - '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))': + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1))': dependencies: - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1) - '@vitejs/plugin-vue@5.2.1(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) - '@vitest/expect@2.1.6': + '@vitest/expect@2.1.8': dependencies: - '@vitest/spy': 2.1.6 - '@vitest/utils': 2.1.6 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.6(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0))': dependencies: - '@vitest/spy': 2.1.6 + '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.14 optionalDependencies: - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + vite: 5.4.11(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0) - '@vitest/pretty-format@2.1.6': + '@vitest/pretty-format@2.1.8': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.6': + '@vitest/runner@2.1.8': dependencies: - '@vitest/utils': 2.1.6 + '@vitest/utils': 2.1.8 pathe: 1.1.2 - '@vitest/snapshot@2.1.6': + '@vitest/snapshot@2.1.8': dependencies: - '@vitest/pretty-format': 2.1.6 + '@vitest/pretty-format': 2.1.8 magic-string: 0.30.14 pathe: 1.1.2 - '@vitest/spy@2.1.6': + '@vitest/spy@2.1.8': dependencies: tinyspy: 3.0.2 - '@vitest/utils@2.1.6': + '@vitest/utils@2.1.8': dependencies: - '@vitest/pretty-format': 2.1.6 + '@vitest/pretty-format': 2.1.8 loupe: 3.1.2 tinyrainbow: 1.2.0 @@ -3694,12 +3951,12 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/eslint-config-prettier@10.1.0(eslint@8.57.1)(prettier@3.4.1)': + '@vue/eslint-config-prettier@10.1.0(eslint@8.57.1)(prettier@3.4.2)': dependencies: eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.1) - prettier: 3.4.1 + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2) + prettier: 3.4.2 transitivePeerDependencies: - '@types/eslint' @@ -3762,11 +4019,11 @@ snapshots: typescript: 5.7.2 vue: 3.5.13(typescript@5.7.2) - '@vuetify/loader-shared@2.0.3(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.4)': + '@vuetify/loader-shared@2.0.3(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.5)': dependencies: upath: 2.0.1 vue: 3.5.13(typescript@5.7.2) - vuetify: 3.7.4(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) + vuetify: 3.7.5(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) abbrev@2.0.0: {} @@ -3837,7 +4094,7 @@ snapshots: atob@2.1.2: {} - axios@1.7.8: + axios@1.7.9: dependencies: follow-redirects: 1.15.6 form-data: 4.0.0 @@ -4032,6 +4289,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decamelize@1.2.0: {} decode-uri-component@0.2.2: {} @@ -4084,6 +4345,32 @@ snapshots: es-module-lexer@1.5.4: {} + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.24.0: optionalDependencies: '@esbuild/aix-ppc64': 0.24.0 @@ -4128,10 +4415,10 @@ snapshots: dependencies: eslint: 8.57.1 - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.1): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2): dependencies: eslint: 8.57.1 - prettier: 3.4.1 + prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: @@ -4166,12 +4453,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vuetify@2.5.1(eslint@8.57.1)(vuetify@3.7.4): + eslint-plugin-vuetify@2.5.1(eslint@8.57.1)(vuetify@3.7.5): dependencies: eslint: 8.57.1 eslint-plugin-vue: 9.32.0(eslint@8.57.1) requireindex: 1.2.0 - vuetify: 3.7.4(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) + vuetify: 3.7.5(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) transitivePeerDependencies: - supports-color @@ -4412,7 +4699,7 @@ snapshots: globals@14.0.0: {} - globals@15.12.0: {} + globals@15.13.0: {} globby@10.0.2: dependencies: @@ -4480,7 +4767,7 @@ snapshots: ignore@6.0.2: {} - immutable@5.0.2: {} + immutable@5.0.3: {} import-fresh@3.3.0: dependencies: @@ -4852,27 +5139,29 @@ snapshots: picomatch@2.3.1: {} - pinia-plugin-persistedstate@4.1.3(pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.28.0): + pinia-plugin-persistedstate@4.1.3(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.28.1): dependencies: - '@nuxt/kit': 3.13.2(rollup@4.28.0) + '@nuxt/kit': 3.13.2(rollup@4.28.1) deep-pick-omit: 1.2.1 defu: 6.1.4 destr: 2.0.3 optionalDependencies: - pinia: 2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) + pinia: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) transitivePeerDependencies: - magicast - rollup - supports-color - webpack-sources - pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)): + pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)): dependencies: '@vue/devtools-api': 6.6.4 vue: 3.5.13(typescript@5.7.2) vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2)) optionalDependencies: typescript: 5.7.2 + transitivePeerDependencies: + - '@vue/composition-api' pkg-types@1.2.0: dependencies: @@ -4895,7 +5184,7 @@ snapshots: postcss-styl@0.12.3: dependencies: - debug: 4.3.7 + debug: 4.4.0 fast-diff: 1.3.0 lodash.sortedlastindex: 4.1.0 postcss: 8.4.49 @@ -4915,7 +5204,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.4.1: {} + prettier@3.4.2: {} process@0.11.10: {} @@ -4960,28 +5249,29 @@ snapshots: dependencies: glob: 7.2.3 - rollup@4.28.0: + rollup@4.28.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.28.0 - '@rollup/rollup-android-arm64': 4.28.0 - '@rollup/rollup-darwin-arm64': 4.28.0 - '@rollup/rollup-darwin-x64': 4.28.0 - '@rollup/rollup-freebsd-arm64': 4.28.0 - '@rollup/rollup-freebsd-x64': 4.28.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.28.0 - '@rollup/rollup-linux-arm-musleabihf': 4.28.0 - '@rollup/rollup-linux-arm64-gnu': 4.28.0 - '@rollup/rollup-linux-arm64-musl': 4.28.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.28.0 - '@rollup/rollup-linux-riscv64-gnu': 4.28.0 - '@rollup/rollup-linux-s390x-gnu': 4.28.0 - '@rollup/rollup-linux-x64-gnu': 4.28.0 - '@rollup/rollup-linux-x64-musl': 4.28.0 - '@rollup/rollup-win32-arm64-msvc': 4.28.0 - '@rollup/rollup-win32-ia32-msvc': 4.28.0 - '@rollup/rollup-win32-x64-msvc': 4.28.0 + '@rollup/rollup-android-arm-eabi': 4.28.1 + '@rollup/rollup-android-arm64': 4.28.1 + '@rollup/rollup-darwin-arm64': 4.28.1 + '@rollup/rollup-darwin-x64': 4.28.1 + '@rollup/rollup-freebsd-arm64': 4.28.1 + '@rollup/rollup-freebsd-x64': 4.28.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 + '@rollup/rollup-linux-arm64-musl': 4.28.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 + '@rollup/rollup-linux-x64-gnu': 4.28.1 + '@rollup/rollup-linux-x64-musl': 4.28.1 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 + '@rollup/rollup-win32-x64-msvc': 4.28.1 fsevents: 2.3.3 run-parallel@1.2.0: @@ -4990,10 +5280,10 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.81.0: + sass@1.82.0: dependencies: chokidar: 4.0.1 - immutable: 5.0.2 + immutable: 5.0.3 source-map-js: 1.2.1 optionalDependencies: '@parcel/watcher': 2.5.0 @@ -5082,7 +5372,7 @@ snapshots: stylus@0.57.0: dependencies: css: 3.0.0 - debug: 4.3.7 + debug: 4.4.0 glob: 7.2.3 safer-buffer: 2.1.2 sax: 1.2.4 @@ -5187,9 +5477,9 @@ snapshots: unicorn-magic@0.1.0: {} - unimport@3.12.0(rollup@4.28.0): + unimport@3.12.0(rollup@4.28.1): dependencies: - '@rollup/pluginutils': 5.1.1(rollup@4.28.0) + '@rollup/pluginutils': 5.1.1(rollup@4.28.1) acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -5251,16 +5541,15 @@ snapshots: type-fest: 4.9.0 vue: 3.5.13(typescript@5.7.2) - vite-node@2.1.6(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1): + vite-node@2.1.8(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0): dependencies: cac: 6.7.14 - debug: 4.3.7 + debug: 4.4.0 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + vite: 5.4.11(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0) transitivePeerDependencies: - '@types/node' - - jiti - less - lightningcss - sass @@ -5269,44 +5558,53 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml - vite-plugin-vuetify@2.0.4(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.4): + vite-plugin-vuetify@2.0.4(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.5): dependencies: - '@vuetify/loader-shared': 2.0.3(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.4) + '@vuetify/loader-shared': 2.0.3(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.5) debug: 4.3.6 upath: 2.0.1 - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) - vuetify: 3.7.4(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) + vuetify: 3.7.5(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)) transitivePeerDependencies: - supports-color - vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1): + vite@5.4.11(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.49 + rollup: 4.28.1 + optionalDependencies: + '@types/node': 22.10.1 + fsevents: 2.3.3 + sass: 1.82.0 + stylus: 0.57.0 + + vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 - rollup: 4.28.0 + rollup: 4.28.1 optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 jiti: 1.21.6 - sass: 1.81.0 + sass: 1.82.0 stylus: 0.57.0 yaml: 2.6.1 - vitest@2.1.6(@types/node@22.10.1)(happy-dom@15.11.7)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1): + vitest@2.1.8(@types/node@22.10.1)(happy-dom@15.11.7)(sass@1.82.0)(stylus@0.57.0): dependencies: - '@vitest/expect': 2.1.6 - '@vitest/mocker': 2.1.6(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1)) - '@vitest/pretty-format': 2.1.6 - '@vitest/runner': 2.1.6 - '@vitest/snapshot': 2.1.6 - '@vitest/spy': 2.1.6 - '@vitest/utils': 2.1.6 + '@vitest/expect': 2.1.8 + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.8 + '@vitest/snapshot': 2.1.8 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 chai: 5.1.2 - debug: 4.3.7 + debug: 4.4.0 expect-type: 1.1.0 magic-string: 0.30.14 pathe: 1.1.2 @@ -5315,14 +5613,13 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) - vite-node: 2.1.6(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1) + vite: 5.4.11(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0) + vite-node: 2.1.8(@types/node@22.10.1)(sass@1.82.0)(stylus@0.57.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.1 happy-dom: 15.11.7 transitivePeerDependencies: - - jiti - less - lightningcss - msw @@ -5332,8 +5629,6 @@ snapshots: - sugarss - supports-color - terser - - tsx - - yaml vscode-uri@3.0.8: {} @@ -5385,12 +5680,12 @@ snapshots: optionalDependencies: typescript: 5.7.2 - vuetify@3.7.4(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)): + vuetify@3.7.5(typescript@5.7.2)(vite-plugin-vuetify@2.0.4)(vue@3.5.13(typescript@5.7.2)): dependencies: vue: 3.5.13(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 - vite-plugin-vuetify: 2.0.4(vite@6.0.2(@types/node@22.10.1)(jiti@1.21.6)(sass@1.81.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.4) + vite-plugin-vuetify: 2.0.4(vite@6.0.3(@types/node@22.10.1)(jiti@1.21.6)(sass@1.82.0)(stylus@0.57.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(vuetify@3.7.5) webidl-conversions@7.0.0: {} diff --git a/src/security-server/admin-service/ui/package.json b/src/security-server/admin-service/ui/package.json index d35aad8531..18a2d95b41 100644 --- a/src/security-server/admin-service/ui/package.json +++ b/src/security-server/admin-service/ui/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "@pinia/testing": "^0.1.7", - "@typescript-eslint/eslint-plugin": "~8.16.0", - "@typescript-eslint/parser": "~8.16.0", + "@typescript-eslint/eslint-plugin": "~8.17.0", + "@typescript-eslint/parser": "~8.17.0", "@vue/test-utils": "^2.4.6", "eslint-plugin-vue-scoped-css": "^2.9.0", "resize-observer-polyfill": "^1.5.1" diff --git a/src/shared-ui/package.json b/src/shared-ui/package.json index 871a908b61..10b9d9d0a7 100644 --- a/src/shared-ui/package.json +++ b/src/shared-ui/package.json @@ -15,14 +15,14 @@ "@mdi/font": "^7.4.47", "@vee-validate/i18n": "~4.14.7", "@vee-validate/rules": "~4.14.7", - "axios": "~1.7.8", + "axios": "~1.7.9", "deepmerge": "^4.3.1", - "vuetify": "3.7.4", + "vuetify": "3.7.5", "vue": "^3.5.13", "vue-i18n": "^10.0.5", "vue-router": "^4.5.0", "vee-validate": "^4.14.7", - "pinia": "^2.2.8", + "pinia": "^2.3.0", "pinia-plugin-persistedstate": "^4.1.3", "dayjs": "^1.11.12" }, From 23931a982497729fe1e999ee0896151b92c81845 Mon Sep 17 00:00:00 2001 From: Eneli Reimets Date: Tue, 10 Dec 2024 13:33:33 +0200 Subject: [PATCH 09/12] chore: rename if exists system parameters to global-conf-tls-cert-verification and global-conf-hostname-verification (#2470) Refs: XRDDEV-2765 --- .../ug-syspar_x-road_v6_system_parameters.md | 7 ++++--- .../ee/ria/xroad/common/SystemProperties.java | 4 ++-- .../globalconf/ConfigurationLocationTest.java | 4 ++-- .../xroad/redhat/SPECS/xroad-confclient.spec | 14 +++++++++++++ .../ubuntu/generic/xroad-confclient.postinst | 20 ++++++++++++++++--- .../etc/xroad/conf.d/local.ini | 4 ++-- 6 files changed, 41 insertions(+), 12 deletions(-) diff --git a/doc/Manuals/ug-syspar_x-road_v6_system_parameters.md b/doc/Manuals/ug-syspar_x-road_v6_system_parameters.md index b0cb5f6cf8..d842d85bcc 100644 --- a/doc/Manuals/ug-syspar_x-road_v6_system_parameters.md +++ b/doc/Manuals/ug-syspar_x-road_v6_system_parameters.md @@ -1,6 +1,6 @@ # X-Road: System Parameters User Guide -Version: 2.90 +Version: 2.91 Doc. ID: UG-SYSPAR @@ -101,6 +101,7 @@ Doc. ID: UG-SYSPAR | 19.08.2024 | 2.88 | Added parameters for management requests sender | Justas Samuoslis | | 20.09.2024 | 2.89 | Acme automatic certificate renewal job related parameters | Mikk-Erik Bachmann | | 08.11.2024 | 2.90 | Added new parameters *key-named-curve*, *soft-token-pin-keystore-algorithm*, *authentication-key-algorithm* and *signing-key-algorithm* to add ECDSA support for Authentication/Signing certificates | Ovidijus Narkevicius | +| 09.12.2024 | 2.91 | Rename parameters *global_conf_tls_cert_verification* -> *global-conf-tls-cert-verification*, *global_conf_hostname_verification* -> *global-conf-hostname-verification* | Eneli Reimets | ## Table of Contents @@ -355,8 +356,8 @@ Proxy-ui has been removed in version 6.24 and it's parameters are not used anymo | admin-port | 5675 | TCP port on which the configuration client process listens for admin commands. | | allowed-federations | none | A comma-separated list of case-insensitive X-Road instances that fetching configuration anchors is allowed for. This enables federation with the listed instances if the X-Road instance is already federated at the central server level . Special value *none*, if present, disables all federation (the default value), while *all* allows all federations if *none* is not present. Example: *allowed-federations=ee,sv* allows federation with example instances *EE* and *Sv* while *allowed-federations=all,none* disables federation. X-Road services `xroad-confclient` and `xroad-proxy` need to be restarted (in that order) for the setting change to take effect. | | proxy-configuration-backup-cron | 0 15 3 * * ? | Cron expression for proxy configuration automatic backup job | -| global_conf_tls_cert_verification | true | It is possible to disable the verification of the global configuration download TLS certificate. Should be `true` in production environment | -| global_conf_hostname_verification | true | It is possible to disable the hostname verification. Does the hostname specified in the URL match the hostname specified in the Common Name (CN) of the Central Server’s TLS certificate. Should be `true` in production environment | +| global-conf-tls-cert-verification | true | It is possible to disable the verification of the global configuration download TLS certificate. Should be `true` in production environment | +| global-conf-hostname-verification | true | It is possible to disable the hostname verification. Does the hostname specified in the URL match the hostname specified in the Common Name (CN) of the Central Server’s TLS certificate. Should be `true` in production environment | ### 3.7 Message log add-on parameters: `[message-log]` diff --git a/src/common/common-core/src/main/java/ee/ria/xroad/common/SystemProperties.java b/src/common/common-core/src/main/java/ee/ria/xroad/common/SystemProperties.java index de872465db..be57adfcbe 100644 --- a/src/common/common-core/src/main/java/ee/ria/xroad/common/SystemProperties.java +++ b/src/common/common-core/src/main/java/ee/ria/xroad/common/SystemProperties.java @@ -507,10 +507,10 @@ private SystemProperties() { PREFIX + "configuration-client.proxy-configuration-backup-cron"; public static final String CONFIGURATION_CLIENT_GLOBAL_CONF_TLS_CERT_VERIFICATION = - PREFIX + "configuration-client.global_conf_tls_cert_verification"; + PREFIX + "configuration-client.global-conf-tls-cert-verification"; public static final String CONFIGURATION_CLIENT_GLOBAL_CONF_HOSTNAME_VERIFICATION = - PREFIX + "configuration-client.global_conf_hostname_verification"; + PREFIX + "configuration-client.global-conf-hostname-verification"; public static final String CONFIGURATION_CLIENT_ALLOWED_FEDERATIONS = PREFIX + "configuration-client.allowed-federations"; diff --git a/src/common/common-globalconf/src/test/java/ee/ria/xroad/common/conf/globalconf/ConfigurationLocationTest.java b/src/common/common-globalconf/src/test/java/ee/ria/xroad/common/conf/globalconf/ConfigurationLocationTest.java index 525817ba39..d0e0f36548 100644 --- a/src/common/common-globalconf/src/test/java/ee/ria/xroad/common/conf/globalconf/ConfigurationLocationTest.java +++ b/src/common/common-globalconf/src/test/java/ee/ria/xroad/common/conf/globalconf/ConfigurationLocationTest.java @@ -39,8 +39,8 @@ * Unit tests for {@link ConfigurationLocation} */ public class ConfigurationLocationTest { - private static final String TLS_CERTIFICATION_VERIFICATION_ENABLED = "xroad.configuration-client.global_conf_tls_cert_verification"; - private static final String HOSTNAME_VERIFICATION_ENABLED = "xroad.configuration-client.global_conf_hostname_verification"; + private static final String TLS_CERTIFICATION_VERIFICATION_ENABLED = "xroad.configuration-client.global-conf-tls-cert-verification"; + private static final String HOSTNAME_VERIFICATION_ENABLED = "xroad.configuration-client.global-conf-hostname-verification"; /** * Checks that {@link ConfigurationLocation} uses connections that timeout after a period of time. diff --git a/src/packages/src/xroad/redhat/SPECS/xroad-confclient.spec b/src/packages/src/xroad/redhat/SPECS/xroad-confclient.spec index b19bcce54c..4b9ff2c7d6 100644 --- a/src/packages/src/xroad/redhat/SPECS/xroad-confclient.spec +++ b/src/packages/src/xroad/redhat/SPECS/xroad-confclient.spec @@ -95,6 +95,20 @@ su - xroad -c "test -O /var/lib/xroad && test -G /var/lib/xroad" || chown xroad: chown xroad:xroad /var/lib/xroad/backup chmod 0775 /var/lib/xroad +### this script can be delete starting from 7.9.0 version +local_ini_file="/etc/xroad/conf.d/local.ini" +if [[ -f "$local_ini_file" ]]; then + if grep -q "^global_conf_tls_cert_verification" "$local_ini_file"; then + sed -i 's/^global_conf_tls_cert_verification/global-conf-tls-cert-verification/' "$local_ini_file" + echo "Successfully updated property name: global_conf_tls_cert_verification -> global-conf-tls-cert-verification" + fi + if grep -q "^global_conf_hostname_verification" "$local_ini_file"; then + sed -i 's/^global_conf_hostname_verification/global-conf-hostname-verification/' "$local_ini_file" + echo "Successfully updated property name: global_conf_hostname_verification -> global-conf-hostname-verification" + fi +fi +### + chown -R xroad:xroad /etc/xroad/services/* /etc/xroad/conf.d/* chmod -R o=rwX,g=rX,o= /etc/xroad/services/* /etc/xroad/conf.d/* diff --git a/src/packages/src/xroad/ubuntu/generic/xroad-confclient.postinst b/src/packages/src/xroad/ubuntu/generic/xroad-confclient.postinst index 32c2c91513..5e78a21a51 100644 --- a/src/packages/src/xroad/ubuntu/generic/xroad-confclient.postinst +++ b/src/packages/src/xroad/ubuntu/generic/xroad-confclient.postinst @@ -2,9 +2,23 @@ umask 027 if [ "$1" = configure ]; then - chown xroad:xroad /etc/xroad/backup.d/??_xroad-confclient - chmod 0440 /etc/xroad/backup.d/??_xroad-confclient - test -e /etc/xroad/globalconf/files && rm -f /etc/xroad/globalconf/files + chown xroad:xroad /etc/xroad/backup.d/??_xroad-confclient + chmod 0440 /etc/xroad/backup.d/??_xroad-confclient + test -e /etc/xroad/globalconf/files && rm -f /etc/xroad/globalconf/files + + ### this script can be delete starting from 7.9.0 version + local_ini_file="/etc/xroad/conf.d/local.ini" + if [[ -f "$local_ini_file" ]]; then + if grep -q "^global_conf_tls_cert_verification" "$local_ini_file"; then + sed -i 's/^global_conf_tls_cert_verification/global-conf-tls-cert-verification/' "$local_ini_file" + echo "Successfully updated property name: global_conf_tls_cert_verification -> global-conf-tls-cert-verification" + fi + if grep -q "^global_conf_hostname_verification" "$local_ini_file"; then + sed -i 's/^global_conf_hostname_verification/global-conf-hostname-verification/' "$local_ini_file" + echo "Successfully updated property name: global_conf_hostname_verification -> global-conf-hostname-verification" + fi + fi + ### fi if [ "$1" = abort-upgrade ]; then diff --git a/src/security-server/system-test/src/intTest/resources/container-files/etc/xroad/conf.d/local.ini b/src/security-server/system-test/src/intTest/resources/container-files/etc/xroad/conf.d/local.ini index 9efc1f050d..52ea5d0438 100644 --- a/src/security-server/system-test/src/intTest/resources/container-files/etc/xroad/conf.d/local.ini +++ b/src/security-server/system-test/src/intTest/resources/container-files/etc/xroad/conf.d/local.ini @@ -12,8 +12,8 @@ health-check-port=5558 server-conf-cache-period=0 [configuration-client] update-interval = 3 -global_conf_tls_cert_verification = false -global_conf_hostname_verification = false +global-conf-tls-cert-verification = false +global-conf-hostname-verification = false [message-log] messagelog-encryption-enabled=true messagelog-keystore=/etc/xroad/messagelog/messagelog.p12 From a27b365c911fdb9b9aa4cc2c02146cac6a069ee1 Mon Sep 17 00:00:00 2001 From: Raido Kaju Date: Tue, 10 Dec 2024 14:13:51 +0200 Subject: [PATCH 10/12] chore: update diagnostic group title to make the intention clearer --- src/security-server/admin-service/ui/src/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/security-server/admin-service/ui/src/locales/en.json b/src/security-server/admin-service/ui/src/locales/en.json index b16407a136..0b3d9519b2 100644 --- a/src/security-server/admin-service/ui/src/locales/en.json +++ b/src/security-server/admin-service/ui/src/locales/en.json @@ -196,7 +196,7 @@ "vendor": "Vendor name" }, "mailNotificationConfiguration": { - "title": "Mail notification status", + "title": "ACME update automated mail notifications status", "failureEnabled": "Failure notifications", "successEnabled": "Success notifications", "configuration": "Mail server configuration", From 14bff1d848df857786f6c089c5aaee8b7fffdccd Mon Sep 17 00:00:00 2001 From: Raido Kaju Date: Tue, 10 Dec 2024 15:00:57 +0200 Subject: [PATCH 11/12] feat: add help text to diagnostics view e-mail notification status --- .../ui}/HelpButton.vue | 4 +-- .../admin-service/ui/src/locales/en.json | 6 +++- .../DiagnosticsMailNotificationCard.vue | 32 ++++++++++++++++--- .../KeysAndCertificates/ApiKey/ApiKey.vue | 23 ++++++------- .../SecurityServerTlsCertificate.vue | 2 +- .../SignAndAuthKeys/SignAndAuthKeys.vue | 11 +++---- 6 files changed, 50 insertions(+), 28 deletions(-) rename src/security-server/admin-service/ui/src/{views/KeysAndCertificates => components/ui}/HelpButton.vue (97%) diff --git a/src/security-server/admin-service/ui/src/views/KeysAndCertificates/HelpButton.vue b/src/security-server/admin-service/ui/src/components/ui/HelpButton.vue similarity index 97% rename from src/security-server/admin-service/ui/src/views/KeysAndCertificates/HelpButton.vue rename to src/security-server/admin-service/ui/src/components/ui/HelpButton.vue index 6191b43d47..e39bcc7581 100644 --- a/src/security-server/admin-service/ui/src/views/KeysAndCertificates/HelpButton.vue +++ b/src/security-server/admin-service/ui/src/components/ui/HelpButton.vue @@ -40,7 +40,7 @@ :text="helpText" @cancel="closeHelp" > - + @@ -57,7 +57,7 @@ export default defineComponent({ props: { helpImage: { type: String, - required: true, + required: false, }, helpTitle: { type: String, diff --git a/src/security-server/admin-service/ui/src/locales/en.json b/src/security-server/admin-service/ui/src/locales/en.json index 0b3d9519b2..d2b221aa79 100644 --- a/src/security-server/admin-service/ui/src/locales/en.json +++ b/src/security-server/admin-service/ui/src/locales/en.json @@ -196,7 +196,11 @@ "vendor": "Vendor name" }, "mailNotificationConfiguration": { - "title": "ACME update automated mail notifications status", + "title": "Mail notification status", + "help": { + "title": "Different mail notification statuses available", + "description": "Mail notifications are sent automatically to configured recipients for the following events depending on the configuration: authentication certificate renewal over ACME succeeded / failed, signing certificate renewal over ACME succeeded / failed, authentication certificate registration succeeded. Enabling email notifications requires changes to the Security Server’s configuration. Please see the Security Server User Guide for details." + }, "failureEnabled": "Failure notifications", "successEnabled": "Success notifications", "configuration": "Mail server configuration", diff --git a/src/security-server/admin-service/ui/src/views/Diagnostics/DiagnosticsMailNotificationCard.vue b/src/security-server/admin-service/ui/src/views/Diagnostics/DiagnosticsMailNotificationCard.vue index 3f3ce345bd..753727c8bf 100644 --- a/src/security-server/admin-service/ui/src/views/Diagnostics/DiagnosticsMailNotificationCard.vue +++ b/src/security-server/admin-service/ui/src/views/Diagnostics/DiagnosticsMailNotificationCard.vue @@ -26,7 +26,12 @@ @@ -176,7 +171,7 @@ import { defineComponent } from 'vue'; import { ApiKey } from '@/global-types'; -import HelpButton from '../HelpButton.vue'; +import HelpButton from '@/components/ui/HelpButton.vue'; import { Permissions, Roles, RouteName } from '@/global'; import * as api from '@/util/api'; import { mapActions, mapState } from 'pinia'; @@ -189,7 +184,7 @@ import { XrdIconKey } from '@niis/shared-ui'; export default defineComponent({ components: { HelpButton, - XrdIconKey + XrdIconKey, }, data() { return { diff --git a/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SecurityServerTlsCertificate/SecurityServerTlsCertificate.vue b/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SecurityServerTlsCertificate/SecurityServerTlsCertificate.vue index e54c174199..5ca651a861 100644 --- a/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SecurityServerTlsCertificate/SecurityServerTlsCertificate.vue +++ b/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SecurityServerTlsCertificate/SecurityServerTlsCertificate.vue @@ -133,7 +133,7 @@ import { CertificateDetails } from '@/openapi-types'; import * as api from '@/util/api'; import GenerateTlsAndCertificateDialog from '@/views/KeysAndCertificates/SecurityServerTlsCertificate/GenerateTlsAndCertificateDialog.vue'; import { saveResponseAsFile } from '@/util/helpers'; -import HelpButton from '../HelpButton.vue'; +import HelpButton from '@/components/ui/HelpButton.vue'; import { mapActions, mapState } from 'pinia'; import { useUser } from '@/store/modules/user'; import { useNotifications } from '@/store/modules/notifications'; diff --git a/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SignAndAuthKeys/SignAndAuthKeys.vue b/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SignAndAuthKeys/SignAndAuthKeys.vue index f8c302a799..fe5eb3ba86 100644 --- a/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SignAndAuthKeys/SignAndAuthKeys.vue +++ b/src/security-server/admin-service/ui/src/views/KeysAndCertificates/SignAndAuthKeys/SignAndAuthKeys.vue @@ -77,7 +77,7 @@ import { defineComponent } from 'vue'; import { RouteName } from '@/global'; import TokenExpandable from './TokenExpandable.vue'; import TokenLoginDialog from '@/components/token/TokenLoginDialog.vue'; -import HelpButton from '../HelpButton.vue'; +import HelpButton from '@/components/ui/HelpButton.vue'; import { mapActions, mapState } from 'pinia'; import { useNotifications } from '@/store/modules/notifications'; import { useTokens } from '@/store/modules/tokens'; @@ -90,7 +90,7 @@ import { TokenCertificateSigningRequest, } from '@/openapi-types'; import { deepClone } from '@/util/helpers'; -import { useCsr } from "@/store/modules/certificateSignRequest"; +import { useCsr } from '@/store/modules/certificateSignRequest'; export default defineComponent({ components: { @@ -212,10 +212,9 @@ export default defineComponent({ .finally(() => { this.loading = false; }); - this.fetchCertificateAuthorities() - .catch((error) => { - this.showError(error); - }); + this.fetchCertificateAuthorities().catch((error) => { + this.showError(error); + }); }, acceptTokenLogout(): void { if (!this.selectedToken) { From 6abc5e1e517c1a8b85122cb7c74652a52f340e43 Mon Sep 17 00:00:00 2001 From: Raido Kaju Date: Wed, 11 Dec 2024 11:12:59 +0200 Subject: [PATCH 12/12] chore: update references of palveluvayla.com to x-road.global in documentation due to domain change --- doc/EnvironmentalMonitoring/Monitoring-architecture.md | 8 ++++---- doc/EnvironmentalMonitoring/Monitoring-messages.md | 6 +++--- ..._server_targeting_extension_for_the_x-road_protocol.md | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/EnvironmentalMonitoring/Monitoring-architecture.md b/doc/EnvironmentalMonitoring/Monitoring-architecture.md index 37ded5ae59..27cab858de 100644 --- a/doc/EnvironmentalMonitoring/Monitoring-architecture.md +++ b/doc/EnvironmentalMonitoring/Monitoring-architecture.md @@ -234,7 +234,7 @@ xmlns:prod="http://vrk-test.x-road.fi/producer"> ``` -For monitoring queries this is not enough. In a clustered security server configuration, one service can be served from multiple security servers. When X-Road routes the message, it picks one candidate based on which one answers the quickest. When executing monitoring queries, we need to be able to fetch monitoring data from a specific security server in a cluster. To make this possible the Security server targeting extension for the X-Road message protocol \[[PR-TARGETSS](#12-references)\] is used, which adds a new SOAP header element `securityServer`. Using this element, the caller identifies which security server should respond with the monitoring data (`servercode` = `fdev-ss1.i.palveluvayla.com`). To execute a query, we call service `getSecurityServerMetrics`: +For monitoring queries this is not enough. In a clustered security server configuration, one service can be served from multiple security servers. When X-Road routes the message, it picks one candidate based on which one answers the quickest. When executing monitoring queries, we need to be able to fetch monitoring data from a specific security server in a cluster. To make this possible the Security server targeting extension for the X-Road message protocol \[[PR-TARGETSS](#12-references)\] is used, which adds a new SOAP header element `securityServer`. Using this element, the caller identifies which security server should respond with the monitoring data (`servercode` = `fdev-ss1.i.x-road.global`). To execute a query, we call service `getSecurityServerMetrics`: ```xml fdev GOV 1710128-9 - fdev-ss1.i.palveluvayla.com + fdev-ss1.i.x-road.global ID11234 4.0 @@ -293,7 +293,7 @@ The response looks like: fdev GOV 1710128-9 - fdev-ss1.i.palveluvayla.com + fdev-ss1.i.x-road.global ID11234 4.0 @@ -302,7 +302,7 @@ The response looks like: - SERVER:fdev/GOV/1710128-9/fdev-ss1.i.palveluvayla.com + SERVER:fdev/GOV/1710128-9/fdev-ss1.i.x-road.global proxyVersion 6.7.7-1.20151201075839gitb72b28e diff --git a/doc/EnvironmentalMonitoring/Monitoring-messages.md b/doc/EnvironmentalMonitoring/Monitoring-messages.md index 6a3e4c7d4a..0a10edba82 100644 --- a/doc/EnvironmentalMonitoring/Monitoring-messages.md +++ b/doc/EnvironmentalMonitoring/Monitoring-messages.md @@ -81,7 +81,7 @@ An optional `outputSpec` child element can be used to request a subset of the me fdev GOV 1710128-9 - fdev-ss1.i.palveluvayla.com + fdev-ss1.i.x-road.global ID11234 @@ -128,7 +128,7 @@ The response `Body` contains one `getSecurityServerMetricsResponse` element whic fdev GOV 1710128-9 - fdev-ss1.i.palveluvayla.com + fdev-ss1.i.x-road.global ID11234 4.0 @@ -137,7 +137,7 @@ The response `Body` contains one `getSecurityServerMetricsResponse` element whic - SERVER:fdev/GOV/1710128-9/fdev-ss1.i.palveluvayla.com + SERVER:fdev/GOV/1710128-9/fdev-ss1.i.x-road.global proxyVersion 6.7.7-1.20151201075839gitb72b28e diff --git a/doc/Protocols/SecurityServerExtension/pr-targetss_security_server_targeting_extension_for_the_x-road_protocol.md b/doc/Protocols/SecurityServerExtension/pr-targetss_security_server_targeting_extension_for_the_x-road_protocol.md index bcbaab8357..b2963162a8 100644 --- a/doc/Protocols/SecurityServerExtension/pr-targetss_security_server_targeting_extension_for_the_x-road_protocol.md +++ b/doc/Protocols/SecurityServerExtension/pr-targetss_security_server_targeting_extension_for_the_x-road_protocol.md @@ -178,7 +178,7 @@ Below are examples from a request and response related to the Environmental Moni fdev GOV 1710128-9 - fdev-ss1.i.palveluvayla.com + fdev-ss1.i.x-road.global ID11234 4.0 @@ -211,7 +211,7 @@ Below are examples from a request and response related to the Environmental Moni fdev GOV 1710128-9 - fdev-ss1.i.palveluvayla.com + fdev-ss1.i.x-road.global ID11234 4.0 @@ -220,7 +220,7 @@ Below are examples from a request and response related to the Environmental Moni - SERVER:fdev/GOV/1710128-9/fdev-ss1.i.palveluvayla.com + SERVER:fdev/GOV/1710128-9/fdev-ss1.i.x-road.global proxyVersion 6.7.7-1.20151201075839gitb72b28e