From 2cd1d7c9c147d0a8ace8695014d4d6b69afd00af Mon Sep 17 00:00:00 2001 From: lahiruj Date: Tue, 23 Jun 2026 20:05:05 -0400 Subject: [PATCH 1/5] Updated onboarding docs and included .env.example --- .env.example | 44 ++++++++++++++++++++++ CONTRIBUTING.md | 40 ++++++++++++++++++-- INSTALL.md | 27 ++++++++----- README.md | 8 ++++ connectors/ACCESS/AMIE-Processor/README.md | 30 ++------------- 5 files changed, 110 insertions(+), 39 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..c66cdab96 --- /dev/null +++ b/.env.example @@ -0,0 +1,44 @@ +# Sample environment file for the Custos backend. +# Copy to .env, fill in real values, and `source .env` (or use a dotenv loader). +# The portal has its own env template at web/.env.example. + +# --- Server: required ---------------------------------------------------- + +# MySQL/MariaDB DSN. Must allow multi-statements for migrations. +DATABASE_DSN=admin:admin@tcp(localhost:3306)/custos?parseTime=true&charset=utf8mb4&multiStatements=true + +# OIDC issuer + audience, into config/custos.yaml. +# Server refuses to start without these once auth is wired. +OIDC_ISSUER_URL= +OIDC_AUDIENCE= + +# --- Server: dev convenience --------------------------------------------- + +# UUID of the compute cluster this Custos instance serves. +# Shared across connectors that need to know which cluster they belong to. +CUSTOS_CLUSTER_ID=00000000-0000-0000-0000-000000000001 + +# --- AMIE connector (ACCESS-CI) ------------------------------------------ + +AMIE_BASE_URL=http://localhost:8180 +AMIE_SITE_CODE=TESTSITE +AMIE_API_KEY=dev +AMIE_CLUSTER_ID=00000000-0000-0000-0000-000000000001 + +# --- COmanage connector -------------------------------------------------- + +COMANAGE_REGISTRY_URL= +COMANAGE_CO_ID= +COMANAGE_API_USER= +COMANAGE_API_KEY= +COMANAGE_UNIX_CLUSTER_ID= +COMANAGE_PERSON_ID_TYPE= + +# --- SLURM connector ----------------------------------------------------- + +SLURM_API= +SLURM_USER= +SLURM_TOKEN= +SLURM_API_VERSION= +# Used only by the Usage-Monitor connector. +SLURM_MONITOR_CLUSTER_ID= diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 608e1d8fa..5fcaa4e58 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,7 @@ For instructions on running Custos locally against a database, see [INSTALL.md]( - `pkg/` — public packages (models, service, events) - `connectors/` — protocol/site-specific connectors (ACCESS, SLURM, …) - `extensions/` — out-of-process extensions (PAM module, SSH cert signer, …) -- `dev-ops/compose/` — local Docker Compose stack (MariaDB, Keycloak, Vault, Prometheus, Grafana) +- `dev-ops/compose/` — local Docker Compose stack (MariaDB, Adminer, Prometheus, Grafana, Vault) ## Build @@ -53,18 +53,50 @@ Every SQL file must carry the Apache 2.0 license header (see existing files for ## Tests -Run the full test suite from the repo root: +Two tiers: unit tests and integration tests, separated by a build tag. + +### Unit tests (default, no external services) ```bash go test ./... ``` -Connector packages (for example `connectors/SLURM/Association-Mapper/...`) use `httptest` and do not require external services. +Runs every package's unit tests. Handlers and stores use `httptest` and mocks. +No DB, no network. This is what should pass on every commit. + +### Integration tests (build tag, real services) + +Integration test files carry `//go:build integration` at the top, so the default +`go test ./...` skips them silently. To run them, pass the tag and provide the +required env vars: + +```bash +# General integration tests (server, core service, identity resolver). +# Reuses the dev compose stack on :3306. +export CORE_TEST_DATABASE_DSN='admin:admin@tcp(localhost:3306)/custos?parseTime=true&charset=utf8mb4&multiStatements=true' +go test -tags integration ./... +``` + +The AMIE connector ships its own integration stack because its tests mutate a +lot of state and we don't want to corrupt the dev DB. It brings up an isolated +MariaDB on `:3307` and a mock AMIE server on `:8181`, runs the suite, then +tears it down: + +```bash +make integration-test-amie +``` + +(equivalent to `scripts/run-amie-integration-tests.sh`). The `:3307` is +deliberate. It's a separate stack defined in `dev-ops/local-amie/`, independent +of the `:3306` dev compose. + +If you see a test file you expect to run but `go test ./...` reports zero tests +for the package, check the first line for `//go:build integration`. ## Submitting changes 1. Open an issue describing the change, if one does not already exist. -2. Create a topic branch off `main`. +2. Create a topic branch off `master`. 3. Make focused, well-scoped commits with clear messages. 4. Ensure `go build ./...`, `go vet ./...`, and `go test ./...` all pass. 5. Open a pull request and link the related issue. diff --git a/INSTALL.md b/INSTALL.md index 185c29294..4f0d1bc8f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -35,7 +35,6 @@ From the repository root: ```bash export DATABASE_DSN='admin:admin@tcp(localhost:3306)/custos?parseTime=true&charset=utf8mb4&multiStatements=true' -export HTTP_ADDR=':8080' go run ./cmd/server ``` @@ -44,20 +43,30 @@ On startup, the server: 1. Opens the database connection (`internal/db`). 2. Runs the embedded migrations (`internal/db/migrations/`). 3. Wires the event bus, service layer, and HTTP router. -4. Listens on `HTTP_ADDR`. +4. Listens on the port from `config/custos.yaml` (`core.api.port`, default `8080`). + +### 3. Seed dev users (optional) + +The schema is created by the server's migrations on first run. After that, apply +the dev seed to populate sample identity data (org, users, roles, privileges): + +```bash +docker exec -i custos_db mariadb -uadmin -padmin custos \ + < dev-ops/compose/seeds/dev_users_and_roles.sql +``` + +The seed uses `INSERT IGNORE`, so re-running is safe. See the seed file for +exactly what it inserts. ### Environment variables -| Variable | Default | Description | -|----------------------|--------------------------------------------------------------------|----------------------------------------------| -| `DATABASE_DSN` | _(required)_ | Go MySQL DSN; must allow multi-statements | -| `HTTP_ADDR` | `:8080` | Listen address for the HTTP API | -| `DB_MAX_OPEN_CONNS` | `25` | Max open DB connections | -| `DB_MAX_IDLE_CONNS` | `5` | Max idle DB connections | +See [.env.example](.env.example) for the template. Copy it to `.env`, fill in +the required values (`DATABASE_DSN`, `OIDC_ISSUER_URL`, `OIDC_AUDIENCE`), and +source it before running the server. ### Optional services -The Compose file also defines Keycloak, Vault, Adminer, Prometheus, and Grafana. Start them as needed, for example: +The Compose file also defines Adminer, Prometheus, Grafana, and Vault. Start them as needed, for example: ```bash docker compose up -d adminer # DB UI at http://localhost:18080 diff --git a/README.md b/README.md index fd03a7acc..8bee61c32 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,14 @@ go test ./... See each connector's and extension's README for run and configuration details. +## Documentation + +- [INSTALL.md](INSTALL.md): run the server locally against the dev compose stack +- [CONTRIBUTING.md](CONTRIBUTING.md): coding conventions, build, and test workflow +- [docs/API-Docs.md](docs/API-Docs.md): REST API reference +- [docs/Allocation-Data-Models.md](docs/Allocation-Data-Models.md): domain model overview +- [docs/ACCESS-HPC-Reference.md](docs/ACCESS-HPC-Reference.md): ACCESS-CI integration reference + ## Questions or Need Help? * Open a [GitHub issue](https://github.com/apache/airavata-custos/issues) diff --git a/connectors/ACCESS/AMIE-Processor/README.md b/connectors/ACCESS/AMIE-Processor/README.md index bd977a920..72f51c370 100644 --- a/connectors/ACCESS/AMIE-Processor/README.md +++ b/connectors/ACCESS/AMIE-Processor/README.md @@ -4,18 +4,13 @@ ACCESS-CI AMIE packet processing service for Apache Airavata Custos. This Go service polls the [ACCESS-CI](https://access-ci.org/) AMIE (Account Management Information Exchange) API for allocation packets, processes them through typed handlers, manages person/project/account lifecycle, and replies to AMIE. It is the ACCESS allocation source adapter within the Custos allocations platform. -## Prerequisites - -- Go 1.22+ -- MariaDB — use the shared dev stack: `docker compose -f compose/docker-compose.yml up db` (creates the `access_ci` database automatically via `compose/dbinit/init-db.sh`) - ## Quick Start ### 1. Start the database ```bash # From the repo root -docker compose -f compose/docker-compose.yml up db -d +docker compose -f dev-ops/compose/docker-compose.yml up db -d ``` ### 2. Configure @@ -28,7 +23,7 @@ export AMIE_API_KEY="your-api-key" The default `config.yaml` works for local development with the Docker Compose MariaDB defaults. -For local dev without a real ACCESS endpoint, point the service at the local mock AMIE server in [`devtools/amie/`](../devtools/amie/README.md) +For local dev without a real ACCESS endpoint, point the service at the local mock AMIE server in [`mock-server/`](./mock-server/README.md) ```bash export AMIE_BASE_URL="http://localhost:8180" @@ -39,7 +34,7 @@ export AMIE_API_KEY="dev" ### 3. Build ```bash -cd allocations/access-amie +cd connectors/ACCESS/AMIE-Processor go build -o bin/access-amie . ``` @@ -135,7 +130,7 @@ For sustained traffic at a configurable rate, use k6 with `mock-server/amie-traf ## Observability -The service exports Prometheus metrics at `/metrics`. A pre-built Grafana dashboard is available at `compose/grafana/dashboards/amie-service.json` showing packet processing stats, failures, retries, and processing duration percentiles. +The service exports Prometheus metrics at `/metrics`. A pre-built Grafana dashboard is available at `dev-ops/compose/grafana/dashboards/amie-service.json` showing packet processing stats, failures, retries, and processing duration percentiles. To run the metrics stack: @@ -208,20 +203,3 @@ AMIE API ──poll──> Poller ──persist──> DB (packets + events) | Log level | `log.level` | `LOG_LEVEL` | `info` | | Log format | `log.format` | `LOG_FORMAT` | `text` | | Provisioner type | `provisioner.type` | — | `noop` | - -## Go Workspace - -This module is part of a Go workspace defined in `allocations/go.work`: - -``` -allocations/ - go.work Workspace root - provisioner/ Shared HPC provisioner interface (zero deps) - access-amie/ This module (ACCESS-CI AMIE adapter) -``` - -The `provisioner/` module defines the `Provisioner` interface for HPC cluster account and project provisioning. Currently using a no-op stub; a future SLURM provisioner will implement it. - -## License - -Licensed under the Apache License, Version 2.0. See [LICENSE](../../LICENSE) for details. From fc4afd44bab8fd81a1c23a6ec6ddf5c81825f2c2 Mon Sep 17 00:00:00 2001 From: lahiruj Date: Tue, 23 Jun 2026 20:22:57 -0400 Subject: [PATCH 2/5] Add missing license headers to source and documentation files --- .env.example | 17 ++++++++++++ CONFIG.md | 19 +++++++++++++ CONTRIBUTING.md | 19 +++++++++++++ INSTALL.md | 19 +++++++++++++ config/custos.yaml | 17 ++++++++++++ connectors/ACCESS/AMIE-Processor/README.md | 19 +++++++++++++ .../ACCESS/AMIE-Processor/config.yaml.example | 17 ++++++++++++ .../AMIE-Processor/mock-server/README.md | 19 +++++++++++++ .../testdata/scenarios/README.md | 19 +++++++++++++ .../testdata/scenarios/baseline.yaml | 17 ++++++++++++ .../COmanage/Identity-Provisioner/README.md | 19 +++++++++++++ .../Identity-Provisioner/config.example.yaml | 17 ++++++++++++ connectors/SLURM/Association-Mapper/README.md | 19 +++++++++++++ .../internal/subscribers/account.go | 17 ++++++++++++ .../accountsub_integration_test.go | 17 ++++++++++++ .../internal/subscribers/members.go | 17 ++++++++++++ .../subscribers/members_integration_test.go | 17 ++++++++++++ .../internal/subscribers/subscriber.go | 17 ++++++++++++ .../Association-Mapper/pkg/smapper/loader.go | 17 ++++++++++++ .../SLURM/Rest-Client/pkg/client/accounts.go | 17 ++++++++++++ .../pkg/client/accounts_integration_test.go | 17 ++++++++++++ .../Rest-Client/pkg/client/accounts_test.go | 17 ++++++++++++ .../Rest-Client/pkg/client/associations.go | 17 ++++++++++++ .../client/associations_integration_test.go | 17 ++++++++++++ .../pkg/client/associations_test.go | 17 ++++++++++++ .../SLURM/Rest-Client/pkg/client/client.go | 17 ++++++++++++ .../Rest-Client/pkg/client/client_test.go | 17 ++++++++++++ .../pkg/client/integration_common.go | 17 ++++++++++++ .../SLURM/Rest-Client/pkg/client/jobs.go | 27 +++++++++++++++---- .../pkg/client/jobs_integration_test.go | 17 ++++++++++++ .../SLURM/Rest-Client/pkg/client/tres.go | 17 ++++++++++++ .../SLURM/Rest-Client/pkg/client/tres_test.go | 17 ++++++++++++ .../SLURM/Rest-Client/pkg/client/types.go | 17 ++++++++++++ .../internal/smonitor/smonitor.go | 17 ++++++++++++ .../smonitor/smonitor_integration_test.go | 17 ++++++++++++ .../SLURM/Usage-Monitor/pkg/monitor/loader.go | 17 ++++++++++++ .../provisioning/dashboards/dashboards.yml | 17 ++++++++++++ .../provisioning/datasources/mariadb.yml | 17 ++++++++++++ .../provisioning/datasources/prometheus.yml | 17 ++++++++++++ dev-ops/compose/prometheus/prometheus.yml | 17 ++++++++++++ dev-ops/local-amie/README.md | 19 +++++++++++++ dev-ops/local-slurm/README.md | 19 +++++++++++++ dev-ops/local-slurm/compose.yaml | 17 ++++++++++++ .../scripts/bootstrap-accounting.sh | 18 +++++++++++++ .../local-slurm/scripts/entrypoint-ctld.sh | 18 +++++++++++++ dev-ops/local-slurm/scripts/entrypoint-dbd.sh | 18 +++++++++++++ .../local-slurm/scripts/entrypoint-login.sh | 18 +++++++++++++ .../local-slurm/scripts/entrypoint-restd.sh | 18 +++++++++++++ .../local-slurm/scripts/entrypoint-slurmd.sh | 18 +++++++++++++ dev-ops/local-slurm/scripts/init-keys.sh | 18 +++++++++++++ docs/ACCESS-HPC-Reference.md | 19 +++++++++++++ docs/API-Docs.md | 19 +++++++++++++ docs/Allocation-Data-Models.md | 19 +++++++++++++ extensions/CILogon-SSH-PAM/HOWTO.md | 19 +++++++++++++ extensions/CILogon-SSH-PAM/README.md | 19 +++++++++++++ .../CILogon-SSH-PAM/packaging/README.md | 19 +++++++++++++ .../CILogon-SSH-PAM/packaging/deb/build.sh | 18 +++++++++++++ extensions/CILogon-SSH-PAM/test/README.md | 19 +++++++++++++ .../CILogon-SSH-PAM/util/tls-debug/README.md | 19 +++++++++++++ extensions/SSH-Certificate-Signer/README.md | 19 +++++++++++++ .../config.example.yaml | 17 ++++++++++++ .../migrations/001_initial_schema.up.sql | 17 ++++++++++++ pkg/README.md | 19 +++++++++++++ pkg/events/bus.go | 17 ++++++++++++ .../compute_allocation_diff_subscribe.go | 17 ++++++++++++ ...compute_allocation_membership_subscribe.go | 17 ++++++++++++ ...e_allocation_resource_mapping_subscribe.go | 17 ++++++++++++ .../compute_allocation_resource_subscribe.go | 17 ++++++++++++ pkg/events/compute_allocation_subscribe.go | 17 ++++++++++++ pkg/events/organization_subscribe.go | 17 ++++++++++++ pkg/events/project_subscribe.go | 17 ++++++++++++ pkg/events/user_subscribe.go | 17 ++++++++++++ pkg/models/allocation.go | 17 ++++++++++++ pkg/service/mock.go | 17 ++++++++++++ scripts/slurm-mapper-integration-tests.sh | 18 +++++++++++++ scripts/slurm-monitor-integration-tests.sh | 18 +++++++++++++ 76 files changed, 1347 insertions(+), 5 deletions(-) diff --git a/.env.example b/.env.example index c66cdab96..e50603f4b 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # Sample environment file for the Custos backend. # Copy to .env, fill in real values, and `source .env` (or use a dotenv loader). # The portal has its own env template at web/.env.example. diff --git a/CONFIG.md b/CONFIG.md index bcb62bc67..d99a5047b 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -1,3 +1,22 @@ + + # Configuration Guide Custos server can be configured using a YAML configuration file instead of environment variables. This guide explains how to set up and use the configuration system. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5fcaa4e58..ad9a67a5e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,22 @@ + + # Contributing Thanks for your interest in contributing to Apache Airavata Custos. This document covers the repository layout, build commands, coding conventions, and the pull request workflow. diff --git a/INSTALL.md b/INSTALL.md index 4f0d1bc8f..8d06a5d47 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,3 +1,22 @@ + + # Local Installation This guide covers running Apache Airavata Custos locally for development and testing. For coding conventions, build commands, and contribution workflow, see [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/config/custos.yaml b/config/custos.yaml index 7ff69d715..89a778c91 100644 --- a/config/custos.yaml +++ b/config/custos.yaml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + core: database: url: "${DATABASE_DSN}" diff --git a/connectors/ACCESS/AMIE-Processor/README.md b/connectors/ACCESS/AMIE-Processor/README.md index 72f51c370..67bce03e9 100644 --- a/connectors/ACCESS/AMIE-Processor/README.md +++ b/connectors/ACCESS/AMIE-Processor/README.md @@ -1,3 +1,22 @@ + + # access-amie ACCESS-CI AMIE packet processing service for Apache Airavata Custos. diff --git a/connectors/ACCESS/AMIE-Processor/config.yaml.example b/connectors/ACCESS/AMIE-Processor/config.yaml.example index 528c9039f..3237ac3b0 100644 --- a/connectors/ACCESS/AMIE-Processor/config.yaml.example +++ b/connectors/ACCESS/AMIE-Processor/config.yaml.example @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + server: port: 8083 diff --git a/connectors/ACCESS/AMIE-Processor/mock-server/README.md b/connectors/ACCESS/AMIE-Processor/mock-server/README.md index 98ec62ca8..f6bb4b20a 100644 --- a/connectors/ACCESS/AMIE-Processor/mock-server/README.md +++ b/connectors/ACCESS/AMIE-Processor/mock-server/README.md @@ -1,3 +1,22 @@ + + # AMIE Traffic Tools Two scripts you can use together or on their own: diff --git a/connectors/ACCESS/AMIE-Processor/testdata/scenarios/README.md b/connectors/ACCESS/AMIE-Processor/testdata/scenarios/README.md index 68c7aa535..6d0af7e88 100644 --- a/connectors/ACCESS/AMIE-Processor/testdata/scenarios/README.md +++ b/connectors/ACCESS/AMIE-Processor/testdata/scenarios/README.md @@ -1,3 +1,22 @@ + + # AMIE scenario fixtures: expected DB state after each mock scenario Per-scenario test fixtures. Each YAML in this directory describes one mock-server scenario: what gets fired, what should end up in which table, and what the audit log should contain. diff --git a/connectors/ACCESS/AMIE-Processor/testdata/scenarios/baseline.yaml b/connectors/ACCESS/AMIE-Processor/testdata/scenarios/baseline.yaml index bef8994e6..350313869 100644 --- a/connectors/ACCESS/AMIE-Processor/testdata/scenarios/baseline.yaml +++ b/connectors/ACCESS/AMIE-Processor/testdata/scenarios/baseline.yaml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # Baseline scenario expectations. Packets are defined in # mock-server.py::gen_baseline_scenario. Portal dev rows that AMIE cannot # produce (resources, rates, usage, change requests) come from diff --git a/connectors/COmanage/Identity-Provisioner/README.md b/connectors/COmanage/Identity-Provisioner/README.md index 9df9cf4be..79ffc3bdc 100644 --- a/connectors/COmanage/Identity-Provisioner/README.md +++ b/connectors/COmanage/Identity-Provisioner/README.md @@ -1,3 +1,22 @@ + + # COmanage Identity-Provisioner Connector that bridges Custos to a COmanage Registry. When the core service diff --git a/connectors/COmanage/Identity-Provisioner/config.example.yaml b/connectors/COmanage/Identity-Provisioner/config.example.yaml index 9ed3b990b..7f4edb5e2 100644 --- a/connectors/COmanage/Identity-Provisioner/config.example.yaml +++ b/connectors/COmanage/Identity-Provisioner/config.example.yaml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # COmanage Identity-Provisioner connector # # This connector is configured via environment variables. Below is the full diff --git a/connectors/SLURM/Association-Mapper/README.md b/connectors/SLURM/Association-Mapper/README.md index ff32c411f..6b79465ef 100644 --- a/connectors/SLURM/Association-Mapper/README.md +++ b/connectors/SLURM/Association-Mapper/README.md @@ -1,3 +1,22 @@ + + # SLURM Association-Mapper SLURM association creation logic lives in this plugin. It is triggered when the allocation manager has processed an allocation request and released it to downstream handlers. It talks to `slurmrestd` to manage accounts, associations, and TRES limits. diff --git a/connectors/SLURM/Association-Mapper/internal/subscribers/account.go b/connectors/SLURM/Association-Mapper/internal/subscribers/account.go index 300dad62b..36071aa24 100644 --- a/connectors/SLURM/Association-Mapper/internal/subscribers/account.go +++ b/connectors/SLURM/Association-Mapper/internal/subscribers/account.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package subscribers import ( diff --git a/connectors/SLURM/Association-Mapper/internal/subscribers/accountsub_integration_test.go b/connectors/SLURM/Association-Mapper/internal/subscribers/accountsub_integration_test.go index 23ca08985..149bceccc 100644 --- a/connectors/SLURM/Association-Mapper/internal/subscribers/accountsub_integration_test.go +++ b/connectors/SLURM/Association-Mapper/internal/subscribers/accountsub_integration_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package subscribers import ( diff --git a/connectors/SLURM/Association-Mapper/internal/subscribers/members.go b/connectors/SLURM/Association-Mapper/internal/subscribers/members.go index c9c29c9c1..a432efc0d 100644 --- a/connectors/SLURM/Association-Mapper/internal/subscribers/members.go +++ b/connectors/SLURM/Association-Mapper/internal/subscribers/members.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package subscribers import ( diff --git a/connectors/SLURM/Association-Mapper/internal/subscribers/members_integration_test.go b/connectors/SLURM/Association-Mapper/internal/subscribers/members_integration_test.go index d0b12fc71..3fc7e1dbc 100644 --- a/connectors/SLURM/Association-Mapper/internal/subscribers/members_integration_test.go +++ b/connectors/SLURM/Association-Mapper/internal/subscribers/members_integration_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package subscribers import ( diff --git a/connectors/SLURM/Association-Mapper/internal/subscribers/subscriber.go b/connectors/SLURM/Association-Mapper/internal/subscribers/subscriber.go index 1dc2e45e7..bfa6a9fc3 100644 --- a/connectors/SLURM/Association-Mapper/internal/subscribers/subscriber.go +++ b/connectors/SLURM/Association-Mapper/internal/subscribers/subscriber.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package subscribers import ( diff --git a/connectors/SLURM/Association-Mapper/pkg/smapper/loader.go b/connectors/SLURM/Association-Mapper/pkg/smapper/loader.go index 742297e77..1df56be4d 100644 --- a/connectors/SLURM/Association-Mapper/pkg/smapper/loader.go +++ b/connectors/SLURM/Association-Mapper/pkg/smapper/loader.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package smapper import ( diff --git a/connectors/SLURM/Rest-Client/pkg/client/accounts.go b/connectors/SLURM/Rest-Client/pkg/client/accounts.go index c58a26fc1..e60f31cd9 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/accounts.go +++ b/connectors/SLURM/Rest-Client/pkg/client/accounts.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/accounts.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/accounts_integration_test.go b/connectors/SLURM/Rest-Client/pkg/client/accounts_integration_test.go index e20228bcb..bd6049084 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/accounts_integration_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/accounts_integration_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package client import ( diff --git a/connectors/SLURM/Rest-Client/pkg/client/accounts_test.go b/connectors/SLURM/Rest-Client/pkg/client/accounts_test.go index bdf5c4f5c..993610018 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/accounts_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/accounts_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/accounts_test.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/associations.go b/connectors/SLURM/Rest-Client/pkg/client/associations.go index 6579944d9..b1eca11be 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/associations.go +++ b/connectors/SLURM/Rest-Client/pkg/client/associations.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/associations.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/associations_integration_test.go b/connectors/SLURM/Rest-Client/pkg/client/associations_integration_test.go index 7ec08e88d..d433695bb 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/associations_integration_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/associations_integration_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package client import ( diff --git a/connectors/SLURM/Rest-Client/pkg/client/associations_test.go b/connectors/SLURM/Rest-Client/pkg/client/associations_test.go index dac380c88..bd9bd3b49 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/associations_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/associations_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/associations_test.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/client.go b/connectors/SLURM/Rest-Client/pkg/client/client.go index 85eacf017..23efe20fc 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/client.go +++ b/connectors/SLURM/Rest-Client/pkg/client/client.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/client.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/client_test.go b/connectors/SLURM/Rest-Client/pkg/client/client_test.go index 22f4b3fbe..b948d8144 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/client_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/client_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/client_test.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/integration_common.go b/connectors/SLURM/Rest-Client/pkg/client/integration_common.go index ec799ddb6..489dfc7f4 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/integration_common.go +++ b/connectors/SLURM/Rest-Client/pkg/client/integration_common.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package client import "os" diff --git a/connectors/SLURM/Rest-Client/pkg/client/jobs.go b/connectors/SLURM/Rest-Client/pkg/client/jobs.go index d29a041d3..661191931 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/jobs.go +++ b/connectors/SLURM/Rest-Client/pkg/client/jobs.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package client /* @@ -25,13 +42,13 @@ type jobsResponse struct { } type JobFilter struct { - Users []string `json:"users,omitempty"` - StartTime int64 `json:"start_time,omitempty"` - EndTime int64 `json:"end_time,omitempty"` + Users []string `json:"users,omitempty"` + StartTime int64 `json:"start_time,omitempty"` + EndTime int64 `json:"end_time,omitempty"` } type internalJobFilter struct { - Users []string `json:"users,omitempty"` + Users []string `json:"users,omitempty"` StartTime *SlurmNumber `json:"start_time,omitempty"` EndTime *SlurmNumber `json:"end_time,omitempty"` } @@ -39,7 +56,7 @@ type internalJobFilter struct { func (c *Client) ListJobs(filter JobFilter) ([]JobInfo, error) { var out jobsResponse internalFilter := internalJobFilter{ - Users: filter.Users, + Users: filter.Users, } if filter.StartTime > 0 { internalFilter.StartTime = &SlurmNumber{Set: true, Infinite: false, Number: filter.StartTime} diff --git a/connectors/SLURM/Rest-Client/pkg/client/jobs_integration_test.go b/connectors/SLURM/Rest-Client/pkg/client/jobs_integration_test.go index 0b5ebd3f2..301645078 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/jobs_integration_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/jobs_integration_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package client import ( diff --git a/connectors/SLURM/Rest-Client/pkg/client/tres.go b/connectors/SLURM/Rest-Client/pkg/client/tres.go index aaad5fcf1..9a7120398 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/tres.go +++ b/connectors/SLURM/Rest-Client/pkg/client/tres.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/tres.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/tres_test.go b/connectors/SLURM/Rest-Client/pkg/client/tres_test.go index 43b6c29f4..42ebdd744 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/tres_test.go +++ b/connectors/SLURM/Rest-Client/pkg/client/tres_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/tres_test.go package client diff --git a/connectors/SLURM/Rest-Client/pkg/client/types.go b/connectors/SLURM/Rest-Client/pkg/client/types.go index 0f6f208a3..e15945bed 100644 --- a/connectors/SLURM/Rest-Client/pkg/client/types.go +++ b/connectors/SLURM/Rest-Client/pkg/client/types.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // cli/internal/client/types.go package client diff --git a/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor.go b/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor.go index 940670d52..c61faa250 100644 --- a/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor.go +++ b/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package smonitor import ( diff --git a/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor_integration_test.go b/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor_integration_test.go index 372b2b651..04b61083f 100644 --- a/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor_integration_test.go +++ b/connectors/SLURM/Usage-Monitor/internal/smonitor/smonitor_integration_test.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package smonitor import ( diff --git a/connectors/SLURM/Usage-Monitor/pkg/monitor/loader.go b/connectors/SLURM/Usage-Monitor/pkg/monitor/loader.go index d6f78fe26..a9c9730f5 100644 --- a/connectors/SLURM/Usage-Monitor/pkg/monitor/loader.go +++ b/connectors/SLURM/Usage-Monitor/pkg/monitor/loader.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package monitor import ( diff --git a/dev-ops/compose/grafana/provisioning/dashboards/dashboards.yml b/dev-ops/compose/grafana/provisioning/dashboards/dashboards.yml index 3b928441c..fc0f09463 100644 --- a/dev-ops/compose/grafana/provisioning/dashboards/dashboards.yml +++ b/dev-ops/compose/grafana/provisioning/dashboards/dashboards.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + apiVersion: 1 providers: diff --git a/dev-ops/compose/grafana/provisioning/datasources/mariadb.yml b/dev-ops/compose/grafana/provisioning/datasources/mariadb.yml index 0e94eb34b..abce4b30a 100644 --- a/dev-ops/compose/grafana/provisioning/datasources/mariadb.yml +++ b/dev-ops/compose/grafana/provisioning/datasources/mariadb.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + apiVersion: 1 datasources: diff --git a/dev-ops/compose/grafana/provisioning/datasources/prometheus.yml b/dev-ops/compose/grafana/provisioning/datasources/prometheus.yml index bb009bb21..ad9e8b056 100644 --- a/dev-ops/compose/grafana/provisioning/datasources/prometheus.yml +++ b/dev-ops/compose/grafana/provisioning/datasources/prometheus.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + apiVersion: 1 datasources: diff --git a/dev-ops/compose/prometheus/prometheus.yml b/dev-ops/compose/prometheus/prometheus.yml index c405f9bd6..7b7c3a80c 100644 --- a/dev-ops/compose/prometheus/prometheus.yml +++ b/dev-ops/compose/prometheus/prometheus.yml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + global: scrape_interval: 15s evaluation_interval: 15s diff --git a/dev-ops/local-amie/README.md b/dev-ops/local-amie/README.md index db8cd6243..1b581648e 100644 --- a/dev-ops/local-amie/README.md +++ b/dev-ops/local-amie/README.md @@ -1,3 +1,22 @@ + + # local-amie Isolated Docker stack for AMIE connector integration tests. Runs on offset diff --git a/dev-ops/local-slurm/README.md b/dev-ops/local-slurm/README.md index b6290e019..d022ecc18 100644 --- a/dev-ops/local-slurm/README.md +++ b/dev-ops/local-slurm/README.md @@ -1,3 +1,22 @@ + + make up for starting SLURM Cluster make down for stopping the SLURM cluster make token to print the REST api token \ No newline at end of file diff --git a/dev-ops/local-slurm/compose.yaml b/dev-ops/local-slurm/compose.yaml index f86beb03b..ec7045c34 100644 --- a/dev-ops/local-slurm/compose.yaml +++ b/dev-ops/local-slurm/compose.yaml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # compose.yaml name: slurmrest diff --git a/dev-ops/local-slurm/scripts/bootstrap-accounting.sh b/dev-ops/local-slurm/scripts/bootstrap-accounting.sh index 467e8730d..4add0bfc0 100755 --- a/dev-ops/local-slurm/scripts/bootstrap-accounting.sh +++ b/dev-ops/local-slurm/scripts/bootstrap-accounting.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # Idempotent: creates the demo cluster, root account, root admin user. set -euo pipefail diff --git a/dev-ops/local-slurm/scripts/entrypoint-ctld.sh b/dev-ops/local-slurm/scripts/entrypoint-ctld.sh index f4cec4ca4..aebde8f44 100755 --- a/dev-ops/local-slurm/scripts/entrypoint-ctld.sh +++ b/dev-ops/local-slurm/scripts/entrypoint-ctld.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + set -euo pipefail install -m 0644 /etc/slurm.readonly/slurm.conf /etc/slurm/slurm.conf diff --git a/dev-ops/local-slurm/scripts/entrypoint-dbd.sh b/dev-ops/local-slurm/scripts/entrypoint-dbd.sh index 40a7becd8..3a6b82d28 100755 --- a/dev-ops/local-slurm/scripts/entrypoint-dbd.sh +++ b/dev-ops/local-slurm/scripts/entrypoint-dbd.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + set -euo pipefail # Copy slurmdbd.conf with the 0600 perms that slurmdbd requires diff --git a/dev-ops/local-slurm/scripts/entrypoint-login.sh b/dev-ops/local-slurm/scripts/entrypoint-login.sh index 4ef755819..3b841ee47 100755 --- a/dev-ops/local-slurm/scripts/entrypoint-login.sh +++ b/dev-ops/local-slurm/scripts/entrypoint-login.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + set -euo pipefail install -m 0644 /etc/slurm.readonly/slurm.conf /etc/slurm/slurm.conf diff --git a/dev-ops/local-slurm/scripts/entrypoint-restd.sh b/dev-ops/local-slurm/scripts/entrypoint-restd.sh index 2060025b7..3eca6e6b8 100755 --- a/dev-ops/local-slurm/scripts/entrypoint-restd.sh +++ b/dev-ops/local-slurm/scripts/entrypoint-restd.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + set -euo pipefail install -m 0644 /etc/slurm.readonly/slurm.conf /etc/slurm/slurm.conf diff --git a/dev-ops/local-slurm/scripts/entrypoint-slurmd.sh b/dev-ops/local-slurm/scripts/entrypoint-slurmd.sh index 15166d449..3464296d6 100755 --- a/dev-ops/local-slurm/scripts/entrypoint-slurmd.sh +++ b/dev-ops/local-slurm/scripts/entrypoint-slurmd.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + set -euo pipefail install -m 0644 /etc/slurm.readonly/slurm.conf /etc/slurm/slurm.conf diff --git a/dev-ops/local-slurm/scripts/init-keys.sh b/dev-ops/local-slurm/scripts/init-keys.sh index 5bfdac8c5..84d59fcbe 100755 --- a/dev-ops/local-slurm/scripts/init-keys.sh +++ b/dev-ops/local-slurm/scripts/init-keys.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # scripts/init-keys.sh — generate munge + JWT keys into shared volumes if missing. set -euo pipefail diff --git a/docs/ACCESS-HPC-Reference.md b/docs/ACCESS-HPC-Reference.md index 0565991c1..94ccc0700 100644 --- a/docs/ACCESS-HPC-Reference.md +++ b/docs/ACCESS-HPC-Reference.md @@ -1,3 +1,22 @@ + + ### Reference architecture for an ACCESS Resource Provider ![ACCESS Reference](./access-reference.png) diff --git a/docs/API-Docs.md b/docs/API-Docs.md index cae52f384..2a55a7576 100644 --- a/docs/API-Docs.md +++ b/docs/API-Docs.md @@ -1,3 +1,22 @@ + + # Custos API Documentation HTTP/JSON API exposed by `cmd/server`. All endpoints accept and return diff --git a/docs/Allocation-Data-Models.md b/docs/Allocation-Data-Models.md index b15f61c3f..cd62ae231 100644 --- a/docs/Allocation-Data-Models.md +++ b/docs/Allocation-Data-Models.md @@ -1,3 +1,22 @@ + + # Compute Allocation Management — Data Models ## Overview diff --git a/extensions/CILogon-SSH-PAM/HOWTO.md b/extensions/CILogon-SSH-PAM/HOWTO.md index ad4123e25..ce8778100 100644 --- a/extensions/CILogon-SSH-PAM/HOWTO.md +++ b/extensions/CILogon-SSH-PAM/HOWTO.md @@ -1,3 +1,22 @@ + + # OIDC Login PAM Module HOWTO This is a HOWTO document describing how to use the OIDC device flow authenticator PAM module as refactored and augmented diff --git a/extensions/CILogon-SSH-PAM/README.md b/extensions/CILogon-SSH-PAM/README.md index 18babc522..41828cfac 100644 --- a/extensions/CILogon-SSH-PAM/README.md +++ b/extensions/CILogon-SSH-PAM/README.md @@ -1,3 +1,22 @@ + + # PAM module for OAuth 2.0 Device flow This is a PAM module that lets you log in via SSH to servers using OpenID Connect credentials, instead of SSH Keys or a username and password combination. diff --git a/extensions/CILogon-SSH-PAM/packaging/README.md b/extensions/CILogon-SSH-PAM/packaging/README.md index 0a96fca7d..93f0e3617 100644 --- a/extensions/CILogon-SSH-PAM/packaging/README.md +++ b/extensions/CILogon-SSH-PAM/packaging/README.md @@ -1,3 +1,22 @@ + + # Packaging pam_oauth2_device ## Building a deb package diff --git a/extensions/CILogon-SSH-PAM/packaging/deb/build.sh b/extensions/CILogon-SSH-PAM/packaging/deb/build.sh index ba96d19e4..ed399c60e 100755 --- a/extensions/CILogon-SSH-PAM/packaging/deb/build.sh +++ b/extensions/CILogon-SSH-PAM/packaging/deb/build.sh @@ -1,5 +1,23 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + NAME=pamoauth2device VERSION=0.1.1 URL_REPO=https://github.com/jsurkont/pam_oauth2_device diff --git a/extensions/CILogon-SSH-PAM/test/README.md b/extensions/CILogon-SSH-PAM/test/README.md index 3b9766ce7..255f1122a 100644 --- a/extensions/CILogon-SSH-PAM/test/README.md +++ b/extensions/CILogon-SSH-PAM/test/README.md @@ -1,3 +1,22 @@ + + # PAM module testing 1. Install Google test (the build assumes a standard system install) diff --git a/extensions/CILogon-SSH-PAM/util/tls-debug/README.md b/extensions/CILogon-SSH-PAM/util/tls-debug/README.md index d8b122139..7ce4a46d8 100644 --- a/extensions/CILogon-SSH-PAM/util/tls-debug/README.md +++ b/extensions/CILogon-SSH-PAM/util/tls-debug/README.md @@ -1,3 +1,22 @@ + + # tls-debug Small utility using curl to debug connecting to a remote server using SSL/TLS. It could be https as when diff --git a/extensions/SSH-Certificate-Signer/README.md b/extensions/SSH-Certificate-Signer/README.md index 4b7761ef3..f81370048 100644 --- a/extensions/SSH-Certificate-Signer/README.md +++ b/extensions/SSH-Certificate-Signer/README.md @@ -1,3 +1,22 @@ + + # Custos Signer A multi-tenant SSH certificate authority for science gateways and research computing. Custos Signer issues short-lived, identity-bound OpenSSH user certificates so researchers can access HPC resources without managing long-lived SSH keys. diff --git a/extensions/SSH-Certificate-Signer/config.example.yaml b/extensions/SSH-Certificate-Signer/config.example.yaml index 7d79b1006..0eaa603df 100644 --- a/extensions/SSH-Certificate-Signer/config.example.yaml +++ b/extensions/SSH-Certificate-Signer/config.example.yaml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + server: port: 8084 # HTTP listen port read_timeout_seconds: 30 # HTTP read timeout diff --git a/extensions/SSH-Certificate-Signer/migrations/001_initial_schema.up.sql b/extensions/SSH-Certificate-Signer/migrations/001_initial_schema.up.sql index e69ac454a..649e3a4d0 100644 --- a/extensions/SSH-Certificate-Signer/migrations/001_initial_schema.up.sql +++ b/extensions/SSH-Certificate-Signer/migrations/001_initial_schema.up.sql @@ -1,3 +1,20 @@ +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. + SET NAMES utf8mb4; SET time_zone = '+00:00'; diff --git a/pkg/README.md b/pkg/README.md index bb7a2653a..4b159554a 100644 --- a/pkg/README.md +++ b/pkg/README.md @@ -1,3 +1,22 @@ + + # pkg Public Go libraries shared across this repository's modules. Following the diff --git a/pkg/events/bus.go b/pkg/events/bus.go index 2044e02ca..87a26cee9 100644 --- a/pkg/events/bus.go +++ b/pkg/events/bus.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/compute_allocation_diff_subscribe.go b/pkg/events/compute_allocation_diff_subscribe.go index 83c1b723c..f4fd09b31 100644 --- a/pkg/events/compute_allocation_diff_subscribe.go +++ b/pkg/events/compute_allocation_diff_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/compute_allocation_membership_subscribe.go b/pkg/events/compute_allocation_membership_subscribe.go index 13c1256e2..169753013 100644 --- a/pkg/events/compute_allocation_membership_subscribe.go +++ b/pkg/events/compute_allocation_membership_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/compute_allocation_resource_mapping_subscribe.go b/pkg/events/compute_allocation_resource_mapping_subscribe.go index e8e6be175..d30261ace 100644 --- a/pkg/events/compute_allocation_resource_mapping_subscribe.go +++ b/pkg/events/compute_allocation_resource_mapping_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/compute_allocation_resource_subscribe.go b/pkg/events/compute_allocation_resource_subscribe.go index e45d89072..8f91b19d8 100644 --- a/pkg/events/compute_allocation_resource_subscribe.go +++ b/pkg/events/compute_allocation_resource_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/compute_allocation_subscribe.go b/pkg/events/compute_allocation_subscribe.go index 93500c816..0ce1533eb 100644 --- a/pkg/events/compute_allocation_subscribe.go +++ b/pkg/events/compute_allocation_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/organization_subscribe.go b/pkg/events/organization_subscribe.go index 5b5674957..1a1a94f21 100644 --- a/pkg/events/organization_subscribe.go +++ b/pkg/events/organization_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/project_subscribe.go b/pkg/events/project_subscribe.go index 874c3c08d..26581bf73 100644 --- a/pkg/events/project_subscribe.go +++ b/pkg/events/project_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/events/user_subscribe.go b/pkg/events/user_subscribe.go index c9bc92b07..794bbd3a8 100644 --- a/pkg/events/user_subscribe.go +++ b/pkg/events/user_subscribe.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package events import ( diff --git a/pkg/models/allocation.go b/pkg/models/allocation.go index b372d2557..0f907c66f 100644 --- a/pkg/models/allocation.go +++ b/pkg/models/allocation.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + package models import "time" diff --git a/pkg/service/mock.go b/pkg/service/mock.go index 70aa3cfa9..6a12d98f1 100644 --- a/pkg/service/mock.go +++ b/pkg/service/mock.go @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // Code generated by moq; DO NOT EDIT. // github.com/matryer/moq diff --git a/scripts/slurm-mapper-integration-tests.sh b/scripts/slurm-mapper-integration-tests.sh index 90831d147..d8a942c2c 100755 --- a/scripts/slurm-mapper-integration-tests.sh +++ b/scripts/slurm-mapper-integration-tests.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # Run the SLURM Association-Mapper integration tests. # # Usage: diff --git a/scripts/slurm-monitor-integration-tests.sh b/scripts/slurm-monitor-integration-tests.sh index bfcfdc211..696cba6af 100755 --- a/scripts/slurm-monitor-integration-tests.sh +++ b/scripts/slurm-monitor-integration-tests.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # Run the SLURM Association-Mapper integration tests. # # Usage: From e030b6c6edbc096c2e2f631aa8210b93728b826b Mon Sep 17 00:00:00 2001 From: lahiruj Date: Tue, 23 Jun 2026 20:33:17 -0400 Subject: [PATCH 3/5] Add missing license headers across the web frontend --- .gitignore | 6 +- web/.env.example | 17 +++ web/CLAUDE.md | 122 ------------------ web/README.md | 19 +++ web/design-tokens/colors.css | 19 +++ web/design-tokens/radii.css | 19 +++ web/design-tokens/spacing.css | 19 +++ web/design-tokens/typography.css | 19 +++ web/next.config.ts | 17 +++ web/playwright.config.ts | 17 +++ web/playwright.live.config.ts | 17 +++ web/pnpm-lock.yaml | 17 +++ web/src/app/(auth)/sign-in/SignInForm.tsx | 17 +++ web/src/app/(auth)/sign-in/page.tsx | 17 +++ web/src/app/(portal)/admin/amie/AmieNav.tsx | 17 +++ .../(portal)/admin/amie/PermissionGate.tsx | 17 +++ .../amie/failed/FailedQueueContainer.tsx | 17 +++ .../app/(portal)/admin/amie/failed/page.tsx | 17 +++ web/src/app/(portal)/admin/amie/layout.tsx | 17 +++ .../amie/packets/PacketInboxContainer.tsx | 17 +++ .../(portal)/admin/amie/packets/[id]/page.tsx | 17 +++ .../(portal)/admin/amie/packets/loading.tsx | 17 +++ .../app/(portal)/admin/amie/packets/page.tsx | 17 +++ web/src/app/(portal)/admin/amie/page.tsx | 17 +++ .../reconcile/ReconciliationContainer.tsx | 17 +++ .../(portal)/admin/amie/reconcile/page.tsx | 17 +++ .../amie/replies/ReplyTrackerContainer.tsx | 17 +++ .../app/(portal)/admin/amie/replies/page.tsx | 17 +++ .../(portal)/admin/traces/PermissionGate.tsx | 17 +++ .../(portal)/admin/traces/[traceId]/page.tsx | 17 +++ web/src/app/(portal)/admin/traces/layout.tsx | 17 +++ web/src/app/(portal)/admin/traces/page.tsx | 17 +++ .../allocations/AllocationsListContainer.tsx | 17 +++ .../(portal)/allocations/PermissionGate.tsx | 17 +++ .../allocations/[allocationId]/layout.tsx | 17 +++ .../allocations/[allocationId]/page.tsx | 17 +++ web/src/app/(portal)/allocations/layout.tsx | 17 +++ web/src/app/(portal)/allocations/page.tsx | 17 +++ .../ChangeRequestQueueContainer.tsx | 17 +++ .../change-requests/PermissionGate.tsx | 17 +++ .../[changeRequestId]/layout.tsx | 17 +++ .../[changeRequestId]/page.tsx | 17 +++ .../app/(portal)/change-requests/layout.tsx | 17 +++ web/src/app/(portal)/change-requests/page.tsx | 17 +++ web/src/app/(portal)/layout.tsx | 17 +++ web/src/app/(portal)/page.tsx | 17 +++ .../app/(portal)/projects/PermissionGate.tsx | 17 +++ .../projects/ProjectsListContainer.tsx | 17 +++ .../(portal)/projects/[projectId]/layout.tsx | 17 +++ .../(portal)/projects/[projectId]/page.tsx | 17 +++ web/src/app/(portal)/projects/layout.tsx | 17 +++ web/src/app/(portal)/projects/page.tsx | 17 +++ web/src/app/api/auth/[...nextauth]/route.ts | 17 +++ web/src/app/api/v1/[...path]/route.ts | 17 +++ web/src/app/globals.css | 19 +++ web/src/app/layout.tsx | 17 +++ web/src/app/no-access/page.tsx | 17 +++ .../amie/__tests__/PacketEventsTable.test.tsx | 17 +++ .../amie/__tests__/PacketStatusBadge.test.tsx | 17 +++ .../amie/__tests__/PacketsTrendChart.test.tsx | 17 +++ .../connectors/amie/__tests__/api.test.ts | 17 +++ .../amie/__tests__/query-keys.test.ts | 17 +++ .../connectors/amie/__tests__/schemas.test.ts | 17 +++ .../connectors/amie/__tests__/utils.test.ts | 17 +++ web/src/features/connectors/amie/api.ts | 17 +++ .../amie/components/FailedQueue.tsx | 17 +++ .../amie/components/PacketDetailDrawer.tsx | 17 +++ .../amie/components/PacketEventsTable.tsx | 17 +++ .../amie/components/PacketInboxTable.tsx | 17 +++ .../amie/components/PacketRawJson.tsx | 17 +++ .../amie/components/PacketStatusBadge.tsx | 17 +++ .../amie/components/PacketsTrendChart.tsx | 17 +++ .../amie/components/ReconciliationQueue.tsx | 17 +++ .../amie/components/ReplyTracker.tsx | 17 +++ web/src/features/connectors/amie/queries.ts | 17 +++ web/src/features/connectors/amie/schemas.ts | 17 +++ web/src/features/connectors/amie/types.ts | 17 +++ web/src/features/connectors/amie/utils.ts | 17 +++ .../__tests__/AllocationsList.test.tsx | 17 +++ .../core/allocations/__tests__/api.test.ts | 17 +++ .../allocations/__tests__/queries.test.ts | 17 +++ .../allocations/__tests__/schemas.test.ts | 17 +++ web/src/features/core/allocations/api.ts | 17 +++ .../components/AddMemberDialog.tsx | 17 +++ .../AllocationChangeRequestsTab.tsx | 17 +++ .../components/AllocationDetail.tsx | 17 +++ .../components/AllocationDetailHeader.tsx | 17 +++ .../components/AllocationMembersTab.tsx | 17 +++ .../components/AllocationOverviewTab.tsx | 17 +++ .../components/AllocationUsageTab.tsx | 17 +++ .../components/AllocationsList.tsx | 17 +++ .../components/ChangeRequestApproverQueue.tsx | 17 +++ .../components/ChangeRequestDetail.tsx | 17 +++ .../components/ChangeRequestSubmitDrawer.tsx | 17 +++ .../components/MemberEditDialog.tsx | 17 +++ web/src/features/core/allocations/queries.ts | 17 +++ web/src/features/core/allocations/schemas.ts | 17 +++ web/src/features/core/allocations/types.ts | 17 +++ .../__tests__/LastTraceProvider.test.tsx | 17 +++ .../audit/__tests__/TraceFilterStrip.test.tsx | 17 +++ .../audit/__tests__/TraceOverviewTab.test.tsx | 17 +++ .../core/audit/__tests__/TraceRawTab.test.tsx | 17 +++ .../core/audit/__tests__/TraceTable.test.tsx | 17 +++ .../audit/__tests__/TraceTreeRow.test.tsx | 17 +++ .../audit/__tests__/ViewTraceLink.test.tsx | 17 +++ .../features/core/audit/__tests__/api.test.ts | 17 +++ .../__tests__/primitives/CopyValue.test.tsx | 17 +++ .../__tests__/primitives/SourcePill.test.tsx | 17 +++ .../__tests__/primitives/StatusPill.test.tsx | 17 +++ .../core/audit/__tests__/query-keys.test.ts | 17 +++ .../core/audit/__tests__/schemas.test.ts | 17 +++ .../audit/__tests__/traceListUrlState.test.ts | 17 +++ .../core/audit/__tests__/utils.test.ts | 17 +++ web/src/features/core/audit/api.ts | 17 +++ .../audit/components/LastTraceProvider.tsx | 17 +++ .../audit/components/TraceDetailDrawer.tsx | 17 +++ .../audit/components/TraceFilterStrip.tsx | 17 +++ .../components/TraceLinkedEntitiesTab.tsx | 17 +++ .../audit/components/TraceListContainer.tsx | 17 +++ .../audit/components/TraceOverviewTab.tsx | 17 +++ .../core/audit/components/TraceRawTab.tsx | 17 +++ .../audit/components/TraceSpanDetailPanel.tsx | 17 +++ .../core/audit/components/TraceTable.tsx | 17 +++ .../core/audit/components/TraceTreeRow.tsx | 17 +++ .../core/audit/components/TraceTreeTab.tsx | 17 +++ .../core/audit/components/ViewTraceLink.tsx | 17 +++ .../audit/components/primitives/CopyValue.tsx | 17 +++ .../components/primitives/SourcePill.tsx | 17 +++ .../components/primitives/StatusPill.tsx | 17 +++ .../audit/components/traceListUrlState.ts | 17 +++ web/src/features/core/audit/queries.ts | 17 +++ web/src/features/core/audit/schemas.ts | 17 +++ web/src/features/core/audit/types.ts | 17 +++ web/src/features/core/audit/utils.ts | 17 +++ .../core/identity/__tests__/queries.test.ts | 17 +++ .../core/identity/__tests__/schemas.test.ts | 17 +++ .../identity/__tests__/usePrivileges.test.tsx | 17 +++ web/src/features/core/identity/api.ts | 17 +++ web/src/features/core/identity/queries.ts | 17 +++ web/src/features/core/identity/schemas.ts | 17 +++ web/src/features/core/identity/types.ts | 17 +++ .../projects/__tests__/ProjectsList.test.tsx | 17 +++ .../core/projects/__tests__/api.test.ts | 17 +++ .../core/projects/__tests__/queries.test.ts | 17 +++ .../core/projects/__tests__/schemas.test.ts | 17 +++ web/src/features/core/projects/api.ts | 17 +++ .../components/ProjectAllocationsTab.tsx | 17 +++ .../projects/components/ProjectDetail.tsx | 17 +++ .../components/ProjectDetailHeader.tsx | 17 +++ .../projects/components/ProjectMembersTab.tsx | 17 +++ .../components/ProjectOverviewTab.tsx | 17 +++ .../core/projects/components/ProjectsList.tsx | 17 +++ web/src/features/core/projects/queries.ts | 17 +++ web/src/features/core/projects/schemas.ts | 17 +++ web/src/features/core/projects/types.ts | 17 +++ web/src/lib/env.ts | 17 +++ web/src/lib/utils.ts | 17 +++ web/src/mocks/browser.ts | 17 +++ web/src/mocks/handlers.ts | 17 +++ web/src/mocks/handlers/allocations.ts | 17 +++ web/src/mocks/handlers/amie.ts | 17 +++ web/src/mocks/handlers/healthz.ts | 17 +++ web/src/mocks/handlers/privileges.ts | 17 +++ web/src/mocks/handlers/projects.ts | 17 +++ web/src/mocks/handlers/traces.ts | 17 +++ web/src/mocks/node.ts | 17 +++ web/src/shared/__tests__/tokens.test.ts | 17 +++ web/src/shared/api/__tests__/client.test.ts | 17 +++ web/src/shared/api/client.ts | 17 +++ web/src/shared/api/domain.ts | 17 +++ web/src/shared/api/last-trace-id.ts | 17 +++ web/src/shared/auth/__tests__/auth.test.ts | 17 +++ web/src/shared/auth/auth.ts | 17 +++ web/src/shared/auth/devLevels.ts | 17 +++ web/src/shared/auth/next-auth.d.ts | 17 +++ web/src/shared/auth/session.ts | 17 +++ web/src/shared/casl/AbilityProvider.tsx | 17 +++ web/src/shared/casl/Can.tsx | 17 +++ .../shared/casl/__tests__/abilities.test.ts | 17 +++ web/src/shared/casl/abilities.ts | 17 +++ web/src/shared/charts/BurnDownBar.tsx | 17 +++ web/src/shared/charts/ComplianceMatrix.tsx | 17 +++ web/src/shared/charts/ForecastBar.tsx | 17 +++ web/src/shared/charts/Sparkline.tsx | 17 +++ web/src/shared/charts/StackedAreaUsage.tsx | 17 +++ .../__tests__/ComplianceMatrix.test.tsx | 17 +++ .../charts/__tests__/ForecastBar.test.tsx | 17 +++ .../__tests__/StackedAreaUsage.test.tsx | 17 +++ .../hooks/__tests__/useUrlGroupBy.test.tsx | 17 +++ .../hooks/__tests__/useUrlRange.test.tsx | 17 +++ web/src/shared/hooks/useDebounce.ts | 17 +++ .../shared/hooks/useShallowSearchParams.ts | 17 +++ web/src/shared/hooks/useUrlGroupBy.ts | 17 +++ web/src/shared/hooks/useUrlRange.ts | 17 +++ web/src/shared/layout/Breadcrumbs.tsx | 17 +++ web/src/shared/layout/PortalLayout.tsx | 17 +++ web/src/shared/layout/Sidebar.tsx | 17 +++ web/src/shared/layout/Topbar.tsx | 17 +++ web/src/shared/layout/UserPill.tsx | 17 +++ web/src/shared/layout/nav.ts | 17 +++ web/src/shared/layout/useNavHistory.ts | 17 +++ web/src/shared/providers/MswProvider.tsx | 17 +++ web/src/shared/providers/Providers.tsx | 17 +++ web/src/shared/providers/QueryProvider.tsx | 17 +++ web/src/shared/ui/Breadcrumbs.tsx | 17 +++ web/src/shared/ui/DataTable.tsx | 17 +++ web/src/shared/ui/DateRangePicker.tsx | 17 +++ web/src/shared/ui/EmptyState.tsx | 17 +++ web/src/shared/ui/EnableToggle.tsx | 17 +++ web/src/shared/ui/ErrorState.tsx | 17 +++ web/src/shared/ui/GroupByChip.tsx | 17 +++ web/src/shared/ui/KpiCard.tsx | 17 +++ web/src/shared/ui/LastSyncedBadge.tsx | 17 +++ web/src/shared/ui/Loading.tsx | 17 +++ web/src/shared/ui/MetaRow.tsx | 17 +++ web/src/shared/ui/ProjectAutocomplete.tsx | 17 +++ web/src/shared/ui/SideDrawer.tsx | 17 +++ web/src/shared/ui/StatCard.tsx | 17 +++ web/src/shared/ui/StatCardRow.tsx | 17 +++ web/src/shared/ui/StatusBadge.tsx | 17 +++ web/src/shared/ui/TabsRouter.tsx | 17 +++ web/src/shared/ui/UsageBar.tsx | 17 +++ .../ui/__tests__/DateRangePicker.test.tsx | 17 +++ .../shared/ui/__tests__/EnableToggle.test.tsx | 17 +++ .../shared/ui/__tests__/GroupByChip.test.tsx | 17 +++ web/src/shared/ui/__tests__/KpiCard.test.tsx | 17 +++ .../ui/__tests__/LastSyncedBadge.test.tsx | 17 +++ web/src/shared/ui/__tests__/MetaRow.test.tsx | 17 +++ web/src/shared/ui/__tests__/StatCard.test.tsx | 17 +++ .../shared/ui/__tests__/StatCardRow.test.tsx | 17 +++ .../shared/ui/__tests__/StatusBadge.test.tsx | 17 +++ .../shared/ui/__tests__/TabsRouter.test.tsx | 17 +++ web/src/shared/ui/__tests__/UsageBar.test.tsx | 17 +++ web/src/shared/ui/avatar.tsx | 17 +++ web/src/shared/ui/badge.tsx | 17 +++ web/src/shared/ui/button.tsx | 17 +++ web/src/shared/ui/card.tsx | 17 +++ web/src/shared/ui/dialog.tsx | 17 +++ web/src/shared/ui/drawer.tsx | 17 +++ web/src/shared/ui/dropdown-menu.tsx | 17 +++ web/src/shared/ui/input.tsx | 17 +++ web/src/shared/ui/label.tsx | 17 +++ web/src/shared/ui/select.tsx | 17 +++ web/src/shared/ui/separator.tsx | 17 +++ web/src/shared/ui/skeleton.tsx | 17 +++ web/src/shared/ui/sonner.tsx | 17 +++ web/src/shared/ui/table.tsx | 17 +++ web/src/shared/ui/tabs.tsx | 17 +++ web/src/shared/ui/tooltip.tsx | 17 +++ web/tests/admin-amie-detail.e2e.ts | 17 +++ web/tests/admin-amie-list.e2e.ts | 17 +++ web/tests/admin-traces-detail.e2e.ts | 17 +++ web/tests/admin-traces-list.e2e.ts | 17 +++ web/tests/allocation-members-edit.e2e.ts | 17 +++ web/tests/allocations-detail.e2e.ts | 17 +++ web/tests/allocations-list.e2e.ts | 17 +++ web/tests/amie-cross-link.e2e.ts | 17 +++ web/tests/baseline-live.spec.ts | 17 +++ web/tests/change-requests-approve.e2e.ts | 17 +++ web/tests/change-requests-submit.e2e.ts | 17 +++ web/tests/closeout-live-walk.spec.ts | 17 +++ web/tests/fixtures/auth.ts | 17 +++ web/tests/projects-detail.e2e.ts | 17 +++ web/tests/projects-list.e2e.ts | 17 +++ web/vitest.config.ts | 17 +++ web/vitest.server-only-stub.ts | 17 +++ web/vitest.setup.ts | 17 +++ 267 files changed, 4522 insertions(+), 123 deletions(-) delete mode 100644 web/CLAUDE.md diff --git a/.gitignore b/.gitignore index fe0f87872..44e577fcd 100644 --- a/.gitignore +++ b/.gitignore @@ -66,4 +66,8 @@ raft.db config.yaml # Binaries -bin/ \ No newline at end of file +bin/ + +# Python virtualenvs (e.g. AMIE mock-server) +venv/ +.venv/ \ No newline at end of file diff --git a/web/.env.example b/web/.env.example index b7ec9a8e9..3305feb85 100644 --- a/web/.env.example +++ b/web/.env.example @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + # Copy to .env.local and fill in for OIDC mode. Dev defaults boot fine without # this file present (MSW + dev credentials). diff --git a/web/CLAUDE.md b/web/CLAUDE.md deleted file mode 100644 index 68ab9c745..000000000 --- a/web/CLAUDE.md +++ /dev/null @@ -1,122 +0,0 @@ -# CLAUDE.md - -Context for AI assistants working in `airavata-custos/web/`. Human contributors should start with [README.md](./README.md). - -## What this is - -Web portal for **Apache Custos** — allocation management, identity, and admin tooling for HPC sites. Pairs with the Apache Custos backend; expects either a live backend (`CUSTOS_CORE_API_BASE_URL`) or the in-repo MSW mock layer. - -This portal was ported from a working prototype. The prototype's ADRs and glossary remain the single source of truth — see References below. - -## Hard rules in force (these override defaults) - -1. **No `git commit` and no `git push` in `airavata-custos` from automation.** Only the human maintainer commits here. AI work stays in the working tree on the active branch. -2. **No prototype branding.** CSS tokens are `--custos-*`, env vars are `CUSTOS_*` / `NEXT_PUBLIC_CUSTOS_*`. Don't introduce prototype-era identifiers in code, comments, or specs. -3. **Code comments: precise, why-only, 2 lines max.** Default to no comments. No restate-what-the-code-does, no change-log comments, no client/SDK references. -4. **Keep it simple. No over-engineering.** Default to the simplest sufficient solution. Resist layers, hedges, "for safety" guards. - -## Commands - -```bash -pnpm dev # Start dev server (localhost:3000) -pnpm build # Production build -pnpm lint # Biome lint -pnpm format # Biome format (writes in place) -pnpm typecheck # tsc --noEmit -pnpm test # Vitest (unit, run once) -pnpm test:watch # Vitest watch mode -pnpm test:e2e # Playwright e2e tests -pnpm verify # lint + typecheck + test + build (full gate) -``` - -Every change must leave `pnpm verify` green. - -## Local development - -Copy `.env.example` to `.env.local`. Defaults work without a backend once auth + MSW are wired (Phase 2+): - -- `PORTAL_AUTH_MODE=dev` — credentials-based sign-in (Phase 3). -- `NEXT_PUBLIC_PORTAL_USE_MSW=true` — MSW intercepts `/api/v1/*` calls in the browser; no backend required. - -To test against a real Custos backend, set `PORTAL_AUTH_MODE=oidc` and provide `OIDC_ISSUER_URL`, `OIDC_CLIENT_ID`, `OIDC_CLIENT_SECRET`, plus `CUSTOS_CORE_API_BASE_URL`. The env schema in `src/lib/env.ts` fails fast at boot if anything required is missing. - -## Architecture - -### Next.js App Router layout - -``` -src/app/ - (auth)/sign-in/ — sign-in (credentials / OIDC) - (portal)/ — authenticated portal shell - api/ - auth/[...nextauth]/ — NextAuth handler (Phase 3) - v1/[...path]/ — transparent proxy to Custos backend (Phase 2) -``` - -### Feature structure (lands in later phases) - -Each feature in `src/features/{core,connectors}//` follows the same internal shape: - -``` -schemas.ts — Zod schemas + inferred TypeScript types -types.ts — non-schema types (query params, discriminated unions) -api.ts — apiFetch calls; each validates response with Zod -queries.ts — TanStack Query hooks + query key factories -components/ — React components scoped to this feature -__tests__/ — Vitest unit tests -``` - -Features must not import from each other. The one documented exception is the cross-feature trace deep-link primitive that lands with the audit feature. - -### Shared layer (`src/shared/`) - -- `api/client.ts` (Phase 2) — `apiFetch`: prepends `/api/v1`, attaches headers, throws `ApiError` on non-2xx, records the response `X-Trace-Id` on a singleton. -- `auth/auth.ts` (Phase 3) — NextAuth v5 config. -- `casl/abilities.ts` (Phase 3) — CASL `defineAbility()` driven by `/user/privileges`. -- `layout/nav.ts` — `portalNav` array; sidebar items declare an optional `ability` gate. -- `providers/Providers.tsx` — Root provider tree. -- `hooks/useShallowSearchParams.ts` — Drop-in for `useSearchParams()` whose writes don't trigger an RSC roundtrip. -- `ui/` — shadcn/ui components (style: `base-nova`). Add new components with `pnpm dlx shadcn@latest add `. - -### MSW (Mock Service Worker) - -With `NEXT_PUBLIC_PORTAL_USE_MSW=true`, MSW boots in the browser via `src/mocks/browser.ts`. Handlers live in `src/mocks/handlers.ts` and aggregate per-feature handlers from later phases. - -### Design tokens - -CSS custom properties in `design-tokens/` are the source of truth for color, spacing, radius, and typography. `design-tokens/tokens.json` is the machine-readable version. A Vitest smoke test (`src/shared/__tests__/tokens.test.ts`) guards against regressions. - -Light tokens are declared in `:root`; dark overrides live in `.dark`. Both selectors have equal specificity, so order in the source file matters — keep `.dark` overrides after the `:root` block they shadow. - -## Code conventions - -- **Biome** for lint + format. Config: `biome.json`. `noExplicitAny` is an error; `useImportType` is a warning (off inside `src/shared/ui/**`). -- **Zod** validation happens at the API boundary only. -- **Query keys** follow the factory pattern: each feature exports a `Keys` object with `all`, `list(params)`, `detail(id)` methods. -- **URL state** uses `useShallowSearchParams` for filter/drawer/tab state. -- **CASL** for permission gating. -- **Server-only code** (NextAuth, backend proxy, env validation) imports `"server-only"` to prevent accidental bundling into client code. - -## Pitfalls - -- **Don't gate UI with `session.role === "admin"`.** Use `` or `useAbility()`. -- **Don't re-validate Zod schemas inside components.** Validation is at the API boundary (`api.ts`); components consume typed data and trust it. -- **Don't `router.replace` for filter/drawer/tab state.** Use `useShallowSearchParams`. -- **Don't import across `src/features//`.** The only sanctioned cross-feature import is the trace deep-link primitive. -- **Don't add `.dark` token overrides above the `:root` block they shadow.** Source order wins for equal specificity. -- **Don't write WHAT a piece of code does in a comment.** Comment only when WHY isn't obvious. Two-line max. No change-log comments. - -## References (single source of truth) - -The prototype repo holds the architecture decision records and glossary that govern this portal. Cite them from there rather than copying: - -- ADR-0001 — CASL over role strings -- ADR-0002 — Zod at the boundary -- ADR-0003 — MSW browser-only -- ADR-0004 — Feature isolation -- ADR-0005 — Shallow URL state -- `docs/glossary.md` — domain vocabulary -- `docs/features/tracing.md` — tracing feature spec - -- Prototype repo: maintainer-local sibling checkout (cite ADR paths from there) -- Portal scaffold spec: `docs/internal/portal/2026-06-10-portal-scaffold.md` diff --git a/web/README.md b/web/README.md index bd4a29b4f..2662cc316 100644 --- a/web/README.md +++ b/web/README.md @@ -1,3 +1,22 @@ + + # Custos Portal Web portal for **Apache Custos** — allocation management, identity, and admin tooling for HPC sites. diff --git a/web/design-tokens/colors.css b/web/design-tokens/colors.css index d7385ab14..471881964 100644 --- a/web/design-tokens/colors.css +++ b/web/design-tokens/colors.css @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + :root { --custos-blue-50: #e9f0f8; --custos-blue-100: #d2e1f1; diff --git a/web/design-tokens/radii.css b/web/design-tokens/radii.css index 21a1e7790..c3b6f24f1 100644 --- a/web/design-tokens/radii.css +++ b/web/design-tokens/radii.css @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + :root { --custos-radius-none: 0; --custos-radius-sm: 0.375rem; diff --git a/web/design-tokens/spacing.css b/web/design-tokens/spacing.css index e1bcbc30a..50a8ea082 100644 --- a/web/design-tokens/spacing.css +++ b/web/design-tokens/spacing.css @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + :root { --custos-space-0: 0; --custos-space-1: 0.25rem; diff --git a/web/design-tokens/typography.css b/web/design-tokens/typography.css index de17c5b39..e6f5fc7a8 100644 --- a/web/design-tokens/typography.css +++ b/web/design-tokens/typography.css @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + :root { --custos-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --custos-font-display: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif; diff --git a/web/next.config.ts b/web/next.config.ts index 11fc44f13..201ddf725 100644 --- a/web/next.config.ts +++ b/web/next.config.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { execSync } from "node:child_process"; import type { NextConfig } from "next"; diff --git a/web/playwright.config.ts b/web/playwright.config.ts index a863ccd35..035a3069b 100644 --- a/web/playwright.config.ts +++ b/web/playwright.config.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { defineConfig, devices } from "@playwright/test"; const port = Number(process.env.PORT ?? 3217); diff --git a/web/playwright.live.config.ts b/web/playwright.live.config.ts index d2ad3e56f..77b268a19 100644 --- a/web/playwright.live.config.ts +++ b/web/playwright.live.config.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { defineConfig, devices } from "@playwright/test"; const baseURL = process.env.LIVE_PORTAL_URL ?? "http://localhost:3001"; diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index aae574070..e7a9d6428 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + lockfileVersion: '9.0' settings: diff --git a/web/src/app/(auth)/sign-in/SignInForm.tsx b/web/src/app/(auth)/sign-in/SignInForm.tsx index 9fbc4aa2c..74d3bf3dc 100644 --- a/web/src/app/(auth)/sign-in/SignInForm.tsx +++ b/web/src/app/(auth)/sign-in/SignInForm.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Button } from "@/shared/ui/button"; diff --git a/web/src/app/(auth)/sign-in/page.tsx b/web/src/app/(auth)/sign-in/page.tsx index 2e5d4b1b9..38b673ea1 100644 --- a/web/src/app/(auth)/sign-in/page.tsx +++ b/web/src/app/(auth)/sign-in/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { Suspense } from "react"; import { serverEnv } from "@/lib/env"; import { SignInForm } from "./SignInForm"; diff --git a/web/src/app/(portal)/admin/amie/AmieNav.tsx b/web/src/app/(portal)/admin/amie/AmieNav.tsx index ea5b5f311..1fa3ea848 100644 --- a/web/src/app/(portal)/admin/amie/AmieNav.tsx +++ b/web/src/app/(portal)/admin/amie/AmieNav.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/app/(portal)/admin/amie/PermissionGate.tsx b/web/src/app/(portal)/admin/amie/PermissionGate.tsx index 1977b4602..26f062b6a 100644 --- a/web/src/app/(portal)/admin/amie/PermissionGate.tsx +++ b/web/src/app/(portal)/admin/amie/PermissionGate.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import type * as React from "react"; diff --git a/web/src/app/(portal)/admin/amie/failed/FailedQueueContainer.tsx b/web/src/app/(portal)/admin/amie/failed/FailedQueueContainer.tsx index 323d8ad7a..5360d1f6f 100644 --- a/web/src/app/(portal)/admin/amie/failed/FailedQueueContainer.tsx +++ b/web/src/app/(portal)/admin/amie/failed/FailedQueueContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/app/(portal)/admin/amie/failed/page.tsx b/web/src/app/(portal)/admin/amie/failed/page.tsx index e06084b1a..121c3acda 100644 --- a/web/src/app/(portal)/admin/amie/failed/page.tsx +++ b/web/src/app/(portal)/admin/amie/failed/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AmieNav } from "../AmieNav"; import { FailedQueueContainer } from "./FailedQueueContainer"; diff --git a/web/src/app/(portal)/admin/amie/layout.tsx b/web/src/app/(portal)/admin/amie/layout.tsx index d9e89ecec..7c98d8557 100644 --- a/web/src/app/(portal)/admin/amie/layout.tsx +++ b/web/src/app/(portal)/admin/amie/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { AmiePermissionGate } from "./PermissionGate"; diff --git a/web/src/app/(portal)/admin/amie/packets/PacketInboxContainer.tsx b/web/src/app/(portal)/admin/amie/packets/PacketInboxContainer.tsx index e18a3fcb4..46050b1bf 100644 --- a/web/src/app/(portal)/admin/amie/packets/PacketInboxContainer.tsx +++ b/web/src/app/(portal)/admin/amie/packets/PacketInboxContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import dynamic from "next/dynamic"; diff --git a/web/src/app/(portal)/admin/amie/packets/[id]/page.tsx b/web/src/app/(portal)/admin/amie/packets/[id]/page.tsx index 1ad5b5e01..52fd2ea8d 100644 --- a/web/src/app/(portal)/admin/amie/packets/[id]/page.tsx +++ b/web/src/app/(portal)/admin/amie/packets/[id]/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AmieNav } from "../../AmieNav"; import { PacketInboxContainer } from "../PacketInboxContainer"; diff --git a/web/src/app/(portal)/admin/amie/packets/loading.tsx b/web/src/app/(portal)/admin/amie/packets/loading.tsx index bcc79d352..4cf31f017 100644 --- a/web/src/app/(portal)/admin/amie/packets/loading.tsx +++ b/web/src/app/(portal)/admin/amie/packets/loading.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { TableSkeleton } from "@/shared/ui/Loading"; export default function PacketsLoading() { diff --git a/web/src/app/(portal)/admin/amie/packets/page.tsx b/web/src/app/(portal)/admin/amie/packets/page.tsx index 79c1108e0..98d9cd1fc 100644 --- a/web/src/app/(portal)/admin/amie/packets/page.tsx +++ b/web/src/app/(portal)/admin/amie/packets/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AmieNav } from "../AmieNav"; import { PacketInboxContainer } from "./PacketInboxContainer"; diff --git a/web/src/app/(portal)/admin/amie/page.tsx b/web/src/app/(portal)/admin/amie/page.tsx index 41a3e2e78..96a008001 100644 --- a/web/src/app/(portal)/admin/amie/page.tsx +++ b/web/src/app/(portal)/admin/amie/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { redirect } from "next/navigation"; // /admin/amie has no content of its own; bounce to the canonical Inbox tab. diff --git a/web/src/app/(portal)/admin/amie/reconcile/ReconciliationContainer.tsx b/web/src/app/(portal)/admin/amie/reconcile/ReconciliationContainer.tsx index d74eaaf47..7998852ad 100644 --- a/web/src/app/(portal)/admin/amie/reconcile/ReconciliationContainer.tsx +++ b/web/src/app/(portal)/admin/amie/reconcile/ReconciliationContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { toast } from "sonner"; diff --git a/web/src/app/(portal)/admin/amie/reconcile/page.tsx b/web/src/app/(portal)/admin/amie/reconcile/page.tsx index 985df64d0..f3dab4c6a 100644 --- a/web/src/app/(portal)/admin/amie/reconcile/page.tsx +++ b/web/src/app/(portal)/admin/amie/reconcile/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AmieNav } from "../AmieNav"; import { ReconciliationContainer } from "./ReconciliationContainer"; diff --git a/web/src/app/(portal)/admin/amie/replies/ReplyTrackerContainer.tsx b/web/src/app/(portal)/admin/amie/replies/ReplyTrackerContainer.tsx index 440716f14..c4620ba5c 100644 --- a/web/src/app/(portal)/admin/amie/replies/ReplyTrackerContainer.tsx +++ b/web/src/app/(portal)/admin/amie/replies/ReplyTrackerContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/app/(portal)/admin/amie/replies/page.tsx b/web/src/app/(portal)/admin/amie/replies/page.tsx index 162abddf8..6b4ebcfcd 100644 --- a/web/src/app/(portal)/admin/amie/replies/page.tsx +++ b/web/src/app/(portal)/admin/amie/replies/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AmieNav } from "../AmieNav"; import { ReplyTrackerContainer } from "./ReplyTrackerContainer"; diff --git a/web/src/app/(portal)/admin/traces/PermissionGate.tsx b/web/src/app/(portal)/admin/traces/PermissionGate.tsx index cfb25c4ab..c653fe48b 100644 --- a/web/src/app/(portal)/admin/traces/PermissionGate.tsx +++ b/web/src/app/(portal)/admin/traces/PermissionGate.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import type * as React from "react"; diff --git a/web/src/app/(portal)/admin/traces/[traceId]/page.tsx b/web/src/app/(portal)/admin/traces/[traceId]/page.tsx index 000fd8733..c9c16eae4 100644 --- a/web/src/app/(portal)/admin/traces/[traceId]/page.tsx +++ b/web/src/app/(portal)/admin/traces/[traceId]/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { Metadata } from "next"; import { TraceListContainer } from "@/features/core/audit/components/TraceListContainer"; diff --git a/web/src/app/(portal)/admin/traces/layout.tsx b/web/src/app/(portal)/admin/traces/layout.tsx index 495e0558d..768e8b8ee 100644 --- a/web/src/app/(portal)/admin/traces/layout.tsx +++ b/web/src/app/(portal)/admin/traces/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { TracePermissionGate } from "./PermissionGate"; diff --git a/web/src/app/(portal)/admin/traces/page.tsx b/web/src/app/(portal)/admin/traces/page.tsx index 4536ff865..6e12987ea 100644 --- a/web/src/app/(portal)/admin/traces/page.tsx +++ b/web/src/app/(portal)/admin/traces/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { Metadata } from "next"; import { TraceListContainer } from "@/features/core/audit/components/TraceListContainer"; diff --git a/web/src/app/(portal)/allocations/AllocationsListContainer.tsx b/web/src/app/(portal)/allocations/AllocationsListContainer.tsx index 09b917498..3f384030e 100644 --- a/web/src/app/(portal)/allocations/AllocationsListContainer.tsx +++ b/web/src/app/(portal)/allocations/AllocationsListContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/app/(portal)/allocations/PermissionGate.tsx b/web/src/app/(portal)/allocations/PermissionGate.tsx index 0d91c7ef9..c4787add9 100644 --- a/web/src/app/(portal)/allocations/PermissionGate.tsx +++ b/web/src/app/(portal)/allocations/PermissionGate.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import type { ReactNode } from "react"; diff --git a/web/src/app/(portal)/allocations/[allocationId]/layout.tsx b/web/src/app/(portal)/allocations/[allocationId]/layout.tsx index cdbfdcfcb..8b9b6b8f7 100644 --- a/web/src/app/(portal)/allocations/[allocationId]/layout.tsx +++ b/web/src/app/(portal)/allocations/[allocationId]/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { Breadcrumbs } from "@/shared/ui/Breadcrumbs"; diff --git a/web/src/app/(portal)/allocations/[allocationId]/page.tsx b/web/src/app/(portal)/allocations/[allocationId]/page.tsx index 5c04692c6..2d234bdf7 100644 --- a/web/src/app/(portal)/allocations/[allocationId]/page.tsx +++ b/web/src/app/(portal)/allocations/[allocationId]/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AllocationDetail } from "@/features/core/allocations/components/AllocationDetail"; export default async function AllocationDetailPage(props: { diff --git a/web/src/app/(portal)/allocations/layout.tsx b/web/src/app/(portal)/allocations/layout.tsx index 806f5c730..a251aefbf 100644 --- a/web/src/app/(portal)/allocations/layout.tsx +++ b/web/src/app/(portal)/allocations/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { AllocationsPermissionGate } from "./PermissionGate"; diff --git a/web/src/app/(portal)/allocations/page.tsx b/web/src/app/(portal)/allocations/page.tsx index 96944773e..5e93babe1 100644 --- a/web/src/app/(portal)/allocations/page.tsx +++ b/web/src/app/(portal)/allocations/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { AllocationsListContainer } from "./AllocationsListContainer"; export default function AllocationsPage() { diff --git a/web/src/app/(portal)/change-requests/ChangeRequestQueueContainer.tsx b/web/src/app/(portal)/change-requests/ChangeRequestQueueContainer.tsx index 22dba0020..44cd51c01 100644 --- a/web/src/app/(portal)/change-requests/ChangeRequestQueueContainer.tsx +++ b/web/src/app/(portal)/change-requests/ChangeRequestQueueContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useAbility } from "@/shared/casl/AbilityProvider"; diff --git a/web/src/app/(portal)/change-requests/PermissionGate.tsx b/web/src/app/(portal)/change-requests/PermissionGate.tsx index c5a8f7532..9814688a2 100644 --- a/web/src/app/(portal)/change-requests/PermissionGate.tsx +++ b/web/src/app/(portal)/change-requests/PermissionGate.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import type { ReactNode } from "react"; diff --git a/web/src/app/(portal)/change-requests/[changeRequestId]/layout.tsx b/web/src/app/(portal)/change-requests/[changeRequestId]/layout.tsx index d7e0422c0..48e1a3f32 100644 --- a/web/src/app/(portal)/change-requests/[changeRequestId]/layout.tsx +++ b/web/src/app/(portal)/change-requests/[changeRequestId]/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { Breadcrumbs } from "@/shared/ui/Breadcrumbs"; diff --git a/web/src/app/(portal)/change-requests/[changeRequestId]/page.tsx b/web/src/app/(portal)/change-requests/[changeRequestId]/page.tsx index 583e2de22..227793e8b 100644 --- a/web/src/app/(portal)/change-requests/[changeRequestId]/page.tsx +++ b/web/src/app/(portal)/change-requests/[changeRequestId]/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { ChangeRequestDetail } from "@/features/core/allocations/components/ChangeRequestDetail"; export default async function ChangeRequestDetailPage(props: { diff --git a/web/src/app/(portal)/change-requests/layout.tsx b/web/src/app/(portal)/change-requests/layout.tsx index 6b20d1b1c..6f1438150 100644 --- a/web/src/app/(portal)/change-requests/layout.tsx +++ b/web/src/app/(portal)/change-requests/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { ChangeRequestsPermissionGate } from "./PermissionGate"; diff --git a/web/src/app/(portal)/change-requests/page.tsx b/web/src/app/(portal)/change-requests/page.tsx index f2cd18940..700ce9b50 100644 --- a/web/src/app/(portal)/change-requests/page.tsx +++ b/web/src/app/(portal)/change-requests/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { ChangeRequestQueueContainer } from "./ChangeRequestQueueContainer"; export default function ChangeRequestsPage() { diff --git a/web/src/app/(portal)/layout.tsx b/web/src/app/(portal)/layout.tsx index 28a77a28a..73cf55b2d 100644 --- a/web/src/app/(portal)/layout.tsx +++ b/web/src/app/(portal)/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { redirect } from "next/navigation"; import { auth } from "@/shared/auth/auth"; import { PortalLayout } from "@/shared/layout/PortalLayout"; diff --git a/web/src/app/(portal)/page.tsx b/web/src/app/(portal)/page.tsx index c7e38d6da..200858565 100644 --- a/web/src/app/(portal)/page.tsx +++ b/web/src/app/(portal)/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + export default function PortalLandingPage() { return (
diff --git a/web/src/app/(portal)/projects/PermissionGate.tsx b/web/src/app/(portal)/projects/PermissionGate.tsx index 68b3ae225..2e4a15f5b 100644 --- a/web/src/app/(portal)/projects/PermissionGate.tsx +++ b/web/src/app/(portal)/projects/PermissionGate.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import type { ReactNode } from "react"; diff --git a/web/src/app/(portal)/projects/ProjectsListContainer.tsx b/web/src/app/(portal)/projects/ProjectsListContainer.tsx index 6d0c7dad4..b6350db11 100644 --- a/web/src/app/(portal)/projects/ProjectsListContainer.tsx +++ b/web/src/app/(portal)/projects/ProjectsListContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/app/(portal)/projects/[projectId]/layout.tsx b/web/src/app/(portal)/projects/[projectId]/layout.tsx index a1bb26a71..f9717c517 100644 --- a/web/src/app/(portal)/projects/[projectId]/layout.tsx +++ b/web/src/app/(portal)/projects/[projectId]/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { Breadcrumbs } from "@/shared/ui/Breadcrumbs"; diff --git a/web/src/app/(portal)/projects/[projectId]/page.tsx b/web/src/app/(portal)/projects/[projectId]/page.tsx index 42845288d..e5aad36b2 100644 --- a/web/src/app/(portal)/projects/[projectId]/page.tsx +++ b/web/src/app/(portal)/projects/[projectId]/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { ProjectDetail } from "@/features/core/projects/components/ProjectDetail"; export default async function ProjectDetailPage(props: { diff --git a/web/src/app/(portal)/projects/layout.tsx b/web/src/app/(portal)/projects/layout.tsx index ab410aabb..29929ff73 100644 --- a/web/src/app/(portal)/projects/layout.tsx +++ b/web/src/app/(portal)/projects/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { ProjectsPermissionGate } from "./PermissionGate"; diff --git a/web/src/app/(portal)/projects/page.tsx b/web/src/app/(portal)/projects/page.tsx index d51c71faf..bf66f9124 100644 --- a/web/src/app/(portal)/projects/page.tsx +++ b/web/src/app/(portal)/projects/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { ProjectsListContainer } from "./ProjectsListContainer"; export default function ProjectsPage() { diff --git a/web/src/app/api/auth/[...nextauth]/route.ts b/web/src/app/api/auth/[...nextauth]/route.ts index d819258d9..eb7aea72c 100644 --- a/web/src/app/api/auth/[...nextauth]/route.ts +++ b/web/src/app/api/auth/[...nextauth]/route.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { handlers } from "@/shared/auth/auth"; export const { GET, POST } = handlers; diff --git a/web/src/app/api/v1/[...path]/route.ts b/web/src/app/api/v1/[...path]/route.ts index 32e8d630d..23100e618 100644 --- a/web/src/app/api/v1/[...path]/route.ts +++ b/web/src/app/api/v1/[...path]/route.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { serverEnv } from "@/lib/env"; import { getPortalSession } from "@/shared/auth/session"; import { type NextRequest, NextResponse } from "next/server"; diff --git a/web/src/app/globals.css b/web/src/app/globals.css index aa29e7b11..8adaf0428 100644 --- a/web/src/app/globals.css +++ b/web/src/app/globals.css @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + @import "tailwindcss"; @import "tw-animate-css"; @import "shadcn/tailwind.css"; diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index 474cffbf9..e63678254 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import { Providers } from "@/shared/providers/Providers"; import type { Metadata } from "next"; diff --git a/web/src/app/no-access/page.tsx b/web/src/app/no-access/page.tsx index 7ff119b70..82f02482b 100644 --- a/web/src/app/no-access/page.tsx +++ b/web/src/app/no-access/page.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import Link from "next/link"; export const metadata = { title: "No access · Custos Portal" }; diff --git a/web/src/features/connectors/amie/__tests__/PacketEventsTable.test.tsx b/web/src/features/connectors/amie/__tests__/PacketEventsTable.test.tsx index ce71f5969..7fd0f7a2c 100644 --- a/web/src/features/connectors/amie/__tests__/PacketEventsTable.test.tsx +++ b/web/src/features/connectors/amie/__tests__/PacketEventsTable.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import type { PacketEvent } from "../types"; diff --git a/web/src/features/connectors/amie/__tests__/PacketStatusBadge.test.tsx b/web/src/features/connectors/amie/__tests__/PacketStatusBadge.test.tsx index 48054ee4b..56372514f 100644 --- a/web/src/features/connectors/amie/__tests__/PacketStatusBadge.test.tsx +++ b/web/src/features/connectors/amie/__tests__/PacketStatusBadge.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { PacketStatusBadge, ReplyStatusBadge } from "../components/PacketStatusBadge"; diff --git a/web/src/features/connectors/amie/__tests__/PacketsTrendChart.test.tsx b/web/src/features/connectors/amie/__tests__/PacketsTrendChart.test.tsx index c6ed08dce..cf2e56cbe 100644 --- a/web/src/features/connectors/amie/__tests__/PacketsTrendChart.test.tsx +++ b/web/src/features/connectors/amie/__tests__/PacketsTrendChart.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { PacketsTrendChart } from "../components/PacketsTrendChart"; diff --git a/web/src/features/connectors/amie/__tests__/api.test.ts b/web/src/features/connectors/amie/__tests__/api.test.ts index 72046cf72..c641c1457 100644 --- a/web/src/features/connectors/amie/__tests__/api.test.ts +++ b/web/src/features/connectors/amie/__tests__/api.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { ApiError } from "@/shared/api/client"; import { diff --git a/web/src/features/connectors/amie/__tests__/query-keys.test.ts b/web/src/features/connectors/amie/__tests__/query-keys.test.ts index 878cc9de7..8d35c4391 100644 --- a/web/src/features/connectors/amie/__tests__/query-keys.test.ts +++ b/web/src/features/connectors/amie/__tests__/query-keys.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { amieKeys } from "../queries"; diff --git a/web/src/features/connectors/amie/__tests__/schemas.test.ts b/web/src/features/connectors/amie/__tests__/schemas.test.ts index 465da8ab5..822b81efa 100644 --- a/web/src/features/connectors/amie/__tests__/schemas.test.ts +++ b/web/src/features/connectors/amie/__tests__/schemas.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { linkUnmappedPayloadSchema, diff --git a/web/src/features/connectors/amie/__tests__/utils.test.ts b/web/src/features/connectors/amie/__tests__/utils.test.ts index 90688652e..64ea1a0b1 100644 --- a/web/src/features/connectors/amie/__tests__/utils.test.ts +++ b/web/src/features/connectors/amie/__tests__/utils.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { ageHoursOf, formatDate, pluralize } from "../utils"; diff --git a/web/src/features/connectors/amie/api.ts b/web/src/features/connectors/amie/api.ts index d5bcad579..39a4df48b 100644 --- a/web/src/features/connectors/amie/api.ts +++ b/web/src/features/connectors/amie/api.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { z } from "zod"; import { apiFetch } from "@/shared/api/client"; import { diff --git a/web/src/features/connectors/amie/components/FailedQueue.tsx b/web/src/features/connectors/amie/components/FailedQueue.tsx index fc39f742a..51b8ee485 100644 --- a/web/src/features/connectors/amie/components/FailedQueue.tsx +++ b/web/src/features/connectors/amie/components/FailedQueue.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { TriangleAlertIcon } from "lucide-react"; diff --git a/web/src/features/connectors/amie/components/PacketDetailDrawer.tsx b/web/src/features/connectors/amie/components/PacketDetailDrawer.tsx index 03276e6ec..d15a16bef 100644 --- a/web/src/features/connectors/amie/components/PacketDetailDrawer.tsx +++ b/web/src/features/connectors/amie/components/PacketDetailDrawer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Tabs as TabsPrimitive } from "@base-ui/react/tabs"; diff --git a/web/src/features/connectors/amie/components/PacketEventsTable.tsx b/web/src/features/connectors/amie/components/PacketEventsTable.tsx index d753470ee..ee9eeb182 100644 --- a/web/src/features/connectors/amie/components/PacketEventsTable.tsx +++ b/web/src/features/connectors/amie/components/PacketEventsTable.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { CenteredSpinner } from "@/shared/ui/Loading"; diff --git a/web/src/features/connectors/amie/components/PacketInboxTable.tsx b/web/src/features/connectors/amie/components/PacketInboxTable.tsx index 6fa3062aa..bba22dae7 100644 --- a/web/src/features/connectors/amie/components/PacketInboxTable.tsx +++ b/web/src/features/connectors/amie/components/PacketInboxTable.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/connectors/amie/components/PacketRawJson.tsx b/web/src/features/connectors/amie/components/PacketRawJson.tsx index d25fa64c7..9c67afa70 100644 --- a/web/src/features/connectors/amie/components/PacketRawJson.tsx +++ b/web/src/features/connectors/amie/components/PacketRawJson.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { JsonView, defaultStyles } from "react-json-view-lite"; diff --git a/web/src/features/connectors/amie/components/PacketStatusBadge.tsx b/web/src/features/connectors/amie/components/PacketStatusBadge.tsx index 35657e4c1..f380433f3 100644 --- a/web/src/features/connectors/amie/components/PacketStatusBadge.tsx +++ b/web/src/features/connectors/amie/components/PacketStatusBadge.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import type { PacketStatus, ReplyStatus } from "../types"; diff --git a/web/src/features/connectors/amie/components/PacketsTrendChart.tsx b/web/src/features/connectors/amie/components/PacketsTrendChart.tsx index b44c5476e..f19ecdb87 100644 --- a/web/src/features/connectors/amie/components/PacketsTrendChart.tsx +++ b/web/src/features/connectors/amie/components/PacketsTrendChart.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/connectors/amie/components/ReconciliationQueue.tsx b/web/src/features/connectors/amie/components/ReconciliationQueue.tsx index 42ec73dec..c2acd8c73 100644 --- a/web/src/features/connectors/amie/components/ReconciliationQueue.tsx +++ b/web/src/features/connectors/amie/components/ReconciliationQueue.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/connectors/amie/components/ReplyTracker.tsx b/web/src/features/connectors/amie/components/ReplyTracker.tsx index 7e7aab530..00b25b73f 100644 --- a/web/src/features/connectors/amie/components/ReplyTracker.tsx +++ b/web/src/features/connectors/amie/components/ReplyTracker.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { DataTable, type DataTableColumn } from "@/shared/ui/DataTable"; diff --git a/web/src/features/connectors/amie/queries.ts b/web/src/features/connectors/amie/queries.ts index d9cb95f49..a092e6a8f 100644 --- a/web/src/features/connectors/amie/queries.ts +++ b/web/src/features/connectors/amie/queries.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; diff --git a/web/src/features/connectors/amie/schemas.ts b/web/src/features/connectors/amie/schemas.ts index ed3d6ecd5..d600bcfa4 100644 --- a/web/src/features/connectors/amie/schemas.ts +++ b/web/src/features/connectors/amie/schemas.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from amie.openapi.yaml. import { z } from "zod"; diff --git a/web/src/features/connectors/amie/types.ts b/web/src/features/connectors/amie/types.ts index 21054605b..075e8a1da 100644 --- a/web/src/features/connectors/amie/types.ts +++ b/web/src/features/connectors/amie/types.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from amie.openapi.yaml. export type PacketStatus = "NEW" | "DECODED" | "PROCESSED" | "FAILED"; diff --git a/web/src/features/connectors/amie/utils.ts b/web/src/features/connectors/amie/utils.ts index 6fa924cff..cad537c47 100644 --- a/web/src/features/connectors/amie/utils.ts +++ b/web/src/features/connectors/amie/utils.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + export function ageHoursOf(iso: string | undefined): number { if (!iso) return 0; const t = Date.parse(iso); diff --git a/web/src/features/core/allocations/__tests__/AllocationsList.test.tsx b/web/src/features/core/allocations/__tests__/AllocationsList.test.tsx index 955818df3..f5b59b4b9 100644 --- a/web/src/features/core/allocations/__tests__/AllocationsList.test.tsx +++ b/web/src/features/core/allocations/__tests__/AllocationsList.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { AllocationsList } from "../components/AllocationsList"; diff --git a/web/src/features/core/allocations/__tests__/api.test.ts b/web/src/features/core/allocations/__tests__/api.test.ts index 7850b5a04..6ab6eef7a 100644 --- a/web/src/features/core/allocations/__tests__/api.test.ts +++ b/web/src/features/core/allocations/__tests__/api.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { afterEach, describe, expect, it, vi } from "vitest"; import { addMember, diff --git a/web/src/features/core/allocations/__tests__/queries.test.ts b/web/src/features/core/allocations/__tests__/queries.test.ts index 21a71697b..051388d93 100644 --- a/web/src/features/core/allocations/__tests__/queries.test.ts +++ b/web/src/features/core/allocations/__tests__/queries.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { allocationKeys } from "../queries"; diff --git a/web/src/features/core/allocations/__tests__/schemas.test.ts b/web/src/features/core/allocations/__tests__/schemas.test.ts index 8b115b2e9..5cdb8e0f7 100644 --- a/web/src/features/core/allocations/__tests__/schemas.test.ts +++ b/web/src/features/core/allocations/__tests__/schemas.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { allocationMembershipSchema, diff --git a/web/src/features/core/allocations/api.ts b/web/src/features/core/allocations/api.ts index 6ea2b581e..7cb4ab5c7 100644 --- a/web/src/features/core/allocations/api.ts +++ b/web/src/features/core/allocations/api.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from allocations.openapi.yaml import { apiFetch } from "@/shared/api/client"; import { diff --git a/web/src/features/core/allocations/components/AddMemberDialog.tsx b/web/src/features/core/allocations/components/AddMemberDialog.tsx index 444f696f0..fca4fad88 100644 --- a/web/src/features/core/allocations/components/AddMemberDialog.tsx +++ b/web/src/features/core/allocations/components/AddMemberDialog.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/core/allocations/components/AllocationChangeRequestsTab.tsx b/web/src/features/core/allocations/components/AllocationChangeRequestsTab.tsx index 5eb9db5e6..dbbd40177 100644 --- a/web/src/features/core/allocations/components/AllocationChangeRequestsTab.tsx +++ b/web/src/features/core/allocations/components/AllocationChangeRequestsTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/allocations/components/AllocationDetail.tsx b/web/src/features/core/allocations/components/AllocationDetail.tsx index 23977ef07..7d50114d1 100644 --- a/web/src/features/core/allocations/components/AllocationDetail.tsx +++ b/web/src/features/core/allocations/components/AllocationDetail.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useSession } from "next-auth/react"; diff --git a/web/src/features/core/allocations/components/AllocationDetailHeader.tsx b/web/src/features/core/allocations/components/AllocationDetailHeader.tsx index 608356e72..366f4c460 100644 --- a/web/src/features/core/allocations/components/AllocationDetailHeader.tsx +++ b/web/src/features/core/allocations/components/AllocationDetailHeader.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Calendar, Server, UserSquare } from "lucide-react"; diff --git a/web/src/features/core/allocations/components/AllocationMembersTab.tsx b/web/src/features/core/allocations/components/AllocationMembersTab.tsx index a4806e1b8..0dc87c541 100644 --- a/web/src/features/core/allocations/components/AllocationMembersTab.tsx +++ b/web/src/features/core/allocations/components/AllocationMembersTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/core/allocations/components/AllocationOverviewTab.tsx b/web/src/features/core/allocations/components/AllocationOverviewTab.tsx index 6c96d5835..f56e9dcf7 100644 --- a/web/src/features/core/allocations/components/AllocationOverviewTab.tsx +++ b/web/src/features/core/allocations/components/AllocationOverviewTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { ErrorState } from "@/shared/ui/ErrorState"; diff --git a/web/src/features/core/allocations/components/AllocationUsageTab.tsx b/web/src/features/core/allocations/components/AllocationUsageTab.tsx index 3032badd5..bd4d31a0a 100644 --- a/web/src/features/core/allocations/components/AllocationUsageTab.tsx +++ b/web/src/features/core/allocations/components/AllocationUsageTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { EmptyState } from "@/shared/ui/EmptyState"; diff --git a/web/src/features/core/allocations/components/AllocationsList.tsx b/web/src/features/core/allocations/components/AllocationsList.tsx index f630760a7..7bac8ac66 100644 --- a/web/src/features/core/allocations/components/AllocationsList.tsx +++ b/web/src/features/core/allocations/components/AllocationsList.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/allocations/components/ChangeRequestApproverQueue.tsx b/web/src/features/core/allocations/components/ChangeRequestApproverQueue.tsx index 4aeda70f1..aca615a30 100644 --- a/web/src/features/core/allocations/components/ChangeRequestApproverQueue.tsx +++ b/web/src/features/core/allocations/components/ChangeRequestApproverQueue.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/allocations/components/ChangeRequestDetail.tsx b/web/src/features/core/allocations/components/ChangeRequestDetail.tsx index 5c8396c57..5dcddee93 100644 --- a/web/src/features/core/allocations/components/ChangeRequestDetail.tsx +++ b/web/src/features/core/allocations/components/ChangeRequestDetail.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/allocations/components/ChangeRequestSubmitDrawer.tsx b/web/src/features/core/allocations/components/ChangeRequestSubmitDrawer.tsx index e06e2591c..3c87fd928 100644 --- a/web/src/features/core/allocations/components/ChangeRequestSubmitDrawer.tsx +++ b/web/src/features/core/allocations/components/ChangeRequestSubmitDrawer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { zodResolver } from "@hookform/resolvers/zod"; diff --git a/web/src/features/core/allocations/components/MemberEditDialog.tsx b/web/src/features/core/allocations/components/MemberEditDialog.tsx index d4725c869..4268b6ca6 100644 --- a/web/src/features/core/allocations/components/MemberEditDialog.tsx +++ b/web/src/features/core/allocations/components/MemberEditDialog.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/core/allocations/queries.ts b/web/src/features/core/allocations/queries.ts index e4877c67d..dce312c3c 100644 --- a/web/src/features/core/allocations/queries.ts +++ b/web/src/features/core/allocations/queries.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; diff --git a/web/src/features/core/allocations/schemas.ts b/web/src/features/core/allocations/schemas.ts index 74e593e5c..c11fdf540 100644 --- a/web/src/features/core/allocations/schemas.ts +++ b/web/src/features/core/allocations/schemas.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from allocations.openapi.yaml import { z } from "zod"; diff --git a/web/src/features/core/allocations/types.ts b/web/src/features/core/allocations/types.ts index e387a0b05..61dbdb3d5 100644 --- a/web/src/features/core/allocations/types.ts +++ b/web/src/features/core/allocations/types.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { AllocationStatus, ChangeRequestStatus } from "./schemas"; export type AllocationListParams = { diff --git a/web/src/features/core/audit/__tests__/LastTraceProvider.test.tsx b/web/src/features/core/audit/__tests__/LastTraceProvider.test.tsx index 2e2302eba..8d00eb7b0 100644 --- a/web/src/features/core/audit/__tests__/LastTraceProvider.test.tsx +++ b/web/src/features/core/audit/__tests__/LastTraceProvider.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { act, render, screen, waitFor } from "@testing-library/react"; import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { recordTraceId } from "@/shared/api/last-trace-id"; diff --git a/web/src/features/core/audit/__tests__/TraceFilterStrip.test.tsx b/web/src/features/core/audit/__tests__/TraceFilterStrip.test.tsx index fdfd55380..f3a143ef7 100644 --- a/web/src/features/core/audit/__tests__/TraceFilterStrip.test.tsx +++ b/web/src/features/core/audit/__tests__/TraceFilterStrip.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { TraceFilterStrip } from "@/features/core/audit/components/TraceFilterStrip"; diff --git a/web/src/features/core/audit/__tests__/TraceOverviewTab.test.tsx b/web/src/features/core/audit/__tests__/TraceOverviewTab.test.tsx index dcc74fb25..b745a2342 100644 --- a/web/src/features/core/audit/__tests__/TraceOverviewTab.test.tsx +++ b/web/src/features/core/audit/__tests__/TraceOverviewTab.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { TraceOverviewTab } from "@/features/core/audit/components/TraceOverviewTab"; diff --git a/web/src/features/core/audit/__tests__/TraceRawTab.test.tsx b/web/src/features/core/audit/__tests__/TraceRawTab.test.tsx index f40ce177a..d7b1c1ffe 100644 --- a/web/src/features/core/audit/__tests__/TraceRawTab.test.tsx +++ b/web/src/features/core/audit/__tests__/TraceRawTab.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { TraceRawTab } from "@/features/core/audit/components/TraceRawTab"; diff --git a/web/src/features/core/audit/__tests__/TraceTable.test.tsx b/web/src/features/core/audit/__tests__/TraceTable.test.tsx index 3fc2e8b95..efd186df3 100644 --- a/web/src/features/core/audit/__tests__/TraceTable.test.tsx +++ b/web/src/features/core/audit/__tests__/TraceTable.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { TraceTable } from "@/features/core/audit/components/TraceTable"; diff --git a/web/src/features/core/audit/__tests__/TraceTreeRow.test.tsx b/web/src/features/core/audit/__tests__/TraceTreeRow.test.tsx index 7fa903780..525a25cd3 100644 --- a/web/src/features/core/audit/__tests__/TraceTreeRow.test.tsx +++ b/web/src/features/core/audit/__tests__/TraceTreeRow.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { TraceTreeRow } from "@/features/core/audit/components/TraceTreeRow"; diff --git a/web/src/features/core/audit/__tests__/ViewTraceLink.test.tsx b/web/src/features/core/audit/__tests__/ViewTraceLink.test.tsx index e493d1134..7a54b98ea 100644 --- a/web/src/features/core/audit/__tests__/ViewTraceLink.test.tsx +++ b/web/src/features/core/audit/__tests__/ViewTraceLink.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen } from "@testing-library/react"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/web/src/features/core/audit/__tests__/api.test.ts b/web/src/features/core/audit/__tests__/api.test.ts index bacffbafe..4552a3486 100644 --- a/web/src/features/core/audit/__tests__/api.test.ts +++ b/web/src/features/core/audit/__tests__/api.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import auditEventsFixture from "@/features/core/audit/__fixtures__/audit-events.json"; import failedFixture from "@/features/core/audit/__fixtures__/trace.amie.failed.json"; diff --git a/web/src/features/core/audit/__tests__/primitives/CopyValue.test.tsx b/web/src/features/core/audit/__tests__/primitives/CopyValue.test.tsx index 0fae68934..8dfd3aefb 100644 --- a/web/src/features/core/audit/__tests__/primitives/CopyValue.test.tsx +++ b/web/src/features/core/audit/__tests__/primitives/CopyValue.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { CopyValue } from "@/features/core/audit/components/primitives/CopyValue"; diff --git a/web/src/features/core/audit/__tests__/primitives/SourcePill.test.tsx b/web/src/features/core/audit/__tests__/primitives/SourcePill.test.tsx index 0c9918379..8795816fd 100644 --- a/web/src/features/core/audit/__tests__/primitives/SourcePill.test.tsx +++ b/web/src/features/core/audit/__tests__/primitives/SourcePill.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { SourcePill } from "@/features/core/audit/components/primitives/SourcePill"; diff --git a/web/src/features/core/audit/__tests__/primitives/StatusPill.test.tsx b/web/src/features/core/audit/__tests__/primitives/StatusPill.test.tsx index 30278e381..8376a9671 100644 --- a/web/src/features/core/audit/__tests__/primitives/StatusPill.test.tsx +++ b/web/src/features/core/audit/__tests__/primitives/StatusPill.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { StatusPill } from "@/features/core/audit/components/primitives/StatusPill"; diff --git a/web/src/features/core/audit/__tests__/query-keys.test.ts b/web/src/features/core/audit/__tests__/query-keys.test.ts index 0de8d00e6..0dc9ce5f2 100644 --- a/web/src/features/core/audit/__tests__/query-keys.test.ts +++ b/web/src/features/core/audit/__tests__/query-keys.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { traceKeys } from "@/features/core/audit/queries"; diff --git a/web/src/features/core/audit/__tests__/schemas.test.ts b/web/src/features/core/audit/__tests__/schemas.test.ts index 53ea7c09c..8d75d9930 100644 --- a/web/src/features/core/audit/__tests__/schemas.test.ts +++ b/web/src/features/core/audit/__tests__/schemas.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import failedFixture from "@/features/core/audit/__fixtures__/trace.amie.failed.json"; import successFixture from "@/features/core/audit/__fixtures__/trace.amie.success.json"; diff --git a/web/src/features/core/audit/__tests__/traceListUrlState.test.ts b/web/src/features/core/audit/__tests__/traceListUrlState.test.ts index f76d5a308..1d1915bb3 100644 --- a/web/src/features/core/audit/__tests__/traceListUrlState.test.ts +++ b/web/src/features/core/audit/__tests__/traceListUrlState.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { DEFAULT_FILTERS, diff --git a/web/src/features/core/audit/__tests__/utils.test.ts b/web/src/features/core/audit/__tests__/utils.test.ts index 7d9a3ad43..a44176d77 100644 --- a/web/src/features/core/audit/__tests__/utils.test.ts +++ b/web/src/features/core/audit/__tests__/utils.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import type { Span, Trace, UISpan } from "@/features/core/audit/types"; import { diff --git a/web/src/features/core/audit/api.ts b/web/src/features/core/audit/api.ts index f03dd45ea..5617f4f5c 100644 --- a/web/src/features/core/audit/api.ts +++ b/web/src/features/core/audit/api.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { ApiError, apiFetch } from "@/shared/api/client"; import { auditErrorEnvelopeSchema, diff --git a/web/src/features/core/audit/components/LastTraceProvider.tsx b/web/src/features/core/audit/components/LastTraceProvider.tsx index ecc67607b..6fec6a16c 100644 --- a/web/src/features/core/audit/components/LastTraceProvider.tsx +++ b/web/src/features/core/audit/components/LastTraceProvider.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/core/audit/components/TraceDetailDrawer.tsx b/web/src/features/core/audit/components/TraceDetailDrawer.tsx index 9f492e26c..b6ca918ac 100644 --- a/web/src/features/core/audit/components/TraceDetailDrawer.tsx +++ b/web/src/features/core/audit/components/TraceDetailDrawer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Dialog as DialogPrimitive } from "@base-ui/react/dialog"; diff --git a/web/src/features/core/audit/components/TraceFilterStrip.tsx b/web/src/features/core/audit/components/TraceFilterStrip.tsx index 43a06f545..0e5946540 100644 --- a/web/src/features/core/audit/components/TraceFilterStrip.tsx +++ b/web/src/features/core/audit/components/TraceFilterStrip.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Search } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceLinkedEntitiesTab.tsx b/web/src/features/core/audit/components/TraceLinkedEntitiesTab.tsx index 31881d826..d2a94822c 100644 --- a/web/src/features/core/audit/components/TraceLinkedEntitiesTab.tsx +++ b/web/src/features/core/audit/components/TraceLinkedEntitiesTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Box, ExternalLink, LayoutGrid, Package, Server, User, Users } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceListContainer.tsx b/web/src/features/core/audit/components/TraceListContainer.tsx index a5aea255f..6f02ec78f 100644 --- a/web/src/features/core/audit/components/TraceListContainer.tsx +++ b/web/src/features/core/audit/components/TraceListContainer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { AlertTriangle, ArrowRight } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceOverviewTab.tsx b/web/src/features/core/audit/components/TraceOverviewTab.tsx index 532d412ee..af04eccd8 100644 --- a/web/src/features/core/audit/components/TraceOverviewTab.tsx +++ b/web/src/features/core/audit/components/TraceOverviewTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/features/core/audit/components/TraceRawTab.tsx b/web/src/features/core/audit/components/TraceRawTab.tsx index c2b423c6f..4ff5bf1c4 100644 --- a/web/src/features/core/audit/components/TraceRawTab.tsx +++ b/web/src/features/core/audit/components/TraceRawTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Check, Copy } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceSpanDetailPanel.tsx b/web/src/features/core/audit/components/TraceSpanDetailPanel.tsx index 45a91740b..20a50967a 100644 --- a/web/src/features/core/audit/components/TraceSpanDetailPanel.tsx +++ b/web/src/features/core/audit/components/TraceSpanDetailPanel.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { ArrowRight } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceTable.tsx b/web/src/features/core/audit/components/TraceTable.tsx index 598361429..3d7ec8bf2 100644 --- a/web/src/features/core/audit/components/TraceTable.tsx +++ b/web/src/features/core/audit/components/TraceTable.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { ArrowRight } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceTreeRow.tsx b/web/src/features/core/audit/components/TraceTreeRow.tsx index c9c70eba0..4ddf3457b 100644 --- a/web/src/features/core/audit/components/TraceTreeRow.tsx +++ b/web/src/features/core/audit/components/TraceTreeRow.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { AlertTriangle, ChevronRight } from "lucide-react"; diff --git a/web/src/features/core/audit/components/TraceTreeTab.tsx b/web/src/features/core/audit/components/TraceTreeTab.tsx index 8326db6fd..52e419c09 100644 --- a/web/src/features/core/audit/components/TraceTreeTab.tsx +++ b/web/src/features/core/audit/components/TraceTreeTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { diff --git a/web/src/features/core/audit/components/ViewTraceLink.tsx b/web/src/features/core/audit/components/ViewTraceLink.tsx index a684ffe46..e8c31c1d4 100644 --- a/web/src/features/core/audit/components/ViewTraceLink.tsx +++ b/web/src/features/core/audit/components/ViewTraceLink.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { ExternalLinkIcon } from "lucide-react"; diff --git a/web/src/features/core/audit/components/primitives/CopyValue.tsx b/web/src/features/core/audit/components/primitives/CopyValue.tsx index 6e9bf32aa..d780c623c 100644 --- a/web/src/features/core/audit/components/primitives/CopyValue.tsx +++ b/web/src/features/core/audit/components/primitives/CopyValue.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Check, Copy } from "lucide-react"; diff --git a/web/src/features/core/audit/components/primitives/SourcePill.tsx b/web/src/features/core/audit/components/primitives/SourcePill.tsx index 5ca17bdf8..647629e74 100644 --- a/web/src/features/core/audit/components/primitives/SourcePill.tsx +++ b/web/src/features/core/audit/components/primitives/SourcePill.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; export type SourcePillProps = { diff --git a/web/src/features/core/audit/components/primitives/StatusPill.tsx b/web/src/features/core/audit/components/primitives/StatusPill.tsx index d3f2b5089..040054191 100644 --- a/web/src/features/core/audit/components/primitives/StatusPill.tsx +++ b/web/src/features/core/audit/components/primitives/StatusPill.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import type { RowTone } from "../../types"; diff --git a/web/src/features/core/audit/components/traceListUrlState.ts b/web/src/features/core/audit/components/traceListUrlState.ts index 25587354f..0e05fcb9a 100644 --- a/web/src/features/core/audit/components/traceListUrlState.ts +++ b/web/src/features/core/audit/components/traceListUrlState.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // URL <-> filter mapping for the trace list. Hardcoded whitelists keep // parseFilters tolerant of pasted/manipulated URLs — stray values collapse to // defaults instead of widening the TanStack cache key. diff --git a/web/src/features/core/audit/queries.ts b/web/src/features/core/audit/queries.ts index 4bbd0bec4..e41b485ea 100644 --- a/web/src/features/core/audit/queries.ts +++ b/web/src/features/core/audit/queries.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { getLastTraceId, subscribeLastTraceId } from "@/shared/api/last-trace-id"; diff --git a/web/src/features/core/audit/schemas.ts b/web/src/features/core/audit/schemas.ts index 14bd3b556..0ac2f859c 100644 --- a/web/src/features/core/audit/schemas.ts +++ b/web/src/features/core/audit/schemas.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from audit.openapi.yaml. import { z } from "zod"; diff --git a/web/src/features/core/audit/types.ts b/web/src/features/core/audit/types.ts index 9baf2e1c2..c6dd23fbb 100644 --- a/web/src/features/core/audit/types.ts +++ b/web/src/features/core/audit/types.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // UI shapes consumed by the ported tracing components. Wire shapes live in // schemas.ts; api.ts adapts wire -> UI so component code stays unchanged. diff --git a/web/src/features/core/audit/utils.ts b/web/src/features/core/audit/utils.ts index 94badd271..cced79e25 100644 --- a/web/src/features/core/audit/utils.ts +++ b/web/src/features/core/audit/utils.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { EntityRef, RowTone, Span, Trace, UISpan } from "./types"; // Truncate a hex id to a leading prefix for compact display in tables/badges. diff --git a/web/src/features/core/identity/__tests__/queries.test.ts b/web/src/features/core/identity/__tests__/queries.test.ts index 6d6b9f7dc..78cbd7932 100644 --- a/web/src/features/core/identity/__tests__/queries.test.ts +++ b/web/src/features/core/identity/__tests__/queries.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { identityKeys } from "../queries"; diff --git a/web/src/features/core/identity/__tests__/schemas.test.ts b/web/src/features/core/identity/__tests__/schemas.test.ts index be1d59a17..ad745f630 100644 --- a/web/src/features/core/identity/__tests__/schemas.test.ts +++ b/web/src/features/core/identity/__tests__/schemas.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { callerPrivilegesSchema, diff --git a/web/src/features/core/identity/__tests__/usePrivileges.test.tsx b/web/src/features/core/identity/__tests__/usePrivileges.test.tsx index fe1fb3d49..d11663fa4 100644 --- a/web/src/features/core/identity/__tests__/usePrivileges.test.tsx +++ b/web/src/features/core/identity/__tests__/usePrivileges.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { renderHook, waitFor } from "@testing-library/react"; import { http, HttpResponse } from "msw"; diff --git a/web/src/features/core/identity/api.ts b/web/src/features/core/identity/api.ts index 2cbc9df4a..2e36430cc 100644 --- a/web/src/features/core/identity/api.ts +++ b/web/src/features/core/identity/api.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { apiFetch } from "@/shared/api/client"; import { auth } from "@/shared/auth/auth"; import { privilegesResponseSchema } from "./schemas"; diff --git a/web/src/features/core/identity/queries.ts b/web/src/features/core/identity/queries.ts index c5791d2c2..4f85fbe91 100644 --- a/web/src/features/core/identity/queries.ts +++ b/web/src/features/core/identity/queries.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useQuery } from "@tanstack/react-query"; diff --git a/web/src/features/core/identity/schemas.ts b/web/src/features/core/identity/schemas.ts index 3b6e6fab9..68788faf2 100644 --- a/web/src/features/core/identity/schemas.ts +++ b/web/src/features/core/identity/schemas.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { z } from "zod"; import { zPrivilegeKey, diff --git a/web/src/features/core/identity/types.ts b/web/src/features/core/identity/types.ts index dc7976b74..a67e5a956 100644 --- a/web/src/features/core/identity/types.ts +++ b/web/src/features/core/identity/types.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { PrivilegeKey } from "./schemas"; export type { PrivilegeKey }; diff --git a/web/src/features/core/projects/__tests__/ProjectsList.test.tsx b/web/src/features/core/projects/__tests__/ProjectsList.test.tsx index 686153b9b..d5f596212 100644 --- a/web/src/features/core/projects/__tests__/ProjectsList.test.tsx +++ b/web/src/features/core/projects/__tests__/ProjectsList.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { ProjectsList } from "../components/ProjectsList"; diff --git a/web/src/features/core/projects/__tests__/api.test.ts b/web/src/features/core/projects/__tests__/api.test.ts index b872be890..25331e5bc 100644 --- a/web/src/features/core/projects/__tests__/api.test.ts +++ b/web/src/features/core/projects/__tests__/api.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { afterEach, describe, expect, it, vi } from "vitest"; import { addProjectMember, diff --git a/web/src/features/core/projects/__tests__/queries.test.ts b/web/src/features/core/projects/__tests__/queries.test.ts index d0d94254a..31a4f8fc0 100644 --- a/web/src/features/core/projects/__tests__/queries.test.ts +++ b/web/src/features/core/projects/__tests__/queries.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { projectKeys } from "../queries"; diff --git a/web/src/features/core/projects/__tests__/schemas.test.ts b/web/src/features/core/projects/__tests__/schemas.test.ts index caddc77b1..fcb3cdbd2 100644 --- a/web/src/features/core/projects/__tests__/schemas.test.ts +++ b/web/src/features/core/projects/__tests__/schemas.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { addProjectMemberPayloadSchema, diff --git a/web/src/features/core/projects/api.ts b/web/src/features/core/projects/api.ts index 482bbe85f..cd92e8f64 100644 --- a/web/src/features/core/projects/api.ts +++ b/web/src/features/core/projects/api.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from projects.openapi.yaml import { apiFetch } from "@/shared/api/client"; import { diff --git a/web/src/features/core/projects/components/ProjectAllocationsTab.tsx b/web/src/features/core/projects/components/ProjectAllocationsTab.tsx index dbacb0004..9e9265ad1 100644 --- a/web/src/features/core/projects/components/ProjectAllocationsTab.tsx +++ b/web/src/features/core/projects/components/ProjectAllocationsTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/projects/components/ProjectDetail.tsx b/web/src/features/core/projects/components/ProjectDetail.tsx index b72bb658c..b9c496089 100644 --- a/web/src/features/core/projects/components/ProjectDetail.tsx +++ b/web/src/features/core/projects/components/ProjectDetail.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { ErrorState } from "@/shared/ui/ErrorState"; diff --git a/web/src/features/core/projects/components/ProjectDetailHeader.tsx b/web/src/features/core/projects/components/ProjectDetailHeader.tsx index 5375e7b14..328e651f0 100644 --- a/web/src/features/core/projects/components/ProjectDetailHeader.tsx +++ b/web/src/features/core/projects/components/ProjectDetailHeader.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Building2, Calendar, UserSquare } from "lucide-react"; diff --git a/web/src/features/core/projects/components/ProjectMembersTab.tsx b/web/src/features/core/projects/components/ProjectMembersTab.tsx index 788d02098..43745317b 100644 --- a/web/src/features/core/projects/components/ProjectMembersTab.tsx +++ b/web/src/features/core/projects/components/ProjectMembersTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/projects/components/ProjectOverviewTab.tsx b/web/src/features/core/projects/components/ProjectOverviewTab.tsx index 6ee4b3a48..c994d54ba 100644 --- a/web/src/features/core/projects/components/ProjectOverviewTab.tsx +++ b/web/src/features/core/projects/components/ProjectOverviewTab.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import type { Project } from "../schemas"; diff --git a/web/src/features/core/projects/components/ProjectsList.tsx b/web/src/features/core/projects/components/ProjectsList.tsx index cea8fa91d..06a16bc5a 100644 --- a/web/src/features/core/projects/components/ProjectsList.tsx +++ b/web/src/features/core/projects/components/ProjectsList.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/features/core/projects/queries.ts b/web/src/features/core/projects/queries.ts index 642c10508..dbe2bc414 100644 --- a/web/src/features/core/projects/queries.ts +++ b/web/src/features/core/projects/queries.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; diff --git a/web/src/features/core/projects/schemas.ts b/web/src/features/core/projects/schemas.ts index dcc6bfb9e..e3da4f119 100644 --- a/web/src/features/core/projects/schemas.ts +++ b/web/src/features/core/projects/schemas.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // TODO(openapi): replace with generated from projects.openapi.yaml import { z } from "zod"; diff --git a/web/src/features/core/projects/types.ts b/web/src/features/core/projects/types.ts index 90da2d657..456c2f646 100644 --- a/web/src/features/core/projects/types.ts +++ b/web/src/features/core/projects/types.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ProjectStatus } from "./schemas"; export type ProjectListParams = { diff --git a/web/src/lib/env.ts b/web/src/lib/env.ts index 1d3919cc5..faf51163f 100644 --- a/web/src/lib/env.ts +++ b/web/src/lib/env.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { z } from "zod"; export const serverSchema = z diff --git a/web/src/lib/utils.ts b/web/src/lib/utils.ts index 365058ceb..57ec3f934 100644 --- a/web/src/lib/utils.ts +++ b/web/src/lib/utils.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { type ClassValue, clsx } from "clsx"; import { twMerge } from "tailwind-merge"; diff --git a/web/src/mocks/browser.ts b/web/src/mocks/browser.ts index bcd82e48b..967e091db 100644 --- a/web/src/mocks/browser.ts +++ b/web/src/mocks/browser.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { setupWorker } from "msw/browser"; import { handlers } from "./handlers"; diff --git a/web/src/mocks/handlers.ts b/web/src/mocks/handlers.ts index 62d71de08..daaf9750b 100644 --- a/web/src/mocks/handlers.ts +++ b/web/src/mocks/handlers.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { RequestHandler } from "msw"; import { allocationsHandlers } from "./handlers/allocations"; import { amieHandlers } from "./handlers/amie"; diff --git a/web/src/mocks/handlers/allocations.ts b/web/src/mocks/handlers/allocations.ts index ea4f59817..edf3c060f 100644 --- a/web/src/mocks/handlers/allocations.ts +++ b/web/src/mocks/handlers/allocations.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { http, HttpResponse } from "msw"; import allocationsFixture from "@/features/core/allocations/__fixtures__/allocations.json"; import resourcesFixture from "@/features/core/allocations/__fixtures__/resources.json"; diff --git a/web/src/mocks/handlers/amie.ts b/web/src/mocks/handlers/amie.ts index b5825eb44..9f1d9352b 100644 --- a/web/src/mocks/handlers/amie.ts +++ b/web/src/mocks/handlers/amie.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { http, HttpResponse } from "msw"; import eventsFixture from "@/features/connectors/amie/__fixtures__/events.json"; import packetsFixture from "@/features/connectors/amie/__fixtures__/packets.json"; diff --git a/web/src/mocks/handlers/healthz.ts b/web/src/mocks/handlers/healthz.ts index 191c11fdd..38fc7f757 100644 --- a/web/src/mocks/handlers/healthz.ts +++ b/web/src/mocks/handlers/healthz.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { http, HttpResponse } from "msw"; export const healthzHandlers = [ diff --git a/web/src/mocks/handlers/privileges.ts b/web/src/mocks/handlers/privileges.ts index ffd9019cb..9daee50b7 100644 --- a/web/src/mocks/handlers/privileges.ts +++ b/web/src/mocks/handlers/privileges.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { http, HttpResponse } from "msw"; import { DEV_LEVEL_PRIVILEGES } from "@/shared/auth/devLevels"; diff --git a/web/src/mocks/handlers/projects.ts b/web/src/mocks/handlers/projects.ts index f38c62e66..faf6b8fbb 100644 --- a/web/src/mocks/handlers/projects.ts +++ b/web/src/mocks/handlers/projects.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { http, HttpResponse } from "msw"; import type { AddProjectMemberPayload, diff --git a/web/src/mocks/handlers/traces.ts b/web/src/mocks/handlers/traces.ts index 81e5d12d8..1f1176221 100644 --- a/web/src/mocks/handlers/traces.ts +++ b/web/src/mocks/handlers/traces.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { http, HttpResponse } from "msw"; import auditEventsFixture from "@/features/core/audit/__fixtures__/audit-events.json"; import sourcesFixture from "@/features/core/audit/__fixtures__/sources.json"; diff --git a/web/src/mocks/node.ts b/web/src/mocks/node.ts index 7b37f2acf..453a637f0 100644 --- a/web/src/mocks/node.ts +++ b/web/src/mocks/node.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { setupServer } from "msw/node"; import { handlers } from "./handlers"; diff --git a/web/src/shared/__tests__/tokens.test.ts b/web/src/shared/__tests__/tokens.test.ts index ed88c0c2d..0a1492ce0 100644 --- a/web/src/shared/__tests__/tokens.test.ts +++ b/web/src/shared/__tests__/tokens.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { readFileSync } from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; diff --git a/web/src/shared/api/__tests__/client.test.ts b/web/src/shared/api/__tests__/client.test.ts index d4108fc86..7d698efb5 100644 --- a/web/src/shared/api/__tests__/client.test.ts +++ b/web/src/shared/api/__tests__/client.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { apiFetch } from "@/shared/api/client"; import { getLastTraceId, recordTraceId } from "@/shared/api/last-trace-id"; import { http, HttpResponse } from "msw"; diff --git a/web/src/shared/api/client.ts b/web/src/shared/api/client.ts index cfb75ef7c..84b6af587 100644 --- a/web/src/shared/api/client.ts +++ b/web/src/shared/api/client.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { recordTraceId } from "./last-trace-id"; export class ApiError extends Error { diff --git a/web/src/shared/api/domain.ts b/web/src/shared/api/domain.ts index 27f46b548..2af71f9bb 100644 --- a/web/src/shared/api/domain.ts +++ b/web/src/shared/api/domain.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // Minimal status enums consumed by shared UI primitives. // TODO(phase-2): promote to full Zod schemas and apiFetch client. diff --git a/web/src/shared/api/last-trace-id.ts b/web/src/shared/api/last-trace-id.ts index 5b33b0e77..b9ae4632d 100644 --- a/web/src/shared/api/last-trace-id.ts +++ b/web/src/shared/api/last-trace-id.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + type Listener = (traceId: string | null) => void; let current: string | null = null; diff --git a/web/src/shared/auth/__tests__/auth.test.ts b/web/src/shared/auth/__tests__/auth.test.ts index 47d8ecb20..75977ebe6 100644 --- a/web/src/shared/auth/__tests__/auth.test.ts +++ b/web/src/shared/auth/__tests__/auth.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { zPrivilegeKey } from "@/generated/core/zod.gen"; import { DEV_LEVEL_PRIVILEGES, DEV_LEVEL_NAMES, type DevLevel } from "../devLevels"; diff --git a/web/src/shared/auth/auth.ts b/web/src/shared/auth/auth.ts index 8d05a79e3..cbb6f85cb 100644 --- a/web/src/shared/auth/auth.ts +++ b/web/src/shared/auth/auth.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import NextAuth, { type NextAuthConfig } from "next-auth"; import Credentials from "next-auth/providers/credentials"; import Keycloak from "next-auth/providers/keycloak"; diff --git a/web/src/shared/auth/devLevels.ts b/web/src/shared/auth/devLevels.ts index 9e424d9c1..8b49dc233 100644 --- a/web/src/shared/auth/devLevels.ts +++ b/web/src/shared/auth/devLevels.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { Privilege } from "@/features/core/identity/types"; export type DevLevel = "viewer" | "manager" | "admin"; diff --git a/web/src/shared/auth/next-auth.d.ts b/web/src/shared/auth/next-auth.d.ts index 2fde47e23..491d2ac24 100644 --- a/web/src/shared/auth/next-auth.d.ts +++ b/web/src/shared/auth/next-auth.d.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { Privilege } from "@/features/core/identity/types"; declare module "next-auth" { diff --git a/web/src/shared/auth/session.ts b/web/src/shared/auth/session.ts index 8b91db239..1779adc94 100644 --- a/web/src/shared/auth/session.ts +++ b/web/src/shared/auth/session.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import "server-only"; import { auth } from "./auth"; diff --git a/web/src/shared/casl/AbilityProvider.tsx b/web/src/shared/casl/AbilityProvider.tsx index 5d9903483..fe1f24f9a 100644 --- a/web/src/shared/casl/AbilityProvider.tsx +++ b/web/src/shared/casl/AbilityProvider.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { AbilityProvider as CaslAbilityProvider, useAbility as useCaslAbility } from "@casl/react"; diff --git a/web/src/shared/casl/Can.tsx b/web/src/shared/casl/Can.tsx index 3746a3a07..fa561d123 100644 --- a/web/src/shared/casl/Can.tsx +++ b/web/src/shared/casl/Can.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; export { Can } from "@casl/react"; diff --git a/web/src/shared/casl/__tests__/abilities.test.ts b/web/src/shared/casl/__tests__/abilities.test.ts index 6b866c0d7..800f241cc 100644 --- a/web/src/shared/casl/__tests__/abilities.test.ts +++ b/web/src/shared/casl/__tests__/abilities.test.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { describe, expect, it } from "vitest"; import { zPrivilegeKey } from "@/generated/core/zod.gen"; import type { Privilege } from "@/features/core/identity/types"; diff --git a/web/src/shared/casl/abilities.ts b/web/src/shared/casl/abilities.ts index 437465426..b8e779a9d 100644 --- a/web/src/shared/casl/abilities.ts +++ b/web/src/shared/casl/abilities.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { type MongoAbility, createMongoAbility } from "@casl/ability"; import type { Privilege } from "@/features/core/identity/types"; diff --git a/web/src/shared/charts/BurnDownBar.tsx b/web/src/shared/charts/BurnDownBar.tsx index 22fd1a9aa..a9f9d0080 100644 --- a/web/src/shared/charts/BurnDownBar.tsx +++ b/web/src/shared/charts/BurnDownBar.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; export type BurnDownBarProps = { diff --git a/web/src/shared/charts/ComplianceMatrix.tsx b/web/src/shared/charts/ComplianceMatrix.tsx index ffda32846..41defd02a 100644 --- a/web/src/shared/charts/ComplianceMatrix.tsx +++ b/web/src/shared/charts/ComplianceMatrix.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/charts/ForecastBar.tsx b/web/src/shared/charts/ForecastBar.tsx index a697a679e..a5b13d182 100644 --- a/web/src/shared/charts/ForecastBar.tsx +++ b/web/src/shared/charts/ForecastBar.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/charts/Sparkline.tsx b/web/src/shared/charts/Sparkline.tsx index 38cc9b7f6..74ee38a0a 100644 --- a/web/src/shared/charts/Sparkline.tsx +++ b/web/src/shared/charts/Sparkline.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Line, LineChart, ResponsiveContainer } from "recharts"; diff --git a/web/src/shared/charts/StackedAreaUsage.tsx b/web/src/shared/charts/StackedAreaUsage.tsx index 69dea85f3..d9eee8937 100644 --- a/web/src/shared/charts/StackedAreaUsage.tsx +++ b/web/src/shared/charts/StackedAreaUsage.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { diff --git a/web/src/shared/charts/__tests__/ComplianceMatrix.test.tsx b/web/src/shared/charts/__tests__/ComplianceMatrix.test.tsx index 98c3f0725..7afa67503 100644 --- a/web/src/shared/charts/__tests__/ComplianceMatrix.test.tsx +++ b/web/src/shared/charts/__tests__/ComplianceMatrix.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { type ComplianceCell, ComplianceMatrix } from "../ComplianceMatrix"; diff --git a/web/src/shared/charts/__tests__/ForecastBar.test.tsx b/web/src/shared/charts/__tests__/ForecastBar.test.tsx index c1c5365e0..b5f56ef32 100644 --- a/web/src/shared/charts/__tests__/ForecastBar.test.tsx +++ b/web/src/shared/charts/__tests__/ForecastBar.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ForecastBar } from "../ForecastBar"; diff --git a/web/src/shared/charts/__tests__/StackedAreaUsage.test.tsx b/web/src/shared/charts/__tests__/StackedAreaUsage.test.tsx index 1598948f7..b24f35ca3 100644 --- a/web/src/shared/charts/__tests__/StackedAreaUsage.test.tsx +++ b/web/src/shared/charts/__tests__/StackedAreaUsage.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { BurnDownBar } from "../BurnDownBar"; diff --git a/web/src/shared/hooks/__tests__/useUrlGroupBy.test.tsx b/web/src/shared/hooks/__tests__/useUrlGroupBy.test.tsx index aaa7afcfb..a7dcddb12 100644 --- a/web/src/shared/hooks/__tests__/useUrlGroupBy.test.tsx +++ b/web/src/shared/hooks/__tests__/useUrlGroupBy.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { act, renderHook } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { useUrlGroupBy } from "../useUrlGroupBy"; diff --git a/web/src/shared/hooks/__tests__/useUrlRange.test.tsx b/web/src/shared/hooks/__tests__/useUrlRange.test.tsx index 137c0239a..cf6277ce3 100644 --- a/web/src/shared/hooks/__tests__/useUrlRange.test.tsx +++ b/web/src/shared/hooks/__tests__/useUrlRange.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { act, renderHook } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { useUrlRange } from "../useUrlRange"; diff --git a/web/src/shared/hooks/useDebounce.ts b/web/src/shared/hooks/useDebounce.ts index 669afcbc5..3f2106dad 100644 --- a/web/src/shared/hooks/useDebounce.ts +++ b/web/src/shared/hooks/useDebounce.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/shared/hooks/useShallowSearchParams.ts b/web/src/shared/hooks/useShallowSearchParams.ts index 18859d006..163570800 100644 --- a/web/src/shared/hooks/useShallowSearchParams.ts +++ b/web/src/shared/hooks/useShallowSearchParams.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useSearchParams as useNextSearchParams } from "next/navigation"; diff --git a/web/src/shared/hooks/useUrlGroupBy.ts b/web/src/shared/hooks/useUrlGroupBy.ts index 5bc2d261c..6a57e5312 100644 --- a/web/src/shared/hooks/useUrlGroupBy.ts +++ b/web/src/shared/hooks/useUrlGroupBy.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useRouter, useSearchParams } from "next/navigation"; diff --git a/web/src/shared/hooks/useUrlRange.ts b/web/src/shared/hooks/useUrlRange.ts index 9aa46668d..b9194b34c 100644 --- a/web/src/shared/hooks/useUrlRange.ts +++ b/web/src/shared/hooks/useUrlRange.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useRouter, useSearchParams } from "next/navigation"; diff --git a/web/src/shared/layout/Breadcrumbs.tsx b/web/src/shared/layout/Breadcrumbs.tsx index 66d604fdc..059826ea7 100644 --- a/web/src/shared/layout/Breadcrumbs.tsx +++ b/web/src/shared/layout/Breadcrumbs.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import Link from "next/link"; diff --git a/web/src/shared/layout/PortalLayout.tsx b/web/src/shared/layout/PortalLayout.tsx index aa84996c9..91860d85f 100644 --- a/web/src/shared/layout/PortalLayout.tsx +++ b/web/src/shared/layout/PortalLayout.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import type { ReactNode } from "react"; import { Sidebar } from "./Sidebar"; import { Topbar } from "./Topbar"; diff --git a/web/src/shared/layout/Sidebar.tsx b/web/src/shared/layout/Sidebar.tsx index 7f245ac1f..9a4ce3d4a 100644 --- a/web/src/shared/layout/Sidebar.tsx +++ b/web/src/shared/layout/Sidebar.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/layout/Topbar.tsx b/web/src/shared/layout/Topbar.tsx index 529a9a8f7..68aca0c3c 100644 --- a/web/src/shared/layout/Topbar.tsx +++ b/web/src/shared/layout/Topbar.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/layout/UserPill.tsx b/web/src/shared/layout/UserPill.tsx index 7b094fa4b..dd21f2ac5 100644 --- a/web/src/shared/layout/UserPill.tsx +++ b/web/src/shared/layout/UserPill.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Avatar, AvatarFallback } from "@/shared/ui/avatar"; diff --git a/web/src/shared/layout/nav.ts b/web/src/shared/layout/nav.ts index fb8ad5457..36959294a 100644 --- a/web/src/shared/layout/nav.ts +++ b/web/src/shared/layout/nav.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { Activity, ClipboardList, diff --git a/web/src/shared/layout/useNavHistory.ts b/web/src/shared/layout/useNavHistory.ts index 5838a76ad..3add68dfd 100644 --- a/web/src/shared/layout/useNavHistory.ts +++ b/web/src/shared/layout/useNavHistory.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { usePathname } from "next/navigation"; diff --git a/web/src/shared/providers/MswProvider.tsx b/web/src/shared/providers/MswProvider.tsx index 0bca84dd0..404711fad 100644 --- a/web/src/shared/providers/MswProvider.tsx +++ b/web/src/shared/providers/MswProvider.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { type ReactNode, useEffect, useState } from "react"; diff --git a/web/src/shared/providers/Providers.tsx b/web/src/shared/providers/Providers.tsx index df4576e8f..15fb5da34 100644 --- a/web/src/shared/providers/Providers.tsx +++ b/web/src/shared/providers/Providers.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { SessionProvider } from "next-auth/react"; diff --git a/web/src/shared/providers/QueryProvider.tsx b/web/src/shared/providers/QueryProvider.tsx index 20b1aadb3..e24819725 100644 --- a/web/src/shared/providers/QueryProvider.tsx +++ b/web/src/shared/providers/QueryProvider.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; diff --git a/web/src/shared/ui/Breadcrumbs.tsx b/web/src/shared/ui/Breadcrumbs.tsx index 0ad70dcb9..b096a5001 100644 --- a/web/src/shared/ui/Breadcrumbs.tsx +++ b/web/src/shared/ui/Breadcrumbs.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/ui/DataTable.tsx b/web/src/shared/ui/DataTable.tsx index 064430301..cbd5e70ec 100644 --- a/web/src/shared/ui/DataTable.tsx +++ b/web/src/shared/ui/DataTable.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/ui/DateRangePicker.tsx b/web/src/shared/ui/DateRangePicker.tsx index 5c734537f..93c7dca87 100644 --- a/web/src/shared/ui/DateRangePicker.tsx +++ b/web/src/shared/ui/DateRangePicker.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Popover as PopoverPrimitive } from "@base-ui/react/popover"; diff --git a/web/src/shared/ui/EmptyState.tsx b/web/src/shared/ui/EmptyState.tsx index b4c457b04..2533e0921 100644 --- a/web/src/shared/ui/EmptyState.tsx +++ b/web/src/shared/ui/EmptyState.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import * as React from "react"; diff --git a/web/src/shared/ui/EnableToggle.tsx b/web/src/shared/ui/EnableToggle.tsx index 85e15be64..a344a6edd 100644 --- a/web/src/shared/ui/EnableToggle.tsx +++ b/web/src/shared/ui/EnableToggle.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useState } from "react"; diff --git a/web/src/shared/ui/ErrorState.tsx b/web/src/shared/ui/ErrorState.tsx index 94bb923fe..41fd0244c 100644 --- a/web/src/shared/ui/ErrorState.tsx +++ b/web/src/shared/ui/ErrorState.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import { Button } from "@/shared/ui/button"; import { AlertCircleIcon } from "lucide-react"; diff --git a/web/src/shared/ui/GroupByChip.tsx b/web/src/shared/ui/GroupByChip.tsx index 5061da8f4..4d435c00d 100644 --- a/web/src/shared/ui/GroupByChip.tsx +++ b/web/src/shared/ui/GroupByChip.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Menu as MenuPrimitive } from "@base-ui/react/menu"; diff --git a/web/src/shared/ui/KpiCard.tsx b/web/src/shared/ui/KpiCard.tsx index da2eb8815..0f2939adc 100644 --- a/web/src/shared/ui/KpiCard.tsx +++ b/web/src/shared/ui/KpiCard.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/ui/LastSyncedBadge.tsx b/web/src/shared/ui/LastSyncedBadge.tsx index cfed2a43a..620e028ff 100644 --- a/web/src/shared/ui/LastSyncedBadge.tsx +++ b/web/src/shared/ui/LastSyncedBadge.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { RefreshCw } from "lucide-react"; diff --git a/web/src/shared/ui/Loading.tsx b/web/src/shared/ui/Loading.tsx index bc83229b0..0222c24ff 100644 --- a/web/src/shared/ui/Loading.tsx +++ b/web/src/shared/ui/Loading.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import * as React from "react"; diff --git a/web/src/shared/ui/MetaRow.tsx b/web/src/shared/ui/MetaRow.tsx index 5568e06b4..51309f070 100644 --- a/web/src/shared/ui/MetaRow.tsx +++ b/web/src/shared/ui/MetaRow.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import { StatusBadge, diff --git a/web/src/shared/ui/ProjectAutocomplete.tsx b/web/src/shared/ui/ProjectAutocomplete.tsx index 03b03e346..ffc3c201d 100644 --- a/web/src/shared/ui/ProjectAutocomplete.tsx +++ b/web/src/shared/ui/ProjectAutocomplete.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { useDebounce } from "@/shared/hooks/useDebounce"; diff --git a/web/src/shared/ui/SideDrawer.tsx b/web/src/shared/ui/SideDrawer.tsx index 62a8adbf8..acca24514 100644 --- a/web/src/shared/ui/SideDrawer.tsx +++ b/web/src/shared/ui/SideDrawer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Dialog as DialogPrimitive } from "@base-ui/react/dialog"; diff --git a/web/src/shared/ui/StatCard.tsx b/web/src/shared/ui/StatCard.tsx index fff3e8bab..5794c5435 100644 --- a/web/src/shared/ui/StatCard.tsx +++ b/web/src/shared/ui/StatCard.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import { UsageBar } from "@/shared/ui/UsageBar"; import type { ElementType, ReactNode } from "react"; diff --git a/web/src/shared/ui/StatCardRow.tsx b/web/src/shared/ui/StatCardRow.tsx index bd8543f9c..89e590f32 100644 --- a/web/src/shared/ui/StatCardRow.tsx +++ b/web/src/shared/ui/StatCardRow.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import type { HTMLAttributes, ReactNode } from "react"; diff --git a/web/src/shared/ui/StatusBadge.tsx b/web/src/shared/ui/StatusBadge.tsx index 437f6185d..07e4cfcb4 100644 --- a/web/src/shared/ui/StatusBadge.tsx +++ b/web/src/shared/ui/StatusBadge.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import type { AllocationStatus, ChangeRequestStatus } from "@/shared/api/domain"; diff --git a/web/src/shared/ui/TabsRouter.tsx b/web/src/shared/ui/TabsRouter.tsx index c33b5f175..0acf50561 100644 --- a/web/src/shared/ui/TabsRouter.tsx +++ b/web/src/shared/ui/TabsRouter.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/ui/UsageBar.tsx b/web/src/shared/ui/UsageBar.tsx index af9a32cc9..f8b12467b 100644 --- a/web/src/shared/ui/UsageBar.tsx +++ b/web/src/shared/ui/UsageBar.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; import * as React from "react"; diff --git a/web/src/shared/ui/__tests__/DateRangePicker.test.tsx b/web/src/shared/ui/__tests__/DateRangePicker.test.tsx index 060873e78..7c8b73cb0 100644 --- a/web/src/shared/ui/__tests__/DateRangePicker.test.tsx +++ b/web/src/shared/ui/__tests__/DateRangePicker.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen, within } from "@testing-library/react"; import * as React from "react"; import { describe, expect, it, vi } from "vitest"; diff --git a/web/src/shared/ui/__tests__/EnableToggle.test.tsx b/web/src/shared/ui/__tests__/EnableToggle.test.tsx index 0bc6aa903..658652e1d 100644 --- a/web/src/shared/ui/__tests__/EnableToggle.test.tsx +++ b/web/src/shared/ui/__tests__/EnableToggle.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { EnableToggle } from "../EnableToggle"; diff --git a/web/src/shared/ui/__tests__/GroupByChip.test.tsx b/web/src/shared/ui/__tests__/GroupByChip.test.tsx index 5a493c9f1..5bb52dc2d 100644 --- a/web/src/shared/ui/__tests__/GroupByChip.test.tsx +++ b/web/src/shared/ui/__tests__/GroupByChip.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { GroupByChip, GroupByChipGroup } from "../GroupByChip"; diff --git a/web/src/shared/ui/__tests__/KpiCard.test.tsx b/web/src/shared/ui/__tests__/KpiCard.test.tsx index e5077e0aa..37e72e252 100644 --- a/web/src/shared/ui/__tests__/KpiCard.test.tsx +++ b/web/src/shared/ui/__tests__/KpiCard.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen } from "@testing-library/react"; import { Cpu } from "lucide-react"; import { describe, expect, it, vi } from "vitest"; diff --git a/web/src/shared/ui/__tests__/LastSyncedBadge.test.tsx b/web/src/shared/ui/__tests__/LastSyncedBadge.test.tsx index 606d0b681..d9f4a8aae 100644 --- a/web/src/shared/ui/__tests__/LastSyncedBadge.test.tsx +++ b/web/src/shared/ui/__tests__/LastSyncedBadge.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { fireEvent, render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { LastSyncedBadge } from "../LastSyncedBadge"; diff --git a/web/src/shared/ui/__tests__/MetaRow.test.tsx b/web/src/shared/ui/__tests__/MetaRow.test.tsx index 019db4e8a..d4af2c6b7 100644 --- a/web/src/shared/ui/__tests__/MetaRow.test.tsx +++ b/web/src/shared/ui/__tests__/MetaRow.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { Calendar } from "lucide-react"; import { describe, expect, it } from "vitest"; diff --git a/web/src/shared/ui/__tests__/StatCard.test.tsx b/web/src/shared/ui/__tests__/StatCard.test.tsx index 71cf350a9..50513e322 100644 --- a/web/src/shared/ui/__tests__/StatCard.test.tsx +++ b/web/src/shared/ui/__tests__/StatCard.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { Cpu } from "lucide-react"; import { describe, expect, it } from "vitest"; diff --git a/web/src/shared/ui/__tests__/StatCardRow.test.tsx b/web/src/shared/ui/__tests__/StatCardRow.test.tsx index 2b1efb05e..32c066bc5 100644 --- a/web/src/shared/ui/__tests__/StatCardRow.test.tsx +++ b/web/src/shared/ui/__tests__/StatCardRow.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { StatCardRow } from "../StatCardRow"; diff --git a/web/src/shared/ui/__tests__/StatusBadge.test.tsx b/web/src/shared/ui/__tests__/StatusBadge.test.tsx index ce6425e0d..45bd6bf46 100644 --- a/web/src/shared/ui/__tests__/StatusBadge.test.tsx +++ b/web/src/shared/ui/__tests__/StatusBadge.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { StatusBadge, type StatusBadgeVariant } from "../StatusBadge"; diff --git a/web/src/shared/ui/__tests__/TabsRouter.test.tsx b/web/src/shared/ui/__tests__/TabsRouter.test.tsx index 65adff235..f8de290aa 100644 --- a/web/src/shared/ui/__tests__/TabsRouter.test.tsx +++ b/web/src/shared/ui/__tests__/TabsRouter.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { TabsRouter } from "../TabsRouter"; diff --git a/web/src/shared/ui/__tests__/UsageBar.test.tsx b/web/src/shared/ui/__tests__/UsageBar.test.tsx index 2927624ab..bd09bd5b9 100644 --- a/web/src/shared/ui/__tests__/UsageBar.test.tsx +++ b/web/src/shared/ui/__tests__/UsageBar.test.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { UsageBar } from "../UsageBar"; diff --git a/web/src/shared/ui/avatar.tsx b/web/src/shared/ui/avatar.tsx index 9f9660aeb..7e35a7412 100644 --- a/web/src/shared/ui/avatar.tsx +++ b/web/src/shared/ui/avatar.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar"; diff --git a/web/src/shared/ui/badge.tsx b/web/src/shared/ui/badge.tsx index 87a6791ef..4dff513b7 100644 --- a/web/src/shared/ui/badge.tsx +++ b/web/src/shared/ui/badge.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { mergeProps } from "@base-ui/react/merge-props"; import { useRender } from "@base-ui/react/use-render"; import { type VariantProps, cva } from "class-variance-authority"; diff --git a/web/src/shared/ui/button.tsx b/web/src/shared/ui/button.tsx index 690d69449..e71f63e85 100644 --- a/web/src/shared/ui/button.tsx +++ b/web/src/shared/ui/button.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { Button as ButtonPrimitive } from "@base-ui/react/button"; import { type VariantProps, cva } from "class-variance-authority"; diff --git a/web/src/shared/ui/card.tsx b/web/src/shared/ui/card.tsx index e6cb38227..0f57644d3 100644 --- a/web/src/shared/ui/card.tsx +++ b/web/src/shared/ui/card.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import * as React from "react"; import { cn } from "@/lib/utils"; diff --git a/web/src/shared/ui/dialog.tsx b/web/src/shared/ui/dialog.tsx index 924dbb4a8..6a76d934b 100644 --- a/web/src/shared/ui/dialog.tsx +++ b/web/src/shared/ui/dialog.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Dialog as DialogPrimitive } from "@base-ui/react/dialog"; diff --git a/web/src/shared/ui/drawer.tsx b/web/src/shared/ui/drawer.tsx index d5ede88fd..4239197d8 100644 --- a/web/src/shared/ui/drawer.tsx +++ b/web/src/shared/ui/drawer.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/shared/ui/dropdown-menu.tsx b/web/src/shared/ui/dropdown-menu.tsx index 6098cd8e1..e8c145349 100644 --- a/web/src/shared/ui/dropdown-menu.tsx +++ b/web/src/shared/ui/dropdown-menu.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Menu as MenuPrimitive } from "@base-ui/react/menu"; diff --git a/web/src/shared/ui/input.tsx b/web/src/shared/ui/input.tsx index a30bd44ab..59e8d7d82 100644 --- a/web/src/shared/ui/input.tsx +++ b/web/src/shared/ui/input.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { Input as InputPrimitive } from "@base-ui/react/input"; import * as React from "react"; diff --git a/web/src/shared/ui/label.tsx b/web/src/shared/ui/label.tsx index 680d9a657..76b4ef902 100644 --- a/web/src/shared/ui/label.tsx +++ b/web/src/shared/ui/label.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/shared/ui/select.tsx b/web/src/shared/ui/select.tsx index b109851f5..5cd664a3c 100644 --- a/web/src/shared/ui/select.tsx +++ b/web/src/shared/ui/select.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Select as SelectPrimitive } from "@base-ui/react/select"; diff --git a/web/src/shared/ui/separator.tsx b/web/src/shared/ui/separator.tsx index f2c55c81c..c7d03a58c 100644 --- a/web/src/shared/ui/separator.tsx +++ b/web/src/shared/ui/separator.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Separator as SeparatorPrimitive } from "@base-ui/react/separator"; diff --git a/web/src/shared/ui/skeleton.tsx b/web/src/shared/ui/skeleton.tsx index 26bc059db..42b9646e3 100644 --- a/web/src/shared/ui/skeleton.tsx +++ b/web/src/shared/ui/skeleton.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { cn } from "@/lib/utils"; function Skeleton({ className, ...props }: React.ComponentProps<"div">) { diff --git a/web/src/shared/ui/sonner.tsx b/web/src/shared/ui/sonner.tsx index b2957103a..7a82196d9 100644 --- a/web/src/shared/ui/sonner.tsx +++ b/web/src/shared/ui/sonner.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { diff --git a/web/src/shared/ui/table.tsx b/web/src/shared/ui/table.tsx index 86d90c865..30289f6b0 100644 --- a/web/src/shared/ui/table.tsx +++ b/web/src/shared/ui/table.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import * as React from "react"; diff --git a/web/src/shared/ui/tabs.tsx b/web/src/shared/ui/tabs.tsx index 4d13d4c03..de998e4f9 100644 --- a/web/src/shared/ui/tabs.tsx +++ b/web/src/shared/ui/tabs.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Tabs as TabsPrimitive } from "@base-ui/react/tabs"; diff --git a/web/src/shared/ui/tooltip.tsx b/web/src/shared/ui/tooltip.tsx index 292825fb4..973a33ff3 100644 --- a/web/src/shared/ui/tooltip.tsx +++ b/web/src/shared/ui/tooltip.tsx @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + "use client"; import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip"; diff --git a/web/tests/admin-amie-detail.e2e.ts b/web/tests/admin-amie-detail.e2e.ts index 7c4818f5d..4d04e4b32 100644 --- a/web/tests/admin-amie-detail.e2e.ts +++ b/web/tests/admin-amie-detail.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/admin-amie-list.e2e.ts b/web/tests/admin-amie-list.e2e.ts index 2c4fac1e2..d7c9f55a6 100644 --- a/web/tests/admin-amie-list.e2e.ts +++ b/web/tests/admin-amie-list.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/admin-traces-detail.e2e.ts b/web/tests/admin-traces-detail.e2e.ts index 85f90b41e..d7e577c8e 100644 --- a/web/tests/admin-traces-detail.e2e.ts +++ b/web/tests/admin-traces-detail.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/admin-traces-list.e2e.ts b/web/tests/admin-traces-list.e2e.ts index 94ac675f7..50a884c19 100644 --- a/web/tests/admin-traces-list.e2e.ts +++ b/web/tests/admin-traces-list.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/allocation-members-edit.e2e.ts b/web/tests/allocation-members-edit.e2e.ts index 983f849a6..c6ecf0265 100644 --- a/web/tests/allocation-members-edit.e2e.ts +++ b/web/tests/allocation-members-edit.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/allocations-detail.e2e.ts b/web/tests/allocations-detail.e2e.ts index 38133fd8b..c4d83e8f9 100644 --- a/web/tests/allocations-detail.e2e.ts +++ b/web/tests/allocations-detail.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/allocations-list.e2e.ts b/web/tests/allocations-list.e2e.ts index 224479e7b..7eaedc5e4 100644 --- a/web/tests/allocations-list.e2e.ts +++ b/web/tests/allocations-list.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/amie-cross-link.e2e.ts b/web/tests/amie-cross-link.e2e.ts index c68b42a98..9b4041de9 100644 --- a/web/tests/amie-cross-link.e2e.ts +++ b/web/tests/amie-cross-link.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/baseline-live.spec.ts b/web/tests/baseline-live.spec.ts index 843a037e8..c3b95a020 100644 --- a/web/tests/baseline-live.spec.ts +++ b/web/tests/baseline-live.spec.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // Live integration test: runs against a Custos backend whose state matches // the AMIE baseline scenario + dev_portal_data.sql seed as declared in // connectors/ACCESS/AMIE-Processor/testdata/scenarios/baseline.yaml. diff --git a/web/tests/change-requests-approve.e2e.ts b/web/tests/change-requests-approve.e2e.ts index 632a6e0ea..1ca0f5cc6 100644 --- a/web/tests/change-requests-approve.e2e.ts +++ b/web/tests/change-requests-approve.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/change-requests-submit.e2e.ts b/web/tests/change-requests-submit.e2e.ts index 65b9c5b43..179b753cf 100644 --- a/web/tests/change-requests-submit.e2e.ts +++ b/web/tests/change-requests-submit.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/closeout-live-walk.spec.ts b/web/tests/closeout-live-walk.spec.ts index f60356c56..7f94beab9 100644 --- a/web/tests/closeout-live-walk.spec.ts +++ b/web/tests/closeout-live-walk.spec.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + // Closeout-only live walk: one-off verification against a running backend. // Excluded from the default `pnpm test:e2e` suite via testMatch in // playwright.config.ts (this file uses .spec.ts, not .e2e.ts). diff --git a/web/tests/fixtures/auth.ts b/web/tests/fixtures/auth.ts index 8804623b5..0d91a6086 100644 --- a/web/tests/fixtures/auth.ts +++ b/web/tests/fixtures/auth.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import { type Page, expect } from "@playwright/test"; export type DevLevel = "viewer" | "manager" | "admin"; diff --git a/web/tests/projects-detail.e2e.ts b/web/tests/projects-detail.e2e.ts index 100b3ddc5..5eb7c5e81 100644 --- a/web/tests/projects-detail.e2e.ts +++ b/web/tests/projects-detail.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/tests/projects-list.e2e.ts b/web/tests/projects-list.e2e.ts index 09dcca72c..1e414888c 100644 --- a/web/tests/projects-list.e2e.ts +++ b/web/tests/projects-list.e2e.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; import { signInAs } from "./fixtures/auth"; diff --git a/web/vitest.config.ts b/web/vitest.config.ts index 2ca80dbb7..887c7b2a4 100644 --- a/web/vitest.config.ts +++ b/web/vitest.config.ts @@ -1,3 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import path from "node:path"; import { fileURLToPath } from "node:url"; import react from "@vitejs/plugin-react"; diff --git a/web/vitest.server-only-stub.ts b/web/vitest.server-only-stub.ts index cb0ff5c3b..86a5952cd 100644 --- a/web/vitest.server-only-stub.ts +++ b/web/vitest.server-only-stub.ts @@ -1 +1,18 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + export {}; diff --git a/web/vitest.setup.ts b/web/vitest.setup.ts index f149f27ae..44394e21d 100644 --- a/web/vitest.setup.ts +++ b/web/vitest.setup.ts @@ -1 +1,18 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import "@testing-library/jest-dom/vitest"; From f9b13931169e846f7a7e1cb27c34d89352154131 Mon Sep 17 00:00:00 2001 From: lahiruj Date: Wed, 24 Jun 2026 04:31:15 -0400 Subject: [PATCH 4/5] Update README with INSTALL.md reference and updated mailing list link --- README.md | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8bee61c32..deec0d77a 100644 --- a/README.md +++ b/README.md @@ -65,29 +65,12 @@ The shape generalizes: a new connector that needs to record connector-specific r ## Quick Start -Clone the repository: - ```sh git clone https://github.com/apache/airavata-custos.git cd airavata-custos ``` -Start the backing services (MariaDB, Prometheus, Grafana, Vault): - -```sh -cd dev-ops/compose -docker compose up -d -``` - -Build and test a connector, e.g. ACCESS-CI AMIE: - -```sh -cd connectors/ACCESS/AMIE-Processor -go build ./... -go test ./... -``` - -See each connector's and extension's README for run and configuration details. +See [INSTALL.md](INSTALL.md) to bring up the dev stack and run the server. See each connector's and extension's README for run and configuration details. ## Documentation @@ -100,7 +83,7 @@ See each connector's and extension's README for run and configuration details. ## Questions or Need Help? * Open a [GitHub issue](https://github.com/apache/airavata-custos/issues) -* Subscribe to the Custos mailing list: `custos-subscribe@airavata.apache.org` +* Join the [Airavata dev mailing list](https://airavata.apache.org/mailing-list.html) ## Publications From 99810c5ad981484e01b21b518a30f41a569ff2ec Mon Sep 17 00:00:00 2001 From: lahiruj Date: Wed, 24 Jun 2026 05:19:26 -0400 Subject: [PATCH 5/5] Remove standalone AMIE-Processor; update references, configuration, and README accordingly --- .gitignore | 5 +- connectors/ACCESS/AMIE-Processor/Makefile | 52 ------------------- connectors/ACCESS/AMIE-Processor/README.md | 30 +++-------- .../ACCESS/AMIE-Processor/config.yaml.example | 38 -------------- 4 files changed, 11 insertions(+), 114 deletions(-) delete mode 100644 connectors/ACCESS/AMIE-Processor/Makefile delete mode 100644 connectors/ACCESS/AMIE-Processor/config.yaml.example diff --git a/.gitignore b/.gitignore index 44e577fcd..0243b712f 100644 --- a/.gitignore +++ b/.gitignore @@ -70,4 +70,7 @@ bin/ # Python virtualenvs (e.g. AMIE mock-server) venv/ -.venv/ \ No newline at end of file +.venv/ + +# Local working drafts +docs/drafts/ \ No newline at end of file diff --git a/connectors/ACCESS/AMIE-Processor/Makefile b/connectors/ACCESS/AMIE-Processor/Makefile deleted file mode 100644 index 2f1d632ff..000000000 --- a/connectors/ACCESS/AMIE-Processor/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -BINARY := access-amie -DB_DSN ?= mysql://admin:admin@tcp(localhost:3306)/access_ci - -.PHONY: build test test-short lint proto migrate-up migrate-down clean fmt tidy - -build: - go build -o bin/$(BINARY) . - -test: - go test ./... -v -count=1 - -test-short: - go test ./... -v -short - -lint: - golangci-lint run ./... - -fmt: - gofmt -s -w . - -tidy: - go mod tidy - -proto: - protoc -Iproto --go_out=proto/gen --go_opt=paths=source_relative \ - amie_packets.proto internal_events.proto - -migrate-up: - migrate -path db/migrations -database "$(DB_DSN)" up - -migrate-down: - migrate -path db/migrations -database "$(DB_DSN)" down 1 - -clean: - rm -rf bin/ diff --git a/connectors/ACCESS/AMIE-Processor/README.md b/connectors/ACCESS/AMIE-Processor/README.md index 67bce03e9..a84d7df58 100644 --- a/connectors/ACCESS/AMIE-Processor/README.md +++ b/connectors/ACCESS/AMIE-Processor/README.md @@ -40,7 +40,7 @@ export AMIE_SITE_CODE="YOUR_SITE" export AMIE_API_KEY="your-api-key" ``` -The default `config.yaml` works for local development with the Docker Compose MariaDB defaults. +AMIE reads its config from the `connectors.amie-processor` block in `config/custos.yaml`. The defaults work against the Docker Compose MariaDB. For local dev without a real ACCESS endpoint, point the service at the local mock AMIE server in [`mock-server/`](./mock-server/README.md) @@ -50,28 +50,11 @@ export AMIE_SITE_CODE="TESTSITE" export AMIE_API_KEY="dev" ``` -### 3. Build +### 3. Run -```bash -cd connectors/ACCESS/AMIE-Processor -go build -o bin/access-amie . -``` - -### 4. Run - -```bash -./bin/access-amie -``` - -The service will connect to MariaDB, run migrations automatically, start the HTTP server on port 8083, the AMIE poller (every 30s), and the event processor (every 5s). - -### 5. Verify +AMIE loads in-process via `cmd/server` when the `amie-processor` block in `config/custos.yaml` is enabled. See [INSTALL.md](../../../INSTALL.md) to bring up the server. Once it is running, AMIE starts its poller (every 30s) and event processor (every 5s), and exposes admin routes under `/connectors/amie/*` on the shared API port (default `:8080`). -```bash -curl http://localhost:8083/health # Health check (includes AMIE API status) -curl http://localhost:8083/ready # Readiness check (DB ping) -curl http://localhost:8083/metrics # Prometheus metrics -``` +There is no standalone AMIE binary. Per-connector binaries are not the deployment model. ## Testing @@ -80,8 +63,9 @@ Three layers, used for different things: ### 1. Unit tests (correctness, no external services) ```bash -make test # all tests, verbose -make test-short # short mode +# from repo root +go test ./connectors/ACCESS/AMIE-Processor/... +go test -short ./connectors/ACCESS/AMIE-Processor/... ``` Every package under this connector ships unit tests against `testify/mock`. No DB, no AMIE server, no network. Run on every commit. diff --git a/connectors/ACCESS/AMIE-Processor/config.yaml.example b/connectors/ACCESS/AMIE-Processor/config.yaml.example deleted file mode 100644 index 3237ac3b0..000000000 --- a/connectors/ACCESS/AMIE-Processor/config.yaml.example +++ /dev/null @@ -1,38 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -server: - port: 8083 - -database: - dsn: "admin:admin@tcp(localhost:3306)/access_ci?parseTime=true&loc=UTC&multiStatements=true" - max_open_conns: 25 - max_idle_conns: 5 - -amie: - base_url: "https://a3mdev.xsede.org/amie-api-test" - site_code: "" # or set AMIE_SITE_CODE env var - api_key: "" # or set AMIE_API_KEY env var - poll_interval: 30s - worker_interval: 5s - connect_timeout: 5s - read_timeout: 20s - poller_enabled: true - -log: - level: "info" - format: "text"