diff --git a/.github/workflows/decompressor_build.yml b/.github/workflows/build_decompressor.yml similarity index 100% rename from .github/workflows/decompressor_build.yml rename to .github/workflows/build_decompressor.yml diff --git a/.github/workflows/build_server.yml b/.github/workflows/build_server.yml index 954bab97e4..7879995468 100644 --- a/.github/workflows/build_server.yml +++ b/.github/workflows/build_server.yml @@ -1,9 +1,8 @@ name: server-build on: - workflow_run: - workflows: [ci-server] - types: [completed] + push: branches: [main, release] + paths: [server/**, .github/workflows/build_server.yml] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true @@ -27,7 +26,7 @@ jobs: id: info # The tag name should be retrieved lazily, as tagging may be delayed. env: - BRANCH: ${{ github.event.workflow_run.head_branch }} + BRANCH: ${{ github.head_ref || github.ref_name }} run: | echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" if [[ "$BRANCH" = "release" ]]; then diff --git a/.github/workflows/web_build.yml b/.github/workflows/build_web.yml similarity index 97% rename from .github/workflows/web_build.yml rename to .github/workflows/build_web.yml index b35646a6f2..fead094495 100644 --- a/.github/workflows/web_build.yml +++ b/.github/workflows/build_web.yml @@ -1,9 +1,8 @@ name: web-build on: - workflow_run: - workflows: [ci-web] - types: [completed] - branches: [main, release] + push: + branches: [ main, release ] + paths: [ web/**, .github/workflows/build_web.yml ] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true diff --git a/.github/workflows/build_worker.yml b/.github/workflows/build_worker.yml index 9477556960..4f877a49a5 100644 --- a/.github/workflows/build_worker.yml +++ b/.github/workflows/build_worker.yml @@ -1,9 +1,8 @@ name: worker-build on: - workflow_run: - workflows: [ci-worker] - types: [completed] + push: branches: [main, release] + paths: [worker/**, .github/workflows/build_worker.yml] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true diff --git a/.github/workflows/ci_server.yml b/.github/workflows/ci_server.yml index 5041479b96..e5862816e2 100644 --- a/.github/workflows/ci_server.yml +++ b/.github/workflows/ci_server.yml @@ -15,6 +15,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} + cache-dependency-path: server/go.mod - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: @@ -35,6 +36,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} + cache-dependency-path: server/go.mod - name: check forgotten translations working-directory: server run: make i18n-ci @@ -53,6 +55,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} + cache-dependency-path: server/go.mod - name: test run: go test ./... -v -race -coverprofile=coverage.txt -covermode=atomic -timeout 10m working-directory: server diff --git a/.github/workflows/ci_worker.yml b/.github/workflows/ci_worker.yml index 158faf18ca..6bc96bcea6 100644 --- a/.github/workflows/ci_worker.yml +++ b/.github/workflows/ci_worker.yml @@ -14,6 +14,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} + cache-dependency-path: worker/go.mod - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: @@ -36,6 +37,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} + cache-dependency-path: worker/go.mod - name: test run: go test ./... -v -race -coverprofile=coverage.txt -covermode=atomic -timeout 10m working-directory: worker diff --git a/.github/workflows/cron_ion_token_test.yml b/.github/workflows/cron_ion_token_test.yml index 6123204774..4504d60ec7 100644 --- a/.github/workflows/cron_ion_token_test.yml +++ b/.github/workflows/cron_ion_token_test.yml @@ -4,19 +4,20 @@ on: - cron: "0 0 2 * *" workflow_dispatch: env: - GCS_DOMAIN: gs://cms.test.reearth.dev - REEARTH_CONFIG_FILENAME: reearth_config.json + CMS_WEB: reearth-cms-web + REGION: us-central1 jobs: update_ion_token: runs-on: ubuntu-latest + permissions: + contents: read # To checkout + id-token: write # To authenticate with Google Cloud using OIDC steps: + - uses: actions/checkout@v4 - uses: google-github-actions/auth@v2 with: - credentials_json: ${{ secrets.GCP_SA_KEY }} - - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@v2 - - name: Download reearth config - run: gsutil cp "${{ env.GCS_DOMAIN }}/${{ env.REEARTH_CONFIG_FILENAME }}" . + service_account: ${{ secrets.GCP_SA_EMAIL }} + workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER}} - name: Get Cesium Ion token id: ion_token run: | @@ -35,9 +36,9 @@ jobs: " \ ) echo "token=${ION_TOKEN}" >> $GITHUB_OUTPUT - - name: Update Ion token in reearth config + - name: Update Cloud Run run: | - echo $(cat ${{ env.REEARTH_CONFIG_FILENAME }} | jq -r '.cesiumIonAccessToken |= "${{ steps.ion_token.outputs.token }}"') > ${{ env.REEARTH_CONFIG_FILENAME }} - echo $(cat ${{ env.REEARTH_CONFIG_FILENAME }}) - - name: Upload reearth config - run: gsutil -h "Cache-Control:no-store" cp reearth_config.json "${{ env.GCS_DOMAIN }}/${{ env.REEARTH_CONFIG_FILENAME }}" \ No newline at end of file + gcloud run services update $CMS_WEB \ + --update-env-vars REEARTH_CMS_CESIUM_ION_ACCESS_TOKEN=${{ steps.ion_token.outputs.token }} \ + --region $REGION \ + --platform managed diff --git a/.github/workflows/deploy_test.yml b/.github/workflows/deploy_test.yml index cf3c1126f5..d16b6db40f 100644 --- a/.github/workflows/deploy_test.yml +++ b/.github/workflows/deploy_test.yml @@ -34,6 +34,9 @@ jobs: name: Deploy web to test env if: github.event.repository.full_name == 'reearth/reearth-cms' && github.event.workflow_run.name == 'ci-web' && github.event.workflow_run.conclusion != 'failure' && github.event.workflow_run.head_branch == 'main' runs-on: ubuntu-latest + permissions: + contents: read # To checkout + id-token: write # To authenticate with Google Cloud using OIDC steps: - uses: actions/create-github-app-token@v1 id: app-token @@ -55,7 +58,8 @@ jobs: run: tar -xvf reearth-cms-web.tar.gz - uses: google-github-actions/auth@v2 with: - credentials_json: "${{ secrets.GCP_SA_KEY }}" + service_account: ${{ secrets.GCP_SA_EMAIL }} + workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }} - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@v2 - name: Deploy @@ -65,12 +69,16 @@ jobs: name: Deploy server to test env runs-on: ubuntu-latest if: github.event.repository.full_name == 'reearth/reearth-cms' && github.event.workflow_run.name == 'server-build' && github.event.workflow_run.conclusion != 'failure' && github.event.workflow_run.head_branch == 'main' + permissions: + contents: read # To checkout + id-token: write # To authenticate with Google Cloud using OIDC steps: - uses: actions/checkout@v4 - uses: google-github-actions/auth@v2 with: - credentials_json: ${{ secrets.GCP_SA_KEY }} + service_account: ${{ secrets.GCP_SA_EMAIL }} + workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }} - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@v2 - name: Configure docker @@ -92,12 +100,16 @@ jobs: name: Deploy web to test env runs-on: ubuntu-latest if: github.event.repository.full_name == 'reearth/reearth-cms' && github.event.workflow_run.name == 'web-build' && github.event.workflow_run.conclusion != 'failure' && github.event.workflow_run.head_branch == 'main' + permissions: + contents: read # To checkout + id-token: write # To authenticate with Google Cloud using OIDC steps: - uses: actions/checkout@v4 - uses: google-github-actions/auth@v2 with: - credentials_json: ${{ secrets.GCP_SA_KEY }} + service_account: ${{ secrets.GCP_SA_EMAIL }} + workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }} - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@v2 - name: Configure docker @@ -119,12 +131,16 @@ jobs: name: Deploy worker to test env runs-on: ubuntu-latest if: github.event.repository.full_name == 'reearth/reearth-cms' && github.event.workflow_run.name == 'worker-build' && github.event.workflow_run.conclusion != 'failure' && github.event.workflow_run.head_branch == 'main' + permissions: + contents: read # To checkout + id-token: write # To authenticate with Google Cloud using OIDC steps: - uses: actions/checkout@v4 - uses: google-github-actions/auth@v2 with: - credentials_json: ${{ secrets.GCP_SA_KEY }} + service_account: ${{ secrets.GCP_SA_EMAIL }} + workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }} - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@v2 - name: Configure docker diff --git a/go.work b/go.work index ec0f3665ec..00885e0afe 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.23.1 +go 1.23.2 use ( ./server diff --git a/go.work.sum b/go.work.sum index 5a9e0c44de..47b96469e9 100644 --- a/go.work.sum +++ b/go.work.sum @@ -51,6 +51,8 @@ cloud.google.com/go/accessapproval v1.7.5 h1:uzmAMSgYcnlHa9X9YSQZ4Q1wlfl4NNkZyQg cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= cloud.google.com/go/accessapproval v1.8.0 h1:DLU5ua2WQXvdUL6yd/D4XFPXyd6acv1hNJJBMdt6Fh0= cloud.google.com/go/accessapproval v1.8.0/go.mod h1:ycc7qSIXOrH6gGOGQsuBwpRZw3QhZLi0OWeej3rA5Mg= +cloud.google.com/go/accessapproval v1.8.1 h1:WC6pA5Gyqkrvdc18AHvriShwk8wgMe9EWvBAQSLxTc8= +cloud.google.com/go/accessapproval v1.8.1/go.mod h1:3HAtm2ertsWdwgjSGObyas6fj3ZC/3zwV2WVZXO53sU= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= cloud.google.com/go/accesscontextmanager v1.7.0 h1:MG60JgnEoawHJrbWw0jGdv6HLNSf6gQvYRiXpuzqgEA= cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= @@ -64,6 +66,8 @@ cloud.google.com/go/accesscontextmanager v1.8.5 h1:2GLNaNu9KRJhJBFTIVRoPwk6xE5mU cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= cloud.google.com/go/accesscontextmanager v1.9.0 h1:K0zCbd23A64sdJmOZDaW39dEMB6JVnGz2uycwd8PTu0= cloud.google.com/go/accesscontextmanager v1.9.0/go.mod h1:EmdQRGq5FHLrjGjGTp2X2tlRBvU3LDCUqfnysFYooxQ= +cloud.google.com/go/accesscontextmanager v1.9.1 h1:+C7HM05/h80znK+8VNu25wAimueda6/NGNdus+jxaHI= +cloud.google.com/go/accesscontextmanager v1.9.1/go.mod h1:wUVSoz8HmG7m9miQTh6smbyYuNOJrvZukK5g6WxSOp0= cloud.google.com/go/aiplatform v1.24.0 h1:QqHZT1IMldf/daXoSnkJWBIqGBsw50X+xP6HSVzLRPo= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= @@ -99,6 +103,8 @@ cloud.google.com/go/analytics v0.23.0 h1:Q+y94XH84jM8SK8O7qiY/PJRexb6n7dRbQ6PiUa cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= cloud.google.com/go/analytics v0.25.0 h1:vJdNlQCfvgwxHl7bn5pqON6k5/PzVA+Uk5m5nWaFh84= cloud.google.com/go/analytics v0.25.0/go.mod h1:LZMfjJnKU1GDkvJV16dKnXm7KJJaMZfvUXx58ujgVLg= +cloud.google.com/go/analytics v0.25.1 h1:tMlK9KGTwHYASagAHXXbIPUVCRknA0Yv4jquim5HdRE= +cloud.google.com/go/analytics v0.25.1/go.mod h1:hrAWcN/7tqyYwF/f60Nph1yz5UE3/PxOPzzFsJgtU+Y= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= cloud.google.com/go/apigateway v1.5.0 h1:ZI9mVO7x3E9RK/BURm2p1aw9YTBSCQe3klmyP1WxWEg= cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= @@ -112,6 +118,8 @@ cloud.google.com/go/apigateway v1.6.5 h1:sPXnpk+6TneKIrjCjcpX5YGsAKy3PTdpIchoj8/ cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= cloud.google.com/go/apigateway v1.7.0 h1:KfvzagH2g7O6K/egrXopAbpvsxeDGNf2dbG7F39/4Jk= cloud.google.com/go/apigateway v1.7.0/go.mod h1:miZGNhmrC+SFhxjA7ayjKHk1cA+7vsSINp9K+JxKwZI= +cloud.google.com/go/apigateway v1.7.1 h1:BeR+5NtpGxsUoK8wa/IPkanORjqZdlyNmXZ8ke3tOhc= +cloud.google.com/go/apigateway v1.7.1/go.mod h1:5JBcLrl7GHSGRzuDaISd5u0RKV05DNFiq4dRdfrhCP0= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= cloud.google.com/go/apigeeconnect v1.5.0 h1:sWOmgDyAsi1AZ48XRHcATC0tsi9SkPT7DA/+VCfkaeA= cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= @@ -125,6 +133,8 @@ cloud.google.com/go/apigeeconnect v1.6.5 h1:CrfIKv9Go3fh/QfQgisU3MeP90Ww7l/sVGmr cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= cloud.google.com/go/apigeeconnect v1.7.0 h1:/1m2gI6xt9146I8dhTtBKR8dGLb4WqYbMT7SViCkKEU= cloud.google.com/go/apigeeconnect v1.7.0/go.mod h1:fd8NFqzu5aXGEUpxiyeCyb4LBLU7B/xIPztfBQi+1zg= +cloud.google.com/go/apigeeconnect v1.7.1 h1:yMWIb/lv69K7Qz6Brv63u6gIACefIPKQSiI2aFXnJxo= +cloud.google.com/go/apigeeconnect v1.7.1/go.mod h1:olkn1lOhIA/aorreenFzfEcEXmFN2pyAwkaUFbug9ZY= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= cloud.google.com/go/apigeeregistry v0.6.0 h1:E43RdhhCxdlV+I161gUY2rI4eOaMzHTA5kNkvRsFXvc= cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= @@ -138,6 +148,8 @@ cloud.google.com/go/apigeeregistry v0.8.3 h1:C+QU2K+DzDjk4g074ouwHQGkoff1h5OMQp6 cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= cloud.google.com/go/apigeeregistry v0.9.0 h1:nDQW/S5YjH3wmHoUy53x4CIcccbukxjqEq0EjMJUYoA= cloud.google.com/go/apigeeregistry v0.9.0/go.mod h1:4S/btGnijdt9LSIZwBDHgtYfYkFGekzNyWkyYTP8Qzs= +cloud.google.com/go/apigeeregistry v0.9.1 h1:AfMllcPbJ+qMgbYK2bC5QDPd8SmE8wQ5msiDILuxVm4= +cloud.google.com/go/apigeeregistry v0.9.1/go.mod h1:XCwK9CS65ehi26z7E8/Vl4PEX5c/JJxpfxlB1QEyrZw= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= @@ -154,6 +166,8 @@ cloud.google.com/go/appengine v1.8.5 h1:l2SviT44zWQiOv8bPoMBzW0vOcMO22iO0s+nVtVh cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= cloud.google.com/go/appengine v1.9.0 h1:8i/2xM6NrMI6Js2P5Ojsbr3J4SNOjLHpuqNeMsbvpp4= cloud.google.com/go/appengine v1.9.0/go.mod h1:y5oI+JT3/6s77QmxbTnLHyiMKz3NPHYOjuhmVi+FyYU= +cloud.google.com/go/appengine v1.9.1 h1:mQMmn1Dv0DDLsDjYxfS+cVwQa8+ue++ymVeD1jkXze0= +cloud.google.com/go/appengine v1.9.1/go.mod h1:jtguveqRWFfjrk3k/7SlJz1FpDBZhu5CWSRu+HBgClk= cloud.google.com/go/area120 v0.5.0 h1:WTNlum1kMjhnBToR1zbvyhR9IjRnqHJ9UshTbW2P71w= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0 h1:TCMhwWEWhCn8d44/Zs7UCICTWje9j3HuV6nVGMjdpYw= @@ -170,6 +184,8 @@ cloud.google.com/go/area120 v0.8.5 h1:vTs08KPLN/iMzTbxpu5ciL06KcsrVPMjz4IwcQyZ4u cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= cloud.google.com/go/area120 v0.9.0 h1:HdrEaFo0n28gOrPlB6BXEVPQ2x9GZep2rkCvPcMINIg= cloud.google.com/go/area120 v0.9.0/go.mod h1:ujIhRz2gJXutmFYGAUgz3KZ5IRJ6vOwL4CYlNy/jDo4= +cloud.google.com/go/area120 v0.9.1 h1:YfDWbKHRHmhpd8ejTmAeK6eYi3n0qJKvPNEj1ON19PY= +cloud.google.com/go/area120 v0.9.1/go.mod h1:foV1BSrnjVL/KydBnAlUQFSy85kWrMwGSmRfIraC+JU= cloud.google.com/go/artifactregistry v1.6.0 h1:xAZG9+PMmr2sYXrirtNfSPUeDXTwphAyMB8Ak+zMbhA= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0 h1:9yKYCozdh29v7QMx3QBuksZGtPNICFb5SVnyNvkKRGg= @@ -187,6 +203,8 @@ cloud.google.com/go/artifactregistry v1.14.7 h1:W9sVlyb1VRcUf83w7aM3yMsnp4HS4Poy cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= cloud.google.com/go/artifactregistry v1.15.0 h1:fHsfq5+Vir1FjEMGn7lbiSygyG+TXdtb1uRXQ72SDg4= cloud.google.com/go/artifactregistry v1.15.0/go.mod h1:4xrfigx32/3N7Pp7YSPOZZGs4VPhyYeRyJ67ZfVdOX4= +cloud.google.com/go/artifactregistry v1.15.1 h1:ANE2nBEqP2vGGA/5plRRUpatT3E/3ydSK8Z+lXiV69s= +cloud.google.com/go/artifactregistry v1.15.1/go.mod h1:ExJb4VN+IMTQWO5iY+mjcY19Rz9jUxCVGZ1YuyAgPBw= cloud.google.com/go/asset v1.5.0 h1:Px0CZuM7u6mcDysLR2QHlEWza0tN+iSjwCtFZtBY6DA= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.8.0 h1:qzYOcI6u4CD+0R1E8rWbrqs04fISCcg2YYxW8yBAqFM= @@ -204,6 +222,8 @@ cloud.google.com/go/asset v1.17.2 h1:xgFnBP3luSbUcC9RWJvb3Zkt+y/wW6PKwPHr3ssnIP8 cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= cloud.google.com/go/asset v1.20.0 h1:2kHJKyVUEbuisDjvOK9+XQrvoosEBqsb6yaEzq5gaWY= cloud.google.com/go/asset v1.20.0/go.mod h1:CT3ME6xNZKsPSvi0lMBPgW3azvRhiurJTFSnNl6ahw8= +cloud.google.com/go/asset v1.20.2 h1:wAGSAzAmMC/KEFGZ6Z0zv3jOlz1fjBxuO7SiRX9FMuQ= +cloud.google.com/go/asset v1.20.2/go.mod h1:IM1Kpzzo3wq7R/GEiktitzZyXx2zVpWqs9/5EGYs0GY= cloud.google.com/go/assuredworkloads v1.5.0 h1:4YrCLlal8VEyEl0NsTyUU1TZ+5yikF0UOcqMHtaoCgw= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.7.0 h1:IYhjgcgwb5TIAhC0aWQGGOqBnP0c2xijgMGf1iJRs50= @@ -221,6 +241,8 @@ cloud.google.com/go/assuredworkloads v1.11.5 h1:gCrN3IyvqY3cP0wh2h43d99CgH3G+WYs cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= cloud.google.com/go/assuredworkloads v1.12.0 h1:ZolaDkCGpBFrvrEc/lvdJ584NRmIahc8MMC9vqPkWrc= cloud.google.com/go/assuredworkloads v1.12.0/go.mod h1:jX84R+0iANggmSbzvVgrGWaqdhRsQihAv4fF7IQ4r7Q= +cloud.google.com/go/assuredworkloads v1.12.1 h1:B+hWc62fYL8NdntPjx0rzJJ67qx99w6dCeIVDpHf7QE= +cloud.google.com/go/assuredworkloads v1.12.1/go.mod h1:nBnkK2GZNSdtjU3ER75oC5fikub5/+QchbolKgnMI/I= cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9ogv5w= cloud.google.com/go/auth v0.6.1/go.mod h1:eFHG7zDzbXHKmjJddFG/rBlcGp6t25SwRUiEQSlO4x4= cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs= @@ -245,6 +267,8 @@ cloud.google.com/go/automl v1.13.5 h1:ijiJy9sYWh75WrqImXsfWc1e3HR3iO+ef9fvW03Ig/ cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= cloud.google.com/go/automl v1.14.0 h1:SkYEYiiYHDZmnIdk5ZnCo6pTgOwKdpcOFma27ZDjh0o= cloud.google.com/go/automl v1.14.0/go.mod h1:Kr7rN9ANSjlHyBLGvwhrnt35/vVZy3n/CP4Xmyj0shM= +cloud.google.com/go/automl v1.14.1 h1:IrNnM7oClTzfFcf5XgaZCGwicETU2aCmrGzE8U2DlVs= +cloud.google.com/go/automl v1.14.1/go.mod h1:BocG5mhT32cjmf5CXxVsdSM04VXzJW7chVT7CpSL2kk= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= cloud.google.com/go/baremetalsolution v0.5.0 h1:2AipdYXL0VxMboelTTw8c1UJ7gYu35LZYUbuRv9Q28s= cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= @@ -258,6 +282,8 @@ cloud.google.com/go/baremetalsolution v1.2.4 h1:LFydisRmS7hQk9P/YhekwuZGqb45TW4Q cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= cloud.google.com/go/baremetalsolution v1.3.0 h1:Ht+IPfbdjNGsOAaZqSkPJ+w/to4e7CzDZ1z9GaBkYV4= cloud.google.com/go/baremetalsolution v1.3.0/go.mod h1:E+n44UaDVO5EeSa4SUsDFxQLt6dD1CoE2h+mtxxaJKo= +cloud.google.com/go/baremetalsolution v1.3.1 h1:Zbsrhw8vm4Byki+ynVuACZ6jxYiKzi1f8Hac5zXGD8Y= +cloud.google.com/go/baremetalsolution v1.3.1/go.mod h1:D1djGGmBl4M6VlyjOMc1SEzDYlO4EeEG1TCUv5mCPi0= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= cloud.google.com/go/batch v0.7.0 h1:YbMt0E6BtqeD5FvSv1d56jbVsWEzlGm55lYte+M6Mzs= cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= @@ -271,6 +297,8 @@ cloud.google.com/go/batch v1.8.1 h1:5kmxD5VNzRhCCxZF+o8ioT+Czcs9jpE7JcuYCIRg2x0= cloud.google.com/go/batch v1.8.1/go.mod h1:IsgZU5ovzWnt61tLbe/rejiAphtLz5hsUjYsvw0VlkY= cloud.google.com/go/batch v1.10.0 h1:yE/0VZZtAhsaPTEc3OqDXmsjFX/739HcRMfAy0OuiUU= cloud.google.com/go/batch v1.10.0/go.mod h1:JlktZqyKbcUJWdHOV8juvAiQNH8xXHXTqLp6bD9qreE= +cloud.google.com/go/batch v1.11.1 h1:50TRhaaZv7QDCb60KcZUPkGx1oO46srDp5076wZkgI8= +cloud.google.com/go/batch v1.11.1/go.mod h1:4GbJXfdxU8GH6uuo8G47y5tEFOgTLCL9pMKCUcn7VxE= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/beyondcorp v0.5.0 h1:UkY2BTZkEUAVrgqnSdOJ4p3y9ZRBPEe1LkjgC8Bj/Pc= cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= @@ -286,6 +314,8 @@ cloud.google.com/go/beyondcorp v1.0.4 h1:qs0J0O9Ol2h1yA0AU+r7l3hOCPzs2MjE1d6d/ka cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= cloud.google.com/go/beyondcorp v1.1.0 h1:xETx1qRUghe5f5pPIFLSmN+I3g3FNGiiftEX7cTYztI= cloud.google.com/go/beyondcorp v1.1.0/go.mod h1:F6Rl20QbayaloWIsMhuz+DICcJxckdFKc7R2HCe6iNA= +cloud.google.com/go/beyondcorp v1.1.1 h1:owviaab14M9ySEvCj3EZdfzkRLnE+5j4JIkqVaQtEUU= +cloud.google.com/go/beyondcorp v1.1.1/go.mod h1:L09o0gLkgXMxCZs4qojrgpI2/dhWtasMc71zPPiHMn4= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= @@ -308,8 +338,12 @@ cloud.google.com/go/bigquery v1.59.1 h1:CpT+/njKuKT3CEmswm6IbhNu9u35zt5dO4yPDLW+ cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= cloud.google.com/go/bigquery v1.62.0 h1:SYEA2f7fKqbSRRBHb7g0iHTtZvtPSPYdXfmqsjpsBwo= cloud.google.com/go/bigquery v1.62.0/go.mod h1:5ee+ZkF1x/ntgCsFQJAQTM3QkAZOecfCmvxhkJsWRSA= +cloud.google.com/go/bigquery v1.63.1 h1:/6syiWrSpardKNxdvldS5CUTRJX1iIkSPXCjLjiGL+g= +cloud.google.com/go/bigquery v1.63.1/go.mod h1:ufaITfroCk17WTqBhMpi8CRjsfHjMX07pDrQaRKKX2o= cloud.google.com/go/bigtable v1.31.0 h1:/uVLxGVRbK4mxK/iO89VqXcL/zoTSmkltVfIDYVBluQ= cloud.google.com/go/bigtable v1.31.0/go.mod h1:N/mwZO+4TSHOeyiE1JxO+sRPnW4bnR7WLn9AEaiJqew= +cloud.google.com/go/bigtable v1.33.0 h1:2BDaWLRAwXO14DJL/u8crbV2oUbMZkIa2eGq8Yao1bk= +cloud.google.com/go/bigtable v1.33.0/go.mod h1:HtpnH4g25VT1pejHRtInlFPnN5sjTxbQlsYBjh9t5l0= cloud.google.com/go/billing v1.4.0 h1:SHH+VeM82hsUhSvZ41QIFLO/7hL2SM6auHhCOGt9mwA= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0 h1:4RESn+mA7eGPBr5eQ4B/hbkHNivzYHbgRWpdlNeNjiE= @@ -327,6 +361,8 @@ cloud.google.com/go/billing v1.18.3 h1:HURzwPXOxvIUKiE19f41U4ObEt6no1n8+Nyq7H9Z2 cloud.google.com/go/billing v1.18.3/go.mod h1:RuLq6KCY/YQfB2X/hCv3xpsrrBCdxnMS0pJcL7qqx5w= cloud.google.com/go/billing v1.19.0 h1:hnFBA+u/O7mP9a1z5Um4oZ5dONrKV9XSCrlpMGP73wk= cloud.google.com/go/billing v1.19.0/go.mod h1:bGvChbZguyaWRGmu5pQHfFN1VxTDPFmabnCVA/dNdRM= +cloud.google.com/go/billing v1.19.1 h1:BtbMCM9QDWiszfNXEAcq0MB6vgCuc0/yzP3vye2Kz3U= +cloud.google.com/go/billing v1.19.1/go.mod h1:c5l7ORJjOLH/aASJqUqNsEmwrhfjWZYHX+z0fIhuVpo= cloud.google.com/go/binaryauthorization v1.1.0 h1:CQHsCbtttPweeGwjl0iVnGVR4a+vITzB2aqNoo7vs94= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0 h1:5F7dowxGuYQlX3LjfjH/sKf+IvI1TsItTw0sDZmoec4= @@ -344,6 +380,8 @@ cloud.google.com/go/binaryauthorization v1.8.1 h1:1jcyh2uIUwSZkJ/JmL8kd5SUkL/Krb cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= cloud.google.com/go/binaryauthorization v1.9.0 h1:O6O31WTrJhuRsXfTAOPj5iRD4WUOeKskHrpuWKSiCP8= cloud.google.com/go/binaryauthorization v1.9.0/go.mod h1:fssQuxfI9D6dPPqfvDmObof+ZBKsxA9iSigd8aSA1ik= +cloud.google.com/go/binaryauthorization v1.9.1 h1:fVtOG5rVU0eaVh2G2ORdT7nigsnK1R1JpqfGzW861OM= +cloud.google.com/go/binaryauthorization v1.9.1/go.mod h1:jqBzP68bfzjoiMFT6Q1EdZtKJG39zW9ywwzHuv7V8ms= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= cloud.google.com/go/certificatemanager v1.6.0 h1:5C5UWeSt8Jkgp7OWn2rCkLmYurar/vIWIoSQ2+LaTOc= cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= @@ -357,6 +395,8 @@ cloud.google.com/go/certificatemanager v1.7.5 h1:UMBr/twXvH3jcT5J5/YjRxf2tvwTYIf cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= cloud.google.com/go/certificatemanager v1.9.0 h1:dQQxtb+HnS9GbylmAImWkC9QR8zy/xwRiQrIaewbwgE= cloud.google.com/go/certificatemanager v1.9.0/go.mod h1:hQBpwtKNjUq+er6Rdg675N7lSsNGqMgt7Bt7Dbcm7d0= +cloud.google.com/go/certificatemanager v1.9.1 h1:fULhIdwsz3SoZfiXw8XaxSJBpRTR0xwsJleO+wEbbKA= +cloud.google.com/go/certificatemanager v1.9.1/go.mod h1:a6bXZULtd6iQTRuSVs1fopcHLMJ/T3zSpIB7aJaq/js= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= cloud.google.com/go/channel v1.12.0 h1:GpcQY5UJKeOekYgsX3QXbzzAc/kRGtBq43fTmyKe6Uw= cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= @@ -370,6 +410,8 @@ cloud.google.com/go/channel v1.17.5 h1:/omiBnyFjm4S1ETHoOmJbL7LH7Ljcei4rYG6Sj3hc cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= cloud.google.com/go/channel v1.18.0 h1:VqNv/GBepVRSaCKtD92bMZd/3siLlc8KFk4u21cUK/U= cloud.google.com/go/channel v1.18.0/go.mod h1:gQr50HxC/FGvufmqXD631ldL1Ee7CNMU5F4pDyJWlt0= +cloud.google.com/go/channel v1.19.0 h1:YdCa/Y6lhGVeR058gQGhTunEuR9zVuheukKL+pcldgI= +cloud.google.com/go/channel v1.19.0/go.mod h1:8BEvuN5hWL4tT0rmJR4N8xsZHdfGof+KwemjQH6oXsw= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= cloud.google.com/go/cloudbuild v1.9.0 h1:GHQCjV4WlPPVU/j3Rlpc8vNIDwThhd1U9qSY/NPZdko= cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= @@ -385,6 +427,8 @@ cloud.google.com/go/cloudbuild v1.15.1 h1:ZB6oOmJo+MTov9n629fiCrO9YZPOg25FZvQ7gI cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= cloud.google.com/go/cloudbuild v1.17.0 h1:tMKv6Gh7jPH3TM3QBHkdPzls80kQbUSH9Q20Hn3QD40= cloud.google.com/go/cloudbuild v1.17.0/go.mod h1:/RbwgDlbQEwIKoWLIYnW72W3cWs+e83z7nU45xRKnj8= +cloud.google.com/go/cloudbuild v1.18.0 h1:82f6g0AzacK1bbO0E5ZqixWc4nRzWu4ichIQ0QKNtAQ= +cloud.google.com/go/cloudbuild v1.18.0/go.mod h1:KCHWGIoS/5fj+By9YmgIQnUiDq8P6YURWOjX3hoc6As= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= cloud.google.com/go/clouddms v1.5.0 h1:E7v4TpDGUyEm1C/4KIrpVSOCTm0P6vWdHT0I4mostRA= cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= @@ -398,6 +442,8 @@ cloud.google.com/go/clouddms v1.7.4 h1:Sr0Zo5EAcPQiCBgHWICg3VGkcdS/LLP1d9SR7qQBM cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= cloud.google.com/go/clouddms v1.8.0 h1:BBPvI//wT1n3ruqVGDgCxBdpu9/era/b3B/HsiY8SyU= cloud.google.com/go/clouddms v1.8.0/go.mod h1:JUgTgqd1M9iPa7p3jodjLTuecdkGTcikrg7nz++XB5E= +cloud.google.com/go/clouddms v1.8.1 h1:vf5R4/FoLHxEP2BBKEafLHfYFWa6Zd9gwrXe/FjrwUg= +cloud.google.com/go/clouddms v1.8.1/go.mod h1:bmW2eDFH1LjuwkHcKKeeppcmuBGS0r6Qz6TXanehKP0= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/cloudtasks v1.10.0 h1:uK5k6abf4yligFgYFnG0ni8msai/dSv6mDmiBulU0hU= cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= @@ -413,6 +459,8 @@ cloud.google.com/go/cloudtasks v1.12.6 h1:EUt1hIZ9bLv8Iz9yWaCrqgMnIU+Tdh0yXM1MMV cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= cloud.google.com/go/cloudtasks v1.13.0 h1:rKVSsQwh0CI68n3RalLoGuW7sOtq2eil2gVZK4Pyi40= cloud.google.com/go/cloudtasks v1.13.0/go.mod h1:O1jFRGb1Vm3sN2u/tBdPiVGVTWIsrsbEs3K3N3nNlEU= +cloud.google.com/go/cloudtasks v1.13.1 h1:s1JTLBD+WbzQwxYPAwa2WIxPT3kOiv7MSKyvSEgNQtg= +cloud.google.com/go/cloudtasks v1.13.1/go.mod h1:dyRD7tEEkLMbHLagb7UugkDa77UVJp9d/6O9lm3ModI= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -433,6 +481,8 @@ cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzc cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute v1.28.0 h1:OPtBxMcheSS+DWfci803qvPly3d4w7Eu5ztKBcFfzwk= cloud.google.com/go/compute v1.28.0/go.mod h1:DEqZBtYrDnD5PvjsKwb3onnhX+qjdCVM7eshj1XdjV4= +cloud.google.com/go/compute v1.28.1 h1:XwPcZjgMCnU2tkwY10VleUjSAfpTj9RDn+kGrbYsi8o= +cloud.google.com/go/compute v1.28.1/go.mod h1:b72iXMY4FucVry3NR3Li4kVyyTvbMDE7x5WsqvxjsYk= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= @@ -454,6 +504,8 @@ cloud.google.com/go/contactcenterinsights v1.13.0 h1:6Vs/YnDG5STGjlWMEjN/xtmft7M cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= cloud.google.com/go/contactcenterinsights v1.14.0 h1:hZSiEb53tyULmOSBlDPhEWPEe+vQ0F2gPQjOka1E5oE= cloud.google.com/go/contactcenterinsights v1.14.0/go.mod h1:APmWYHDN4sASnUBnXs4o68t1EUfnqadA53//CzXZ1xE= +cloud.google.com/go/contactcenterinsights v1.15.0 h1:jHwyL2TQTaLauRRz5Uv7/sL7PNAK1VAMy/UIT9vsFzk= +cloud.google.com/go/contactcenterinsights v1.15.0/go.mod h1:6bJGBQrJsnATv2s6Dh/c6HCRanq2kCZ0kIIjRV1G0mI= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= cloud.google.com/go/container v1.15.0 h1:NKlY/wCDapfVZlbVVaeuu2UZZED5Dy1z4Zx1KhEzm8c= cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= @@ -469,6 +521,8 @@ cloud.google.com/go/container v1.32.0 h1:anj3irEyL5kylWipe810j0S/lgHret3Y4F3CZ8Q cloud.google.com/go/container v1.32.0/go.mod h1:vv75c4WloiVmYUK0Yjj865Gr3d20ob0/WI4EcTyhG6s= cloud.google.com/go/container v1.39.0 h1:Q1oW01ENxkkG3uf1oYoTmHPdvP+yhFCIuCJ4mk2RwkQ= cloud.google.com/go/container v1.39.0/go.mod h1:gNgnvs1cRHXjYxrotVm+0nxDfZkqzBbXCffh5WtqieI= +cloud.google.com/go/container v1.40.0 h1:JVoEg/4RvoGW37r2Eja/cTBc3X9c2loGWYq7QDsRDuI= +cloud.google.com/go/container v1.40.0/go.mod h1:wNI1mOUivm+ZkpHMbouutgbD4sQxyphMwK31X5cThY4= cloud.google.com/go/containeranalysis v0.6.0 h1:2824iym832ljKdVpCBnpqm5K94YT/uHTVhNF+dRTXPI= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/containeranalysis v0.9.0 h1:EQ4FFxNaEAg8PqQCO7bVQfWz9NVwZCUKaM1b3ycfx3U= @@ -483,6 +537,8 @@ cloud.google.com/go/containeranalysis v0.11.4 h1:doJ0M1ljS4hS0D2UbHywlHGwB7sQLNr cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= cloud.google.com/go/containeranalysis v0.13.0 h1:+pm0vZAyHlkflBQRcpTWowroofRcNyn6gr5gUivI6Cc= cloud.google.com/go/containeranalysis v0.13.0/go.mod h1:OpufGxsNzMOZb6w5yqwUgHr5GHivsAD18KEI06yGkQs= +cloud.google.com/go/containeranalysis v0.13.1 h1:opZRo0HEVLm4ylTbbXw/H68M3vQjdkYOSMfUY63+D+0= +cloud.google.com/go/containeranalysis v0.13.1/go.mod h1:bmd9H880BNR4Hc8JspEg8ge9WccSQfO+/N+CYvU3sEA= cloud.google.com/go/datacatalog v1.5.0 h1:Q9DXHJhkRsPm+EfOj60EGlCK0VMSnd4T/BsVmY2Tmg4= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0 h1:xzXGAE2fAuMh+ksODKr9nRv9ega1vHjFwRqMA8tRrVE= @@ -502,6 +558,8 @@ cloud.google.com/go/datacatalog v1.19.3 h1:A0vKYCQdxQuV4Pi0LL9p39Vwvg4jH5yYveMv5 cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= cloud.google.com/go/datacatalog v1.22.0 h1:7e5/0B2LYbNx0BcUJbiCT8K2wCtcB5993z/v1JeLIdc= cloud.google.com/go/datacatalog v1.22.0/go.mod h1:4Wff6GphTY6guF5WphrD76jOdfBiflDiRGFAxq7t//I= +cloud.google.com/go/datacatalog v1.22.1 h1:i0DyKb/o7j+0vgaFtimcRFjYsD6wFw1jpnODYUyiYRs= +cloud.google.com/go/datacatalog v1.22.1/go.mod h1:MscnJl9B2lpYlFoxRjicw19kFTwEke8ReKL5Y/6TWg8= cloud.google.com/go/dataflow v0.6.0 h1:N9KtiJFlW/J1jqlSoQorP4Dgj18z0zHbX9xLKrJzSSU= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0 h1:CW3541Fm7KPTyZjJdnX6NtaGXYFn5XbFC5UcjgALKvU= @@ -518,6 +576,8 @@ cloud.google.com/go/dataflow v0.9.5 h1:RYHtcPhmE664+F0Je46p+NvFbG8z//KCXp+uEqB4j cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= cloud.google.com/go/dataflow v0.10.0 h1:AKl2CoSEGRTCYV03YREEDYVcncjg3G6tf8CZx4k4cRo= cloud.google.com/go/dataflow v0.10.0/go.mod h1:zAv3YUNe/2pXWKDSPvbf31mCIUuJa+IHtKmhfzaeGww= +cloud.google.com/go/dataflow v0.10.1 h1:RoVpCZ1BjJBH/5mzaXCgNg+l9FgTIYQ7C9xBRGvhkzo= +cloud.google.com/go/dataflow v0.10.1/go.mod h1:zP4/tNjONFRcS4NcI9R94YDQEkPalimdbPkijVNJt/g= cloud.google.com/go/dataform v0.3.0 h1:Kj89ovEwxiRZBkx8uoRt0AaS5deR6+pfpnS3XGv9z0o= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0 h1:fnwkyzCVcPI/TmBheGgpmK2h+hWUIDHcZBincHRhrQ0= @@ -535,6 +595,8 @@ cloud.google.com/go/dataform v0.9.2 h1:5e4eqGrd0iDTCg4Q+VlAao5j2naKAA7xRurNtwmUk cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= cloud.google.com/go/dataform v0.10.0 h1:yJ4RbaIw9ivlHrWCTxPxojM1VtCMSNCsF3xR8ohMGKc= cloud.google.com/go/dataform v0.10.0/go.mod h1:0NKefI6v1ppBEDnwrp6gOMEA3s/RH3ypLUM0+YWqh6A= +cloud.google.com/go/dataform v0.10.1 h1:FkOPrxf8sN9J2TMc4CIBhVivhMiO8D0eYN33s5A5Uo4= +cloud.google.com/go/dataform v0.10.1/go.mod h1:c5y0hIOBCfszmBcLJyxnELF30gC1qC/NeHdmkzA7TNQ= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= cloud.google.com/go/datafusion v1.6.0 h1:sZjRnS3TWkGsu1LjYPFD/fHeMLZNXDK6PDHi2s2s/bk= cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= @@ -548,6 +610,8 @@ cloud.google.com/go/datafusion v1.7.5 h1:HQ/BUOP8OIGJxuztpYvNvlb+/U+/Bfs9SO8tQbh cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= cloud.google.com/go/datafusion v1.8.0 h1:87ukhTCPlWBYQSCExQRJcAa6HSp/g40hZsImQre9Ng8= cloud.google.com/go/datafusion v1.8.0/go.mod h1:zHZ5dJYHhMP1P8SZDZm+6yRY9BCCcfm7Xg7YmP+iA6E= +cloud.google.com/go/datafusion v1.8.1 h1:QqiQs3mSXl4gfeHGOTbK0v1y+tUOnxWJgXm6YWvoqY0= +cloud.google.com/go/datafusion v1.8.1/go.mod h1:I5+nRt6Lob4g1eCbcxP4ayRNx8hyOZ8kA3PB/vGd9Lo= cloud.google.com/go/datalabeling v0.5.0 h1:b7/y5HgaqRFUmbizVQ0yOXlAtEOkiZXUVrhKGOsBdGg= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0 h1:dp8jOF21n/7jwgo/uuA0RN8hvLcKO4q6s/yvwevs2ZM= @@ -564,6 +628,8 @@ cloud.google.com/go/datalabeling v0.8.5 h1:GpIFRdm0qIZNsxqURFJwHt0ZBJZ0nF/mUVEig cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= cloud.google.com/go/datalabeling v0.9.0 h1:7pIXkYYp6kya0XG27zOB0Tsnn3rjJ05xBIqvN4edzp4= cloud.google.com/go/datalabeling v0.9.0/go.mod h1:GVX4sW4cY5OPKu/9v6dv20AU9xmGr4DXR6K26qN0mzw= +cloud.google.com/go/datalabeling v0.9.1 h1:FrnZKagECxQy1bL+GQ1bjgwK9+szi1l7gqw7zp+Raqs= +cloud.google.com/go/datalabeling v0.9.1/go.mod h1:umplHuZX+x5DItNPV5BFBXau5TDsljLNzEj5AB5uRUM= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= cloud.google.com/go/dataplex v1.6.0 h1:RvoZ5T7gySwm1CHzAw7yY1QwwqaGswunmqEssPxU/AM= cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= @@ -579,6 +645,8 @@ cloud.google.com/go/dataplex v1.14.2 h1:fxIfdU8fxzR3clhOoNI7XFppvAmndxDu1AMH+qX9 cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= cloud.google.com/go/dataplex v1.19.0 h1:l3xIynMeZZi8U7bFTNTzPUiCrnBZLJMp62vlrcBRyeE= cloud.google.com/go/dataplex v1.19.0/go.mod h1:5H9ftGuZWMtoEIUpTdGUtGgje36YGmtRXoC8wx6QSUc= +cloud.google.com/go/dataplex v1.19.1 h1:0pgI0DwijXZq8vyLuGnQXSi9JB6eUaVqzpzhN2veUeE= +cloud.google.com/go/dataplex v1.19.1/go.mod h1:WzoQ+vcxrAyM0cjJWmluEDVsg7W88IXXCfuy01BslKE= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= @@ -592,6 +660,8 @@ cloud.google.com/go/dataproc/v2 v2.4.0 h1:/u81Fd+BvCLp+xjctI1DiWVJn6cn9/s3Akc8xP cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= cloud.google.com/go/dataproc/v2 v2.6.0 h1:YjgcpuzUYX+Q/xCbh/+5+Nwx0DGzsO9nss/O7Usy79c= cloud.google.com/go/dataproc/v2 v2.6.0/go.mod h1:amsKInI+TU4GcXnz+gmmApYbiYM4Fw051SIMDoWCWeE= +cloud.google.com/go/dataproc/v2 v2.9.0 h1:9fSMjWgFKQfmfKu7V10C5foxU/2iDa8bVkiBB8uh1EU= +cloud.google.com/go/dataproc/v2 v2.9.0/go.mod h1:i4365hSwNP6Bx0SAUnzCC6VloeNxChDjJWH6BfVPcbs= cloud.google.com/go/dataqna v0.5.0 h1:bFRwi0RnhZqwKHQOQ1HQj/HTbKgAkr1D6nZF8HKOepE= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0 h1:gx9jr41ytcA3dXkbbd409euEaWtofCVXYBvJz3iYm18= @@ -608,6 +678,8 @@ cloud.google.com/go/dataqna v0.8.5 h1:9ybXs3nr9BzxSGC04SsvtuXaHY0qmJSLIpIAbZo9Gq cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= cloud.google.com/go/dataqna v0.9.0 h1:Wk8s3XHBwmk+5pUtevnFxwQ57bXnTtvSswdJnEjssR4= cloud.google.com/go/dataqna v0.9.0/go.mod h1:WlRhvLLZv7TfpONlb/rEQx5Qrr7b5sxgSuz5NP6amrw= +cloud.google.com/go/dataqna v0.9.1 h1:ptKKT+CNwp9Q+9Zxr+npUO7qUwKfyq/oF7/nS7CC6sc= +cloud.google.com/go/dataqna v0.9.1/go.mod h1:86DNLE33yEfNDp5F2nrITsmTYubMbsF7zQRzC3CcZrY= cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= @@ -640,6 +712,8 @@ cloud.google.com/go/datastream v1.10.4 h1:o1QDKMo/hk0FN7vhoUQURREuA0rgKmnYapB+1M cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= cloud.google.com/go/datastream v1.11.0 h1:vSdeXl6b6apcOTWT6/NiHglc0eIEJ4z5yJXAsXT0WBo= cloud.google.com/go/datastream v1.11.0/go.mod h1:vio/5TQ0qNtGcIj7sFb0gucFoqZW19gZ7HztYtkzq9g= +cloud.google.com/go/datastream v1.11.1 h1:YKY2qGKoxPpAvsDMtmJlIwL59SzhEm1DHM2uM4ib0TY= +cloud.google.com/go/datastream v1.11.1/go.mod h1:a4j5tnptIxdZ132XboR6uQM/ZHcuv/hLqA6hH3NJWgk= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= cloud.google.com/go/deploy v1.8.0 h1:otshdKEbmsi1ELYeCKNYppwV0UH5xD05drSdBm7ouTk= cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= @@ -655,6 +729,8 @@ cloud.google.com/go/deploy v1.17.1 h1:m27Ojwj03gvpJqCbodLYiVmE9x4/LrHGGMjzc0LBfM cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= cloud.google.com/go/deploy v1.22.0 h1:fkBCtx9Qzr/vVokIALFdXb5cLVT0VJEfKWfOZftaGkI= cloud.google.com/go/deploy v1.22.0/go.mod h1:qXJgBcnyetoOe+w/79sCC99c5PpHJsgUXCNhwMjG0e4= +cloud.google.com/go/deploy v1.23.0 h1:Bmh5UYEeakXtjggRkjVIawXfSBbQsTgDlm96pCw9D3k= +cloud.google.com/go/deploy v1.23.0/go.mod h1:O7qoXcg44Ebfv9YIoFEgYjPmrlPsXD4boYSVEiTqdHY= cloud.google.com/go/dialogflow v1.15.0 h1:HCW+JtJ/NbLF+kAXKWbF1M1wXtcK8goOpaiVr0uEFk4= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.17.0 h1:NU0Pj57H++JQOW225/7o34sUZ4i9/TLfWFOSbI3N1cY= @@ -674,6 +750,8 @@ cloud.google.com/go/dialogflow v1.49.0 h1:KqG0oxGE71qo0lRVyAoeBozefCvsMfcDzDjoLY cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= cloud.google.com/go/dialogflow v1.57.0 h1:tdeHPAjpTe+z5+YyYqEJwoZiOwgP+bML+zimEXo/6O0= cloud.google.com/go/dialogflow v1.57.0/go.mod h1:wegtnocuYEfue6IGlX96n5mHu3JGZUaZxv1L5HzJUJY= +cloud.google.com/go/dialogflow v1.58.0 h1:RTpoVCJHkgNLK8Co/f7F8ipyg3h8fJIaQzdaAbyg788= +cloud.google.com/go/dialogflow v1.58.0/go.mod h1:sWcyFLdUrg+TWBJVq/OtwDyjcyDOfirTF0Gx12uKy7o= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= cloud.google.com/go/dlp v1.9.0 h1:1JoJqezlgu6NWCroBxr4rOZnwNFILXr4cB9dMaSKO4A= cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= @@ -687,6 +765,8 @@ cloud.google.com/go/dlp v1.11.2 h1:lTipOuJaSjlYnnotPMbEhKURLC6GzCMDDzVbJAEbmYM= cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= cloud.google.com/go/dlp v1.18.0 h1:wPts74+F848F/ACZqU+c32Xh91DaBXXZaE66vpN6FQA= cloud.google.com/go/dlp v1.18.0/go.mod h1:RVO9zkh+xXgUa7+YOf9IFNHL/2FXt9Vnv/GKNYmc1fE= +cloud.google.com/go/dlp v1.19.0 h1:AJB26PpDG0gOkf6wxQqbBXs9G+jOVnCjCagOlNiroKM= +cloud.google.com/go/dlp v1.19.0/go.mod h1:cr8dKBq8un5LALiyGkz4ozcwzt3FyTlOwA4/fFzJ64c= cloud.google.com/go/documentai v1.7.0 h1:YTflsj8RJd/NougcRLc0yBpdaN/jMJ2JWAmcW29T3Xw= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0 h1:CipwaecNhtsWUSneV2J5y8OqudHqvqPlcMHgSyh8vak= @@ -706,6 +786,8 @@ cloud.google.com/go/documentai v1.26.0 h1:KSi6/IHRgHKwhVKfyi/1MMvUCdDypvrPiwo4Ar cloud.google.com/go/documentai v1.26.0/go.mod h1:9YCBSv7aXXS88lpXQWcJbLB490u3WeQdGt5aGCkHGkA= cloud.google.com/go/documentai v1.33.0 h1:MQbd4Bk3o7ckIiKZooXCVJfIDweO+B/XRAVsLdnSD/A= cloud.google.com/go/documentai v1.33.0/go.mod h1:lI9Mti9COZ5qVjdpfDZxNjOrTVf6tJ//vaqbtt81214= +cloud.google.com/go/documentai v1.34.0 h1:gmBmrTLzbpZkllu2xExISZg2Hh/ai0y605SWdheWHvI= +cloud.google.com/go/documentai v1.34.0/go.mod h1:onJlbHi4ZjQTsANSZJvW7fi2M8LZJrrupXkWDcy4gLY= cloud.google.com/go/domains v0.6.0 h1:m8/VJIzCUE6pbfPM3/mfMesgxXV7wEpR/sRTRB6tC4E= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0 h1:pu3JIgC1rswIqi5romW0JgNO6CTUydLYX8zyjiAvO1c= @@ -722,6 +804,8 @@ cloud.google.com/go/domains v0.9.5 h1:Mml/R6s3vQQvFPpi/9oX3O5dRirgjyJ8cksK8N19Y7 cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= cloud.google.com/go/domains v0.10.0 h1:+UAfUhEO9aINLqZjVkOKEG28+JKD+Zio0GmnOAXqKVY= cloud.google.com/go/domains v0.10.0/go.mod h1:VpPXnkCNRsxkieDFDfjBIrLv3p1kRjJ03wLoPeL30To= +cloud.google.com/go/domains v0.10.1 h1:HvZOm7Bx1fQY/MHQAbE5f8YwfJlc0NJVOGh0A0eWckc= +cloud.google.com/go/domains v0.10.1/go.mod h1:RjDl3K8iq/ZZHMVqfZzRuBUr5t85gqA6LEXQBeBL5F4= cloud.google.com/go/edgecontainer v0.1.0 h1:PS3AxjRqMu2XS01YLG/teWFQlZrP7+a+LJBj37zBMAQ= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0 h1:hd6J2n5dBBRuAqnNUEsKWrp6XNPKsaxwwIyzOPZTokk= @@ -738,6 +822,8 @@ cloud.google.com/go/edgecontainer v1.1.5 h1:tBY32km78ScpK2aOP84JoW/+wtpx5WluyPUS cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= cloud.google.com/go/edgecontainer v1.3.0 h1:szfTtWNXKviueQ58eZ2EDzbjvEQkfx4QNQa3KIaCweU= cloud.google.com/go/edgecontainer v1.3.0/go.mod h1:dV1qTl2KAnQOYG+7plYr53KSq/37aga5/xPgOlYXh3A= +cloud.google.com/go/edgecontainer v1.3.1 h1:loDGWu/sdqnCP3Xlvj4OWHL7i0wocbcLg8ApQ9BE66E= +cloud.google.com/go/edgecontainer v1.3.1/go.mod h1:qyz5+Nk/UAs6kXp6wiux9I2U4A2R624K15QhHYovKKM= cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/errorreporting v0.3.1 h1:E/gLk+rL7u5JZB9oq72iL1bnhVlLrnfslrgcptjJEUE= @@ -755,6 +841,8 @@ cloud.google.com/go/essentialcontacts v1.6.6 h1:13eHn5qBnsawxI7mIrv4jRIEmQ1xg0Zt cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= cloud.google.com/go/essentialcontacts v1.7.0 h1:Ddirv7AYVEQiTKpboCwNVpC9HHLYSaW7wAk2u/OXJHo= cloud.google.com/go/essentialcontacts v1.7.0/go.mod h1:0JEcNuyjyg43H/RJynZzv2eo6MkmnvRPUouBpOh6akY= +cloud.google.com/go/essentialcontacts v1.7.1 h1:qeZAOxqWFfD7sDd1vKYaNhjGh1eckkCkSJyx/OC5egE= +cloud.google.com/go/essentialcontacts v1.7.1/go.mod h1:F/MMWNLRW7b42WwWklOsnx4zrMOWDYWqWykBf1jXKPY= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= cloud.google.com/go/eventarc v1.11.0 h1:fsJmNeqvqtk74FsaVDU6cH79lyZNCYP8Rrv7EhaB/PU= cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= @@ -770,6 +858,8 @@ cloud.google.com/go/eventarc v1.13.4 h1:ORkd6/UV5FIdA8KZQDLNZYKS7BBOrj0p01DXPmT4 cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= cloud.google.com/go/eventarc v1.14.0 h1:ok7KHtdTSu8F7D8Sb+Ug5lrKcQk/1+Xq7cZjeydeXEo= cloud.google.com/go/eventarc v1.14.0/go.mod h1:60ZzZfOekvsc/keHc7uGHcoEOMVa+p+ZgRmTjpdamnA= +cloud.google.com/go/eventarc v1.14.1 h1:Tw1DsE1OO9NZ3LZlAtxsi4otVl5qjQ3Y3QD9dCxtAyo= +cloud.google.com/go/eventarc v1.14.1/go.mod h1:NG0YicE+z9MDcmh2u4tlzLDVLRjq5UHZlibyQlPhcxY= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/filestore v1.6.0 h1:ckTEXN5towyTMu4q0uQ1Mde/JwTHur0gXs8oaIZnKfw= cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= @@ -783,6 +873,8 @@ cloud.google.com/go/filestore v1.8.1 h1:X5G4y/vrUo1B8Nsz93qSWTMAcM8LXbGUldq33Odc cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= cloud.google.com/go/filestore v1.9.0 h1:pI1dZzLjmH3NnuUKf13So4jP80mdZoWXB9etiV2zpso= cloud.google.com/go/filestore v1.9.0/go.mod h1:GlQK+VBaAGb19HqprnOMqYYpn7Gev5ZA9SSHpxFKD7Q= +cloud.google.com/go/filestore v1.9.1 h1:s8DPPSV80FzIB7rduoMJAgknktms9hZGE3+X9KFUlK8= +cloud.google.com/go/filestore v1.9.1/go.mod h1:g/FNHBABpxjL1M9nNo0nW6vLYIMVlyOKhBKtYGgcKUI= cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/firestore v1.11.0 h1:PPgtwcYUOXV2jFe1bV3nda3RCrOa8cvBjTOn2MQVfW8= @@ -793,6 +885,8 @@ cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0lj cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= cloud.google.com/go/firestore v1.16.0 h1:YwmDHcyrxVRErWcgxunzEaZxtNbc8QoFYA/JOEwDPgc= cloud.google.com/go/firestore v1.16.0/go.mod h1:+22v/7p+WNBSQwdSwP57vz47aZiY+HrDkrOsJNhk7rg= +cloud.google.com/go/firestore v1.17.0 h1:iEd1LBbkDZTFsLw3sTH50eyg4qe8eoG6CjocmEXO9aQ= +cloud.google.com/go/firestore v1.17.0/go.mod h1:69uPx1papBsY8ZETooc71fOhoKkD70Q1DwMrtKuOT/Y= cloud.google.com/go/functions v1.6.0 h1:Oveqoadoi2f+yMpJtf1/OrwhTIzaR38l+6Q8/RPyM18= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0 h1:s3Snbr2O4j4p7CuwImBas8rNNmkHS1YJANcCpKGqQSE= @@ -810,6 +904,8 @@ cloud.google.com/go/functions v1.16.0 h1:IWVylmK5F6hJ3R5zaRW7jI5PrWhCvtBVU4axQLm cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= cloud.google.com/go/functions v1.19.0 h1:bO55p91lPY5JLg5MBdmt6G9n4kNeClX0lA9hdusDU6M= cloud.google.com/go/functions v1.19.0/go.mod h1:WDreEDZoUVoOkXKDejFWGnprrGYn2cY2KHx73UQERC0= +cloud.google.com/go/functions v1.19.1 h1:eWjTZohtJX/9rckZYXaYVViGi06JkNJRKvm0aO+ce+g= +cloud.google.com/go/functions v1.19.1/go.mod h1:18RszySpwRg6aH5UTTVsRfdCwDooSf/5mvSnU7NAk4A= cloud.google.com/go/gaming v1.5.0 h1:U50kYdRPcd/E7rII8IJmVYX7R/Am94/ZxNRc/vPW7ZU= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0 h1:PKggmegChZulPW8yvtziF8P9UOuVFwbvylbEucTNups= @@ -832,6 +928,8 @@ cloud.google.com/go/gkebackup v1.3.5 h1:iuE8KNtTsPOc79qeWoNS8zOWoXPD9SAdOmwgxtlC cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= cloud.google.com/go/gkebackup v1.6.0 h1:MhJ+vTgc+UtU9Y0uRmWs1XpcN6qmUUzyn+tTBiKAjxk= cloud.google.com/go/gkebackup v1.6.0/go.mod h1:1rskt7NgawoMDHTdLASX8caXXYG3MvDsoZ7qF4RMamQ= +cloud.google.com/go/gkebackup v1.6.1 h1:bV1go067LF5XaobFXXvgW2rsuvR974ajirDjD9oXFWg= +cloud.google.com/go/gkebackup v1.6.1/go.mod h1:CEnHQCsNBn+cyxcxci0qbAPYe8CkivNEitG/VAZ08ms= cloud.google.com/go/gkeconnect v0.5.0 h1:jzwdOvCl4+xpOx2ym+mQS0XQ8kVqLQiu2hy4mmDIv5I= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0 h1:zAcvDa04tTnGdu6TEZewaLN2tdMtUOJJ7fEceULjguA= @@ -848,6 +946,8 @@ cloud.google.com/go/gkeconnect v0.8.5 h1:17d+ZSSXKqG/RwZCq3oFMIWLPI8Zw3b8+a9/BEV cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= cloud.google.com/go/gkeconnect v0.11.0 h1:JY9V0rYzRAXHpwwVfBvlphWP2CCUUiJrtCyZCMxYXEY= cloud.google.com/go/gkeconnect v0.11.0/go.mod h1:l3iPZl1OfT+DUQ+QkmH1PC5RTLqxKQSVnboLiQGAcCA= +cloud.google.com/go/gkeconnect v0.11.1 h1:X7UpDP2Qg8JfaQ6vsJeFsTo4NcrGprk9Tg4Pf7MK8Qg= +cloud.google.com/go/gkeconnect v0.11.1/go.mod h1:Vu3UoOI2c0amGyv4dT/EmltzscPH41pzS4AXPqQLej0= cloud.google.com/go/gkehub v0.9.0 h1:jVq592ihBTKspBF/gTcvWQWigIEAk3zehljQDuUwAGk= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0 h1:JTcTaYQRGsVm+qkah7WzHb6e9sf1C0laYdRPn9aN+vg= @@ -864,6 +964,8 @@ cloud.google.com/go/gkehub v0.14.5 h1:RboLNFzf9wEMSo7DrKVBlf+YhK/A/jrLN454L5Tz99 cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= cloud.google.com/go/gkehub v0.15.0 h1:pA1mYF5jSC8C/oyjzsfBaznjejWwpxUFIlRjWUZKB/s= cloud.google.com/go/gkehub v0.15.0/go.mod h1:obpeROly2mjxZJbRkFfHEflcH54XhJI+g2QgfHphL0I= +cloud.google.com/go/gkehub v0.15.1 h1:VMXUz3q9Vfhe+dtSjb/yqmiDmGbcEUTuXDyk0pj2GyU= +cloud.google.com/go/gkehub v0.15.1/go.mod h1:cyUwa9iFQYd/pI7IQYl6A+OF6M8uIbhmJr090v9Z4UU= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= cloud.google.com/go/gkemulticloud v0.5.0 h1:8I84Q4vl02rJRsFiinBxl7WCozfdLlUVBQuSrqr9Wtk= cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= @@ -879,6 +981,8 @@ cloud.google.com/go/gkemulticloud v1.1.1 h1:rsSZAGLhyjyE/bE2ToT5fqo1qSW7S+Ubsc9j cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= cloud.google.com/go/gkemulticloud v1.3.0 h1:4wJPaNK7HFYLniVqMue+Eo/SpX+yf+aMvRITjUpirgM= cloud.google.com/go/gkemulticloud v1.3.0/go.mod h1:XmcOUQ+hJI62fi/klCjEGs6lhQ56Zjs14sGPXsGP0mE= +cloud.google.com/go/gkemulticloud v1.4.0 h1:t2HXXYrICui+rZXScietjU1YdrQDLXpfqqrTo7zWSYQ= +cloud.google.com/go/gkemulticloud v1.4.0/go.mod h1:rg8YOQdRKEtMimsiNCzZUP74bOwImhLRv9wQ0FwBUP4= cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= cloud.google.com/go/grafeas v0.3.0 h1:oyTL/KjiUeBs9eYLw/40cpSZglUC+0F7X4iu/8t7NWs= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= @@ -899,6 +1003,8 @@ cloud.google.com/go/gsuiteaddons v1.6.5 h1:CZEbaBwmbYdhFw21Fwbo+C35HMe36fTE0FBSR cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= cloud.google.com/go/gsuiteaddons v1.7.0 h1:k+DNTzjW+hG+lfGsNbNCopicaUIyT0Q4B0xLYCwEnpo= cloud.google.com/go/gsuiteaddons v1.7.0/go.mod h1:/B1L8ANPbiSvxCgdSwqH9CqHIJBzTt6v50fPr3vJCtg= +cloud.google.com/go/gsuiteaddons v1.7.1 h1:YLh58kzaK+1Q/CHe8Cjp3hf9ZjNdJkQMavjrJUDgi9o= +cloud.google.com/go/gsuiteaddons v1.7.1/go.mod h1:SxM63xEPFf0p/plgh4dP82mBSKtp2RWskz5DpVo9jh8= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= @@ -925,6 +1031,8 @@ cloud.google.com/go/iap v1.9.4 h1:94zirc2r4t6KzhAMW0R6Dme005eTP6yf7g6vN4IhRrA= cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= cloud.google.com/go/iap v1.10.0 h1:Er5DF68/1MMBQo62Vfs3XvOPmyqj9JgQniSCNKLHYK8= cloud.google.com/go/iap v1.10.0/go.mod h1:gDT6LZnKnWNCaov/iQbj7NMUpknFDOkhhlH8PwIrpzU= +cloud.google.com/go/iap v1.10.1 h1:YF4jmMwEWXYrbfZZz024ozBXnWxUxJHzmkM6ccIzM0A= +cloud.google.com/go/iap v1.10.1/go.mod h1:UKetCEzOZ4Zj7l9TSN/wzRNwbgIYzm4VM4bStaQ/tFc= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= cloud.google.com/go/ids v1.3.0 h1:fodnCDtOXuMmS8LTC2y3h8t24U8F3eKWfhi+3LY6Qf0= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= @@ -938,6 +1046,8 @@ cloud.google.com/go/ids v1.4.5 h1:xd4U7pgl3GHV+MABnv1BF4/Vy/zBF7CYC8XngkOLzag= cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= cloud.google.com/go/ids v1.5.0 h1:s14XF62E/BNe4jErHtgWaN1m5vrLkTMuG4gNRV0GRks= cloud.google.com/go/ids v1.5.0/go.mod h1:4NOlC1m9hAJL50j2cRV4PS/J6x/f4BBM0Xg54JQLCWw= +cloud.google.com/go/ids v1.5.1 h1:UkHpZnlW46WulDVNtzKN+SEntZoOoHoG/Ob1GtuVCGQ= +cloud.google.com/go/ids v1.5.1/go.mod h1:d/9jTtY506mTxw/nHH3UN4TFo80jhAX+tESwzj42yFo= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= cloud.google.com/go/iot v1.6.0 h1:39W5BFSarRNZfVG0eXI5LYux+OVQT8GkgpHCnrZL2vM= cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= @@ -951,6 +1061,8 @@ cloud.google.com/go/iot v1.7.5 h1:munTeBlbqI33iuTYgXy7S8lW2TCgi5l1hA4roSIY+EE= cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= cloud.google.com/go/iot v1.8.0 h1:Q2GdWBly1+5Enm1TcEWvmu3YTRw9IyS1PYR4gJHepVY= cloud.google.com/go/iot v1.8.0/go.mod h1:/NMFENPnQ2t1UByUC1qFvA80fo1KFB920BlyUPn1m3s= +cloud.google.com/go/iot v1.8.1 h1:PySjOJ2Nni1IDk0LqcNhUCKOGe0yPP4rM/Nc5yA/cjI= +cloud.google.com/go/iot v1.8.1/go.mod h1:FNceQ9/EGvbE2az7RGoGPY0aqrsyJO3/LqAL0h83fZw= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= @@ -976,6 +1088,8 @@ cloud.google.com/go/language v1.12.3 h1:iaJZg6K4j/2PvZZVcjeO/btcWWIllVRBhuTFjGO4 cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= cloud.google.com/go/language v1.14.0 h1:7e62MAtxUkjYzL3PnD5ZjJn81KV2hnau4EcS4LN73Lg= cloud.google.com/go/language v1.14.0/go.mod h1:ldEdlZOFwZREnn/1yWtXdNzfD7hHi9rf87YDkOY9at4= +cloud.google.com/go/language v1.14.1 h1:lyBks2W2k7bVPvfEECH08eMOP3Vd7zkHCATt/Vy0sLM= +cloud.google.com/go/language v1.14.1/go.mod h1:WaAL5ZdLLBjiorXl/8vqgb6/Fyt2qijl96c1ZP/vdc8= cloud.google.com/go/lifesciences v0.5.0 h1:8Mf/dMyFIFicbhrh9lcTR0By2EyV4wpWxxrUmRfmUjs= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0 h1:tIqhivE2LMVYkX0BLgG7xL64oNpDaFFI7teunglt1tI= @@ -992,6 +1106,8 @@ cloud.google.com/go/lifesciences v0.9.5 h1:gXvN70m2p+4zgJFzaz6gMKaxTuF9WJ0USYoML cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= cloud.google.com/go/lifesciences v0.10.0 h1:NxYwUD3BcxXKttOlbKsn84PacxjQPdCFSt6Kk4l6UW8= cloud.google.com/go/lifesciences v0.10.0/go.mod h1:1zMhgXQ7LbMbA5n4AYguFgbulbounfUoYvkV8dtsLcA= +cloud.google.com/go/lifesciences v0.10.1 h1:sGTR+IW9I85VhP789GMHNYOyCo7dkmvWRYh0uOfmWdo= +cloud.google.com/go/lifesciences v0.10.1/go.mod h1:5D6va5/Gq3gtJPKSsE6vXayAigfOXK2eWLTdFUOTCDs= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= @@ -1015,6 +1131,8 @@ cloud.google.com/go/managedidentities v1.6.5 h1:+bpih1piZVLxla/XBqeSUzJBp8gv9plG cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= cloud.google.com/go/managedidentities v1.7.0 h1:GRZPWk8g9g99CunSn6yvjCgWGmYlJImLb/oHHxNwujU= cloud.google.com/go/managedidentities v1.7.0/go.mod h1:o4LqQkQvJ9Pt7Q8CyZV39HrzCfzyX8zBzm8KIhRw91E= +cloud.google.com/go/managedidentities v1.7.1 h1:9hC4E7JnWn/jSUls022Sj9ri+vriGnLzvDXo0cs1zcA= +cloud.google.com/go/managedidentities v1.7.1/go.mod h1:iK4qqIBOOfePt5cJR/Uo3+uol6oAVIbbG7MGy917cYM= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/maps v0.7.0 h1:mv9YaczD4oZBZkM5XJl6fXQ984IkJNHPwkc8MUsdkBo= cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= @@ -1028,6 +1146,8 @@ cloud.google.com/go/maps v1.7.0 h1:bsQEGB0UOI8A4NWerBESDBTi3VxLT5jfFqZJ6nY4sO4= cloud.google.com/go/maps v1.7.0/go.mod h1:LqhDUCNSDAH6MvvubxDm7lPfHPhn6MduIaGCZ4iY1Ig= cloud.google.com/go/maps v1.12.0 h1:i+IeDDYWxW98EmLNQIuFdEVYBYc/VdQCKKrMa7W4Iyw= cloud.google.com/go/maps v1.12.0/go.mod h1:qjErDNStn3BaGx06vHner5d75MRMgGflbgCuWTuslMc= +cloud.google.com/go/maps v1.14.0 h1:bLT2nvuOm4ye6YRgIJQ0L9zbKcbBj+TCg8k2g3c2Qlk= +cloud.google.com/go/maps v1.14.0/go.mod h1:UepOes9un0UP7i8JBiaqgh8jqUaZAHVRXCYjrVlhSC8= cloud.google.com/go/mediatranslation v0.5.0 h1:0SVGWly3pQ/95kvszCTbG3oYKfa1TOZTqqfxup4ktds= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0 h1:qAJzpxmEX+SeND10Y/4868L5wfZpo4Y3BIEnIieP4dk= @@ -1044,6 +1164,8 @@ cloud.google.com/go/mediatranslation v0.8.5 h1:c76KdIXljQHSCb/Cy47S8H4s05A4zbK3p cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= cloud.google.com/go/mediatranslation v0.9.0 h1:bA2Qid3TwvcAcOZp9Yj7GJSAi0N24G8cw+tlLBcIkV8= cloud.google.com/go/mediatranslation v0.9.0/go.mod h1:udnxo0i4YJ5mZfkwvvQQrQ6ra47vcX8jeGV+6I5x+iU= +cloud.google.com/go/mediatranslation v0.9.1 h1:7X1cA4TWO0+r1RT0JTT0RE+SyO41eoFUmBDw17Oi9T8= +cloud.google.com/go/mediatranslation v0.9.1/go.mod h1:vQH1amULNhSGryBjbjLb37g54rxrOwVxywS8WvUCsIU= cloud.google.com/go/memcache v1.4.0 h1:sp0I8gNo9a3m/+CuGF66ssi0l01JF1qJhKbI4cOgb/E= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0 h1:qTBOiSnVw7rnW6GVeH5Br8qs80ILoflNgFZySvaT4ek= @@ -1061,6 +1183,8 @@ cloud.google.com/go/memcache v1.10.5 h1:yeDv5qxRedFosvpMSEswrqUsJM5OdWvssPHFliNF cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= cloud.google.com/go/memcache v1.11.0 h1:pbBvVeTgYKSJ0sxT2k+9OmDS1Kp+QnZkjzPg1+PvVN4= cloud.google.com/go/memcache v1.11.0/go.mod h1:99MVF02m5TByT1NKxsoKDnw5kYmMrjbGSeikdyfCYZk= +cloud.google.com/go/memcache v1.11.1 h1:2FGuyd3WY7buNDAkMBdmeIOheNWA3gwaXrttLrEdabI= +cloud.google.com/go/memcache v1.11.1/go.mod h1:3zF+dEqmEmElHuO4NtHiShekQY5okQtssjPBv7jpmZ8= cloud.google.com/go/metastore v1.5.0 h1:bK+rgvvBIB1tJawmBFcWUhSnG9nNPHUe/fY8x7oFf3Q= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0 h1:wzJ9HslsybiJ3HL2168dVonr9D/eBq0VqObiMSCrE6c= @@ -1080,9 +1204,12 @@ cloud.google.com/go/metastore v1.13.4 h1:dR7vqWXlK6IYR8Wbu9mdFfwlVjodIBhd1JRrpZf cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= cloud.google.com/go/metastore v1.14.0 h1:m7ICE3M+5jTwM6nHyv4/YcA1eeSYg3XtKpdQsB7QKP0= cloud.google.com/go/metastore v1.14.0/go.mod h1:vtPt5oVF/+ocXO4rv4GUzC8Si5s8gfmo5OIt6bACDuE= +cloud.google.com/go/metastore v1.14.1 h1:kGx+IUSSYCVn8LisCT4fpxCC9rauEVonzi7RlygdqWY= +cloud.google.com/go/metastore v1.14.1/go.mod h1:WDvsAcbQLl9M4xL+eIpbKogH7aEaPWMhO9aRBcFOnJE= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/monitoring v1.21.0/go.mod h1:tuJ+KNDdJbetSsbSGTqnaBvbauS5kr3Q/koy3Up6r+4= cloud.google.com/go/networkconnectivity v1.4.0 h1:yT8uxVTd67PvUjw9m2d589pa3yv1sJQPcQvqBga5j5o= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0 h1:mtIQewrz1ewMU3J0vVkUIJtAkpOqgkz4+UmcreeAm08= @@ -1100,6 +1227,8 @@ cloud.google.com/go/networkconnectivity v1.14.4 h1:GBfXFhLyPspnaBE3nI/BRjdhW8vcb cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= cloud.google.com/go/networkconnectivity v1.15.0 h1:NgR2Qz/d8TwT9k3E9Dw2DtdeCASlIsli9o/r9VSgUKk= cloud.google.com/go/networkconnectivity v1.15.0/go.mod h1:uBQqx/YHI6gzqfV5J/7fkKwTGlXvQhHevUuzMpos9WY= +cloud.google.com/go/networkconnectivity v1.15.1 h1:EizN+cFGHzRAyiFTK8jT1PqTo+cSnbc2IGh6OmllS7Y= +cloud.google.com/go/networkconnectivity v1.15.1/go.mod h1:tYAcT4Ahvq+BiePXL/slYipf/8FF0oNJw3MqFhBnSPI= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= cloud.google.com/go/networkmanagement v1.6.0 h1:8KWEUNGcpSX9WwZXq7FtciuNGPdPdPN/ruDm769yAEM= cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= @@ -1113,6 +1242,8 @@ cloud.google.com/go/networkmanagement v1.9.4 h1:aLV5GcosBNmd6M8+a0ekB0XlLRexv4fv cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= cloud.google.com/go/networkmanagement v1.14.0 h1:HGbqaS352q7JLOpdmqHUXBeaJc6S6DtUSRJF9URtTBY= cloud.google.com/go/networkmanagement v1.14.0/go.mod h1:4myfd4A0uULCOCGHL1npZN0U+kr1Z2ENlbHdCCX4cE8= +cloud.google.com/go/networkmanagement v1.14.1 h1:0x3hVI6xbp3N/choffKPHMSxbzaPdHSD92cBElebXEk= +cloud.google.com/go/networkmanagement v1.14.1/go.mod h1:3Ds8FZ3ZHjTVEedsBoZi9ef9haTE14iS6swTSqM39SI= cloud.google.com/go/networksecurity v0.5.0 h1:+pHY1wntW9pu/rmlROG3oI+xfxuCUypmoKEVwsKMO/0= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0 h1:qDEX/3sipg9dS5JYsAY+YvgTjPR63cozzAWop8oZS94= @@ -1129,6 +1260,8 @@ cloud.google.com/go/networksecurity v0.9.5 h1:+caSxBTj0E8OYVh/5wElFdjEMO1S/rZtE1 cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= cloud.google.com/go/networksecurity v0.10.0 h1:SA+W7/GNJnrf1gINnIar4zpsRrQk9dLNN5uTuY4TO90= cloud.google.com/go/networksecurity v0.10.0/go.mod h1:IcpI5pyzlZyYG8cNRCJmY1AYKajsd9Uz575HoeyYoII= +cloud.google.com/go/networksecurity v0.10.1 h1:dHN1la6xnta3E4QtWGqtc8ZAPKIZH5m8UQceIIuXZIs= +cloud.google.com/go/networksecurity v0.10.1/go.mod h1:tatO1hYJ9nNChLHOFdsjex5FeqZBlPQgKdKOex7REpU= cloud.google.com/go/notebooks v1.2.0 h1:wY4We4dMXELuQF7WPFxwODZ6bUtfS9b3+/HMWz/gwVw= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0 h1:YfPI4pOYQDcqJ+thM2cGtR9oRoRv42vRfubSPZnk3DI= @@ -1146,6 +1279,8 @@ cloud.google.com/go/notebooks v1.11.3 h1:FH48boYmrWVQ6k0Mx/WrnNafXncT5iSYxA8CNyW cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= cloud.google.com/go/notebooks v1.12.0 h1:80/UfGbQeaY1zMcqf8za2T8u94wjMTTjeXEj5Bim1Q4= cloud.google.com/go/notebooks v1.12.0/go.mod h1:euIZBbGY6G0J+UHzQ0XflysP0YoAUnDPZU7Fq0KXNw8= +cloud.google.com/go/notebooks v1.12.1 h1:0g61C2qdWcq2p8OFH3NiLzyneS1LFfsveC5+MnpM4p8= +cloud.google.com/go/notebooks v1.12.1/go.mod h1:RJCyRkLjj8UnvLEKaDl9S6//xUCa+r+d/AsxZnYBl50= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= cloud.google.com/go/optimization v1.3.1 h1:dj8O4VOJRB4CUwZXdmwNViH1OtI0WtWL867/lnYH248= cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= @@ -1159,6 +1294,8 @@ cloud.google.com/go/optimization v1.6.3 h1:63NZaWyN+5rZEKHPX4ACpw3BjgyeuY8+rCehi cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= cloud.google.com/go/optimization v1.7.0 h1:yDun269GdHx6gvcNJZeklF7uQw19a0LldSSiYtOYiR0= cloud.google.com/go/optimization v1.7.0/go.mod h1:6KvAB1HtlsMMblT/lsQRIlLjUhKjmMWNqV1AJUctbWs= +cloud.google.com/go/optimization v1.7.1 h1:E3/1qRZvGxqQpapaac/EKuzusxUauXLnpirWWXXzP5k= +cloud.google.com/go/optimization v1.7.1/go.mod h1:s2AjwwQEv6uExFmgS4Bf1gidI07w7jCzvvs8exqR1yk= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= cloud.google.com/go/orchestration v1.6.0 h1:Vw+CEXo8M/FZ1rb4EjcLv0gJqqw89b7+g+C/EmniTb8= cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= @@ -1172,6 +1309,8 @@ cloud.google.com/go/orchestration v1.9.0 h1:dPCclIVWuQoQc2afvUNmHA/RD+hg1CpLxYO1 cloud.google.com/go/orchestration v1.9.0/go.mod h1:sq28tiaY9crFRQlxIcYUupwq3Tr5fLctHmDlc+3WE9c= cloud.google.com/go/orchestration v1.10.0 h1:cGj9njLm+uUa/YPxGx6X7OU5RBh2VbpDktetkaHOEPQ= cloud.google.com/go/orchestration v1.10.0/go.mod h1:pGiFgTTU6c/nXHTPpfsGT8N4Dax8awccCe6kjhVdWjI= +cloud.google.com/go/orchestration v1.11.0 h1:yyi0kM47UZaJ3EEFYsBwfrkvqyPmvHwsoc3asxDmLuo= +cloud.google.com/go/orchestration v1.11.0/go.mod h1:s3L89jinQaUHclqgWYw8JhBbzGSidVt5rVBxGrXeheI= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= cloud.google.com/go/orgpolicy v1.10.0 h1:XDriMWug7sd0kYT1QKofRpRHzjad0bK8Q8uA9q+XrU4= cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= @@ -1185,6 +1324,8 @@ cloud.google.com/go/orgpolicy v1.12.1 h1:2JbXigqBJVp8Dx5dONUttFqewu4fP0p3pgOdIZA cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= cloud.google.com/go/orgpolicy v1.13.0 h1:WaabiSAxtyi4JNFATvsPmQS2IWRjr1+pwU3/Bihj7eA= cloud.google.com/go/orgpolicy v1.13.0/go.mod h1:oKtT56zEFSsYORUunkN2mWVQBc9WGP7yBAPOZW1XCXc= +cloud.google.com/go/orgpolicy v1.14.0 h1:UuLmi1+94lIS3tCoeuinuwx4oxdx58nECiAvfwCW0SM= +cloud.google.com/go/orgpolicy v1.14.0/go.mod h1:S6Pveh1JOxpSbs6+2ToJG7h3HwqC6Uf1YQ6JYG7wdM8= cloud.google.com/go/osconfig v1.7.0 h1:4NmUr3p76C9vUle6qivljkZRRsEZNakXbTb3RcNkhRc= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0 h1:fkFlXCxkUt3tE8LYtF6CipuPbC/HIrciwDTjFpsTf88= @@ -1202,6 +1343,8 @@ cloud.google.com/go/osconfig v1.12.5 h1:Mo5jGAxOMKH/PmDY7fgY19yFcVbvwREb5D5zMPQj cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= cloud.google.com/go/osconfig v1.14.0 h1:7XGKH/O0PGIoPIIYc+Ja5WD5Sc1nK0y5DT7jvSfyJVc= cloud.google.com/go/osconfig v1.14.0/go.mod h1:GhZzWYVrnQ42r+K5pA/hJCsnWVW2lB6bmVg+GnZ6JkM= +cloud.google.com/go/osconfig v1.14.1 h1:67ISL0vZVfq0se+1cPRMYgwTjsES2k9vmSmn8ZS0O5g= +cloud.google.com/go/osconfig v1.14.1/go.mod h1:Rk62nyQscgy8x4bICaTn0iWiip5EpwEfG2UCBa2TP/s= cloud.google.com/go/oslogin v1.4.0 h1:Q85UcQz5WLArjJX8nFLZuQ72+HtLw+xnlDuCMJESOEI= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0 h1:/7sVaMdtqSm6AjxW8KzoM6UKawkg3REr0XJ1zKtidpc= @@ -1219,6 +1362,8 @@ cloud.google.com/go/oslogin v1.13.1 h1:1K4nOT5VEZNt7XkhaTXupBYos5HjzvJMfhvyD2wWd cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= cloud.google.com/go/oslogin v1.14.0 h1:tgeFPXRtrXuS6MbBsevnntls4kQeD/QP3VUB9ZxmmMg= cloud.google.com/go/oslogin v1.14.0/go.mod h1:VtMzdQPRP3T+w5OSFiYhaT/xOm7H1wo1HZUD2NAoVK4= +cloud.google.com/go/oslogin v1.14.1 h1:HPPg7FWPwt7pKrbl+8VFI9UuJTbVrG2rSMHl4HkDAG4= +cloud.google.com/go/oslogin v1.14.1/go.mod h1:mM/isJYnohyD3EfM12Fhy8uye46gxA1WjHRCwbkmlVw= cloud.google.com/go/phishingprotection v0.5.0 h1:2JlDLzHfDbOhMLBrQeNDWXbhM8266izFwVhtRiKh77Q= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0 h1:OrwHLSRSZyaiOt3tnY33dsKSedxbMzsXvqB21okItNQ= @@ -1235,6 +1380,8 @@ cloud.google.com/go/phishingprotection v0.8.5 h1:DH3WFLzEoJdW/6xgsmoDqOwT1xddFi7 cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= cloud.google.com/go/phishingprotection v0.9.0 h1:TSua7OZWGInbjd9DiSNH1v4UqhrKwpw3q4RM6rzm+0I= cloud.google.com/go/phishingprotection v0.9.0/go.mod h1:CzttceTk9UskH9a8BycYmHL64zakEt3EXaM53r4i0Iw= +cloud.google.com/go/phishingprotection v0.9.1 h1:oUEGd4dttG5gIUmICdCh8A1U9iVQiw0TGwvYIGQ2I7U= +cloud.google.com/go/phishingprotection v0.9.1/go.mod h1:LRiflQnCpYKCMhsmhNB3hDbW+AzQIojXYr6q5+5eRQk= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= cloud.google.com/go/policytroubleshooter v1.6.0 h1:yKAGC4p9O61ttZUswaq9GAn1SZnEzTd0vUYXD7ZBT7Y= cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= @@ -1250,6 +1397,8 @@ cloud.google.com/go/policytroubleshooter v1.10.3 h1:c0WOzC6hz964QWNBkyKfna8A2jOI cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= cloud.google.com/go/policytroubleshooter v1.11.0 h1:TUxMBu2SAWmo8RtWhKcgv7LjbmUEA2t5U4+abA3lXik= cloud.google.com/go/policytroubleshooter v1.11.0/go.mod h1:yTqY8n60lPLdU5bRbImn9IazrmF1o5b0VBshVxPzblQ= +cloud.google.com/go/policytroubleshooter v1.11.1 h1:/b3wruB/KvmCpy9Jfducc8TQmM3bsoPaeCs5z7TRodA= +cloud.google.com/go/policytroubleshooter v1.11.1/go.mod h1:9nJIpgQ2vloJbB8y1JkPL5vxtaSdJnJYPCUvt6PpfRs= cloud.google.com/go/privatecatalog v0.5.0 h1:F+sJo8MKSDOEWwrMsUerjdawn6a9NQVG7ir+IX5XYjc= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0 h1:Vz86uiHCtNGm1DeC32HeG2VXmOq5JRYA3VRPf8ZEcSg= @@ -1266,6 +1415,8 @@ cloud.google.com/go/privatecatalog v0.9.5 h1:UZ0assTnATXSggoxUIh61RjTQ4P9zCMk/kE cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= cloud.google.com/go/privatecatalog v0.10.0 h1:9ZescTLuQE6idHyXAGh7nDxer8UJXfACW7DLIuhtvOs= cloud.google.com/go/privatecatalog v0.10.0/go.mod h1:/Lci3oPTxJpixjiTBoiVv3PmUZg/IdhPvKHcLEgObuc= +cloud.google.com/go/privatecatalog v0.10.1 h1:Ew51FHLLQsUYUDJY57eMB/mVUOoWLIji957MRw4kumw= +cloud.google.com/go/privatecatalog v0.10.1/go.mod h1:mFmn5bjE9J8MEjQuu1fOc4AxOP2MoEwDLMJk04xqQCQ= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.27.1 h1:q+J/Nfr6Qx4RQeu3rJcnN48SNC0qzlYzSeqkPq93VHs= @@ -1274,6 +1425,7 @@ cloud.google.com/go/pubsub v1.30.1/go.mod h1:QRi3+y7wp7mPD6XM/TfHhxBxzfFhfphIdP7 cloud.google.com/go/pubsub v1.34.0/go.mod h1:alj4l4rBg+N3YTFDDC+/YyFTs6JAjam2QfYsddcAW4c= cloud.google.com/go/pubsub v1.36.2/go.mod h1:mHCFLNG8abCrPzhuOnpBcr9DUy+l3/LWWn0qoJdbh1w= cloud.google.com/go/pubsub v1.42.0/go.mod h1:KADJ6s4MbTwhXmse/50SebEhE4SmUwHi48z3/dHar1Y= +cloud.google.com/go/pubsub v1.44.0/go.mod h1:BD4a/kmE8OePyHoa1qAHEw1rMzXX+Pc8Se54T/8mc3I= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/pubsublite v1.7.0 h1:cb9fsrtpINtETHiJ3ECeaVzrfIVhcGjhhJEjybHXHao= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= @@ -1299,6 +1451,8 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.10.0 h1:qRDc5Zmhlb3Vh5s8/tfPGsUCut cloud.google.com/go/recaptchaenterprise/v2 v2.10.0/go.mod h1:MbC5g6Dn3q39GboLOsYF+RtgfuRkys/hX3MxupDnVoA= cloud.google.com/go/recaptchaenterprise/v2 v2.17.0 h1:aXFHIGiFseHKdYxPtBaM18BvvK6CrG6yYM+IoWu3WDQ= cloud.google.com/go/recaptchaenterprise/v2 v2.17.0/go.mod h1:SS4QDdlmJ3NvbOMCXQxaFhVGRjvNMfoKCoCdxqXadqs= +cloud.google.com/go/recaptchaenterprise/v2 v2.17.2 h1:tHFLYu+8w0jjjGf63D4qgVEKS9R3lw4XP4Q1P4df2g8= +cloud.google.com/go/recaptchaenterprise/v2 v2.17.2/go.mod h1:iigNZOnUpf++xlm8RdMZJTX/PihYVMrHidRLjHuekec= cloud.google.com/go/recommendationengine v0.5.0 h1:CR3PLwZOfNSWApMXKpMT0+zdpsJEU9ns4qNlqSBRySc= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0 h1:6w+WxPf2LmUEqX0YyvfCoYb8aBYOcbIV25Vg6R0FLGw= @@ -1315,6 +1469,8 @@ cloud.google.com/go/recommendationengine v0.8.5 h1:ineqLswaCSBY0csYv5/wuXJMBlxAT cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= cloud.google.com/go/recommendationengine v0.9.0 h1:w8YMuIJdZxMEptNXSiXYdqaiCL2rTweOoO71RNtcxNE= cloud.google.com/go/recommendationengine v0.9.0/go.mod h1:59ydKXFyXO4Y8S0Bk224sKfj6YvIyzgcpG6w8kXIMm4= +cloud.google.com/go/recommendationengine v0.9.1 h1:TQne3UMow6joFVRtTpd9kDYyYr3Jkpq+o0vJkpQgZYI= +cloud.google.com/go/recommendationengine v0.9.1/go.mod h1:FfWa3OnsnDab4unvTZM2VJmvoeGn1tnntF3n+vmfyzU= cloud.google.com/go/recommender v1.5.0 h1:mqy/VKIKCascBT1q+ZbgWAYOY+KKDwkRNHcBg1uk+uo= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0 h1:C1tw+Qa/bgm6LoH1wuxYdoyinwKkW/jDJ0GpSJf58cE= @@ -1332,6 +1488,8 @@ cloud.google.com/go/recommender v1.12.1 h1:LVLYS3r3u0MSCxQSDUtLSkporEGi9OAE6hGva cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= cloud.google.com/go/recommender v1.13.0 h1:ZyKUB5CddfFGD1qiTKbF3t59OxXPIE7+3lzy59i7hvs= cloud.google.com/go/recommender v1.13.0/go.mod h1:+XkXkeB9k6zG222ZH70U6DBkmvEL0na+pSjZRmlWcrk= +cloud.google.com/go/recommender v1.13.1 h1:aQIUpMynK1pU1Q+EiuL7VJssLLjLwnfhL7px0vgM6xA= +cloud.google.com/go/recommender v1.13.1/go.mod h1:l+n8rNMC6jZacckzLvVG/2LzKawlwAJYNO8Vl2pBlxc= cloud.google.com/go/redis v1.7.0 h1:pP6SOq8nDUQ9bUZoHdOVRp1nX2ANfiXyadRdWquYZIQ= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0 h1:gtPd4pG/Go5mrdGQ4MJXxPHtjxtoWUBkrWLXNV1L2TA= @@ -1349,6 +1507,8 @@ cloud.google.com/go/redis v1.14.2 h1:QF0maEdVv0Fj/2roU8sX3NpiDBzP9ICYTO+5F32gQNo cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= cloud.google.com/go/redis v1.17.0 h1:YItghJ0VY98gJperCaTVEe7g+QZWz1nsN5ioJcSxkDY= cloud.google.com/go/redis v1.17.0/go.mod h1:pzTdaIhriMLiXu8nn2CgiS52SYko0tO1Du4d3MPOG5I= +cloud.google.com/go/redis v1.17.1 h1:E7TeGsvyoFB+m59bqFKrQ5GSH7+uW8cUDk6Y7iqGjJ0= +cloud.google.com/go/redis v1.17.1/go.mod h1:YJHeYfSoW/agIMeCvM5rszxu75mVh5DOhbu3AEZEIQM= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= cloud.google.com/go/resourcemanager v1.7.0 h1:NRM0p+RJkaQF9Ee9JMnUV9BQ2QBIOq/v8M+Pbv/wmCs= cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= @@ -1362,6 +1522,8 @@ cloud.google.com/go/resourcemanager v1.9.5 h1:AZWr1vWVDKGwfLsVhcN+vcwOz3xqqYxtmM cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= cloud.google.com/go/resourcemanager v1.10.0 h1:oqO6UInOJ1ZBBEYTKPJms2+FKdGmZEYAYBKyt0oqpEI= cloud.google.com/go/resourcemanager v1.10.0/go.mod h1:kIx3TWDCjLnUQUdjQ/e8EXsS9GJEzvcY+YMOHpADxrk= +cloud.google.com/go/resourcemanager v1.10.1 h1:fO/QoSJ1lepmTM9dCbSXYWgTIhecmQkpY0mM1X9OGN0= +cloud.google.com/go/resourcemanager v1.10.1/go.mod h1:A/ANV/Sv7y7fcjd4LSH7PJGTZcWRkO/69yN5UhYUmvE= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= cloud.google.com/go/resourcesettings v1.5.0 h1:8Dua37kQt27CCWHm4h/Q1XqCF6ByD7Ouu49xg95qJzI= cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= @@ -1375,6 +1537,8 @@ cloud.google.com/go/resourcesettings v1.6.5 h1:BTr5MVykJwClASci/7Og4Qfx70aQ4n3ep cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= cloud.google.com/go/resourcesettings v1.8.0 h1:r2AHqVv9E6Toxiuwo905fFjy50pfKamehDBlQfhqblM= cloud.google.com/go/resourcesettings v1.8.0/go.mod h1:/hleuSOq8E6mF1sRYZrSzib8BxFHprQXrPluWTuZ6Ys= +cloud.google.com/go/resourcesettings v1.8.1 h1:whJgmR9I5V9TSZiaoCPVDgbYD1jghYoauHVfBG8TvHI= +cloud.google.com/go/resourcesettings v1.8.1/go.mod h1:6V87tIXUpvJMskim6YUa+TRDTm7v6OH8FxLOIRYosl4= cloud.google.com/go/retail v1.8.0 h1:cdbsv+P0nwIv7YfcY1QfQ7bA7iWDwQ2yi3fr4vfOg9s= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0 h1:Q3W/JsQupZWaoFxUOugZd1Eq590R+Dk6dhacLK2h7+w= @@ -1392,6 +1556,8 @@ cloud.google.com/go/retail v1.16.0 h1:Fn1GuAua1c6crCGqfJ1qMxG1Xh10Tg/x5EUODEHMqk cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= cloud.google.com/go/retail v1.18.0 h1:8Ck0ZsfHzEdhd4BAzHJ0YcPq7poCPMMHM3BLJ0yk4WE= cloud.google.com/go/retail v1.18.0/go.mod h1:vaCabihbSrq88mKGKcKc4/FDHvVcPP0sQDAt0INM+v8= +cloud.google.com/go/retail v1.19.0 h1:OrXxtP/asKi7vFReWmQH5kXrMRPZ2R9Zw92x8O93PMA= +cloud.google.com/go/retail v1.19.0/go.mod h1:QMhO+nkvN6Mns1lu6VXmteY0I3mhwPj9bOskn6PK5aY= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= cloud.google.com/go/run v0.9.0 h1:ydJQo+k+MShYnBfhaRHSZYeD/SQKZzZLAROyfpeD9zw= cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= @@ -1405,6 +1571,8 @@ cloud.google.com/go/run v1.3.4 h1:m9WDA7DzTpczhZggwYlZcBWgCRb+kgSIisWn1sbw2rQ= cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= cloud.google.com/go/run v1.5.0 h1:1hfJ4418lukwslnbuMZx/t4MxBd0FDo4d/38NvAP5Yo= cloud.google.com/go/run v1.5.0/go.mod h1:Z4Tv/XNC/veO6rEpF0waVhR7vEu5RN1uJQ8dD1PeMtI= +cloud.google.com/go/run v1.6.0 h1:LRJvntufFKJ0Jcwt7BbIHwf/0Ipq4twzyJcH1qSEs84= +cloud.google.com/go/run v1.6.0/go.mod h1:DXkPPa8bZ0jfRGLT+EKIlPbHvosBYBMdxTgo9EBbXZE= cloud.google.com/go/scheduler v1.4.0 h1:GzmMMK2+nSbuFvik9/tmju6DKmnVNOFXMW/SHZz+gt4= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0 h1:Fe1Upic/q4cwqXbInCzgAW35QSerj8JlNwATIxDdfOI= @@ -1422,6 +1590,8 @@ cloud.google.com/go/scheduler v1.10.6 h1:5U8iXLoQ03qOB+ZXlAecU7fiE33+u3QiM9nh4cd cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= cloud.google.com/go/scheduler v1.11.0 h1:9Hc+L8YEgci20BFkQNsgsb5UJFfUbylfHAKgfXkNRWU= cloud.google.com/go/scheduler v1.11.0/go.mod h1:RBSu5/rIsF5mDbQUiruvIE6FnfKpLd3HlTDu8aWk0jw= +cloud.google.com/go/scheduler v1.11.1 h1:uGaM4mRrGkJ0LLBMyxD8qbvIko4y+UlSOwJQqRd/lW8= +cloud.google.com/go/scheduler v1.11.1/go.mod h1:ptS76q0oOS8hCHOH4Fb/y8YunPEN8emaDdtw0D7W1VE= cloud.google.com/go/secretmanager v1.6.0 h1:5v0zegRMlytVnN7J+bg5Ipqah3I2RZ67ysy00mvA+lA= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= @@ -1437,6 +1607,8 @@ cloud.google.com/go/secretmanager v1.11.5 h1:82fpF5vBBvu9XW4qj0FU2C6qVMtj1RM/XHw cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= cloud.google.com/go/secretmanager v1.14.0 h1:P2RRu2NEsQyOjplhUPvWKqzDXUKzwejHLuSUBHI8c4w= cloud.google.com/go/secretmanager v1.14.0/go.mod h1:q0hSFHzoW7eRgyYFH8trqEFavgrMeiJI4FETNN78vhM= +cloud.google.com/go/secretmanager v1.14.1 h1:xlWSIg8rtBn5qCr2f3XtQP19+5COyf/ll49SEvi/0vM= +cloud.google.com/go/secretmanager v1.14.1/go.mod h1:L+gO+u2JA9CCyXpSR8gDH0o8EV7i/f0jdBOrUXcIV0U= cloud.google.com/go/security v1.7.0 h1:176N+6wf67OA6HgqhmNN/AfmUtwq50na2VKR6/6l34k= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0 h1:linnRc3/gJYDfKbAtNixVQ52+66DpOx5MmCz0NNxal8= @@ -1454,6 +1626,8 @@ cloud.google.com/go/security v1.15.5 h1:wTKJQ10j8EYgvE8Y+KhovxDRVDk2iv/OsxZ6GrLP cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= cloud.google.com/go/security v1.18.0 h1:CjBd67GVb+Oenjt4VsUw0RUQktSIgexTJN3UQta7XRE= cloud.google.com/go/security v1.18.0/go.mod h1:oS/kRVUNmkwEqzCgSmK2EaGd8SbDUvliEiADjSb/8Mo= +cloud.google.com/go/security v1.18.1 h1:w7XbMR90Ir0y8NUxKJ3uyRHuHYWPUxVI5Z/sGqbrdAQ= +cloud.google.com/go/security v1.18.1/go.mod h1:5P1q9rqwt0HuVeL9p61pTqQ6Lgio1c64jL2ZMWZV21Y= cloud.google.com/go/securitycenter v1.13.0 h1:GEWCdMuJZ8Jjm01MvjAMuLAZKvgnt0BSlREUI1zjgjQ= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0 h1:hKIggnv2eCAPjsVnFcZbytMOsFOk6p4ut0iAUDoNsNA= @@ -1471,6 +1645,8 @@ cloud.google.com/go/securitycenter v1.26.0 h1:kR1pGDmTK1AXmitgDIEPvGWjY7aJCopZmk cloud.google.com/go/securitycenter v1.26.0/go.mod h1:NAwIe8QHZ3V27vWM1g+d33EE3QaUPPA17ITfwtLPZbw= cloud.google.com/go/securitycenter v1.35.0 h1:XsBzOeMRGs0/JkXXkbjhjjtAtlVGPR1GZ235gH25XMk= cloud.google.com/go/securitycenter v1.35.0/go.mod h1:gotw8mBfCxX0CGrRK917CP/l+Z+QoDchJ9HDpSR8eDc= +cloud.google.com/go/securitycenter v1.35.1 h1:unUyFDeSHv89W7FPBMk10mf3R7+taAJ+1ow+0zpCzGw= +cloud.google.com/go/securitycenter v1.35.1/go.mod h1:UDeknPuHWi15TaxrJCIv3aN1VDTz9nqWVUmW2vGayTo= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= @@ -1493,6 +1669,8 @@ cloud.google.com/go/servicedirectory v1.11.4 h1:da7HFI1229kyzIyuVEzHXip0cw0d+E0s cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= cloud.google.com/go/servicedirectory v1.12.0 h1:uieHG59ROehbCEtd+YINNgjXEDyidH0ye+REZzDVe6Y= cloud.google.com/go/servicedirectory v1.12.0/go.mod h1:lKKBoVStJa+8S+iH7h/YRBMUkkqFjfPirkOTEyYAIUk= +cloud.google.com/go/servicedirectory v1.12.1 h1:LjbIXEZiyqsIADrj6Y81FnbSlaHPQHJ8UDQQnUegowc= +cloud.google.com/go/servicedirectory v1.12.1/go.mod h1:d2H6joDMjnTQ4cUUCZn6k9NgZFbXjLVJbHETjoJR9k0= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= @@ -1512,6 +1690,8 @@ cloud.google.com/go/shell v1.7.5 h1:3Fq2hzO0ZSyaqBboJrFkwwf/qMufDtqwwA6ep8EZxEI= cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= cloud.google.com/go/shell v1.8.0 h1:kCkIEXYPqrhHay46HjyhuOk/C1x7Qva4Lw968UVPcEo= cloud.google.com/go/shell v1.8.0/go.mod h1:EoQR8uXuEWHUAMoB4+ijXqRVYatDCdKYOLAaay1R/yw= +cloud.google.com/go/shell v1.8.1 h1:etoJal+LB7Pn8+5vE2aAh6QcFbBmerIOh5MxNDoXykw= +cloud.google.com/go/shell v1.8.1/go.mod h1:jaU7OHeldDhTwgs3+clM0KYEDYnBAPevUI6wNLf7ycE= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/spanner v1.45.0 h1:7VdjZ8zj4sHbDw55atp5dfY6kn1j9sam9DRNpPQhqR4= cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= @@ -1525,6 +1705,8 @@ cloud.google.com/go/spanner v1.57.0 h1:fJq+ZfQUDHE+cy1li0bJA8+sy2oiSGhuGqN5nqVaZ cloud.google.com/go/spanner v1.57.0/go.mod h1:aXQ5QDdhPRIqVhYmnkAdwPYvj/DRN0FguclhEWw+jOo= cloud.google.com/go/spanner v1.67.0 h1:h8xfobxh5lQu4qJVMPH+wSiyU+ZM6ZTxRNqGeu9iIVA= cloud.google.com/go/spanner v1.67.0/go.mod h1:Um+TNmxfcCHqNCKid4rmAMvoe/Iu1vdz6UfxJ9GPxRQ= +cloud.google.com/go/spanner v1.70.0 h1:nj6p/GJTgMDiSQ1gQ034ItsKuJgHiMOjtOlONOg8PSo= +cloud.google.com/go/spanner v1.70.0/go.mod h1:X5T0XftydYp0K1adeJQDJtdWpbrOeJ7wHecM4tK6FiE= cloud.google.com/go/speech v1.6.0 h1:T/FRwj5ZsImOno7dSckh05LPIvRgW8Gx2ARTeNqIqlY= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0 h1:bRI2QczZGpcPfuhHr63VOdfyyfYp/43N0wRuBKrd0nQ= @@ -1544,6 +1726,8 @@ cloud.google.com/go/speech v1.22.0 h1:AWpbl2POalAOvO5uudJoaknkFNhATuBVODozDXyTD1 cloud.google.com/go/speech v1.22.0/go.mod h1:d7pmrSKyrD12c7dRrjqgA/U0eeyZs0i4VpvOlpJXEBA= cloud.google.com/go/speech v1.25.0 h1:q/ZPuG5G//DHm9hBehaP5c/wuD2qP77OpiPQrE7hEbg= cloud.google.com/go/speech v1.25.0/go.mod h1:2IUTYClcJhqPgee5Ko+qJqq29/bglVizgIap0c5MvYs= +cloud.google.com/go/speech v1.25.1 h1:iGZJS3wrdkje/Vqiacx1+r+zVwUZoXVMdklYIVsvfNw= +cloud.google.com/go/speech v1.25.1/go.mod h1:WgQghvghkZ1htG6BhYn98mP7Tg0mti8dBFDLMVXH/vM= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= @@ -1570,6 +1754,8 @@ cloud.google.com/go/storagetransfer v1.10.4 h1:dy4fL3wO0VABvzM05ycMUPFHxTPbJz9Em cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= cloud.google.com/go/storagetransfer v1.11.0 h1:URBQgN/5pyGGq/kE6z2HUYzAG2lhsvJWcjrNnqrjaxU= cloud.google.com/go/storagetransfer v1.11.0/go.mod h1:arcvgzVC4HPcSikqV8D4h4PwrvGQHfKtbL4OwKPirjs= +cloud.google.com/go/storagetransfer v1.11.1 h1:Hd7H1zXGQGEWyWXxWVXDMuNCGasNQim1y9CIaMZIBX8= +cloud.google.com/go/storagetransfer v1.11.1/go.mod h1:xnJo9pWysRIha8MgZxhrBEwLYbEdvdmEedhNsP5NINM= cloud.google.com/go/talent v1.1.0 h1:21beHmO0XsFawwzxAtWNoZln8930k737/6P5DPXAQPI= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0 h1:6c4pvu3k2idEhJRZnZ2HdVLWZUuT9fsns2gQtCzRtqA= @@ -1587,6 +1773,8 @@ cloud.google.com/go/talent v1.6.6 h1:JssV0CE3FNujuSWn7SkosOzg7qrMxVnt6txOfGcMSa4 cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= cloud.google.com/go/talent v1.7.0 h1:2zqgG97bPfr259+xsJu1coFlvXzq+D9OD8mL8atgWeU= cloud.google.com/go/talent v1.7.0/go.mod h1:8zfRPWWV4GNZuUmBwQub0gWAe2KaKhsthyGtV8fV1bY= +cloud.google.com/go/talent v1.7.1 h1:J3iZU+HPfoD18Lx8JsgIpwe8llQ9Fu/evcQudQCB+pk= +cloud.google.com/go/talent v1.7.1/go.mod h1:X8UKtTgcP+h51MtDO/b+y3X1GxTTc7gPJ2y0aX3X1hM= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= cloud.google.com/go/texttospeech v1.6.0 h1:H4g1ULStsbVtalbZGktyzXzw6jP26RjVGYx9RaYjBzc= cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= @@ -1600,6 +1788,8 @@ cloud.google.com/go/texttospeech v1.7.5 h1:dxY2Q5mHCbrGa3oPR2O3PCicdnvKa1JmwGQK3 cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= cloud.google.com/go/texttospeech v1.8.0 h1:ZDftBGozfB/ITwvYiYHHeSDQ5Yc9azNphHMjIzakwVQ= cloud.google.com/go/texttospeech v1.8.0/go.mod h1:hAgeA01K5QNfLy2sPUAVETE0L4WdEpaCMfwKH1qjCQU= +cloud.google.com/go/texttospeech v1.8.1 h1:LpX9xKoGObltmT6+RGxqUeSJIq0uqPzo+fcbbOmujbY= +cloud.google.com/go/texttospeech v1.8.1/go.mod h1:WoTykB+4mfSDDYPuk7smrdXNRGoJJS6dXRR6l4XqD9g= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= cloud.google.com/go/tpu v1.5.0 h1:/34T6CbSi+kTv5E19Q9zbU/ix8IviInZpzwz3rsFE+A= cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= @@ -1613,6 +1803,8 @@ cloud.google.com/go/tpu v1.6.5 h1:C8YyYda8WtNdBoCgFwwBzZd+S6+EScHOxM/z1h0NNp8= cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= cloud.google.com/go/tpu v1.7.0 h1:mRFFdrJ/DuymJehZ0SJXKgMQ1eoWtOhgrStf/eQrlsw= cloud.google.com/go/tpu v1.7.0/go.mod h1:/J6Co458YHMD60nM3cCjA0msvFU/miCGMfx/nYyxv/o= +cloud.google.com/go/tpu v1.7.1 h1:MP2GYTVEPkg1KlhY3A4CF9Do8eklQOOfgbIYNINcVaE= +cloud.google.com/go/tpu v1.7.1/go.mod h1:kgvyq1Z1yuBJSk5ihUaYxX58YMioCYg1UPuIHSxBX3M= cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= cloud.google.com/go/trace v1.4.0 h1:qO9eLn2esajC9sxpqp1YKX37nXC3L4BfGnPS0Cx9dYo= cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= @@ -1636,6 +1828,8 @@ cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/j cloud.google.com/go/translate v1.10.3/go.mod h1:GW0vC1qvPtd3pgtypCv4k4U8B7EdgK9/QEF2aJEUovs= cloud.google.com/go/translate v1.12.0 h1:NoO50ycJWq7GPZEjuPz8Ye926uLko/gbxWnQ9mtQrDs= cloud.google.com/go/translate v1.12.0/go.mod h1:4/C4shFIY5hSZ3b3g+xXWM5xhBLqcUqksSMrQ7tyFtc= +cloud.google.com/go/translate v1.12.1 h1:Vws9BGpVcaOeI6HodyWdvysUzHUBFvk7ymHu1tzFvuM= +cloud.google.com/go/translate v1.12.1/go.mod h1:5f4RvC7/hh76qSl6LYuqOJaKbIzEpR1Sj+CMA6gSgIk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/video v1.15.0 h1:upIbnGI0ZgACm58HPjAeBMleW3sl5cT84AbYQ8PWOgM= cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= @@ -1651,6 +1845,8 @@ cloud.google.com/go/video v1.20.4 h1:TXwotxkShP1OqgKsbd+b8N5hrIHavSyLGvYnLGCZ7xc cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= cloud.google.com/go/video v1.23.0 h1:DTnNFkbpmPunk+V3WKmjs46EbdW5QevSy0KJ9JmlUus= cloud.google.com/go/video v1.23.0/go.mod h1:EGLQv3Ce/VNqcl/+Amq7jlrnpg+KMgQcr6YOOBfE9oc= +cloud.google.com/go/video v1.23.1 h1:U+fu5Jwi3q8WDDOh1hr8kcdXVUJGmP3vWsZ13jwkWFA= +cloud.google.com/go/video v1.23.1/go.mod h1:ncFS3D2plMLhXkWkob/bH4bxQkubrpAlln5x7RWluXA= cloud.google.com/go/videointelligence v1.6.0 h1:bGbQVZDdKxMhywFruluDEgQW9g5TqAgVeT+gE6WAFOs= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0 h1:w56i2xl1jHX2tz6rHXBPHd6xujevhImzbc16Kl+V/zQ= @@ -1668,6 +1864,8 @@ cloud.google.com/go/videointelligence v1.11.5 h1:mYaWH8uhUCXLJCN3gdXswKzRa2+lK0z cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= cloud.google.com/go/videointelligence v1.12.0 h1:nM9O0Pw3XcQpLHHfSSlzbytBRXh5ATrEnY4Cbmv4RVs= cloud.google.com/go/videointelligence v1.12.0/go.mod h1:3rjmafNpCEqAb1CElGTA7dsg8dFDsx7RQNHS7o088D0= +cloud.google.com/go/videointelligence v1.12.1 h1:4XScHLWL/1Q1FVczlxiZT+kSynUQPUktIUTqpIkOMeU= +cloud.google.com/go/videointelligence v1.12.1/go.mod h1:C9bQom4KOeBl7IFPj+NiOS6WKEm1P6OOkF/ahFfE1Eg= cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= cloud.google.com/go/vision/v2 v2.2.0 h1:W7DxaZ74iYxO40tYFRsfZqdOWCbUYs9fTQ8/wQNUVak= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= @@ -1686,6 +1884,8 @@ cloud.google.com/go/vision/v2 v2.8.0 h1:W52z1b6LdGI66MVhE70g/NFty9zCYYcjdKuycqml cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= cloud.google.com/go/vision/v2 v2.9.0 h1:q3psn2Ea+EgUH7nefR0S9k9u08QTYhUI3PPm44FNqnM= cloud.google.com/go/vision/v2 v2.9.0/go.mod h1:sejxShqNOEucObbGNV5Gk85hPCgiVPP4sWv0GrgKuNw= +cloud.google.com/go/vision/v2 v2.9.1 h1:jpK/E7/SJXpbnQVgfr2nGsIIzSQ9GkOsBf2iak1O8nc= +cloud.google.com/go/vision/v2 v2.9.1/go.mod h1:keORalKMowhEZB5hEWi1XSVnGALMjLlRwZbDiCPFuQY= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= cloud.google.com/go/vmmigration v1.6.0 h1:Azs5WKtfOC8pxvkyrDvt7J0/4DYBch0cVbuFfCCFt5k= cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= @@ -1699,6 +1899,8 @@ cloud.google.com/go/vmmigration v1.7.5 h1:5v9RT2vWyuw3pK2ox0HQpkoftO7Q7/8591dTxx cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= cloud.google.com/go/vmmigration v1.8.0 h1:YH4XwJirujDvpPWVjzAxLUc97UfKs48+RDNpHzodRyc= cloud.google.com/go/vmmigration v1.8.0/go.mod h1:+AQnGUabjpYKnkfdXJZ5nteUfzNDCmwbj/HSLGPFG5E= +cloud.google.com/go/vmmigration v1.8.1 h1:dyK3bFJVx28FInAkzeLVANpChwWgAmiaUM4GNtEQS/Q= +cloud.google.com/go/vmmigration v1.8.1/go.mod h1:MB7vpxl6Oz2w+CecyITUTDFkhWSMQmRTgREwkBZFyZk= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vmwareengine v0.3.0 h1:b0NBu7S294l0gmtrT0nOJneMYgZapr5x9tVWvgDoVEM= cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= @@ -1714,6 +1916,8 @@ cloud.google.com/go/vmwareengine v1.1.1 h1:EGdDi9QbqThfZq3ILcDK5g+m9jTevc34AY5tA cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= cloud.google.com/go/vmwareengine v1.3.0 h1:Yd8NnmkjUTWouvtQySzZJKzzUO+21hRnlji/oHjWRrc= cloud.google.com/go/vmwareengine v1.3.0/go.mod h1:7W/C/YFpelGyZzRUfOYkbgUfbN1CK5ME3++doIkh1Vk= +cloud.google.com/go/vmwareengine v1.3.1 h1:CCdTFQnOatMPbtbMnCja//K4slk5Tjt0u3XEb1T9Qlw= +cloud.google.com/go/vmwareengine v1.3.1/go.mod h1:mSYu3wnGKJqvvhIhs7VA47/A/kLoMiJz3gfQAh7cfaI= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/vpcaccess v1.6.0 h1:FOe6CuiQD3BhHJWt7E8QlbBcaIzVRddupwJlp7eqmn4= cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= @@ -1727,6 +1931,8 @@ cloud.google.com/go/vpcaccess v1.7.5 h1:XyL6hTLtEM/eE4F1GEge8xUN9ZCkiVWn44K/YA7z cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= cloud.google.com/go/vpcaccess v1.8.0 h1:jJ6cyLNDcdQYZBXdqucqneR9D3MQzAoEmokE9gD5uVU= cloud.google.com/go/vpcaccess v1.8.0/go.mod h1:7fz79sxE9DbGm9dbbIdir3tsJhwCxiNAs8aFG8MEhR8= +cloud.google.com/go/vpcaccess v1.8.1 h1:e1wJ1wQGMqOf44Gw44PU9G6NYITKm0f2We4eKzMwyEs= +cloud.google.com/go/vpcaccess v1.8.1/go.mod h1:cWlLCpLOuMH8oaNmobaymgmLesasLd9w1isrKpiGwIc= cloud.google.com/go/webrisk v1.4.0 h1:ng1tnznwioN3iYbHJf7rQ7mce+YmBzk8v0qX7E8YXeI= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0 h1:WdHJmLSAs5bIis/WWO7pIfiRBD1PiWe1OAlPrWeM9Tk= @@ -1744,6 +1950,8 @@ cloud.google.com/go/webrisk v1.9.5 h1:251MvGuC8wisNN7+jqu9DDDZAi38KiMXxOpA/EWy4d cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= cloud.google.com/go/webrisk v1.10.0 h1:Knhx8eILUwXmH6UnKF5h5GLuLy1eRrasm21s6DQtOHQ= cloud.google.com/go/webrisk v1.10.0/go.mod h1:ztRr0MCLtksoeSOQCEERZXdzwJGoH+RGYQ2qodGOy2U= +cloud.google.com/go/webrisk v1.10.1 h1:mYYjXXMILCwIEqtChUDNGamMBgJKnoJXa9Os2e76uzk= +cloud.google.com/go/webrisk v1.10.1/go.mod h1:VzmUIag5P6V71nVAuzc7Hu0VkIDKjDa543K7HOulH/k= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/websecurityscanner v1.5.0 h1:AHC1xmaNMOZtNqxI9Rmm87IJEyPaRkOxeI0gpAacXGk= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= @@ -1757,6 +1965,8 @@ cloud.google.com/go/websecurityscanner v1.6.5 h1:YqWZrZYabG88TZt7364XWRJGhxmxhon cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= cloud.google.com/go/websecurityscanner v1.7.0 h1:2+X6oSpyKlCPN43j5xXVHMBLajVsh4BYFUpQNUk6Y+Q= cloud.google.com/go/websecurityscanner v1.7.0/go.mod h1:d5OGdHnbky9MAZ8SGzdWIm3/c9p0r7t+5BerY5JYdZc= +cloud.google.com/go/websecurityscanner v1.7.1 h1:VyJObL4Pzd4ypF2814rKlesrVibrf1WpZ2yp4jJvKyw= +cloud.google.com/go/websecurityscanner v1.7.1/go.mod h1:vAZ6hyqECDhgF+gyVRGzfXMrURQN5NH75Y9yW/7sSHU= cloud.google.com/go/workflows v1.6.0 h1:0rYwTypSlEAqaoKO5l2mIecafBvFplpjegMghkyDHdU= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0 h1:0MjX5ugKmTdbRG2Vai5aAgNAOe2wzvs/XQwFDSowy9c= @@ -1774,6 +1984,8 @@ cloud.google.com/go/workflows v1.12.4 h1:uHNmUiatTbPQ4H1pabwfzpfEYD4BBnqDHqMm2Ie cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= cloud.google.com/go/workflows v1.13.0 h1:LHZQw+fkCWN/zRSHEWcwEnh8xHGt76yd/4Gf6Pt0zbU= cloud.google.com/go/workflows v1.13.0/go.mod h1:StCuY3jhBj1HYMjCPqZs7J0deQLHPhF6hDtzWJaVF+Y= +cloud.google.com/go/workflows v1.13.1 h1:DkxrZ4HyXvjQLZWsYAUOV1w7d2a43XscM9dmkIGmrDc= +cloud.google.com/go/workflows v1.13.1/go.mod h1:xNdYtD6Sjoug+khNCAtBMK/rdh8qkjyL6aBas2XlkNc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= github.com/99designs/gqlgen v0.17.2/go.mod h1:K5fzLKwtph+FFgh9j7nFbRUdBKvTcGnsta51fsMTn3o= github.com/99designs/gqlgen v0.17.12 h1:lH/H5dTYCY5eLNRKXeq22l0wFMavpOnN6v9GAIw+fxY= @@ -1803,6 +2015,7 @@ github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0 github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.40.0/go.mod h1:PV+bUv9S+/W9PmZECvnC39uIEYnDL9veytwZrMqPexc= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.40.1/go.mod h1:Ei53Im4CWT7FHDaMBvmQzZ8p91+X1IAaifp7QF+ewQQ= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.32.3/go.mod h1:9a+Opaevo9fybhUvQkEG7fR6Zk7pYrW/s9NC4fODFIQ= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.45.0/go.mod h1:qkFPtMouQjW5ugdHIOthiTbweVHUTqbS0Qsu55KqXks= github.com/Joker/jade v1.1.3 h1:Qbeh12Vq6BxURXT1qZBRHsDxeURB8ztcL6f3EXSGeHk= github.com/Joker/jade v1.1.3/go.mod h1:T+2WLyt7VH6Lp0TRxQrUYEs64nRc83wkMQrfeIQKduM= github.com/Khan/genqlient v0.5.0 h1:TMZJ+tl/BpbmGyIBiXzKzUftDhw4ZWxQZ+1ydn0gyII= @@ -1869,6 +2082,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.26.7/go.mod h1:6h2YuIoxaMSCFf5fi1EgZ github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= +github.com/bazelbuild/rules_go v0.49.0 h1:5vCbuvy8Q11g41lseGJDc5vxhDjJtfxr6nM/IC4VmqM= +github.com/bazelbuild/rules_go v0.49.0/go.mod h1:Dhcz716Kqg1RHNWos+N6MlXNkjNP2EwZQ0LukRKJfMs= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bmatcuk/doublestar v1.1.1 h1:YroD6BJCZBYx06yYFEWvUuKVWQn3vLLQAVmDmvTSaiQ= @@ -1880,16 +2095,12 @@ github.com/bytedance/sonic v1.10.0-rc3 h1:uNSnscRapXTwUgTyOF0GVljYD08p9X/Lbr9Mwe github.com/bytedance/sonic v1.10.0-rc3/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= @@ -1961,8 +2172,6 @@ github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1 github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= -github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= -github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= @@ -1972,8 +2181,6 @@ github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byA github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= -github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= -github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/fasthttp/websocket v1.4.3-rc.6 h1:omHqsl8j+KXpmzRjF8bmzOSYJ8GnS0E3efi1wYT+niY= github.com/fasthttp/websocket v1.4.3-rc.6/go.mod h1:43W9OM2T8FeXpCWMsBd9Cb7nE2CACNqNvCqQCoty/Lc= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= @@ -2044,6 +2251,8 @@ github.com/gofiber/fiber/v2 v2.46.0 h1:wkkWotblsGVlLjXj2dpgKQAYHtXumsK/HyFugQM68 github.com/gofiber/fiber/v2 v2.46.0/go.mod h1:DNl0/c37WLe0g92U6lx1VMQuxGUQY5V7EIaVoEsUffc= github.com/gofiber/fiber/v2 v2.49.1 h1:0W2DRWevSirc8pJl4o8r8QejDR8TV6ZUCawHxwbIdOk= github.com/gofiber/fiber/v2 v2.49.1/go.mod h1:nPUeEBUeeYGgwbDm59Gp7vS8MDyScL6ezr/Np9A13WU= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/gddo v0.0.0-20210115222349-20d68f94ee1f h1:16RtHeWGkJMc80Etb8RPCcKevXGldr57+LOyZt8zOlg= @@ -2064,6 +2273,8 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U= +github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= @@ -2352,8 +2563,6 @@ github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= @@ -2483,6 +2692,8 @@ github.com/vektah/gqlparser/v2 v2.5.1/go.mod h1:mPgqFBu/woKTVYWyNk8cO3kh4S/f4aRF github.com/vektah/gqlparser/v2 v2.5.4/go.mod h1:z8xXUff237NntSuH8mLFijZ+1tjV1swDbpDqjJmk6ME= github.com/vektah/gqlparser/v2 v2.5.10/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc= github.com/vektah/gqlparser/v2 v2.5.11/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc= +github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= +github.com/vektah/gqlparser/v2 v2.5.17/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= @@ -2577,8 +2788,6 @@ go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6 go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= go.opentelemetry.io/otel/trace v1.9.0/go.mod h1:2737Q0MuG8q1uILYm2YYVkAyLtOofiTNGg6VODnOiPo= go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/AzrK+kxfGqySM= @@ -2600,8 +2809,6 @@ go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v8 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= @@ -2641,6 +2848,7 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/exp v0.0.0-20220706164943-b4a6d9510983/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -2650,6 +2858,7 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -2661,6 +2870,7 @@ golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -2848,6 +3058,8 @@ golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -2898,6 +3110,7 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= @@ -2910,12 +3123,15 @@ golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk= golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= @@ -2989,6 +3205,7 @@ google.golang.org/api v0.187.0/go.mod h1:KIHlTc4x7N7gKKuVsdmfBXN13yEEWXWFURWY6SB google.golang.org/api v0.188.0/go.mod h1:VR0d+2SIiWOYG3r/jdm7adPW9hI2aRv9ETOSCQ9Beag= google.golang.org/api v0.191.0/go.mod h1:tD5dsFGxFza0hnQveGfVk9QQYKcfp+VzgRqyXFxE0+E= google.golang.org/api v0.193.0/go.mod h1:Po3YMV1XZx+mTku3cfJrlIYR03wiGrCOsdpC67hjZvw= +google.golang.org/api v0.197.0/go.mod h1:AuOuo20GoQ331nq7DquGHlU6d+2wN2fZ8O0ta60nRNw= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= @@ -3129,6 +3346,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240617180043-68d350f18fd4/go. google.golang.org/genproto/googleapis/api v0.0.0-20240711142825-46eb208f015d/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= google.golang.org/genproto/googleapis/api v0.0.0-20240725223205-93522f1f2a9f/go.mod h1:AHT0dDg3SoMOgZGnZk29b5xTbPHMoEC8qthmBLJCpys= google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= +google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= google.golang.org/genproto/googleapis/api v0.0.0-20240827150818-7e3bb234dfed/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230629202037-9506855d4529 h1:3iZ0UBTVGPyczwi1ZR5vYcuAKxvqLY4kAAEeBJYzyvo= @@ -3143,6 +3361,8 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04 google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240903143218-8af14fe29dc1 h1:W0PHii1rtgc5UgBtJif8xGePValKeZRomnuC5hatKME= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:q0eWNnCW04EJlyrmLT+ZHsjuoUiZ36/eAEdCCezZoco= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20241015192408-796eee8c2d53 h1:mVZqGNBNN8C63iGnWgHZSGbT/vG7voylnp4atysmReg= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20241015192408-796eee8c2d53/go.mod h1:T8O3fECQbif8cez15vxAcjbwXxvL2xbnvbQ7ZfiMAMs= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= @@ -3173,7 +3393,10 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.2.1-0.20170921194603-d4b75ebd4f9f/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= @@ -3223,6 +3446,8 @@ google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjr google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= diff --git a/server/e2e/gql_field_test.go b/server/e2e/gql_field_test.go index eb69ae270a..129d6d9e11 100644 --- a/server/e2e/gql_field_test.go +++ b/server/e2e/gql_field_test.go @@ -134,6 +134,7 @@ type fIds struct { boolFId string selectFId string integerFId string + numberFId string urlFId string dateFId string tagFID string @@ -192,6 +193,16 @@ func createFieldOfEachType(t *testing.T, e *httpexpect.Expect, mId string) fIds }, }) + numberFId, _ := createField(e, mId, "number", "number", "number", + false, false, false, false, "Number", + map[string]any{ + "number": map[string]any{ + "defaultValue": nil, + "min": nil, + "max": nil, + }, + }) + urlFId, _ := createField(e, mId, "url", "url", "url", false, false, false, false, "URL", map[string]any{ @@ -202,7 +213,7 @@ func createFieldOfEachType(t *testing.T, e *httpexpect.Expect, mId string) fIds false, false, false, false, "Date", map[string]any{ "date": map[string]any{ - "defaultValue": "2024-01-01T18:06:09+09:00", + "defaultValue": nil, }, }) tagFId, _ := createField(e, mId, "tag", "tag", "m_tag", @@ -260,6 +271,7 @@ func createFieldOfEachType(t *testing.T, e *httpexpect.Expect, mId string) fIds boolFId, selectFId, integerFId, + numberFId, urlFId, dateFId, tagFId, @@ -276,6 +288,7 @@ func createFieldOfEachType(t *testing.T, e *httpexpect.Expect, mId string) fIds boolFId: boolFId, selectFId: selectFId, integerFId: integerFId, + numberFId: numberFId, urlFId: urlFId, dateFId: dateFId, tagFID: tagFId, diff --git a/server/e2e/gql_item_test.go b/server/e2e/gql_item_test.go index b1bbe7c31b..9355382081 100644 --- a/server/e2e/gql_item_test.go +++ b/server/e2e/gql_item_test.go @@ -412,7 +412,7 @@ func TestClearItemValues(t *testing.T) { }) fields := r1.Path("$.data.createItem.item.fields[:].value").Raw().([]any) assert.Equal(t, []any{ - "Text", "TextArea", "MarkdownText", aid.String(), true, "s1", float64(1), "https://www.1s.com", "2023-01-01T00:00:00Z", tagIds[0], true, "{\n\t\"type\": \"Point\",\n\t\"coordinates\": [102.0, 0.5]\n}", "{\n\t\"type\": \"Point\",\n\t\"coordinates\": [102.0, 0.5]\n}", + "Text", "TextArea", "MarkdownText", aid.String(), true, "s1", float64(1), nil, "https://www.1s.com", "2023-01-01T00:00:00Z", tagIds[0], true, "{\n\t\"type\": \"Point\",\n\t\"coordinates\": [102.0, 0.5]\n}", "{\n\t\"type\": \"Point\",\n\t\"coordinates\": [102.0, 0.5]\n}", }, fields) i1ver, _ := getItem(e, iid) _, r2 := updateItem(e, iid, i1ver, []map[string]any{ @@ -432,7 +432,7 @@ func TestClearItemValues(t *testing.T) { }) fields = r2.Path("$.data.updateItem.item.fields[:].value").Raw().([]any) assert.Equal(t, []any{ - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, }, fields) iid2, _ := createItem(e, mId, sId, nil, []map[string]any{ @@ -453,7 +453,7 @@ func TestClearItemValues(t *testing.T) { _, r3 := getItem(e, iid2) fields2 := r3.Path("$.data.node.fields[:].value").Raw().([]any) assert.Equal(t, []any{ - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, }, fields2) } diff --git a/server/e2e/gql_workspace_test.go b/server/e2e/gql_workspace_test.go index e4c0104b23..fdb4fa1fc9 100644 --- a/server/e2e/gql_workspace_test.go +++ b/server/e2e/gql_workspace_test.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "net/http" + "strings" "testing" "github.com/reearth/reearth-cms/server/internal/app" @@ -270,7 +271,8 @@ func TestRemoveUserFromWorkspace(t *testing.T) { assert.Nil(t, err) assert.True(t, w.Members().HasUser(uId3)) - query := fmt.Sprintf(`mutation { removeUserFromWorkspace(input: {workspaceId: "%s", userId: "%s"}){ workspace{ id } }}`, wId2, uId3) + uIds := accountdomain.UserIDList{uId2, uId3} + query := fmt.Sprintf(`mutation { removeMultipleMembersFromWorkspace(input: {workspaceId: "%s", userIds: ["%s"]}){ workspace{ id } }}`, wId2, strings.Join(uIds.Strings(), "\", \"")) request := GraphQLRequest{ Query: query, } diff --git a/server/e2e/integration_asset_test.go b/server/e2e/integration_asset_test.go index 44c1ab59df..1887f45870 100644 --- a/server/e2e/integration_asset_test.go +++ b/server/e2e/integration_asset_test.go @@ -2,12 +2,27 @@ package e2e import ( "net/http" + "strings" "testing" + "github.com/gavv/httpexpect/v2" "github.com/reearth/reearth-cms/server/internal/app" "github.com/reearth/reearth-cms/server/pkg/id" ) +func UploadAsset(e *httpexpect.Expect, pId string, path string, content string) *httpexpect.Value { + res := e.POST("/api/projects/{projectId}/assets", pId). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithMultipart(). + WithFile("file", path, strings.NewReader(content)). + WithForm(map[string]any{"skipDecompression": true}). + Expect(). + Status(http.StatusOK). + JSON() + + return res +} + // GET /assets/{assetId} func TestIntegrationGetAssetAPI(t *testing.T) { e := StartServer(t, &app.Config{}, true, baseSeeder) diff --git a/server/e2e/integration_item_import_test.go b/server/e2e/integration_item_import_test.go new file mode 100644 index 0000000000..839165bd55 --- /dev/null +++ b/server/e2e/integration_item_import_test.go @@ -0,0 +1,312 @@ +package e2e + +import ( + "fmt" + "net/http" + "strings" + "testing" + + "github.com/gavv/httpexpect/v2" + "github.com/reearth/reearth-cms/server/internal/app" +) + +func IntegrationModelImportMultiPart(e *httpexpect.Expect, mId string, format string, strategy string, mutateSchema bool, geometryFieldKey string, content string) *httpexpect.Value { + res := e.PUT("/api/models/{modelId}/import", mId). + WithHeader("Origin", "https://example.com"). + WithHeader("X-Reearth-Debug-User", uId1.String()). + //WithHeader("Content-Type", "multipart/form-data"). + WithMultipart(). + WithFile("file", "./test.geojson", strings.NewReader(content)). + WithFormField("format", format). + WithFormField("strategy", strategy). + WithFormField("mutateSchema", fmt.Sprintf("%t", mutateSchema)). + WithFormField("geometryFieldKey", geometryFieldKey). + Expect(). + Status(http.StatusOK). + JSON() + + return res +} + +func IntegrationModelImportJSON(e *httpexpect.Expect, mId string, assetId string, format string, strategy string, mutateSchema bool, geometryFieldKey *string) *httpexpect.Value { + res := e.PUT("/api/models/{modelId}/import", mId). + WithHeader("Origin", "https://example.com"). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithHeader("Content-Type", "application/json"). + WithJSON(map[string]any{ + "assetId": assetId, + "format": format, + "strategy": strategy, + "mutateSchema": mutateSchema, + "geometryFieldKey": geometryFieldKey, + }). + Expect(). + Status(http.StatusOK). + JSON() + + return res +} + +// POST /models/{modelId}/import //body: multipart +func TestIntegrationModelImportMultiPart(t *testing.T) { + e := StartServer(t, &app.Config{}, true, baseSeederUser) + + pId, _ := createProject(e, wId.String(), "test", "test", "test-1") + mId, _ := createModel(e, pId, "test", "test", "test-1") + fids := createFieldOfEachType(t, e, mId) + + // strategy="insert" and mutateSchema=false + fileContent1 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + res1 := IntegrationModelImportMultiPart(e, mId, "geoJson", "insert", false, fids.geometryObjectFid, fileContent1) + res1.Object().Value("modelId").String().IsEqual(mId) + res1.Object().Value("itemsCount").Number().IsEqual(1) + res1.Object().Value("insertedCount").Number().IsEqual(1) + res1.Object().Value("updatedCount").Number().IsEqual(0) + res1.Object().Value("ignoredCount").Number().IsEqual(0) + //newFields1 := res1.Object().Value("newFields").Array() + //newFields1.Length().IsEqual(1) + //field1 := newFields1.Value(0).Object() + //field1.Value("key").String().IsEqual(fids.geometryObjectFid) + items1 := IntegrationSearchItem(e, mId, 1, 10, "", "", "", nil) + items1.Object().Value("items").Array().Length().IsEqual(1) + + // // strategy="insert" and mutateSchema=true + // fileContent2 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // res2 := IntegrationModelImport(e, mId, "geoJson", "insert", true, fids.geometryObjectFid, fileContent2) + + // // strategy="update" and mutateSchema=false + // fileContent3 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // res3 := IntegrationModelImport(e, mId, "geoJson", "update", false, fids.geometryObjectFid, fileContent3) + + // // strategy="update" and mutateSchema=true + // fileContent4 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // res4 := IntegrationModelImport(e, mId, "geoJson", "update", true, fids.geometryObjectFid, fileContent4) + + // // strategy="upsert" and mutateSchema=false + // fileContent5 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // res5 := IntegrationModelImport(e, mId, "geoJson", "upsert", false, fids.geometryObjectFid, fileContent5) + + // // strategy="upsert" and mutateSchema=true + // fileContent6 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // res6 := IntegrationModelImport(e, mId, "geoJson", "upsert", true, fids.geometryObjectFid, fileContent6) +} + +// POST /models/{modelId}/import //body: json, content: geoJson +func TestIntegrationModelImportJSONWithGeoJsonInput(t *testing.T) { + e := StartServer(t, &app.Config{}, true, baseSeederUser) + + pId, _ := createProject(e, wId.String(), "test", "test", "test-1") + mId, _ := createModel(e, pId, "test", "test", "test-1") + fids := createFieldOfEachType(t, e, mId) + + // strategy="insert" and mutateSchema=false + fileContent1 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + aId := UploadAsset(e, pId, "./test1.geojson", fileContent1).Object().Value("id").String().Raw() + res := IntegrationModelImportJSON(e, mId, aId, "geoJson", "insert", false, &fids.geometryObjectFid) + res.Object().Value("modelId").String().IsEqual(mId) + res.Object().IsEqual(map[string]any{ + "modelId": mId, + "itemsCount": 1, + "insertedCount": 1, + "updatedCount": 0, + "ignoredCount": 0, + "newFields": []any{}, + }) + + obj := e.GET("/api/models/{modelId}/items", mId). + // WithHeader("authorization", "Bearer "+secret). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithQuery("page", 1). + WithQuery("perPage", 5). + Expect(). + Status(http.StatusOK). + JSON(). + Object(). + HasValue("page", 1). + HasValue("perPage", 5). + HasValue("totalCount", 1) + + a := obj.Value("items").Array() + a.Length().IsEqual(1) + i := a.Value(0).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(2) + + // // strategy="insert" and mutateSchema=true + // fileContent2 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [239.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // id2 := UploadAsset(e, pId, "./test2.geojson", fileContent2).Object().Value("id").String().Raw() + // res2 := IntegrationModelImportJSON(e, mId, id2, "geoJson", "insert", true, fids.geometryObjectFid) + + // // strategy="update" and mutateSchema=false + // fileContent3 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // id3 := UploadAsset(e, pId, "./test3.geojson", fileContent3).Object().Value("id").String().Raw() + // res3 := IntegrationModelImportJSON(e, mId, id3, "geoJson", "update", false, fids.geometryObjectFid) + + // // strategy="update" and mutateSchema=true + // fileContent4 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // id4 := UploadAsset(e, pId, "./test4.geojson", fileContent4).Object().Value("id").String().Raw() + // res4 := IntegrationModelImportJSON(e, mId, id4, "geoJson", "update", true, fids.geometryObjectFid) + + // // strategy="upsert" and mutateSchema=false + // fileContent5 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // id5 := UploadAsset(e, pId, "./test5.geojson", fileContent5).Object().Value("id").String().Raw() + // res5 := IntegrationModelImportJSON(e, mId, id5, "geoJson", "upsert", false, fids.geometryObjectFid) + + // // strategy="upsert" and mutateSchema=true + // fileContent6 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` + // id6 := UploadAsset(e, pId, "./test6.geojson", fileContent6).Object().Value("id").String().Raw() + // res6 := IntegrationModelImportJSON(e, mId, id6, "geoJson", "upsert", true, fids.geometryObjectFid) +} + +// POST /models/{modelId}/import //body: json, content: json, strategy="insert" +func TestIntegrationModelImportJSONWithJsonInput1(t *testing.T) { + e := StartServer(t, &app.Config{}, true, baseSeederUser) + + // region strategy="insert" and mutateSchema=false + pId, _ := createProject(e, wId.String(), "test", "test", "test-1") + mId, _ := createModel(e, pId, "test", "test", "test-1") + createFieldOfEachType(t, e, mId) + + jsonContent := `[{"text": "test1", "bool": true, "number": 1.1},{"text": "test2", "bool": false, "number": 2},{"text": "test3", "bool": null, "number": null}]` + aId := UploadAsset(e, pId, "./test1.json", jsonContent).Object().Value("id").String().Raw() + res := IntegrationModelImportJSON(e, mId, aId, "json", "insert", false, nil) + res.Object().IsEqual(map[string]any{ + "modelId": mId, + "itemsCount": 3, + "insertedCount": 3, + "updatedCount": 0, + "ignoredCount": 0, + "newFields": []any{}, + }) + + obj := e.GET("/api/models/{modelId}/items", mId). + // WithHeader("authorization", "Bearer "+secret). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithQuery("page", 1). + WithQuery("perPage", 5). + Expect(). + Status(http.StatusOK). + JSON(). + Object(). + HasValue("page", 1). + HasValue("perPage", 5). + HasValue("totalCount", 3) + + a := obj.Value("items").Array() + a.Length().IsEqual(3) + i := a.Value(0).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(3) + i = a.Value(1).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(3) + i = a.Value(2).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(1) + // endregion + + // region strategy="insert" and mutateSchema=true + mId, _ = createModel(e, pId, "test-2", "test-2", "test-2") + + // jsonContent = `[{"text": "test1", "bool": true, "integer": 1},{"text": "test2", "bool": false, "integer": 2}]` + // aId = UploadAsset(e, pId, "./test1.json", jsonContent).Object().Value("id").String().Raw() + res = IntegrationModelImportJSON(e, mId, aId, "json", "insert", true, nil) + res.Object().ContainsSubset(map[string]any{ + "modelId": mId, + "itemsCount": 3, + "insertedCount": 3, + "updatedCount": 0, + "ignoredCount": 0, + }) + res.Object().Value("newFields").Array().Length().IsEqual(3) + + obj = e.GET("/api/models/{modelId}/items", mId). + // WithHeader("authorization", "Bearer "+secret). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithQuery("page", 1). + WithQuery("perPage", 5). + Expect(). + Status(http.StatusOK). + JSON(). + Object(). + HasValue("page", 1). + HasValue("perPage", 5). + HasValue("totalCount", 3) + + a = obj.Value("items").Array() + a.Length().IsEqual(3) + i = a.Value(0).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(3) + i = a.Value(1).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(3) + i = a.Value(2).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(1) + // endregion +} + +// POST /models/{modelId}/import //body: json, content: json, strategy="upsert" +func TestIntegrationModelImportJSONWithJsonInput2(t *testing.T) { + e := StartServer(t, &app.Config{}, true, baseSeederUser) + + // region strategy="upsert" and mutateSchema=true + pId, _ := createProject(e, wId.String(), "test", "test", "test-1") + mId, _ := createModel(e, pId, "test", "test", "test-1") + f := createFieldOfEachType(t, e, mId) + + r := e.POST("/api/models/{modelId}/items", mId). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithJSON(map[string]interface{}{ + "fields": []interface{}{ + map[string]string{ + "id": f.textFId, + "value": "test value", + }, + }, + }). + Expect(). + Status(http.StatusOK). + JSON(). + Object() + iId := r.Value("id").String().Raw() + + jsonContent := `[{"id": "` + iId + `","text": "test1", "bool": true, "number": 1.1},{"text": "test2", "bool": false, "number": 2},{"text": "test3", "bool": null, "number": null}]` + aId := UploadAsset(e, pId, "./test1.json", jsonContent).Object().Value("id").String().Raw() + res := IntegrationModelImportJSON(e, mId, aId, "json", "upsert", true, nil) + res.Object().IsEqual(map[string]any{ + "modelId": mId, + "itemsCount": 3, + "insertedCount": 2, + "updatedCount": 1, + "ignoredCount": 0, + "newFields": []any{}, + }) + + obj := e.GET("/api/models/{modelId}/items", mId). + // WithHeader("authorization", "Bearer "+secret). + WithHeader("X-Reearth-Debug-User", uId1.String()). + WithQuery("page", 1). + WithQuery("perPage", 5). + Expect(). + Status(http.StatusOK). + JSON(). + Object(). + HasValue("page", 1). + HasValue("perPage", 5). + HasValue("totalCount", 3) + + a := obj.Value("items").Array() + a.Length().IsEqual(3) + i := a.Value(0).Object() + i.Value("id").NotNull().IsEqual(iId) + i.Value("fields").Array().Length().IsEqual(3) + i = a.Value(1).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(3) + i = a.Value(2).Object() + i.Value("id").NotNull() + i.Value("fields").Array().Length().IsEqual(1) + // endregion +} diff --git a/server/e2e/integration_item_test.go b/server/e2e/integration_item_test.go index 5b49556f5e..c48a3a3a93 100644 --- a/server/e2e/integration_item_test.go +++ b/server/e2e/integration_item_test.go @@ -5,7 +5,6 @@ import ( "fmt" "net/http" "net/url" - "strings" "testing" "time" @@ -459,56 +458,6 @@ func IntegrationItemsAsGeoJSON(e *httpexpect.Expect, mId string, page, perPage i return res } -func IntegrationModelImportMultiPart(e *httpexpect.Expect, mId string, format string, strategy string, mutateSchema bool, geometryFieldKey string, content string) *httpexpect.Value { - res := e.PUT("/api/models/{modelId}/import", mId). - WithHeader("Origin", "https://example.com"). - WithHeader("X-Reearth-Debug-User", uId1.String()). - //WithHeader("Content-Type", "multipart/form-data"). - WithMultipart(). - WithFile("file", "./test.geojson", strings.NewReader(content)). - WithFormField("format", format). - WithFormField("strategy", strategy). - WithFormField("mutateSchema", fmt.Sprintf("%t", mutateSchema)). - WithFormField("geometryFieldKey", geometryFieldKey). - Expect(). - Status(http.StatusOK). - JSON() - - return res -} - -func IntegrationModelImportJSON(e *httpexpect.Expect, mId string, assetId string, format string, strategy string, mutateSchema bool, geometryFieldKey *string) *httpexpect.Value { - res := e.PUT("/api/models/{modelId}/import", mId). - WithHeader("Origin", "https://example.com"). - WithHeader("X-Reearth-Debug-User", uId1.String()). - WithHeader("Content-Type", "application/json"). - WithJSON(map[string]any{ - "assetId": assetId, - "format": format, - "strategy": strategy, - "mutateSchema": mutateSchema, - "geometryFieldKey": geometryFieldKey, - }). - Expect(). - Status(http.StatusOK). - JSON() - - return res -} - -func UploadAsset(e *httpexpect.Expect, pId string, path string, content string) *httpexpect.Value { - res := e.POST("/api/projects/{projectId}/assets", pId). - WithHeader("X-Reearth-Debug-User", uId1.String()). - WithMultipart(). - WithFile("file", path, strings.NewReader(content)). - WithForm(map[string]any{"skipDecompression": true}). - Expect(). - Status(http.StatusOK). - JSON() - - return res -} - func IntegrationItemsWithProjectAsGeoJSON(e *httpexpect.Expect, pId string, mId string, page, perPage int) *httpexpect.Value { res := e.GET("/api/projects/{projectIdOrAlias}/models/{modelIdOrKey}/items.geojson", pId, mId). WithHeader("Origin", "https://example.com"). @@ -1331,206 +1280,6 @@ func TestIntegrationItemsAsGeoJSON(t *testing.T) { g.Value("coordinates").Array().IsEqual([]float64{139.28179282584915, 36.58570985749664}) } -// POST /models/{modelId}/import //body: multipart -func TestIntegrationModelImportMultiPart(t *testing.T) { - e := StartServer(t, &app.Config{}, true, baseSeederUser) - - pId, _ := createProject(e, wId.String(), "test", "test", "test-1") - mId, _ := createModel(e, pId, "test", "test", "test-1") - fids := createFieldOfEachType(t, e, mId) - - // strategy="insert" and mutateSchema=false - fileContent1 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - res1 := IntegrationModelImportMultiPart(e, mId, "geoJson", "insert", false, fids.geometryObjectFid, fileContent1) - res1.Object().Value("modelId").String().IsEqual(mId) - res1.Object().Value("itemsCount").Number().IsEqual(1) - res1.Object().Value("insertedCount").Number().IsEqual(1) - res1.Object().Value("updatedCount").Number().IsEqual(0) - res1.Object().Value("ignoredCount").Number().IsEqual(0) - //newFields1 := res1.Object().Value("newFields").Array() - //newFields1.Length().IsEqual(1) - //field1 := newFields1.Value(0).Object() - //field1.Value("key").String().IsEqual(fids.geometryObjectFid) - items1 := IntegrationSearchItem(e, mId, 1, 10, "", "", "", nil) - items1.Object().Value("items").Array().Length().IsEqual(1) - - // // strategy="insert" and mutateSchema=true - // fileContent2 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // res2 := IntegrationModelImport(e, mId, "geoJson", "insert", true, fids.geometryObjectFid, fileContent2) - - // // strategy="update" and mutateSchema=false - // fileContent3 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // res3 := IntegrationModelImport(e, mId, "geoJson", "update", false, fids.geometryObjectFid, fileContent3) - - // // strategy="update" and mutateSchema=true - // fileContent4 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // res4 := IntegrationModelImport(e, mId, "geoJson", "update", true, fids.geometryObjectFid, fileContent4) - - // // strategy="upsert" and mutateSchema=false - // fileContent5 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // res5 := IntegrationModelImport(e, mId, "geoJson", "upsert", false, fids.geometryObjectFid, fileContent5) - - // // strategy="upsert" and mutateSchema=true - // fileContent6 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // res6 := IntegrationModelImport(e, mId, "geoJson", "upsert", true, fids.geometryObjectFid, fileContent6) -} - -// POST /models/{modelId}/import //body: json, content: geoJson -func TestIntegrationModelImportJSONWithGeoJsonInput(t *testing.T) { - e := StartServer(t, &app.Config{}, true, baseSeederUser) - - pId, _ := createProject(e, wId.String(), "test", "test", "test-1") - mId, _ := createModel(e, pId, "test", "test", "test-1") - fids := createFieldOfEachType(t, e, mId) - - // strategy="insert" and mutateSchema=false - fileContent1 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - aId := UploadAsset(e, pId, "./test1.geojson", fileContent1).Object().Value("id").String().Raw() - res := IntegrationModelImportJSON(e, mId, aId, "geoJson", "insert", false, &fids.geometryObjectFid) - res.Object().Value("modelId").String().IsEqual(mId) - res.Object().IsEqual(map[string]any{ - "modelId": mId, - "itemsCount": 1, - "insertedCount": 1, - "updatedCount": 0, - "ignoredCount": 0, - "newFields": []any{}, - }) - - obj := e.GET("/api/models/{modelId}/items", mId). - // WithHeader("authorization", "Bearer "+secret). - WithHeader("X-Reearth-Debug-User", uId1.String()). - WithQuery("page", 1). - WithQuery("perPage", 5). - Expect(). - Status(http.StatusOK). - JSON(). - Object(). - HasValue("page", 1). - HasValue("perPage", 5). - HasValue("totalCount", 1) - - a := obj.Value("items").Array() - a.Length().IsEqual(1) - i := a.Value(0).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(2) - - // // strategy="insert" and mutateSchema=true - // fileContent2 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [239.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // id2 := UploadAsset(e, pId, "./test2.geojson", fileContent2).Object().Value("id").String().Raw() - // res2 := IntegrationModelImportJSON(e, mId, id2, "geoJson", "insert", true, fids.geometryObjectFid) - - // // strategy="update" and mutateSchema=false - // fileContent3 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // id3 := UploadAsset(e, pId, "./test3.geojson", fileContent3).Object().Value("id").String().Raw() - // res3 := IntegrationModelImportJSON(e, mId, id3, "geoJson", "update", false, fids.geometryObjectFid) - - // // strategy="update" and mutateSchema=true - // fileContent4 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // id4 := UploadAsset(e, pId, "./test4.geojson", fileContent4).Object().Value("id").String().Raw() - // res4 := IntegrationModelImportJSON(e, mId, id4, "geoJson", "update", true, fids.geometryObjectFid) - - // // strategy="upsert" and mutateSchema=false - // fileContent5 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // id5 := UploadAsset(e, pId, "./test5.geojson", fileContent5).Object().Value("id").String().Raw() - // res5 := IntegrationModelImportJSON(e, mId, id5, "geoJson", "upsert", false, fids.geometryObjectFid) - - // // strategy="upsert" and mutateSchema=true - // fileContent6 := `{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [139.28179282584915,36.58570985749664]}, "properties": {"text": "test2"}}]}` - // id6 := UploadAsset(e, pId, "./test6.geojson", fileContent6).Object().Value("id").String().Raw() - // res6 := IntegrationModelImportJSON(e, mId, id6, "geoJson", "upsert", true, fids.geometryObjectFid) -} - -// POST /models/{modelId}/import //body: json, content: json -func TestIntegrationModelImportJSONWithJsonInput(t *testing.T) { - e := StartServer(t, &app.Config{}, true, baseSeederUser) - - // region strategy="insert" and mutateSchema=false - pId, _ := createProject(e, wId.String(), "test", "test", "test-1") - mId, _ := createModel(e, pId, "test", "test", "test-1") - createFieldOfEachType(t, e, mId) - - jsonContent := `[{"text": "test1", "bool": true, "integer": 1},{"text": "test2", "bool": false, "integer": 2},{"text": "test3", "bool": null, "integer": null}]` - aId := UploadAsset(e, pId, "./test1.json", jsonContent).Object().Value("id").String().Raw() - res := IntegrationModelImportJSON(e, mId, aId, "json", "insert", false, nil) - res.Object().IsEqual(map[string]any{ - "modelId": mId, - "itemsCount": 3, - "insertedCount": 3, - "updatedCount": 0, - "ignoredCount": 0, - "newFields": []any{}, - }) - - obj := e.GET("/api/models/{modelId}/items", mId). - // WithHeader("authorization", "Bearer "+secret). - WithHeader("X-Reearth-Debug-User", uId1.String()). - WithQuery("page", 1). - WithQuery("perPage", 5). - Expect(). - Status(http.StatusOK). - JSON(). - Object(). - HasValue("page", 1). - HasValue("perPage", 5). - HasValue("totalCount", 3) - - a := obj.Value("items").Array() - a.Length().IsEqual(3) - i := a.Value(0).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(3) - i = a.Value(1).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(3) - i = a.Value(2).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(1) - // endregion - - // region strategy="insert" and mutateSchema=true - mId, _ = createModel(e, pId, "test-2", "test-2", "test-2") - - // jsonContent = `[{"text": "test1", "bool": true, "integer": 1},{"text": "test2", "bool": false, "integer": 2}]` - // aId = UploadAsset(e, pId, "./test1.json", jsonContent).Object().Value("id").String().Raw() - res = IntegrationModelImportJSON(e, mId, aId, "json", "insert", true, nil) - res.Object().ContainsSubset(map[string]any{ - "modelId": mId, - "itemsCount": 3, - "insertedCount": 3, - "updatedCount": 0, - "ignoredCount": 0, - }) - res.Object().Value("newFields").Array().Length().IsEqual(3) - - obj = e.GET("/api/models/{modelId}/items", mId). - // WithHeader("authorization", "Bearer "+secret). - WithHeader("X-Reearth-Debug-User", uId1.String()). - WithQuery("page", 1). - WithQuery("perPage", 5). - Expect(). - Status(http.StatusOK). - JSON(). - Object(). - HasValue("page", 1). - HasValue("perPage", 5). - HasValue("totalCount", 3) - - a = obj.Value("items").Array() - a.Length().IsEqual(3) - i = a.Value(0).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(3) - i = a.Value(1).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(3) - i = a.Value(2).Object() - i.Value("id").NotNull() - i.Value("fields").Array().Length().IsEqual(1) - // endregion -} - // GET /projects/{projectIdOrAlias}/models/{modelIdOrKey}/items.geojson func TestIntegrationItemsWithProjectAsGeoJSON(t *testing.T) { e := StartServer(t, &app.Config{}, true, baseSeederUser) diff --git a/server/e2e/integration_schema_test.go b/server/e2e/integration_schema_test.go index 4ba0a8ae92..04ecbf605e 100644 --- a/server/e2e/integration_schema_test.go +++ b/server/e2e/integration_schema_test.go @@ -177,6 +177,52 @@ func TestIntegrationFieldCreateAPI(t *testing.T) { res.ContainsKey("id") + res = e.GET("/api/models/{modelId}", mId1). + WithHeader("authorization", "Bearer "+secret). + Expect(). + Status(http.StatusOK). + JSON(). + Object() + + res.ContainsSubset(map[string]any{ + "name": "m1", + "id": mId1.String(), + "description": "m1 desc", + "public": true, + "key": ikey1.String(), + "projectId": pid, + "schemaId": sid1, + }) + + res.Value("createdAt").NotNull() + res.Value("updatedAt").NotNull() + res.Value("lastModified").NotNull() + resf := res.Value("schema").Object().Value("fields").Array() + resf.Length().IsEqual(3) + resf.Value(2).Object().ContainsSubset(map[string]any{ + // "id": "", // generated + "key": "テスト", + "type": "text", + "required": false, + }) + // endregion + + //region bool + res = e.POST(endpoint, sid1). + WithHeader("authorization", "Bearer "+secret). + WithJSON(map[string]interface{}{ + "key": "fKey1", + "type": "bool", + "multiple": false, + "required": false, + }). + Expect(). + Status(http.StatusOK). + JSON(). + Object() + + res.ContainsKey("id") + res = e.GET("/api/models/{modelId}", mId1). WithHeader("authorization", "Bearer "+secret). Expect(). @@ -192,18 +238,25 @@ func TestIntegrationFieldCreateAPI(t *testing.T) { HasValue("projectId", pid). HasValue("schemaId", sid1) - res.Value("schema").Object().Value("fields").Array().Length().IsEqual(3) res.Value("createdAt").NotNull() res.Value("updatedAt").NotNull() res.Value("lastModified").NotNull() + resf = res.Value("schema").Object().Value("fields").Array() + resf.Length().IsEqual(4) + resf.Value(3).Object().ContainsSubset(map[string]any{ + // "id": "", // generated + "key": "fKey1", + "type": "bool", + "required": false, + }) // endregion - //region bool + //region number res = e.POST(endpoint, sid1). WithHeader("authorization", "Bearer "+secret). WithJSON(map[string]interface{}{ - "key": "fKey1", - "type": "bool", + "key": "fKey2", + "type": "number", "multiple": false, "required": false, }). @@ -229,17 +282,24 @@ func TestIntegrationFieldCreateAPI(t *testing.T) { HasValue("projectId", pid). HasValue("schemaId", sid1) - res.Value("schema").Object().Value("fields").Array().Length().IsEqual(4) res.Value("createdAt").NotNull() res.Value("updatedAt").NotNull() res.Value("lastModified").NotNull() + resf = res.Value("schema").Object().Value("fields").Array() + resf.Length().IsEqual(5) + resf.Value(4).Object().ContainsSubset(map[string]any{ + // "id": "", // generated + "key": "fKey2", + "type": "number", + "required": false, + }) // endregion // region GeoObject res = e.POST(endpoint, sid1). WithHeader("authorization", "Bearer "+secret). WithJSON(map[string]interface{}{ - "key": "fKey2", + "key": "fKey3", "type": "geometryObject", "multiple": false, "required": false, diff --git a/server/e2e/publicapi_test.go b/server/e2e/publicapi_test.go index 93705591f1..6506b1da19 100644 --- a/server/e2e/publicapi_test.go +++ b/server/e2e/publicapi_test.go @@ -203,16 +203,42 @@ func TestPublicAPI(t *testing.T) { "error": "not found", }) + e.GET("/api/p/{project}/assets", publicAPIProjectAlias). + Expect(). + Status(http.StatusOK). + JSON(). + IsEqual(map[string]any{ + "hasMore": false, + "limit": 50, + "offset": 0, + "page": 1, + "results": []map[string]any{ + map[string]any{ + "id": publicAPIAsset1ID.String(), + "type": "asset", + "url": fmt.Sprintf("https://example.com/assets/%s/%s/aaa.zip", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), + "contentType": "application/zip", + "files": []string{ + fmt.Sprintf("https://example.com/assets/%s/%s/aaa/bbb.txt", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), + fmt.Sprintf("https://example.com/assets/%s/%s/aaa/ccc.txt", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), + }, + }, + }, + "totalCount": 1, + }) + e.GET("/api/p/{project}/assets/{assetid}", publicAPIProjectAlias, publicAPIAsset1ID). Expect(). Status(http.StatusOK). JSON(). IsEqual(map[string]any{ - "type": "asset", - "id": publicAPIAsset1ID.String(), - "url": fmt.Sprintf("https://example.com/assets/%s/%s/aaa.zip", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), + "type": "asset", + "id": publicAPIAsset1ID.String(), + "url": fmt.Sprintf("https://example.com/assets/%s/%s/aaa.zip", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), + "contentType": "application/zip", "files": []string{ fmt.Sprintf("https://example.com/assets/%s/%s/aaa/bbb.txt", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), + fmt.Sprintf("https://example.com/assets/%s/%s/aaa/ccc.txt", publicAPIAssetUUID[:2], publicAPIAssetUUID[2:]), }, }) @@ -354,7 +380,8 @@ func publicAPISeeder(ctx context.Context, r *repo.Container) error { a := asset.New().ID(publicAPIAsset1ID).Project(p1.ID()).CreatedByUser(uid).Size(1).Thread(id.NewThreadID()). FileName("aaa.zip").UUID(publicAPIAssetUUID).MustBuild() - af := asset.NewFile().Name("bbb.txt").Path("aaa/bbb.txt").Build() + c := []*asset.File{asset.NewFile().Name("bbb.txt").Path("aaa/bbb.txt").Build(), asset.NewFile().Name("ccc.txt").Path("aaa/ccc.txt").Build()} + af := asset.NewFile().Name("aaa.zip").Path("aaa.zip").ContentType("application/zip").Size(10).Children(c).Build() fid := id.NewFieldID() gst := schema.GeometryObjectSupportedTypeList{schema.GeometryObjectSupportedTypePoint, schema.GeometryObjectSupportedTypeLineString} diff --git a/server/go.mod b/server/go.mod index 4eed4501c4..49a64e9cb0 100644 --- a/server/go.mod +++ b/server/go.mod @@ -1,85 +1,94 @@ module github.com/reearth/reearth-cms/server -go 1.23.1 +go 1.23.2 require ( - cloud.google.com/go/pubsub v1.43.0 - cloud.google.com/go/storage v1.43.0 - github.com/99designs/gqlgen v0.17.54 + cloud.google.com/go/pubsub v1.45.1 + cloud.google.com/go/storage v1.45.0 + github.com/99designs/gqlgen v0.17.55 github.com/avast/retry-go/v4 v4.6.0 - github.com/aws/aws-sdk-go-v2 v1.31.0 - github.com/aws/aws-sdk-go-v2/config v1.27.38 - github.com/aws/aws-sdk-go-v2/service/s3 v1.63.2 - github.com/aws/aws-sdk-go-v2/service/sns v1.32.2 + github.com/aws/aws-sdk-go-v2 v1.32.2 + github.com/aws/aws-sdk-go-v2/config v1.28.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.66.1 + github.com/aws/aws-sdk-go-v2/service/sns v1.33.2 github.com/chrispappas/golang-generics-set v1.0.1 github.com/gavv/httpexpect/v2 v2.16.0 - github.com/getkin/kin-openapi v0.127.0 + github.com/getkin/kin-openapi v0.128.0 github.com/golang/mock v1.6.0 github.com/google/uuid v1.6.0 github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e github.com/hallazzang/echo-compose v1.0.1 github.com/jarcoal/httpmock v1.3.1 github.com/joho/godotenv v1.5.1 - github.com/k0kubun/pp/v3 v3.2.0 + github.com/k0kubun/pp/v3 v3.3.0 github.com/kelseyhightower/envconfig v1.4.0 github.com/labstack/echo/v4 v4.12.0 - github.com/oapi-codegen/oapi-codegen/v2 v2.4.0 + github.com/oapi-codegen/oapi-codegen/v2 v2.4.1 github.com/oapi-codegen/runtime v1.1.1 github.com/paulmach/go.geojson v1.5.0 github.com/ravilushqa/otelgqlgen v0.17.0 - github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b + github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3 github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68 github.com/samber/lo v1.47.0 github.com/sendgrid/sendgrid-go v3.16.0+incompatible github.com/spf13/afero v1.11.0 github.com/square/mongo-lock v0.0.0-20230808145049-cfcf499f6bf0 github.com/stretchr/testify v1.9.0 - github.com/vektah/gqlparser/v2 v2.5.16 + github.com/vektah/gqlparser/v2 v2.5.18 github.com/vikstrous/dataloadgen v0.0.6 - go.mongodb.org/mongo-driver v1.17.0 + go.mongodb.org/mongo-driver v1.17.1 go.opencensus.io v0.24.0 - go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.55.0 - go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.55.0 - golang.org/x/exp v0.0.0-20240119083558-1b970713d09a - golang.org/x/net v0.29.0 - golang.org/x/text v0.18.0 - google.golang.org/api v0.199.0 + go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.56.0 + go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.56.0 + golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c + golang.org/x/net v0.30.0 + golang.org/x/text v0.19.0 + google.golang.org/api v0.203.0 ) require ( - cloud.google.com/go v0.115.1 // indirect - cloud.google.com/go/auth v0.9.5 // indirect + cel.dev/expr v0.16.1 // indirect + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/auth v0.9.9 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect cloud.google.com/go/compute/metadata v0.5.2 // indirect - cloud.google.com/go/iam v1.2.0 // indirect - cloud.google.com/go/trace v1.11.0 // indirect + cloud.google.com/go/iam v1.2.1 // indirect + cloud.google.com/go/monitoring v1.21.1 // indirect + cloud.google.com/go/trace v1.11.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.21.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.45.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect github.com/TylerBrock/colorjson v0.0.0-20200706003622-8a50f05110d2 // indirect github.com/agnivade/levenshtein v1.1.1 // indirect github.com/ajg/form v1.5.1 // indirect github.com/andybalholm/brotli v1.1.0 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect github.com/auth0/go-jwt-middleware/v2 v2.2.1 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.5 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.36 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.41 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.18 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2 // indirect github.com/aws/aws-sdk-go-v2/service/ses v1.19.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.23.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.31.2 // indirect - github.com/aws/smithy-go v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // indirect + github.com/aws/smithy-go v1.22.0 // indirect + github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect + github.com/envoyproxy/go-control-plane v0.13.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/fatih/color v1.16.0 // indirect github.com/fatih/structs v1.1.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -106,7 +115,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/jpillora/opts v1.2.3 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/maruel/panicparse/v2 v2.3.1 // indirect @@ -121,6 +130,7 @@ require ( github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/perimeterx/marshmallow v1.1.5 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/posener/complete v1.2.3 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -148,28 +158,31 @@ require ( github.com/yudai/gojsondiff v1.0.0 // indirect github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect go.opentelemetry.io/contrib v1.29.0 // indirect + go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.30.0 // indirect - go.opentelemetry.io/otel/metric v1.30.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.30.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.27.0 // indirect - golang.org/x/mod v0.20.0 // indirect + golang.org/x/crypto v0.28.0 // indirect + golang.org/x/mod v0.21.0 // indirect golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/time v0.6.0 // indirect - golang.org/x/tools v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/time v0.7.0 // indirect + golang.org/x/tools v0.26.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/grpc v1.67.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/go-jose/go-jose.v2 v2.6.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/server/go.sum b/server/go.sum index 068375a715..128d805746 100644 --- a/server/go.sum +++ b/server/go.sum @@ -1,39 +1,45 @@ +cel.dev/expr v0.16.1 h1:NR0+oFYzR1CqLFhTAqg3ql59G9VfN8fKq1TCHJ6gq1g= +cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= -cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/auth v0.9.5 h1:4CTn43Eynw40aFVr3GpPqsQponx2jv0BQpjvajsbbzw= -cloud.google.com/go/auth v0.9.5/go.mod h1:Xo0n7n66eHyOWWCnitop6870Ilwo3PiZyodVkkH1xWM= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.9.9 h1:BmtbpNQozo8ZwW2t7QJjnrQtdganSdmqeIBxHxNkEZQ= +cloud.google.com/go/auth v0.9.9/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI= cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= -cloud.google.com/go/iam v1.2.0 h1:kZKMKVNk/IsSSc/udOb83K0hL/Yh/Gcqpz+oAkoIFN8= -cloud.google.com/go/iam v1.2.0/go.mod h1:zITGuWgsLZxd8OwAlX+eMFgZDXzBm7icj1PVTYG766Q= -cloud.google.com/go/kms v1.19.0 h1:x0OVJDl6UH1BSX4THKlMfdcFWoE4ruh90ZHuilZekrU= -cloud.google.com/go/kms v1.19.0/go.mod h1:e4imokuPJUc17Trz2s6lEXFDt8bgDmvpVynH39bdrHM= +cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU= +cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g= +cloud.google.com/go/kms v1.20.0 h1:uKUvjGqbBlI96xGE669hcVnEMw1Px/Mvfa62dhM5UrY= +cloud.google.com/go/kms v1.20.0/go.mod h1:/dMbFF1tLLFnQV44AoI2GlotbjowyUfgVwezxW291fM= cloud.google.com/go/logging v1.11.0 h1:v3ktVzXMV7CwHq1MBF65wcqLMA7i+z3YxbUsoK7mOKs= cloud.google.com/go/logging v1.11.0/go.mod h1:5LDiJC/RxTt+fHc1LAt20R9TKiUTReDg6RuuFOZ67+A= -cloud.google.com/go/longrunning v0.6.0 h1:mM1ZmaNsQsnb+5n1DNPeL0KwQd9jQRqSqSDEkBZr+aI= -cloud.google.com/go/longrunning v0.6.0/go.mod h1:uHzSZqW89h7/pasCWNYdUpwGz3PcVWhrWupreVPYLts= -cloud.google.com/go/monitoring v1.21.0 h1:EMc0tB+d3lUewT2NzKC/hr8cSR9WsUieVywzIHetGro= -cloud.google.com/go/monitoring v1.21.0/go.mod h1:tuJ+KNDdJbetSsbSGTqnaBvbauS5kr3Q/koy3Up6r+4= -cloud.google.com/go/pubsub v1.43.0 h1:s3Qx+F96J7Kwey/uVHdK3QxFLIlOvvw4SfMYw2jFjb4= -cloud.google.com/go/pubsub v1.43.0/go.mod h1:LNLfqItblovg7mHWgU5g84Vhza4J8kTxx0YqIeTzcXY= -cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs= -cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0= -cloud.google.com/go/trace v1.11.0 h1:UHX6cOJm45Zw/KIbqHe4kII8PupLt/V5tscZUkeiJVI= -cloud.google.com/go/trace v1.11.0/go.mod h1:Aiemdi52635dBR7o3zuc9lLjXo3BwGaChEjCa3tJNmM= -github.com/99designs/gqlgen v0.17.54 h1:AsF49k/7RJlwA00RQYsYN0T8cQuaosnV/7G1dHC3Uh8= -github.com/99designs/gqlgen v0.17.54/go.mod h1:77/+pVe6zlTsz++oUg2m8VLgzdUPHxjoAG3BxI5y8Rc= +cloud.google.com/go/longrunning v0.6.1 h1:lOLTFxYpr8hcRtcwWir5ITh1PAKUD/sG2lKrTSYjyMc= +cloud.google.com/go/longrunning v0.6.1/go.mod h1:nHISoOZpBcmlwbJmiVk5oDRz0qG/ZxPynEGs1iZ79s0= +cloud.google.com/go/monitoring v1.21.1 h1:zWtbIoBMnU5LP9A/fz8LmWMGHpk4skdfeiaa66QdFGc= +cloud.google.com/go/monitoring v1.21.1/go.mod h1:Rj++LKrlht9uBi8+Eb530dIrzG/cU/lB8mt+lbeFK1c= +cloud.google.com/go/pubsub v1.45.1 h1:ZC/UzYcrmK12THWn1P72z+Pnp2vu/zCZRXyhAfP1hJY= +cloud.google.com/go/pubsub v1.45.1/go.mod h1:3bn7fTmzZFwaUjllitv1WlsNMkqBgGUb3UdMhI54eCc= +cloud.google.com/go/storage v1.45.0 h1:5av0QcIVj77t+44mV4gffFC/LscFRUhto6UBMB5SimM= +cloud.google.com/go/storage v1.45.0/go.mod h1:wpPblkIuMP5jCB/E48Pz9zIo2S/zD8g+ITmxKkPCITE= +cloud.google.com/go/trace v1.11.1 h1:UNqdP+HYYtnm6lb91aNA5JQ0X14GnxkABGlfz2PzPew= +cloud.google.com/go/trace v1.11.1/go.mod h1:IQKNQuBzH72EGaXEodKlNJrWykGZxet2zgjtS60OtjA= +github.com/99designs/gqlgen v0.17.55 h1:3vzrNWYyzSZjGDFo68e5j9sSauLxfKvLp+6ioRokVtM= +github.com/99designs/gqlgen v0.17.55/go.mod h1:3Bq768f8hgVPGZxL8aY9MaYmbxa6llPM/qu1IGH1EJo= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.21.0 h1:OEgjQy1rH4Fbn5IpuI9d0uhLl+j6DkDvh9Q2Ucd6GK8= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.21.0/go.mod h1:EUfJ8lb3pjD8VasPPwqIvG2XVCE6DOT8tY5tcwbWA+A= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.45.0 h1:/BF7rO6PYcmFoyJrq6HA3LqQpFSQei9aNuO1fvV3OqU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.45.0/go.mod h1:WntFIMzxcU+PMBuekFc34UOsEZ9sP+vsnBYTyaNBkOs= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.45.0 h1:o/Nf55GfyLwGDaHkVAkRGgBXeExce73L6N9w2PZTB3k= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.45.0/go.mod h1:qkFPtMouQjW5ugdHIOthiTbweVHUTqbS0Qsu55KqXks= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/PuerkitoBio/goquery v1.9.3 h1:mpJr/ikUA9/GNJB/DBZcGeFDXUtosHRyRrwh7KGdTG0= @@ -61,48 +67,52 @@ github.com/auth0/go-jwt-middleware/v2 v2.2.1 h1:pqxEIwlCztD0T9ZygGfOrw4NK/F9iotn github.com/auth0/go-jwt-middleware/v2 v2.2.1/go.mod h1:CSi0tuu0QrALbWdiQZwqFL8SbBhj4e2MJzkvNfjY0Us= github.com/avast/retry-go/v4 v4.6.0 h1:K9xNA+KeB8HHc2aWFuLb25Offp+0iVRXEvFx8IinRJA= github.com/avast/retry-go/v4 v4.6.0/go.mod h1:gvWlPhBVsvBbLkVGDg/KwvBv0bEkCOLRRSHKIr2PyOE= -github.com/aws/aws-sdk-go-v2 v1.31.0 h1:3V05LbxTSItI5kUqNwhJrrrY1BAXxXt0sN0l72QmG5U= -github.com/aws/aws-sdk-go-v2 v1.31.0/go.mod h1:ztolYtaEUtdpf9Wftr31CJfLVjOnD/CVRkKOOYgF8hA= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.5 h1:xDAuZTn4IMm8o1LnBZvmrL8JA1io4o3YWNXgohbf20g= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.5/go.mod h1:wYSv6iDS621sEFLfKvpPE2ugjTuGlAG7iROg0hLOkfc= -github.com/aws/aws-sdk-go-v2/config v1.27.38 h1:mMVyJJuSUdbD4zKXoxDgWrgM60QwlFEg+JhihCq6wCw= -github.com/aws/aws-sdk-go-v2/config v1.27.38/go.mod h1:6xOiNEn58bj/64MPKx89r6G/el9JZn8pvVbquSqTKK4= -github.com/aws/aws-sdk-go-v2/credentials v1.17.36 h1:zwI5WrT+oWWfzSKoTNmSyeBKQhsFRJRv+PGW/UZW+Yk= -github.com/aws/aws-sdk-go-v2/credentials v1.17.36/go.mod h1:3AG/sY1rc9NJrNWcN/3KPU4SIDPGTrd/qegKB0TnFdE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14 h1:C/d03NAmh8C4BZXhuRNboF/DqhBkBCeDiJDcaqIT5pA= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14/go.mod h1:7I0Ju7p9mCIdlrfS+JCgqcYD0VXz/N4yozsox+0o078= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 h1:kYQ3H1u0ANr9KEKlGs/jTLrBFPo8P8NaH/w7A01NeeM= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18/go.mod h1:r506HmK5JDUh9+Mw4CfGJGSSoqIiLCndAuqXuhbv67Y= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 h1:Z7IdFUONvTcvS7YuhtVxN99v2cCoHRXOS4mTr0B/pUc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18/go.mod h1:DkKMmksZVVyat+Y+r1dEOgJEfUeA7UngIHWeKsi0yNc= +github.com/aws/aws-sdk-go-v2 v1.32.2 h1:AkNLZEyYMLnx/Q/mSKkcMqwNFXMAvFto9bNsHqcTduI= +github.com/aws/aws-sdk-go-v2 v1.32.2/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA= +github.com/aws/aws-sdk-go-v2/config v1.28.0 h1:FosVYWcqEtWNxHn8gB/Vs6jOlNwSoyOCA/g/sxyySOQ= +github.com/aws/aws-sdk-go-v2/config v1.28.0/go.mod h1:pYhbtvg1siOOg8h5an77rXle9tVG8T+BWLWAo7cOukc= +github.com/aws/aws-sdk-go-v2/credentials v1.17.41 h1:7gXo+Axmp+R4Z+AK8YFQO0ZV3L0gizGINCOWxSLY9W8= +github.com/aws/aws-sdk-go-v2/credentials v1.17.41/go.mod h1:u4Eb8d3394YLubphT4jLEwN1rLNq2wFOlT6OuxFwPzU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 h1:TMH3f/SCAWdNtXXVPPu5D6wrr4G5hI1rAxbcocKfC7Q= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17/go.mod h1:1ZRXLdTpzdJb9fwTMXiLipENRxkGMTn1sfKexGllQCw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 h1:UAsR3xA31QGf79WzpG/ixT9FZvQlh5HY1NRqSHBNOCk= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21/go.mod h1:JNr43NFf5L9YaG3eKTm7HQzls9J+A9YYcGI5Quh1r2Y= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 h1:6jZVETqmYCadGFvrYEQfC5fAQmlo80CeL5psbno6r0s= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21/go.mod h1:1SR0GbLlnN3QUmYaflZNiH1ql+1qrSiB2vwcJ+4UM60= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.18 h1:OWYvKL53l1rbsUmW7bQyJVsYU/Ii3bbAAQIIFNbM0Tk= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.18/go.mod h1:CUx0G1v3wG6l01tUB+j7Y8kclA8NSqK4ef0YG79a4cg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 h1:QFASJGfT8wMXtuP3D5CRmMjARHv9ZmzFUMJznHDOY3w= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5/go.mod h1:QdZ3OmoIjSX+8D1OPAzPxDfjXASbBMDsz9qvtyIhtik= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.20 h1:rTWjG6AvWekO2B1LHeM3ktU7MqyX9rzWQ7hgzneZW7E= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.20/go.mod h1:RGW2DDpVc8hu6Y6yG8G5CHVmVOAn1oV8rNKOHRJyswg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 h1:Xbwbmk44URTiHNx6PNo0ujDE6ERlsCKJD3u1zfnzAPg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20/go.mod h1:oAfOFzUB14ltPZj1rWwRc3d/6OgD76R8KlvU3EqM9Fg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.18 h1:eb+tFOIl9ZsUe2259/BKPeniKuz4/02zZFH/i4Nf8Rg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.18/go.mod h1:GVCC2IJNJTmdlyEsSmofEy7EfJncP7DNnXDzRjJ5Keg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.63.2 h1:1iXmXy8SJzQVMGvo40TSzBYS9ig6BSyXfRIMzLfmBfE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.63.2/go.mod h1:NLTqRLe3pUNu3nTEHI6XlHLKYmc8fbHUdMxAB6+s41Q= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21 h1:7edmS3VOBDhK00b/MwGtGglCm7hhwNYnjJs/PgFdMQE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21/go.mod h1:Q9o5h4HoIWG8XfzxqiuK/CGUbepCJ8uTlaE3bAbxytQ= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2 h1:4FMHqLfk0efmTqhXVRL5xYRqlEBNBiRI7N6w4jsEdd4= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2/go.mod h1:LWoqeWlK9OZeJxsROW2RqrSPvQHKTpp69r/iDjwsSaw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 h1:s7NA1SOw8q/5c0wr8477yOPp0z+uBaXBnLE0XYb0POA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2/go.mod h1:fnjjWyAW/Pj5HYOxl9LJqWtEwS7W2qgcRLWP+uWbss0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2 h1:t7iUP9+4wdc5lt3E41huP+GvQZJD38WLsgVp4iOtAjg= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2/go.mod h1:/niFCtmuQNxqx9v8WAPq5qh7EH25U4BF6tjoyq9bObM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.1 h1:MkQ4unegQEStiQYmfFj+Aq5uTp265ncSmm0XTQwDwi0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.1/go.mod h1:cB6oAuus7YXRZhWCc1wIwPywwZ1XwweNp2TVAEGYeB8= github.com/aws/aws-sdk-go-v2/service/ses v1.19.6 h1:2WWiQwUVU39kD8EGYw/sTGU+REd5Q+BFarTccU00Asc= github.com/aws/aws-sdk-go-v2/service/ses v1.19.6/go.mod h1:huHEdSNRqZOquzLTTjbBoEpoz7snBRwu2fe1dvvhZwE= -github.com/aws/aws-sdk-go-v2/service/sns v1.32.2 h1:eAySuJF6Obj1eEy9VvJ6VFfsKsLV71hR2bAv9VwVWUw= -github.com/aws/aws-sdk-go-v2/service/sns v1.32.2/go.mod h1:ZO606Jfatw51c8q29gHVVCnufg2dq3MnmkNLlTZFrkE= -github.com/aws/aws-sdk-go-v2/service/sso v1.23.2 h1:yzi/y/vKlLyzOfG7pSu5ONNGRxHIgLeDrV4w2AMRCo0= -github.com/aws/aws-sdk-go-v2/service/sso v1.23.2/go.mod h1:XRlMvmad0ZNL+75C5FYdMvbbLkd6qiqz6foR1nA1PXY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.2 h1:3gb6pYhYLjo8rB1h2Tqs61wpjRd3rQymYcVq/pp0yxI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.2/go.mod h1:FnvDM4sfa+isJ3kDXIzAB9GAwVSzFzSy97uZ3IsHo4E= -github.com/aws/aws-sdk-go-v2/service/sts v1.31.2 h1:O6tyji8mXmBGsHvTCB0VIhrDw19lGTUSbKIyjnw79s8= -github.com/aws/aws-sdk-go-v2/service/sts v1.31.2/go.mod h1:yMWe0F+XG0DkRZK5ODZhG7BEFYhLXi2dqGsv6tX0cgI= -github.com/aws/smithy-go v1.21.0 h1:H7L8dtDRk0P1Qm6y0ji7MCYMQObJ5R9CRpyPhRUkLYA= -github.com/aws/smithy-go v1.21.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.2 h1:GeVRrB1aJsGdXxdPY6VOv0SWs+pfdeDlKgiBxi0+V6I= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.2/go.mod h1:c6Sj8zleZXYs4nyU3gpDKTzPWu7+t30YUXoLYRpbUvU= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 h1:bSYXVyUzoTHoKalBmwaZxs97HU9DWWI3ehHSAMa7xOk= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.2/go.mod h1:skMqY7JElusiOUjMJMOv1jJsP7YUg7DrhgqZZWuzu1U= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 h1:AhmO1fHINP9vFYUE0LHzCWg/LfUWUF+zFPEcY9QXb7o= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2/go.mod h1:o8aQygT2+MVP0NaV6kbdE1YnnIM8RRVQzoeUH45GOdI= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ4CtM1Ll0XavNuVo= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chrispappas/golang-generics-set v1.0.1 h1:91l8cInAWTxCPwZ8UNg7qkkPsdFdkYS9hytsd8UJsIU= github.com/chrispappas/golang-generics-set v1.0.1/go.mod h1:cp8j73+rlDyFF9PrjUkrRvi8L4jSRIsRK6Q1nPPIoqo= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -110,6 +120,8 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -126,7 +138,11 @@ github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936/go.mod h1:ttYvX5ql github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= @@ -140,8 +156,8 @@ github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/gavv/httpexpect/v2 v2.16.0 h1:Ty2favARiTYTOkCRZGX7ojXXjGyNAIohM1lZ3vqaEwI= github.com/gavv/httpexpect/v2 v2.16.0/go.mod h1:uJLaO+hQ25ukBJtQi750PsztObHybNllN+t+MbbW8PY= -github.com/getkin/kin-openapi v0.127.0 h1:Mghqi3Dhryf3F8vR370nN67pAERW+3a95vomb3MAREY= -github.com/getkin/kin-openapi v0.127.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM= +github.com/getkin/kin-openapi v0.128.0 h1:jqq3D9vC9pPq1dGcOCv7yOp1DaEe7c/T1vzcLbITSp4= +github.com/getkin/kin-openapi v0.128.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -255,13 +271,13 @@ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFF github.com/jpillora/opts v1.2.3 h1:Q0YuOM7y0BlunHJ7laR1TUxkUA7xW8A2rciuZ70xs8g= github.com/jpillora/opts v1.2.3/go.mod h1:7p7X/vlpKZmtaDFYKs956EujFqA6aCrOkcCaS6UBcR4= github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= -github.com/k0kubun/pp/v3 v3.2.0 h1:h33hNTZ9nVFNP3u2Fsgz8JXiF5JINoZfFq4SvKJwNcs= -github.com/k0kubun/pp/v3 v3.2.0/go.mod h1:ODtJQbQcIRfAD3N+theGCV1m/CBxweERz2dapdz1EwA= +github.com/k0kubun/pp/v3 v3.3.0 h1:/Unrck5tDGUSjsUJsmx9GUL64pNKOY5UEdoP1F7FBq8= +github.com/k0kubun/pp/v3 v3.3.0/go.mod h1:wJadGBvcY6JKaiUkB89VzUACKDmTX1r4aQTPERpZc6w= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -310,8 +326,8 @@ github.com/nicksnyder/go-i18n/v2 v2.4.0/go.mod h1:nxYSZE9M0bf3Y70gPQjN9ha7XNHX7g github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oapi-codegen/oapi-codegen/v2 v2.4.0 h1:ewncaynfMEu6CgvhxUFsMx7y/9aXFtGVXC3eJx/lwxY= -github.com/oapi-codegen/oapi-codegen/v2 v2.4.0/go.mod h1:zerrXS/bF5RsHAGFUjfEtq5OyMjuLAeMZCb84orpd7g= +github.com/oapi-codegen/oapi-codegen/v2 v2.4.1 h1:ykgG34472DWey7TSjd8vIfNykXgjOgYJZoQbKfEeY/Q= +github.com/oapi-codegen/oapi-codegen/v2 v2.4.1/go.mod h1:N5+lY1tiTDV3V1BeHtOxeWXHoPVeApvsvjJqegfoaz8= github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro= github.com/oapi-codegen/runtime v1.1.1/go.mod h1:SK9X900oXmPWilYR5/WKPzt3Kqxn/uS/+lbpREv+eCg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= @@ -338,6 +354,8 @@ github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0V github.com/pkg/diff v0.0.0-20200914180035-5b29258ca4f7/go.mod h1:zO8QMzTeZd5cpnIkz/Gn6iK0jDfGicM1nynOkkPIl28= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -347,8 +365,8 @@ github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSg github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/ravilushqa/otelgqlgen v0.17.0 h1:bLwQfKqtj9P24QpjM2sc1ipBm5Fqv2u7DKN5LIpj3g8= github.com/ravilushqa/otelgqlgen v0.17.0/go.mod h1:orOIikuYsay1y3CmLgd5gsHcT9EsnXwNKmkAplzzYXQ= -github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b h1:wfTQ4SazfN9hYe13PqwnwB/E3Tw9+f99Y97iQRqOjso= -github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b/go.mod h1:d1WXkdCVzSoc8pl3vW9/9yKfk4fdoZQZhX8Ot8jqgnc= +github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3 h1:aFm6QNDFs08EKlrWJN9IBqdxlDUuCBIIgBIcPkLHOZY= +github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3/go.mod h1:d1WXkdCVzSoc8pl3vW9/9yKfk4fdoZQZhX8Ot8jqgnc= github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68 h1:Jknsfy5cqCH6qAuoU1qNZ51hfBJfMSJYwsH9j9mdVnw= github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68/go.mod h1:9CDhL7uDVy8vEVDNPJzxq89dPaPBWP6hxQcC8woBHus= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= @@ -409,8 +427,8 @@ github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPU github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= -github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= +github.com/vektah/gqlparser/v2 v2.5.18 h1:zSND3GtutylAQ1JpWnTHcqtaRZjl+y3NROeW8vuNo6Y= +github.com/vektah/gqlparser/v2 v2.5.18/go.mod h1:6HLzf7JKv9Fi3APymudztFQNmLXR5qJeEo6BOFcXVfc= github.com/vikstrous/dataloadgen v0.0.6 h1:A7s/fI3QNnH80CA9vdNbWK7AsbLjIxNHpZnV+VnOT1s= github.com/vikstrous/dataloadgen v0.0.6/go.mod h1:8vuQVpBH0ODbMKAPUdCAPcOGezoTIhgAjgex51t4vbg= github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk= @@ -449,34 +467,38 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t go.einride.tech/aip v0.68.0 h1:4seM66oLzTpz50u4K1zlJyOXQ3tCzcJN7I22tKkjipw= go.einride.tech/aip v0.68.0/go.mod h1:7y9FF8VtPWqpxuAxl0KQWqaULxW4zFIesD6zF5RIHHg= go.mongodb.org/mongo-driver v1.9.1/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= -go.mongodb.org/mongo-driver v1.17.0 h1:Hp4q2MCjvY19ViwimTs00wHi7G4yzxh4/2+nTx8r40k= -go.mongodb.org/mongo-driver v1.17.0/go.mod h1:wwWm/+BuOddhcq3n68LKRmgk2wXzmF6s0SFOa0GINL4= +go.mongodb.org/mongo-driver v1.17.1 h1:Wic5cJIwJgSpBhe3lx3+/RybR5PiYRMpVFgO7cOHyIM= +go.mongodb.org/mongo-driver v1.17.1/go.mod h1:wwWm/+BuOddhcq3n68LKRmgk2wXzmF6s0SFOa0GINL4= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib v1.29.0 h1:fLxD2N918DFRlES8q9iv2yE7iIFlaIMZ7ek0D6qJMqk= go.opentelemetry.io/contrib v1.29.0/go.mod h1:Tmhw9grdWtmXy6DxZNpIAudzYJqLeEM2P6QTZQSRwU8= -go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.55.0 h1:dJfUeXRQiU+7IhOeqXV7f1hJA47cCOBmCY8uyygIEZg= -go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.55.0/go.mod h1:Uk7Flfuk5HGTeggDwlwanunnSDcJydFRihfXT1Z5fEs= -go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.55.0 h1:Rsm/r0H30wFPYRe5AQLIdOP0l7aSQyc5sSjPePMCEsw= -go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.55.0/go.mod h1:BWhDEM9MUeTMB391QSC+tBQAla6qp+SeFzQI+rfS44w= +go.opentelemetry.io/contrib/detectors/gcp v1.29.0 h1:TiaiXB4DpGD3sdzNlYQxruQngn5Apwzi1X0DRhuGvDQ= +go.opentelemetry.io/contrib/detectors/gcp v1.29.0/go.mod h1:GW2aWZNwR2ZxDLdv8OyC2G8zkRoQBuURgV7RPQgcPoU= +go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.56.0 h1:INy+gB4Y1rE0gJNfjTgZBFVD4RuTV5NpRnafbwoeROU= +go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.56.0/go.mod h1:ZXC8RPcIIJTidnOto6PE5w5vPwSg6XngjBLiWlX4n2Q= +go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.56.0 h1:0//muMFitgdYATXjORDlQ3Kh3lWXyOwtyspvVP7GYd0= +go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.56.0/go.mod h1:VIpwsfJrRcV92mFyqVSpopsvxIPfArkoYMi2tNCdkXI= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.30.0 h1:vumy4r1KMyaoQRltX7cJ37p3nluzALX9nugCjNNefuY= -go.opentelemetry.io/contrib/propagators/b3 v1.30.0/go.mod h1:fRbvRsaeVZ82LIl3u0rIvusIel2UUf+JcaaIpy5taho= -go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= -go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= -go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= -go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= -go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= +go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= +go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= -go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= @@ -487,11 +509,11 @@ golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA= -golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY= +golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -499,8 +521,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= -golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= +golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -517,8 +539,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -561,8 +583,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -573,10 +595,10 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -588,34 +610,36 @@ golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= +golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= +golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/api v0.199.0 h1:aWUXClp+VFJmqE0JPvpZOK3LDQMyFKYIow4etYd9qxs= -google.golang.org/api v0.199.0/go.mod h1:ohG4qSztDJmZdjK/Ar6MhbAmb/Rpi4JHOqagsh90K28= +google.golang.org/api v0.203.0 h1:SrEeuwU3S11Wlscsn+LA1kb/Y5xT8uggJSkIhD08NAU= +google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETneT3SI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= -google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 h1:Df6WuGvthPzc+JiQ/G+m+sNX24kc0aTBqoDN/0yyykE= +google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53/go.mod h1:fheguH3Am2dGp1LfXkrvwqC/KlFq8F0nLq3LryOMrrE= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw= -google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a h1:UIpYSuWdWHSzjwcAFRLjKcPXFZVVLXGEM23W+NWqipw= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a/go.mod h1:9i1T9n4ZinTUZGgzENMi8MDDgbGC5mqTS75JAv6xN3A= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -627,8 +651,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/server/internal/adapter/gql/generated.go b/server/internal/adapter/gql/generated.go index 002574bcbe..3bb07ad41f 100644 --- a/server/internal/adapter/gql/generated.go +++ b/server/internal/adapter/gql/generated.go @@ -412,64 +412,64 @@ type ComplexityRoot struct { } Mutation struct { - AddComment func(childComplexity int, input gqlmodel.AddCommentInput) int - AddIntegrationToWorkspace func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int - AddUsersToWorkspace func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int - ApproveRequest func(childComplexity int, input gqlmodel.ApproveRequestInput) int - CreateAsset func(childComplexity int, input gqlmodel.CreateAssetInput) int - CreateAssetUpload func(childComplexity int, input gqlmodel.CreateAssetUploadInput) int - CreateField func(childComplexity int, input gqlmodel.CreateFieldInput) int - CreateGroup func(childComplexity int, input gqlmodel.CreateGroupInput) int - CreateIntegration func(childComplexity int, input gqlmodel.CreateIntegrationInput) int - CreateItem func(childComplexity int, input gqlmodel.CreateItemInput) int - CreateModel func(childComplexity int, input gqlmodel.CreateModelInput) int - CreateProject func(childComplexity int, input gqlmodel.CreateProjectInput) int - CreateRequest func(childComplexity int, input gqlmodel.CreateRequestInput) int - CreateThread func(childComplexity int, input gqlmodel.CreateThreadInput) int - CreateView func(childComplexity int, input gqlmodel.CreateViewInput) int - CreateWebhook func(childComplexity int, input gqlmodel.CreateWebhookInput) int - CreateWorkspace func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int - DecompressAsset func(childComplexity int, input gqlmodel.DecompressAssetInput) int - DeleteAsset func(childComplexity int, input gqlmodel.DeleteAssetInput) int - DeleteComment func(childComplexity int, input gqlmodel.DeleteCommentInput) int - DeleteField func(childComplexity int, input gqlmodel.DeleteFieldInput) int - DeleteGroup func(childComplexity int, input gqlmodel.DeleteGroupInput) int - DeleteIntegration func(childComplexity int, input gqlmodel.DeleteIntegrationInput) int - DeleteItem func(childComplexity int, input gqlmodel.DeleteItemInput) int - DeleteMe func(childComplexity int, input gqlmodel.DeleteMeInput) int - DeleteModel func(childComplexity int, input gqlmodel.DeleteModelInput) int - DeleteProject func(childComplexity int, input gqlmodel.DeleteProjectInput) int - DeleteRequest func(childComplexity int, input gqlmodel.DeleteRequestInput) int - DeleteView func(childComplexity int, input gqlmodel.DeleteViewInput) int - DeleteWebhook func(childComplexity int, input gqlmodel.DeleteWebhookInput) int - DeleteWorkspace func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int - PublishItem func(childComplexity int, input gqlmodel.PublishItemInput) int - PublishModel func(childComplexity int, input gqlmodel.PublishModelInput) int - RegenerateToken func(childComplexity int, input gqlmodel.RegenerateTokenInput) int - RemoveIntegrationFromWorkspace func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int - RemoveMyAuth func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int - RemoveUserFromWorkspace func(childComplexity int, input gqlmodel.RemoveUserFromWorkspaceInput) int - UnpublishItem func(childComplexity int, input gqlmodel.UnpublishItemInput) int - UpdateAsset func(childComplexity int, input gqlmodel.UpdateAssetInput) int - UpdateComment func(childComplexity int, input gqlmodel.UpdateCommentInput) int - UpdateField func(childComplexity int, input gqlmodel.UpdateFieldInput) int - UpdateFields func(childComplexity int, input []*gqlmodel.UpdateFieldInput) int - UpdateGroup func(childComplexity int, input gqlmodel.UpdateGroupInput) int - UpdateGroupsOrder func(childComplexity int, input gqlmodel.UpdateGroupsOrderInput) int - UpdateIntegration func(childComplexity int, input gqlmodel.UpdateIntegrationInput) int - UpdateIntegrationOfWorkspace func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int - UpdateItem func(childComplexity int, input gqlmodel.UpdateItemInput) int - UpdateMe func(childComplexity int, input gqlmodel.UpdateMeInput) int - UpdateModel func(childComplexity int, input gqlmodel.UpdateModelInput) int - UpdateModelsOrder func(childComplexity int, input gqlmodel.UpdateModelsOrderInput) int - UpdateProject func(childComplexity int, input gqlmodel.UpdateProjectInput) int - UpdateRequest func(childComplexity int, input gqlmodel.UpdateRequestInput) int - UpdateUserOfWorkspace func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int - UpdateView func(childComplexity int, input gqlmodel.UpdateViewInput) int - UpdateViewsOrder func(childComplexity int, input gqlmodel.UpdateViewsOrderInput) int - UpdateWebhook func(childComplexity int, input gqlmodel.UpdateWebhookInput) int - UpdateWorkspace func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int - UpdateWorkspaceSettings func(childComplexity int, input gqlmodel.UpdateWorkspaceSettingsInput) int + AddComment func(childComplexity int, input gqlmodel.AddCommentInput) int + AddIntegrationToWorkspace func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int + AddUsersToWorkspace func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int + ApproveRequest func(childComplexity int, input gqlmodel.ApproveRequestInput) int + CreateAsset func(childComplexity int, input gqlmodel.CreateAssetInput) int + CreateAssetUpload func(childComplexity int, input gqlmodel.CreateAssetUploadInput) int + CreateField func(childComplexity int, input gqlmodel.CreateFieldInput) int + CreateGroup func(childComplexity int, input gqlmodel.CreateGroupInput) int + CreateIntegration func(childComplexity int, input gqlmodel.CreateIntegrationInput) int + CreateItem func(childComplexity int, input gqlmodel.CreateItemInput) int + CreateModel func(childComplexity int, input gqlmodel.CreateModelInput) int + CreateProject func(childComplexity int, input gqlmodel.CreateProjectInput) int + CreateRequest func(childComplexity int, input gqlmodel.CreateRequestInput) int + CreateThread func(childComplexity int, input gqlmodel.CreateThreadInput) int + CreateView func(childComplexity int, input gqlmodel.CreateViewInput) int + CreateWebhook func(childComplexity int, input gqlmodel.CreateWebhookInput) int + CreateWorkspace func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int + DecompressAsset func(childComplexity int, input gqlmodel.DecompressAssetInput) int + DeleteAsset func(childComplexity int, input gqlmodel.DeleteAssetInput) int + DeleteComment func(childComplexity int, input gqlmodel.DeleteCommentInput) int + DeleteField func(childComplexity int, input gqlmodel.DeleteFieldInput) int + DeleteGroup func(childComplexity int, input gqlmodel.DeleteGroupInput) int + DeleteIntegration func(childComplexity int, input gqlmodel.DeleteIntegrationInput) int + DeleteItem func(childComplexity int, input gqlmodel.DeleteItemInput) int + DeleteMe func(childComplexity int, input gqlmodel.DeleteMeInput) int + DeleteModel func(childComplexity int, input gqlmodel.DeleteModelInput) int + DeleteProject func(childComplexity int, input gqlmodel.DeleteProjectInput) int + DeleteRequest func(childComplexity int, input gqlmodel.DeleteRequestInput) int + DeleteView func(childComplexity int, input gqlmodel.DeleteViewInput) int + DeleteWebhook func(childComplexity int, input gqlmodel.DeleteWebhookInput) int + DeleteWorkspace func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int + PublishItem func(childComplexity int, input gqlmodel.PublishItemInput) int + PublishModel func(childComplexity int, input gqlmodel.PublishModelInput) int + RegenerateToken func(childComplexity int, input gqlmodel.RegenerateTokenInput) int + RemoveIntegrationFromWorkspace func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int + RemoveMultipleMembersFromWorkspace func(childComplexity int, input gqlmodel.RemoveMultipleMembersFromWorkspaceInput) int + RemoveMyAuth func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int + UnpublishItem func(childComplexity int, input gqlmodel.UnpublishItemInput) int + UpdateAsset func(childComplexity int, input gqlmodel.UpdateAssetInput) int + UpdateComment func(childComplexity int, input gqlmodel.UpdateCommentInput) int + UpdateField func(childComplexity int, input gqlmodel.UpdateFieldInput) int + UpdateFields func(childComplexity int, input []*gqlmodel.UpdateFieldInput) int + UpdateGroup func(childComplexity int, input gqlmodel.UpdateGroupInput) int + UpdateGroupsOrder func(childComplexity int, input gqlmodel.UpdateGroupsOrderInput) int + UpdateIntegration func(childComplexity int, input gqlmodel.UpdateIntegrationInput) int + UpdateIntegrationOfWorkspace func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int + UpdateItem func(childComplexity int, input gqlmodel.UpdateItemInput) int + UpdateMe func(childComplexity int, input gqlmodel.UpdateMeInput) int + UpdateModel func(childComplexity int, input gqlmodel.UpdateModelInput) int + UpdateModelsOrder func(childComplexity int, input gqlmodel.UpdateModelsOrderInput) int + UpdateProject func(childComplexity int, input gqlmodel.UpdateProjectInput) int + UpdateRequest func(childComplexity int, input gqlmodel.UpdateRequestInput) int + UpdateUserOfWorkspace func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int + UpdateView func(childComplexity int, input gqlmodel.UpdateViewInput) int + UpdateViewsOrder func(childComplexity int, input gqlmodel.UpdateViewsOrderInput) int + UpdateWebhook func(childComplexity int, input gqlmodel.UpdateWebhookInput) int + UpdateWorkspace func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int + UpdateWorkspaceSettings func(childComplexity int, input gqlmodel.UpdateWorkspaceSettingsInput) int } NullableFieldCondition struct { @@ -563,7 +563,11 @@ type ComplexityRoot struct { View func(childComplexity int, modelID gqlmodel.ID) int } - RemoveMemberFromWorkspacePayload struct { + RemoveIntegrationFromWorkspacePayload struct { + Workspace func(childComplexity int) int + } + + RemoveMultipleMembersFromWorkspacePayload struct { Workspace func(childComplexity int) int } @@ -688,6 +692,12 @@ type ComplexityRoot struct { MaxLength func(childComplexity int) int } + SchemaFieldNumber struct { + DefaultValue func(childComplexity int) int + Max func(childComplexity int) int + Min func(childComplexity int) int + } + SchemaFieldReference struct { CorrespondingField func(childComplexity int) int CorrespondingFieldID func(childComplexity int) int @@ -985,8 +995,8 @@ type MutationResolver interface { UpdateWorkspace(ctx context.Context, input gqlmodel.UpdateWorkspaceInput) (*gqlmodel.UpdateWorkspacePayload, error) AddUsersToWorkspace(ctx context.Context, input gqlmodel.AddUsersToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error) AddIntegrationToWorkspace(ctx context.Context, input gqlmodel.AddIntegrationToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error) - RemoveUserFromWorkspace(ctx context.Context, input gqlmodel.RemoveUserFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) - RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) + RemoveMultipleMembersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleMembersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) + RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveIntegrationFromWorkspacePayload, error) UpdateUserOfWorkspace(ctx context.Context, input gqlmodel.UpdateUserOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error) UpdateIntegrationOfWorkspace(ctx context.Context, input gqlmodel.UpdateIntegrationOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error) UpdateWorkspaceSettings(ctx context.Context, input gqlmodel.UpdateWorkspaceSettingsInput) (*gqlmodel.UpdateWorkspaceSettingsPayload, error) @@ -2781,29 +2791,29 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Mutation.RemoveIntegrationFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveIntegrationFromWorkspaceInput)), true - case "Mutation.removeMyAuth": - if e.complexity.Mutation.RemoveMyAuth == nil { + case "Mutation.removeMultipleMembersFromWorkspace": + if e.complexity.Mutation.RemoveMultipleMembersFromWorkspace == nil { break } - args, err := ec.field_Mutation_removeMyAuth_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_removeMultipleMembersFromWorkspace_args(context.TODO(), rawArgs) if err != nil { return 0, false } - return e.complexity.Mutation.RemoveMyAuth(childComplexity, args["input"].(gqlmodel.RemoveMyAuthInput)), true + return e.complexity.Mutation.RemoveMultipleMembersFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveMultipleMembersFromWorkspaceInput)), true - case "Mutation.removeUserFromWorkspace": - if e.complexity.Mutation.RemoveUserFromWorkspace == nil { + case "Mutation.removeMyAuth": + if e.complexity.Mutation.RemoveMyAuth == nil { break } - args, err := ec.field_Mutation_removeUserFromWorkspace_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_removeMyAuth_args(context.TODO(), rawArgs) if err != nil { return 0, false } - return e.complexity.Mutation.RemoveUserFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveUserFromWorkspaceInput)), true + return e.complexity.Mutation.RemoveMyAuth(childComplexity, args["input"].(gqlmodel.RemoveMyAuthInput)), true case "Mutation.unpublishItem": if e.complexity.Mutation.UnpublishItem == nil { @@ -3506,12 +3516,19 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Query.View(childComplexity, args["modelId"].(gqlmodel.ID)), true - case "RemoveMemberFromWorkspacePayload.workspace": - if e.complexity.RemoveMemberFromWorkspacePayload.Workspace == nil { + case "RemoveIntegrationFromWorkspacePayload.workspace": + if e.complexity.RemoveIntegrationFromWorkspacePayload.Workspace == nil { + break + } + + return e.complexity.RemoveIntegrationFromWorkspacePayload.Workspace(childComplexity), true + + case "RemoveMultipleMembersFromWorkspacePayload.workspace": + if e.complexity.RemoveMultipleMembersFromWorkspacePayload.Workspace == nil { break } - return e.complexity.RemoveMemberFromWorkspacePayload.Workspace(childComplexity), true + return e.complexity.RemoveMultipleMembersFromWorkspacePayload.Workspace(childComplexity), true case "Request.approvedAt": if e.complexity.Request.ApprovedAt == nil { @@ -4003,6 +4020,27 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.SchemaFieldMarkdown.MaxLength(childComplexity), true + case "SchemaFieldNumber.defaultValue": + if e.complexity.SchemaFieldNumber.DefaultValue == nil { + break + } + + return e.complexity.SchemaFieldNumber.DefaultValue(childComplexity), true + + case "SchemaFieldNumber.max": + if e.complexity.SchemaFieldNumber.Max == nil { + break + } + + return e.complexity.SchemaFieldNumber.Max(childComplexity), true + + case "SchemaFieldNumber.min": + if e.complexity.SchemaFieldNumber.Min == nil { + break + } + + return e.complexity.SchemaFieldNumber.Min(childComplexity), true + case "SchemaFieldReference.correspondingField": if e.complexity.SchemaFieldReference.CorrespondingField == nil { break @@ -4744,8 +4782,8 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { ec.unmarshalInputPublishModelInput, ec.unmarshalInputRegenerateTokenInput, ec.unmarshalInputRemoveIntegrationFromWorkspaceInput, + ec.unmarshalInputRemoveMultipleMembersFromWorkspaceInput, ec.unmarshalInputRemoveMyAuthInput, - ec.unmarshalInputRemoveUserFromWorkspaceInput, ec.unmarshalInputRequestItemInput, ec.unmarshalInputResourceInput, ec.unmarshalInputResourcesListInput, @@ -4758,6 +4796,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { ec.unmarshalInputSchemaFieldGroupInput, ec.unmarshalInputSchemaFieldIntegerInput, ec.unmarshalInputSchemaFieldLineStringInput, + ec.unmarshalInputSchemaFieldNumberInput, ec.unmarshalInputSchemaFieldReferenceInput, ec.unmarshalInputSchemaFieldRichTextInput, ec.unmarshalInputSchemaFieldSelectInput, @@ -5159,6 +5198,7 @@ extend type Mutation { Select Tag Integer + Number Reference Checkbox URL @@ -5231,6 +5271,7 @@ union SchemaFieldTypeProperty = | SchemaFieldSelect | SchemaFieldTag | SchemaFieldInteger + | SchemaFieldNumber | SchemaFieldReference | SchemaFieldURL | SchemaFieldCheckbox @@ -5292,6 +5333,12 @@ type SchemaFieldInteger { max: Int } +type SchemaFieldNumber { + defaultValue: Any + min: Float + max: Float +} + type SchemaFieldReference { modelId: ID! schemaId: ID! @@ -5382,6 +5429,12 @@ input SchemaFieldIntegerInput { max: Int } +input SchemaFieldNumberInput { + defaultValue: Any + min: Float + max: Float +} + input CorrespondingFieldInput { fieldId: ID title: String! @@ -5430,6 +5483,7 @@ input SchemaFieldTypePropertyInput @onlyOne { tag: SchemaFieldTagInput checkbox: SchemaFieldCheckboxInput integer: SchemaFieldIntegerInput + number: SchemaFieldNumberInput reference: SchemaFieldReferenceInput url: SchemaFieldURLInput group: SchemaFieldGroupInput @@ -6384,6 +6438,7 @@ input CreateRequestInput { items: [RequestItemInput!]! } + input UpdateRequestInput { requestId: ID! title: String @@ -6633,9 +6688,9 @@ input AddIntegrationToWorkspaceInput { role: Role! } -input RemoveUserFromWorkspaceInput { +input RemoveMultipleMembersFromWorkspaceInput { workspaceId: ID! - userId: ID! + userIds: [ID!]! } input RemoveIntegrationFromWorkspaceInput { @@ -6673,7 +6728,11 @@ type AddUsersToWorkspacePayload { workspace: Workspace! } -type RemoveMemberFromWorkspacePayload { +type RemoveIntegrationFromWorkspacePayload { + workspace: Workspace! +} + +type RemoveMultipleMembersFromWorkspacePayload { workspace: Workspace! } @@ -6691,8 +6750,8 @@ extend type Mutation { updateWorkspace(input: UpdateWorkspaceInput!): UpdateWorkspacePayload addUsersToWorkspace(input: AddUsersToWorkspaceInput!): AddUsersToWorkspacePayload addIntegrationToWorkspace(input: AddIntegrationToWorkspaceInput!): AddUsersToWorkspacePayload - removeUserFromWorkspace(input: RemoveUserFromWorkspaceInput!): RemoveMemberFromWorkspacePayload - removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveMemberFromWorkspacePayload + removeMultipleMembersFromWorkspace(input: RemoveMultipleMembersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload + removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveIntegrationFromWorkspacePayload updateUserOfWorkspace(input: UpdateUserOfWorkspaceInput!): UpdateMemberOfWorkspacePayload updateIntegrationOfWorkspace(input: UpdateIntegrationOfWorkspaceInput!): UpdateMemberOfWorkspacePayload } @@ -7936,67 +7995,67 @@ func (ec *executionContext) field_Mutation_removeIntegrationFromWorkspace_argsIn return zeroVal, nil } -func (ec *executionContext) field_Mutation_removeMyAuth_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_removeMultipleMembersFromWorkspace_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - arg0, err := ec.field_Mutation_removeMyAuth_argsInput(ctx, rawArgs) + arg0, err := ec.field_Mutation_removeMultipleMembersFromWorkspace_argsInput(ctx, rawArgs) if err != nil { return nil, err } args["input"] = arg0 return args, nil } -func (ec *executionContext) field_Mutation_removeMyAuth_argsInput( +func (ec *executionContext) field_Mutation_removeMultipleMembersFromWorkspace_argsInput( ctx context.Context, rawArgs map[string]interface{}, -) (gqlmodel.RemoveMyAuthInput, error) { +) (gqlmodel.RemoveMultipleMembersFromWorkspaceInput, error) { // We won't call the directive if the argument is null. // Set call_argument_directives_with_null to true to call directives // even if the argument is null. _, ok := rawArgs["input"] if !ok { - var zeroVal gqlmodel.RemoveMyAuthInput + var zeroVal gqlmodel.RemoveMultipleMembersFromWorkspaceInput return zeroVal, nil } ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNRemoveMyAuthInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMyAuthInput(ctx, tmp) + return ec.unmarshalNRemoveMultipleMembersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspaceInput(ctx, tmp) } - var zeroVal gqlmodel.RemoveMyAuthInput + var zeroVal gqlmodel.RemoveMultipleMembersFromWorkspaceInput return zeroVal, nil } -func (ec *executionContext) field_Mutation_removeUserFromWorkspace_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_removeMyAuth_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - arg0, err := ec.field_Mutation_removeUserFromWorkspace_argsInput(ctx, rawArgs) + arg0, err := ec.field_Mutation_removeMyAuth_argsInput(ctx, rawArgs) if err != nil { return nil, err } args["input"] = arg0 return args, nil } -func (ec *executionContext) field_Mutation_removeUserFromWorkspace_argsInput( +func (ec *executionContext) field_Mutation_removeMyAuth_argsInput( ctx context.Context, rawArgs map[string]interface{}, -) (gqlmodel.RemoveUserFromWorkspaceInput, error) { +) (gqlmodel.RemoveMyAuthInput, error) { // We won't call the directive if the argument is null. // Set call_argument_directives_with_null to true to call directives // even if the argument is null. _, ok := rawArgs["input"] if !ok { - var zeroVal gqlmodel.RemoveUserFromWorkspaceInput + var zeroVal gqlmodel.RemoveMyAuthInput return zeroVal, nil } ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNRemoveUserFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveUserFromWorkspaceInput(ctx, tmp) + return ec.unmarshalNRemoveMyAuthInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMyAuthInput(ctx, tmp) } - var zeroVal gqlmodel.RemoveUserFromWorkspaceInput + var zeroVal gqlmodel.RemoveMyAuthInput return zeroVal, nil } @@ -22081,8 +22140,8 @@ func (ec *executionContext) fieldContext_Mutation_addIntegrationToWorkspace(ctx return fc, nil } -func (ec *executionContext) _Mutation_removeUserFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_removeUserFromWorkspace(ctx, field) +func (ec *executionContext) _Mutation_removeMultipleMembersFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_removeMultipleMembersFromWorkspace(ctx, field) if err != nil { return graphql.Null } @@ -22095,7 +22154,7 @@ func (ec *executionContext) _Mutation_removeUserFromWorkspace(ctx context.Contex }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().RemoveUserFromWorkspace(rctx, fc.Args["input"].(gqlmodel.RemoveUserFromWorkspaceInput)) + return ec.resolvers.Mutation().RemoveMultipleMembersFromWorkspace(rctx, fc.Args["input"].(gqlmodel.RemoveMultipleMembersFromWorkspaceInput)) }) if err != nil { ec.Error(ctx, err) @@ -22104,12 +22163,12 @@ func (ec *executionContext) _Mutation_removeUserFromWorkspace(ctx context.Contex if resTmp == nil { return graphql.Null } - res := resTmp.(*gqlmodel.RemoveMemberFromWorkspacePayload) + res := resTmp.(*gqlmodel.RemoveMultipleMembersFromWorkspacePayload) fc.Result = res - return ec.marshalORemoveMemberFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMemberFromWorkspacePayload(ctx, field.Selections, res) + return ec.marshalORemoveMultipleMembersFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspacePayload(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_Mutation_removeUserFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_Mutation_removeMultipleMembersFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "Mutation", Field: field, @@ -22118,9 +22177,9 @@ func (ec *executionContext) fieldContext_Mutation_removeUserFromWorkspace(ctx co Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { switch field.Name { case "workspace": - return ec.fieldContext_RemoveMemberFromWorkspacePayload_workspace(ctx, field) + return ec.fieldContext_RemoveMultipleMembersFromWorkspacePayload_workspace(ctx, field) } - return nil, fmt.Errorf("no field named %q was found under type RemoveMemberFromWorkspacePayload", field.Name) + return nil, fmt.Errorf("no field named %q was found under type RemoveMultipleMembersFromWorkspacePayload", field.Name) }, } defer func() { @@ -22130,7 +22189,7 @@ func (ec *executionContext) fieldContext_Mutation_removeUserFromWorkspace(ctx co } }() ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_removeUserFromWorkspace_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + if fc.Args, err = ec.field_Mutation_removeMultipleMembersFromWorkspace_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { ec.Error(ctx, err) return fc, err } @@ -22160,9 +22219,9 @@ func (ec *executionContext) _Mutation_removeIntegrationFromWorkspace(ctx context if resTmp == nil { return graphql.Null } - res := resTmp.(*gqlmodel.RemoveMemberFromWorkspacePayload) + res := resTmp.(*gqlmodel.RemoveIntegrationFromWorkspacePayload) fc.Result = res - return ec.marshalORemoveMemberFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMemberFromWorkspacePayload(ctx, field.Selections, res) + return ec.marshalORemoveIntegrationFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveIntegrationFromWorkspacePayload(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Mutation_removeIntegrationFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -22174,9 +22233,9 @@ func (ec *executionContext) fieldContext_Mutation_removeIntegrationFromWorkspace Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { switch field.Name { case "workspace": - return ec.fieldContext_RemoveMemberFromWorkspacePayload_workspace(ctx, field) + return ec.fieldContext_RemoveIntegrationFromWorkspacePayload_workspace(ctx, field) } - return nil, fmt.Errorf("no field named %q was found under type RemoveMemberFromWorkspacePayload", field.Name) + return nil, fmt.Errorf("no field named %q was found under type RemoveIntegrationFromWorkspacePayload", field.Name) }, } defer func() { @@ -25302,8 +25361,62 @@ func (ec *executionContext) fieldContext_Query___schema(_ context.Context, field return fc, nil } -func (ec *executionContext) _RemoveMemberFromWorkspacePayload_workspace(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.RemoveMemberFromWorkspacePayload) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_RemoveMemberFromWorkspacePayload_workspace(ctx, field) +func (ec *executionContext) _RemoveIntegrationFromWorkspacePayload_workspace(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.RemoveIntegrationFromWorkspacePayload) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_RemoveIntegrationFromWorkspacePayload_workspace(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Workspace, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*gqlmodel.Workspace) + fc.Result = res + return ec.marshalNWorkspace2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐWorkspace(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_RemoveIntegrationFromWorkspacePayload_workspace(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "RemoveIntegrationFromWorkspacePayload", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Workspace_id(ctx, field) + case "name": + return ec.fieldContext_Workspace_name(ctx, field) + case "members": + return ec.fieldContext_Workspace_members(ctx, field) + case "personal": + return ec.fieldContext_Workspace_personal(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Workspace", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _RemoveMultipleMembersFromWorkspacePayload_workspace(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_RemoveMultipleMembersFromWorkspacePayload_workspace(ctx, field) if err != nil { return graphql.Null } @@ -25333,9 +25446,9 @@ func (ec *executionContext) _RemoveMemberFromWorkspacePayload_workspace(ctx cont return ec.marshalNWorkspace2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐWorkspace(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_RemoveMemberFromWorkspacePayload_workspace(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_RemoveMultipleMembersFromWorkspacePayload_workspace(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "RemoveMemberFromWorkspacePayload", + Object: "RemoveMultipleMembersFromWorkspacePayload", Field: field, IsMethod: false, IsResolver: false, @@ -28701,6 +28814,129 @@ func (ec *executionContext) fieldContext_SchemaFieldMarkdown_maxLength(_ context return fc, nil } +func (ec *executionContext) _SchemaFieldNumber_defaultValue(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.SchemaFieldNumber) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SchemaFieldNumber_defaultValue(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DefaultValue, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(any) + fc.Result = res + return ec.marshalOAny2interface(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SchemaFieldNumber_defaultValue(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SchemaFieldNumber", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Any does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SchemaFieldNumber_min(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.SchemaFieldNumber) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SchemaFieldNumber_min(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Min, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*float64) + fc.Result = res + return ec.marshalOFloat2ᚖfloat64(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SchemaFieldNumber_min(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SchemaFieldNumber", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Float does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SchemaFieldNumber_max(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.SchemaFieldNumber) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SchemaFieldNumber_max(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Max, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*float64) + fc.Result = res + return ec.marshalOFloat2ᚖfloat64(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SchemaFieldNumber_max(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SchemaFieldNumber", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Float does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) _SchemaFieldReference_modelId(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.SchemaFieldReference) (ret graphql.Marshaler) { fc, err := ec.fieldContext_SchemaFieldReference_modelId(ctx, field) if err != nil { @@ -37687,61 +37923,61 @@ func (ec *executionContext) unmarshalInputRemoveIntegrationFromWorkspaceInput(ct return it, nil } -func (ec *executionContext) unmarshalInputRemoveMyAuthInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMyAuthInput, error) { - var it gqlmodel.RemoveMyAuthInput +func (ec *executionContext) unmarshalInputRemoveMultipleMembersFromWorkspaceInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMultipleMembersFromWorkspaceInput, error) { + var it gqlmodel.RemoveMultipleMembersFromWorkspaceInput asMap := map[string]interface{}{} for k, v := range obj.(map[string]interface{}) { asMap[k] = v } - fieldsInOrder := [...]string{"auth"} + fieldsInOrder := [...]string{"workspaceId", "userIds"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { continue } switch k { - case "auth": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("auth")) - data, err := ec.unmarshalNString2string(ctx, v) + case "workspaceId": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("workspaceId")) + data, err := ec.unmarshalNID2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐID(ctx, v) if err != nil { return it, err } - it.Auth = data + it.WorkspaceID = data + case "userIds": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) + data, err := ec.unmarshalNID2ᚕgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐIDᚄ(ctx, v) + if err != nil { + return it, err + } + it.UserIds = data } } return it, nil } -func (ec *executionContext) unmarshalInputRemoveUserFromWorkspaceInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveUserFromWorkspaceInput, error) { - var it gqlmodel.RemoveUserFromWorkspaceInput +func (ec *executionContext) unmarshalInputRemoveMyAuthInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMyAuthInput, error) { + var it gqlmodel.RemoveMyAuthInput asMap := map[string]interface{}{} for k, v := range obj.(map[string]interface{}) { asMap[k] = v } - fieldsInOrder := [...]string{"workspaceId", "userId"} + fieldsInOrder := [...]string{"auth"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { continue } switch k { - case "workspaceId": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("workspaceId")) - data, err := ec.unmarshalNID2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐID(ctx, v) - if err != nil { - return it, err - } - it.WorkspaceID = data - case "userId": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - data, err := ec.unmarshalNID2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐID(ctx, v) + case "auth": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("auth")) + data, err := ec.unmarshalNString2string(ctx, v) if err != nil { return it, err } - it.UserID = data + it.Auth = data } } @@ -38185,6 +38421,47 @@ func (ec *executionContext) unmarshalInputSchemaFieldLineStringInput(ctx context return it, nil } +func (ec *executionContext) unmarshalInputSchemaFieldNumberInput(ctx context.Context, obj interface{}) (gqlmodel.SchemaFieldNumberInput, error) { + var it gqlmodel.SchemaFieldNumberInput + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"defaultValue", "min", "max"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "defaultValue": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("defaultValue")) + data, err := ec.unmarshalOAny2interface(ctx, v) + if err != nil { + return it, err + } + it.DefaultValue = data + case "min": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("min")) + data, err := ec.unmarshalOFloat2ᚖfloat64(ctx, v) + if err != nil { + return it, err + } + it.Min = data + case "max": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("max")) + data, err := ec.unmarshalOFloat2ᚖfloat64(ctx, v) + if err != nil { + return it, err + } + it.Max = data + } + } + + return it, nil +} + func (ec *executionContext) unmarshalInputSchemaFieldReferenceInput(ctx context.Context, obj interface{}) (gqlmodel.SchemaFieldReferenceInput, error) { var it gqlmodel.SchemaFieldReferenceInput asMap := map[string]interface{}{} @@ -38444,7 +38721,7 @@ func (ec *executionContext) unmarshalInputSchemaFieldTypePropertyInput(ctx conte asMap[k] = v } - fieldsInOrder := [...]string{"text", "textArea", "richText", "markdownText", "asset", "date", "bool", "select", "tag", "checkbox", "integer", "reference", "url", "group", "geometryObject", "geometryEditor"} + fieldsInOrder := [...]string{"text", "textArea", "richText", "markdownText", "asset", "date", "bool", "select", "tag", "checkbox", "integer", "number", "reference", "url", "group", "geometryObject", "geometryEditor"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -38737,6 +39014,32 @@ func (ec *executionContext) unmarshalInputSchemaFieldTypePropertyInput(ctx conte err := fmt.Errorf(`unexpected type %T from directive, should be *github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel.SchemaFieldIntegerInput`, tmp) return it, graphql.ErrorOnPath(ctx, err) } + case "number": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("number")) + directive0 := func(ctx context.Context) (interface{}, error) { + return ec.unmarshalOSchemaFieldNumberInput2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐSchemaFieldNumberInput(ctx, v) + } + + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.OnlyOne == nil { + var zeroVal *gqlmodel.SchemaFieldNumberInput + return zeroVal, errors.New("directive onlyOne is not implemented") + } + return ec.directives.OnlyOne(ctx, obj, directive0) + } + + tmp, err := directive1(ctx) + if err != nil { + return it, graphql.ErrorOnPath(ctx, err) + } + if data, ok := tmp.(*gqlmodel.SchemaFieldNumberInput); ok { + it.Number = data + } else if tmp == nil { + it.Number = nil + } else { + err := fmt.Errorf(`unexpected type %T from directive, should be *github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel.SchemaFieldNumberInput`, tmp) + return it, graphql.ErrorOnPath(ctx, err) + } case "reference": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("reference")) directive0 := func(ctx context.Context) (interface{}, error) { @@ -40644,6 +40947,13 @@ func (ec *executionContext) _SchemaFieldTypeProperty(ctx context.Context, sel as return graphql.Null } return ec._SchemaFieldInteger(ctx, sel, obj) + case gqlmodel.SchemaFieldNumber: + return ec._SchemaFieldNumber(ctx, sel, &obj) + case *gqlmodel.SchemaFieldNumber: + if obj == nil { + return graphql.Null + } + return ec._SchemaFieldNumber(ctx, sel, obj) case gqlmodel.SchemaFieldReference: return ec._SchemaFieldReference(ctx, sel, &obj) case *gqlmodel.SchemaFieldReference: @@ -44374,9 +44684,9 @@ func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { return ec._Mutation_addIntegrationToWorkspace(ctx, field) }) - case "removeUserFromWorkspace": + case "removeMultipleMembersFromWorkspace": out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_removeUserFromWorkspace(ctx, field) + return ec._Mutation_removeMultipleMembersFromWorkspace(ctx, field) }) case "removeIntegrationFromWorkspace": out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { @@ -45445,19 +45755,58 @@ func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) gr return out } -var removeMemberFromWorkspacePayloadImplementors = []string{"RemoveMemberFromWorkspacePayload"} +var removeIntegrationFromWorkspacePayloadImplementors = []string{"RemoveIntegrationFromWorkspacePayload"} -func (ec *executionContext) _RemoveMemberFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.RemoveMemberFromWorkspacePayload) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, removeMemberFromWorkspacePayloadImplementors) +func (ec *executionContext) _RemoveIntegrationFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.RemoveIntegrationFromWorkspacePayload) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, removeIntegrationFromWorkspacePayloadImplementors) out := graphql.NewFieldSet(fields) deferred := make(map[string]*graphql.FieldSet) for i, field := range fields { switch field.Name { case "__typename": - out.Values[i] = graphql.MarshalString("RemoveMemberFromWorkspacePayload") + out.Values[i] = graphql.MarshalString("RemoveIntegrationFromWorkspacePayload") case "workspace": - out.Values[i] = ec._RemoveMemberFromWorkspacePayload_workspace(ctx, field, obj) + out.Values[i] = ec._RemoveIntegrationFromWorkspacePayload_workspace(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var removeMultipleMembersFromWorkspacePayloadImplementors = []string{"RemoveMultipleMembersFromWorkspacePayload"} + +func (ec *executionContext) _RemoveMultipleMembersFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, removeMultipleMembersFromWorkspacePayloadImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("RemoveMultipleMembersFromWorkspacePayload") + case "workspace": + out.Values[i] = ec._RemoveMultipleMembersFromWorkspacePayload_workspace(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } @@ -46592,6 +46941,46 @@ func (ec *executionContext) _SchemaFieldMarkdown(ctx context.Context, sel ast.Se return out } +var schemaFieldNumberImplementors = []string{"SchemaFieldNumber", "SchemaFieldTypeProperty"} + +func (ec *executionContext) _SchemaFieldNumber(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.SchemaFieldNumber) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, schemaFieldNumberImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SchemaFieldNumber") + case "defaultValue": + out.Values[i] = ec._SchemaFieldNumber_defaultValue(ctx, field, obj) + case "min": + out.Values[i] = ec._SchemaFieldNumber_min(ctx, field, obj) + case "max": + out.Values[i] = ec._SchemaFieldNumber_max(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + var schemaFieldReferenceImplementors = []string{"SchemaFieldReference", "SchemaFieldTypeProperty"} func (ec *executionContext) _SchemaFieldReference(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.SchemaFieldReference) graphql.Marshaler { @@ -50345,13 +50734,13 @@ func (ec *executionContext) unmarshalNRemoveIntegrationFromWorkspaceInput2github return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNRemoveMyAuthInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMyAuthInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMyAuthInput, error) { - res, err := ec.unmarshalInputRemoveMyAuthInput(ctx, v) +func (ec *executionContext) unmarshalNRemoveMultipleMembersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspaceInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMultipleMembersFromWorkspaceInput, error) { + res, err := ec.unmarshalInputRemoveMultipleMembersFromWorkspaceInput(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNRemoveUserFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveUserFromWorkspaceInput(ctx context.Context, v interface{}) (gqlmodel.RemoveUserFromWorkspaceInput, error) { - res, err := ec.unmarshalInputRemoveUserFromWorkspaceInput(ctx, v) +func (ec *executionContext) unmarshalNRemoveMyAuthInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMyAuthInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMyAuthInput, error) { + res, err := ec.unmarshalInputRemoveMyAuthInput(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } @@ -52132,6 +52521,22 @@ func (ec *executionContext) marshalOFieldsPayload2ᚖgithubᚗcomᚋreearthᚋre return ec._FieldsPayload(ctx, sel, v) } +func (ec *executionContext) unmarshalOFloat2ᚖfloat64(ctx context.Context, v interface{}) (*float64, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalFloatContext(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOFloat2ᚖfloat64(ctx context.Context, sel ast.SelectionSet, v *float64) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalFloatContext(*v) + return graphql.WrapContextMarshaler(ctx, res) +} + func (ec *executionContext) marshalOGroup2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐGroup(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.Group) graphql.Marshaler { if v == nil { return graphql.Null @@ -52518,11 +52923,18 @@ func (ec *executionContext) marshalOPublishModelPayload2ᚖgithubᚗcomᚋreeart return ec._PublishModelPayload(ctx, sel, v) } -func (ec *executionContext) marshalORemoveMemberFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMemberFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveMemberFromWorkspacePayload) graphql.Marshaler { +func (ec *executionContext) marshalORemoveIntegrationFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveIntegrationFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveIntegrationFromWorkspacePayload) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._RemoveIntegrationFromWorkspacePayload(ctx, sel, v) +} + +func (ec *executionContext) marshalORemoveMultipleMembersFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) graphql.Marshaler { if v == nil { return graphql.Null } - return ec._RemoveMemberFromWorkspacePayload(ctx, sel, v) + return ec._RemoveMultipleMembersFromWorkspacePayload(ctx, sel, v) } func (ec *executionContext) marshalORequest2ᚕᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRequestᚄ(ctx context.Context, sel ast.SelectionSet, v []*gqlmodel.Request) graphql.Marshaler { @@ -52849,6 +53261,14 @@ func (ec *executionContext) unmarshalOSchemaFieldIntegerInput2ᚖgithubᚗcomᚋ return &res, graphql.ErrorOnPath(ctx, err) } +func (ec *executionContext) unmarshalOSchemaFieldNumberInput2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐSchemaFieldNumberInput(ctx context.Context, v interface{}) (*gqlmodel.SchemaFieldNumberInput, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputSchemaFieldNumberInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + func (ec *executionContext) unmarshalOSchemaFieldReferenceInput2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐSchemaFieldReferenceInput(ctx context.Context, v interface{}) (*gqlmodel.SchemaFieldReferenceInput, error) { if v == nil { return nil, nil diff --git a/server/internal/adapter/gql/gqlmodel/convert_schema.go b/server/internal/adapter/gql/gqlmodel/convert_schema.go index f3d5312ad0..4e8db4e0e2 100644 --- a/server/internal/adapter/gql/gqlmodel/convert_schema.go +++ b/server/internal/adapter/gql/gqlmodel/convert_schema.go @@ -9,7 +9,6 @@ import ( "github.com/reearth/reearth-cms/server/pkg/value" "github.com/reearth/reearthx/i18n" "github.com/reearth/reearthx/rerror" - "github.com/reearth/reearthx/util" "github.com/samber/lo" ) @@ -268,10 +267,10 @@ func ToSchemaFieldTypeProperty(tp *schema.TypeProperty, dv *value.Multiple, mult v, _ = dv.First().ValueNumber() } } - res = &SchemaFieldInteger{ + res = &SchemaFieldNumber{ DefaultValue: v, - Min: util.ToPtrIfNotEmpty(int(lo.FromPtr(f.Min()))), - Max: util.ToPtrIfNotEmpty(int(lo.FromPtr(f.Max()))), + Min: f.Min(), + Max: f.Max(), } }, Integer: func(f *schema.FieldInteger) { @@ -285,8 +284,8 @@ func ToSchemaFieldTypeProperty(tp *schema.TypeProperty, dv *value.Multiple, mult } res = &SchemaFieldInteger{ DefaultValue: v, - Min: util.ToPtrIfNotEmpty(int(lo.FromPtr(f.Min()))), - Max: util.ToPtrIfNotEmpty(int(lo.FromPtr(f.Max()))), + Min: intPtr(f.Min()), + Max: intPtr(f.Max()), } }, Reference: func(f *schema.FieldReference) { @@ -556,6 +555,28 @@ func FromSchemaTypeProperty(tp *SchemaFieldTypePropertyInput, t SchemaFieldType, err = err2 } tpRes = tpi.TypeProperty() + case SchemaFieldTypeNumber: + x := tp.Number + if x == nil { + return nil, nil, ErrInvalidTypeProperty + } + if multiple { + dv = value.NewMultiple(value.TypeNumber, unpackArray(x.DefaultValue)) + } else { + dv = FromValue(SchemaFieldTypeNumber, x.DefaultValue).AsMultiple() + } + var min, max *float64 + if x.Min != nil { + min = lo.ToPtr(float64(*x.Min)) + } + if x.Max != nil { + max = lo.ToPtr(float64(*x.Max)) + } + tpi, err2 := schema.NewNumber(min, max) + if err2 != nil { + err = err2 + } + tpRes = tpi.TypeProperty() case SchemaFieldTypeReference: x := tp.Reference if x == nil { @@ -651,3 +672,10 @@ func unpackArray(s any) []any { } return r } + +func intPtr(v *int64) *int { + if v == nil { + return nil + } + return lo.ToPtr((int)(*v)) +} diff --git a/server/internal/adapter/gql/gqlmodel/convert_value.go b/server/internal/adapter/gql/gqlmodel/convert_value.go index 0af3e03311..00c6f69df6 100644 --- a/server/internal/adapter/gql/gqlmodel/convert_value.go +++ b/server/internal/adapter/gql/gqlmodel/convert_value.go @@ -25,7 +25,7 @@ func ToValueType(t value.Type) SchemaFieldType { case value.TypeSelect: return SchemaFieldTypeSelect case value.TypeNumber: - return SchemaFieldTypeInteger + return SchemaFieldTypeNumber case value.TypeInteger: return SchemaFieldTypeInteger case value.TypeReference: @@ -69,6 +69,8 @@ func FromValueType(t SchemaFieldType) value.Type { return value.TypeCheckbox case SchemaFieldTypeInteger: return value.TypeInteger + case SchemaFieldTypeNumber: + return value.TypeNumber case SchemaFieldTypeReference: return value.TypeReference case SchemaFieldTypeURL: diff --git a/server/internal/adapter/gql/gqlmodel/models_gen.go b/server/internal/adapter/gql/gqlmodel/models_gen.go index c584fef548..dae2e37e5f 100644 --- a/server/internal/adapter/gql/gqlmodel/models_gen.go +++ b/server/internal/adapter/gql/gqlmodel/models_gen.go @@ -816,17 +816,21 @@ type RemoveIntegrationFromWorkspaceInput struct { IntegrationID ID `json:"integrationId"` } -type RemoveMemberFromWorkspacePayload struct { +type RemoveIntegrationFromWorkspacePayload struct { Workspace *Workspace `json:"workspace"` } -type RemoveMyAuthInput struct { - Auth string `json:"auth"` +type RemoveMultipleMembersFromWorkspaceInput struct { + WorkspaceID ID `json:"workspaceId"` + UserIds []ID `json:"userIds"` } -type RemoveUserFromWorkspaceInput struct { - WorkspaceID ID `json:"workspaceId"` - UserID ID `json:"userId"` +type RemoveMultipleMembersFromWorkspacePayload struct { + Workspace *Workspace `json:"workspace"` +} + +type RemoveMyAuthInput struct { + Auth string `json:"auth"` } type Request struct { @@ -1030,6 +1034,20 @@ type SchemaFieldMarkdown struct { func (SchemaFieldMarkdown) IsSchemaFieldTypeProperty() {} +type SchemaFieldNumber struct { + DefaultValue any `json:"defaultValue,omitempty"` + Min *float64 `json:"min,omitempty"` + Max *float64 `json:"max,omitempty"` +} + +func (SchemaFieldNumber) IsSchemaFieldTypeProperty() {} + +type SchemaFieldNumberInput struct { + DefaultValue any `json:"defaultValue,omitempty"` + Min *float64 `json:"min,omitempty"` + Max *float64 `json:"max,omitempty"` +} + type SchemaFieldReference struct { ModelID ID `json:"modelId"` SchemaID ID `json:"schemaId"` @@ -1130,6 +1148,7 @@ type SchemaFieldTypePropertyInput struct { Tag *SchemaFieldTagInput `json:"tag,omitempty"` Checkbox *SchemaFieldCheckboxInput `json:"checkbox,omitempty"` Integer *SchemaFieldIntegerInput `json:"integer,omitempty"` + Number *SchemaFieldNumberInput `json:"number,omitempty"` Reference *SchemaFieldReferenceInput `json:"reference,omitempty"` URL *SchemaFieldURLInput `json:"url,omitempty"` Group *SchemaFieldGroupInput `json:"group,omitempty"` @@ -2430,6 +2449,7 @@ const ( SchemaFieldTypeSelect SchemaFieldType = "Select" SchemaFieldTypeTag SchemaFieldType = "Tag" SchemaFieldTypeInteger SchemaFieldType = "Integer" + SchemaFieldTypeNumber SchemaFieldType = "Number" SchemaFieldTypeReference SchemaFieldType = "Reference" SchemaFieldTypeCheckbox SchemaFieldType = "Checkbox" SchemaFieldTypeURL SchemaFieldType = "URL" @@ -2449,6 +2469,7 @@ var AllSchemaFieldType = []SchemaFieldType{ SchemaFieldTypeSelect, SchemaFieldTypeTag, SchemaFieldTypeInteger, + SchemaFieldTypeNumber, SchemaFieldTypeReference, SchemaFieldTypeCheckbox, SchemaFieldTypeURL, @@ -2459,7 +2480,7 @@ var AllSchemaFieldType = []SchemaFieldType{ func (e SchemaFieldType) IsValid() bool { switch e { - case SchemaFieldTypeText, SchemaFieldTypeTextArea, SchemaFieldTypeRichText, SchemaFieldTypeMarkdownText, SchemaFieldTypeAsset, SchemaFieldTypeDate, SchemaFieldTypeBool, SchemaFieldTypeSelect, SchemaFieldTypeTag, SchemaFieldTypeInteger, SchemaFieldTypeReference, SchemaFieldTypeCheckbox, SchemaFieldTypeURL, SchemaFieldTypeGroup, SchemaFieldTypeGeometryObject, SchemaFieldTypeGeometryEditor: + case SchemaFieldTypeText, SchemaFieldTypeTextArea, SchemaFieldTypeRichText, SchemaFieldTypeMarkdownText, SchemaFieldTypeAsset, SchemaFieldTypeDate, SchemaFieldTypeBool, SchemaFieldTypeSelect, SchemaFieldTypeTag, SchemaFieldTypeInteger, SchemaFieldTypeNumber, SchemaFieldTypeReference, SchemaFieldTypeCheckbox, SchemaFieldTypeURL, SchemaFieldTypeGroup, SchemaFieldTypeGeometryObject, SchemaFieldTypeGeometryEditor: return true } return false diff --git a/server/internal/adapter/gql/resolver__shared.go b/server/internal/adapter/gql/resolver__shared.go index 17de9da9a4..5f9d93e864 100644 --- a/server/internal/adapter/gql/resolver__shared.go +++ b/server/internal/adapter/gql/resolver__shared.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_asset.go b/server/internal/adapter/gql/resolver_asset.go index dec39beaae..5c797141e6 100644 --- a/server/internal/adapter/gql/resolver_asset.go +++ b/server/internal/adapter/gql/resolver_asset.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_field.go b/server/internal/adapter/gql/resolver_field.go index 1a7b31a728..6a8bc7d8ee 100644 --- a/server/internal/adapter/gql/resolver_field.go +++ b/server/internal/adapter/gql/resolver_field.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_group.go b/server/internal/adapter/gql/resolver_group.go index 04e068df47..fbe2fa4d77 100644 --- a/server/internal/adapter/gql/resolver_group.go +++ b/server/internal/adapter/gql/resolver_group.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_integration.go b/server/internal/adapter/gql/resolver_integration.go index 91276e8e07..850c079b3a 100644 --- a/server/internal/adapter/gql/resolver_integration.go +++ b/server/internal/adapter/gql/resolver_integration.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_integration_webhook.go b/server/internal/adapter/gql/resolver_integration_webhook.go index 982e5e2ef3..6976cde424 100644 --- a/server/internal/adapter/gql/resolver_integration_webhook.go +++ b/server/internal/adapter/gql/resolver_integration_webhook.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_item.go b/server/internal/adapter/gql/resolver_item.go index 2689dac32d..20f03d169d 100644 --- a/server/internal/adapter/gql/resolver_item.go +++ b/server/internal/adapter/gql/resolver_item.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_item_view.go b/server/internal/adapter/gql/resolver_item_view.go index a26c6762e6..cc424d460c 100644 --- a/server/internal/adapter/gql/resolver_item_view.go +++ b/server/internal/adapter/gql/resolver_item_view.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_model.go b/server/internal/adapter/gql/resolver_model.go index 54b46a3cf5..ef6233863d 100644 --- a/server/internal/adapter/gql/resolver_model.go +++ b/server/internal/adapter/gql/resolver_model.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_project.go b/server/internal/adapter/gql/resolver_project.go index 554613f193..3cb3fa9c1a 100644 --- a/server/internal/adapter/gql/resolver_project.go +++ b/server/internal/adapter/gql/resolver_project.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_request.go b/server/internal/adapter/gql/resolver_request.go index 17c115c3c2..c002a5040c 100644 --- a/server/internal/adapter/gql/resolver_request.go +++ b/server/internal/adapter/gql/resolver_request.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_schema.go b/server/internal/adapter/gql/resolver_schema.go index 299c4062d1..db044a8091 100644 --- a/server/internal/adapter/gql/resolver_schema.go +++ b/server/internal/adapter/gql/resolver_schema.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_thread.go b/server/internal/adapter/gql/resolver_thread.go index 1bca1c712c..033b64bd9e 100644 --- a/server/internal/adapter/gql/resolver_thread.go +++ b/server/internal/adapter/gql/resolver_thread.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_user.go b/server/internal/adapter/gql/resolver_user.go index 905ae3c283..fdf0da64b4 100644 --- a/server/internal/adapter/gql/resolver_user.go +++ b/server/internal/adapter/gql/resolver_user.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/gql/resolver_workspace.go b/server/internal/adapter/gql/resolver_workspace.go index 9770358e6d..ae3e14c4c4 100644 --- a/server/internal/adapter/gql/resolver_workspace.go +++ b/server/internal/adapter/gql/resolver_workspace.go @@ -2,15 +2,18 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" + "errors" "github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" "github.com/reearth/reearthx/account/accountdomain" "github.com/reearth/reearthx/account/accountdomain/workspace" + "github.com/reearth/reearthx/rerror" + "github.com/reearth/reearthx/util" ) // CreateWorkspace is the resolver for the createWorkspace field. @@ -37,9 +40,8 @@ func (r *mutationResolver) DeleteWorkspace(ctx context.Context, input gqlmodel.D return nil, err } - if err := usecases(ctx).WorkspaceSettings.Delete(ctx, interfaces.DeleteWorkspaceSettingsParam{ - ID: wid, - }, getOperator(ctx)); err != nil { + err = usecases(ctx).WorkspaceSettings.Delete(ctx, interfaces.DeleteWorkspaceSettingsParam{ID: wid}, getOperator(ctx)) + if err != nil && !errors.Is(err, rerror.ErrNotFound) { return nil, err } @@ -102,23 +104,28 @@ func (r *mutationResolver) AddIntegrationToWorkspace(ctx context.Context, input return &gqlmodel.AddUsersToWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } -// RemoveUserFromWorkspace is the resolver for the removeUserFromWorkspace field. -func (r *mutationResolver) RemoveUserFromWorkspace(ctx context.Context, input gqlmodel.RemoveUserFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) { - tid, uid, err := gqlmodel.ToID2[accountdomain.Workspace, accountdomain.User](input.WorkspaceID, input.UserID) +// RemoveMultipleUsersFromWorkspace is the resolver for the removeMultipleUsersFromWorkspace field. +func (r *mutationResolver) RemoveMultipleMembersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleMembersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) { + wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) + if err != nil { + return nil, err + } + + userIds, err := util.TryMap(input.UserIds, gqlmodel.ToID[accountdomain.User]) if err != nil { return nil, err } - res, err := usecases(ctx).Workspace.RemoveUserMember(ctx, tid, uid, getAcOperator(ctx)) + res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) if err != nil { return nil, err } - return &gqlmodel.RemoveMemberFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil + return &gqlmodel.RemoveMultipleMembersFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } // RemoveIntegrationFromWorkspace is the resolver for the removeIntegrationFromWorkspace field. -func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) { +func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveIntegrationFromWorkspacePayload, error) { wId, iId, err := gqlmodel.ToID2[accountdomain.Workspace, accountdomain.Integration](input.WorkspaceID, input.IntegrationID) if err != nil { return nil, err @@ -129,7 +136,7 @@ func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, i return nil, err } - return &gqlmodel.RemoveMemberFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil + return &gqlmodel.RemoveIntegrationFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } // UpdateUserOfWorkspace is the resolver for the updateUserOfWorkspace field. diff --git a/server/internal/adapter/gql/resolver_workspacesettings.go b/server/internal/adapter/gql/resolver_workspacesettings.go index 2c3b3fe4c8..6df5609244 100644 --- a/server/internal/adapter/gql/resolver_workspacesettings.go +++ b/server/internal/adapter/gql/resolver_workspacesettings.go @@ -2,7 +2,7 @@ package gql // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. -// Code generated by github.com/99designs/gqlgen version v0.17.54 +// Code generated by github.com/99designs/gqlgen version v0.17.55 import ( "context" diff --git a/server/internal/adapter/integration/item_import.go b/server/internal/adapter/integration/item_import.go index 029656cf91..8f0f3ebc7b 100644 --- a/server/internal/adapter/integration/item_import.go +++ b/server/internal/adapter/integration/item_import.go @@ -166,8 +166,18 @@ func itemsFromJson(r io.Reader, isGeoJson bool, geoField *string, sp schema.Pack fields := make([]interfaces.CreateFieldParam, 0) for _, o := range jsonObjects { var iId *id.ItemID - idStr, _ := o["Id"].(*string) - iId = id.ItemIDFromRef(idStr) + //idStr, _ := o["id"].(string) + //iId = id.ItemIDFromRef(&idStr) + if idVal, ok := o["id"]; ok { + if idStr, ok := idVal.(string); ok { + iId = id.ItemIDFromRef(&idStr) + if iId.IsEmpty() || iId.IsNil() { + return nil, nil, rerror.ErrInvalidParams + } + } else { + return nil, nil, rerror.ErrInvalidParams + } + } item := interfaces.ImportItemParam{ ItemId: iId, MetadataID: nil, @@ -207,7 +217,7 @@ func itemsFromJson(r io.Reader, isGeoJson bool, geoField *string, sp schema.Pack o = props } for k, v := range o { - if v == nil { + if v == nil || k == "id" { continue } key := id.NewKey(k) @@ -251,6 +261,10 @@ func isAssignable(vt1, vt2 value.Type) bool { return true } if vt1 == value.TypeInteger && + (vt2 == value.TypeText || vt2 == value.TypeRichText || vt2 == value.TypeMarkdown || vt2 == value.TypeNumber) { + return true + } + if vt1 == value.TypeNumber && (vt2 == value.TypeText || vt2 == value.TypeRichText || vt2 == value.TypeMarkdown) { return true } @@ -282,7 +296,7 @@ func FieldFrom(k string, v any, sp schema.Package) interfaces.CreateFieldParam { case reflect.Uint64: case reflect.Float32: case reflect.Float64: - t = value.TypeInteger + t = value.TypeNumber case reflect.String: t = value.TypeText default: diff --git a/server/internal/adapter/integration/schema.go b/server/internal/adapter/integration/schema.go index 01f7f630b2..38741c00ef 100644 --- a/server/internal/adapter/integration/schema.go +++ b/server/internal/adapter/integration/schema.go @@ -392,6 +392,9 @@ func FromSchemaTypeProperty(t integrationapi.ValueType, multiple bool) (tpRes *s case integrationapi.ValueTypeInteger: tpi, _ := schema.NewInteger(nil, nil) tpRes = tpi.TypeProperty() + case integrationapi.ValueTypeNumber: + tpi, _ := schema.NewNumber(nil, nil) + tpRes = tpi.TypeProperty() case integrationapi.ValueTypeReference: if multiple { return nil, nil, ErrMultipleReference diff --git a/server/internal/adapter/integration/server.gen.go b/server/internal/adapter/integration/server.gen.go index 5c4eb9a8ac..78d98f6d97 100644 --- a/server/internal/adapter/integration/server.gen.go +++ b/server/internal/adapter/integration/server.gen.go @@ -1,6 +1,6 @@ // Package integration provides primitives to interact with the openapi HTTP API. // -// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.0 DO NOT EDIT. +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.1 DO NOT EDIT. package integration import ( @@ -4596,43 +4596,43 @@ var swaggerSpec = []string{ "QfeI0kYfq+qoLRiqjz6QmHlvcL+H71ubTuNXF9ffHy3lPR/X9Ffz4lw9J6eIi8+KypB0h07SPEECjTsV", "+U2GufJcJ54uSheNkeOaIZwp5Xj8w64dDMXi+HqL6h0n+hjPltyqgYcq5A0UJA3ClCX811J0jejZLXO0", "BaAN1Q0PdgtOKCP3CosUzqyF6q6c10rIQJp0T17p/zVoHiWJ+zLpmgJWj8wzv10fykC78VlVsgsPxXe3", - "p3H3rbG47ZhgAfdCkhbuxTEDFEYhw/HsSl+dI3aT0DvpqcUziG+u6X0Y5c1UiTbHKqqOQl33szkSZZUZ", - "TIABURVAnQ/SHlIUCmTyZSrRfXFtKvP2wocES6fD6/cB45gSSKQTNYhR68nEk43Yt6jDYf7Z2B0/wa1V", - "OhsIPNtW4/cymO0erOa7s0y5aTXuZvGCnNrJea+Udpmi/onLs7WCsoaeNlB0WPnSFyJwiDOGxYNST5oV", - "rwExYMeZduDUahWJ1eVi2pkQC12+xmRCq9XlP+EDYmL27uTzODhX6Ufl+AbHl+dyEqnsW0fliwt/Ozg8", - "ODRxG0ELHB6F7w8OD96H2tVUgOv+Rz56NP2eSw1UCkJpDh0zYUokM4UqhX6qb65U4P91eKirknlOFC0W", - "qXHcR39zje06M9Yvge8hyqproPUW1x0Uyyj8XYO30segC/a2NSDIm2kDHSyp536rY+l8+aNq24B68vfq", - "G78U3QaSj7L5HLEH1VsicZq34wo05VJfqxXzUNc0RQ09PqpHNiJGa3/s7mN4CqIJvW4fdU0NvRgyKvVZ", - "q5JzRYxGpkRhOj3qiGfy+Z90o8+AEuW+vmOGTZdUfAnZbtJmm6BfOk8Y7a0I7ert7z+WP7wsky+swjvF", - "nY2ZKAoXlLewyYlyeEwHFXDxfzR52IhH6gpYfpqX+7aWW1Q6OTNWWW33+Uq7rX1Yq1HBjB7z/QXtxtsw", - "0rPZ8Mb6ZZXY1i6SMrZ2nwdcg/8U6iVqHb+y6UUpJCTiWTMjfV0kb14jaRwEx6+OSe3CHHq3qinla4we", - "9aacRn0kI8Bn00POlp8eSgiboPV16B5iN1VZiupQ3ok2VoNTkTHC7YMHeUnNpaiORvqpqnw3RQc15ewj", - "lKvamryvJCqqXHH8ktkhCv/th0kAIygNOLBbYAHo+fowj4cJquzTj/zuVsCS2fGq2UbuG9gc5a2UfTaQ", - "DpdkHDYr+NwWdC9RjVa2QaCqdrU9uyCffSXJBfmGV5lb0BR39o6XCL+J819Rqd7UgsMj+8zCa8osdGes", - "BtXSNa/gcNHupRVKeHotnv2TaJUhMwoOC+0TCm5C4XWxp1mXpHZw0k036WNKRo+moN2oiFSv2bOpIPcY", - "is4KyOy6fwbKrpMwyM8IsCRTa+6SMdBPVmM2NcGWC5gGxZ54I/hjfPElUJ5oQCdBxoEFBM2Bv9mgvqCT", - "h8T9jEXprJgOYX0jiwxsFdq6COt6ump6BZ/blLRxuIZKsvhOqJsqR1SY0WcaRni+oEysnoq2Dqdmosa6", - "nOtXDJpfOu+5edV2LDl7foD+wdVucvVCXyedbbZTqaT/1LYsCiRgvHqki9uQLBgSMH0obxHjwIo9n+oP", - "deVH29aM4og5sybnBd69GbqnEjExkg+8s/10dei1ff55j9c1JkgdolLtC3yrSB1cUa24TvoonhOalZzw", - "/FCqyKy0eYj0DBvu13Y7Nm1HIHB3NmhHs+lDrIWzi19YUdhapwVmy8uzuCXbcjq0LtWHPGYkAVY+UajW", - "1/TrfkvAFj80xVzjVQUbd1jMgglOBUh2CRBJ9EFMmEz99YUzNbZ3gas4C6pD2Fw6HKvD+OLMuy6D3bPp", - "OoxftzTXPrp00qIu5Q1hUjU1e2wn9YnlwDpw2A5pdVrg0WPjWX/5IYTtA9URErnSysceRpsosH1MVadz", - "hiiYVh3W+vT+sHn9fWVzvcrmi5KK9SsKNbVJvzU+iPltB4t8Mv4rEDMkghmqGmjEA3sqm98g82N+Mv6r", - "t0F+IpvZ3qAi4F6MDKIKZmsNWHwspu8FmCiUminerNLtw1blDHRxdqzkrI21c4OATIFaRdMiJObMws0E", - "xR58uLPCsr6Gtkv3Co5FbrF58m2KTF8mK5uC4mDNQUTGSCEfPa6eLr004tQj2tMP1OSW85huQJe/gLCT", - "X5OnZfe+/ivx9QuO27iQ4j+0fbuJgdqYQq1i4KBiX43ZhQigOSHXrq5z70d9TmKlkF9e+Wmp3lyjtvWg", - "b1jMLnOH7UXX/K+KD2Mkb01BVik6eAvBgJyw7yZ4cd0EaxvB6nd2hulFWGW3vSHcRUP4Evr+W9ocelvW", - "UZGkfV4Z8zqQKuOrHchtiNCLPI3pacWuVKbuIHx5Un0nvFB75qOVFVNB2ExWRo/ut+4afVNr3JwP6iVV", - "Q6Ggegkean5QWbeA3q7ozfqnCgEHPv56To+l/aHq9yAb2u3Vmrbnxux18OvUwZl1WAbWwU/au1Nm+H0b", - "z3Z32O8bYfbpgK6NMHnh9fmzAyZyKaPiJG+FOK89f2B7gc2+8+aNdd5U2a1OWjawuk/To+PIw75dZ9+u", - "87LadQa1HZuI4pN2A5VEct8YtG8M2lpjkCOg6zcIPamQat7QW8taJFEPrcrY2MT/+86iQYIn86V6/cAb", - "DqAKdrMiNra8uht9Rb23BdXI6tIch9sja2SOK++VNlK7bt/cni/PzqxnSgGZs+d3THvtxMH462dv9PIO", - "qifBDpC/6ZqDCQjcmdN2pQQzBaSqyZlvwuibNRI9cP8iv8GLU5ArY8Dtd0USmKAsFeGR+oix+2FSwTKI", - "fCUOegP+vo/ajzI/5Q75Tqv0fOJ28M2VG3ysYvfFscgK5RLQKIkt9nOULVKKTLOIV+LOOc+kwH3985MS", - "NRQoPg0EDfSz+eHsNcL2VY3KRW5jxTDouWCfgExL31x0jEKcMa4/hrlJw9Vy4IM328Fu+/ok3Ps/WT6A", - "/qn5LohmlNdwflmF4RsFzwaSo0f7Ycb1m7PsDD36q/YF/X1Bf4Cmqnoubmybqm2IevldULtIy6TUwTRE", - "A9OKxtleD9JeT+311ACNR4/O13eXudPbI0OUP7Lqx5pCyTbSuQMnMtxVd8qwWIfFk2PZbko3h/Q5vcLm", - "J79QcSadxK2fhFXPiq6LeWkx1l+VO5LxJLtHl8vlfwMAAP//mUecKameAAA=", + "p3H3rbG47ZhgAfdCkhbuxTEDFEYhw/HsSl+dI3aT0DvpqcUziG+u6X0Y5c1UiTbHKqqOQl33szkSZZWN", + "UVK1cWBAVClQJ4a0qxSFApnEmcp4X1ybEr298CHB0vvwOoDAOKYEEulNDWLdenLzZCM+LgpymH82BshP", + "eWuezgYCz/bX+N0NZtsIq4nvLFP+Wo3fWbwgp3Zy3iu3Xaaof+LybK2grKGwDRQdVr70xQoc4oxh8aD0", + "lGbFa0AM2HGmPTm1WkVidbmYdibEQtexMZnQapn5T/iAmJi9O/k8Ds5VHlJ5wMHx5bmcRGr91lH54sLf", + "Dg4PDk0AR9ACh0fh+4PDg/eh9jkV4LoRko8eTePnUgOVglAqRAdPmBLJTKHKpZ/qmyul+H8dHuryZJ4c", + "RYtFajz40d9cY7vOnvXL5HuIsuojaAXGdSvFMgp/1+CtNDToyr3tEQjyrtpAR03qud/qWDpf/qjaP6Ce", + "/L36xi9F24Hko2w+R+xBNZlInOZ9uQJNuVTcasU81MVNUUOPj+qRjYjR2ii7+xiegmhCr9tQXVNML4aM", + "Sg3XqvZcEaORqVWYlo864pnE/ifd8TOgRLmv75hq07UVX2a2m7TZbuiXzhNGeytCu3r7+4/lDy/L5Aur", + "8E5xZ2MmisIF5S1scqIcHtNKBVz8H00eNuKRukqWn+blBq7lFpVOzoxVVtt9vtJuax/WalQwo8d8o0G7", + "8TaM9Gw2vLGQWSW2tYukjK3d5wHX4D+Feolax6/sflEKCYl41sxIXxfJm9dIGgfB8atjUrswh96takr5", + "GqNHvTunUR/JCPDZ9JCz96eHEsImaH0duofY3VWWojqUd6KN1eBUZIxw++BBXltzKaqjkX6qKt9W0UFN", + "ORsK5aq2Ju8riYoqVxy/ZHaIwn/7YRLACEoDDuwWWAB6vj7M42GCKvv0I7+7J7BkdrxqtpH7BjZHeU9l", + "n52kwyUZh80KPrcF3UtUo5VtEKiqXW3PLshnX0lyQb7hVeYWNMWdTeQlwm/i/FdUqje14PDIPrPwmjIL", + "3RmrQbV0zSs4XLR7aYUSnl6LZ/8kWmXIjILDQvuEgptQeF3sadYlqR2cdNNN+ryS0aMpaDcqItV09mwq", + "yD2PorMCMtvvn4Gy6yQM8sMCLMnUmrtkDPST1ZhNTbDlAqZBsSfeCP4YX3wJlCca0EmQcWABQXPgbzao", + "L+jkIXE/Y1E6NKZDWN/IIgNbhbZ2wrrmrpqmwec2JW0crqGSLL4T6qbKERVm9JmGEZ4vKBOrx6Otw6mZ", + "qLEu5/oVg+aXznvuYrUdS87mH6B/cLWtXL3Q10lnm+1UKuk/tb2LAgkYr57t4nYmC4YETB/Ke8U4sGLz", + "p/pDXfnRtkejOGvOrMl5gXeThm6uREyM5APvbD9dHXptw3/e43WNCVKnqVT7At8qUgdXVCuukz6T54Rm", + "JSc8P50qMittHiI9w4b7td2OTfsSCNydDdrabPoQa+Hs4hdWFLbWaYHZ+/Isbsm2nA6tS/VpjxlJgJWP", + "Fqr1Nf263xKwxQ9NMdd4VcHGHRazYIJTAZJdAkQSfSITJlN/feFMje1d4CoOheoQNpdOyeowvjj8rstg", + "95C6DuPXLc21jy4duahLeUOYVE3NHvtKfWI5sA4ctkNaHRt49Nh46F9+GmH7QHWWRK608rGH0SYKbB9T", + "1emcIQqmVYe1Pr0/bF5/X9lcr7L5oqRi/YpCTW3Sb40PYn7bwSKfjP8KxAyJYIaqBhrxwB7P5jfI/Jif", + "jP/qbZCfyGa2N6gIuBcjg6iC2VoDFh+L6XsBJgqlZoo3q3T7sFU5A10cIis5a2Pt3CAgU6BW0bQIiTm8", + "cDNBsScg7qywrK+h7dK9gmORW+yifJsi05fJyqagOGFzEJExUshHj6vHTC+NOPWI9vQDNbnlPKYb0OUv", + "IOzk1+Rp2b2v/0p8/YLjNi6k+E9v325ioDamUKsYOKjYV2N2IQJoTsi1q+vc+1HflVgp5JdXflqqN9eo", + "bT3oGxazy9xhe9E1/6viCxnJW1OQVYoO3kIwICfsuwleXDfB2kaw+sGdYXoRVtltbwh30RC+hL7/ljaH", + "3pZ1VCRpn1fGvA6kyvhqB3IbIvQij2V6WrErlak7CF+eVN8JL9Qe/mhlxVQQNpOV0aP70btG39QaN+fL", + "eknVUCioXoKHmp9Y1i2gtyt6s/6pQsCBj7+e02Npf6j6YciGdnu1pu25MXsd/Dp1cGYdloF18JP27pQZ", + "ft/Gs90d9vtGmH06oGsjTF54ff7sgIlcyqg4yVshzmvPH9heYLPvvHljnTdVdquTlg2s7tP06DjysG/X", + "2bfrvKx2nUFtxyai+KTdQCWR3DcG7RuDttYY5Ajo+g1CTyqkmjf01rIWSdRDqzI2NvH/vrNokODJfLJe", + "P/CGA6iC3ayIjS2v7kZfUe9tQTWyujTH4fbIGpnjynuljdSu2ze358uzM+uZUkDm7Pkd0147cTD++tkb", + "vbyD6kmwA+RvuuZgAgJ35rRdKcFMAalqcuabMPpmjUQP3L/Ib/DiFOTKGHD7XZEEJihLRXikvmbsfqFU", + "sAwiX4mD3oC/76P268xPuUO+0yo937odfHPlBh+r2H1xLLJCuQQ0SmKL/Rxli5Qi0yzilbhzzjMpcF//", + "/KREDQWKTwNBA/1sfjh7jbB9VaNykdtYMQx6LtgnINPSxxcdoxBnjOuvYm7ScLUc+ODNdrDbPkMJ9/5v", + "lw+gf2q+C6IZ5TWcX1Zh+EbBs4Hk6NF+oXH95iw7Q4/+qn1Bf1/QH6Cpqp6LG9umahuiXn4X1C7SMil1", + "MA3RwLSicbbXg7TXU3s9NUDj0aPzGd5l7vT2yBDlj6z6saZQso107sCJDHfVnTIs1mHx5Fi2m9LNIX1O", + "r7D5yS9UnEkncesnYdWzoutiXlqM9VfljmQ8ye7R5XL53wAAAP//H0uKi7KeAAA=", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/server/internal/adapter/publicapi/api.go b/server/internal/adapter/publicapi/api.go index 998767889f..4385fa8242 100644 --- a/server/internal/adapter/publicapi/api.go +++ b/server/internal/adapter/publicapi/api.go @@ -33,7 +33,7 @@ func GetController(ctx context.Context) *Controller { func Echo(e *echo.Group) { e.Use(middleware.CORS()) - e.GET("/:project/:model", PublicApiItemList()) + e.GET("/:project/:model", PublicApiItemOrAssetList()) e.GET("/:project/:model/:item", PublicApiItemOrAsset()) } @@ -59,33 +59,42 @@ func PublicApiItemOrAsset() echo.HandlerFunc { } } -func PublicApiItemList() echo.HandlerFunc { +func PublicApiItemOrAssetList() echo.HandlerFunc { return func(c echo.Context) error { ctx := c.Request().Context() ctrl := GetController(ctx) + mKey := c.Param("model") + pKey := c.Param("project") p, err := listParamFromEchoContext(c) if err != nil { return c.JSON(http.StatusBadRequest, "invalid offset or limit") } + if mKey == "assets" { + res, err := ctrl.GetAssets(ctx, pKey, p) + if err != nil { + return err + } + return c.JSON(http.StatusOK, res) + } + resType := "" - m := c.Param("model") - if strings.Contains(m, ".") { - m, resType, _ = strings.Cut(m, ".") + if strings.Contains(mKey, ".") { + mKey, resType, _ = strings.Cut(mKey, ".") } if resType != "csv" && resType != "json" && resType != "geojson" { resType = "json" } - items, _, err := ctrl.GetItems(ctx, c.Param("project"), m, p) + res, _, err := ctrl.GetItems(ctx, pKey, mKey, p) if err != nil { return err } - vi, s, err1 := ctrl.GetVersionedItems(ctx, c.Param("project"), m, p) - if err1 != nil { - return err1 + vi, s, err := ctrl.GetVersionedItems(ctx, pKey, mKey, p) + if err != nil { + return err } switch resType { @@ -94,9 +103,9 @@ func PublicApiItemList() echo.HandlerFunc { case "geojson": return toGeoJSON(c, vi, s) case "json": - return c.JSON(http.StatusOK, items) + return c.JSON(http.StatusOK, res) default: - return c.JSON(http.StatusOK, items) + return c.JSON(http.StatusOK, res) } } } diff --git a/server/internal/adapter/publicapi/asset.go b/server/internal/adapter/publicapi/asset.go index c7c49985a8..b2bee3ecd4 100644 --- a/server/internal/adapter/publicapi/asset.go +++ b/server/internal/adapter/publicapi/asset.go @@ -4,8 +4,12 @@ import ( "context" "errors" + "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" + "github.com/reearth/reearth-cms/server/pkg/asset" "github.com/reearth/reearth-cms/server/pkg/id" + "github.com/reearth/reearth-cms/server/pkg/project" "github.com/reearth/reearthx/rerror" + "github.com/reearth/reearthx/util" ) func (c *Controller) GetAsset(ctx context.Context, prj, i string) (Asset, error) { @@ -34,3 +38,36 @@ func (c *Controller) GetAsset(ctx context.Context, prj, i string) (Asset, error) return NewAsset(a, f, c.assetUrlResolver), nil } + +func (c *Controller) GetAssets(ctx context.Context, pKey string, p ListParam) (ListResult[Asset], error) { + prj, err := c.checkProject(ctx, pKey) + if err != nil { + return ListResult[Asset]{}, err + } + + if prj.Publication().Scope() != project.PublicationScopePublic || !prj.Publication().AssetPublic() { + return ListResult[Asset]{}, rerror.ErrNotFound + } + + al, pi, err := c.usecases.Asset.FindByProject(ctx, prj.ID(), interfaces.AssetFilter{ + Sort: nil, + Keyword: nil, + Pagination: p.Pagination, + }, nil) + + if err != nil { + if errors.Is(err, rerror.ErrNotFound) { + return ListResult[Asset]{}, rerror.ErrNotFound + } + return ListResult[Asset]{}, err + } + + fileMap, err := c.usecases.Asset.FindFilesByIDs(ctx, al.IDs(), nil) + if err != nil { + return ListResult[Asset]{}, err + } + + return NewListResult(util.Map(al, func(a *asset.Asset) Asset { + return NewAsset(a, fileMap[a.ID()], c.assetUrlResolver) + }), pi, p.Pagination), nil +} diff --git a/server/internal/adapter/publicapi/types.go b/server/internal/adapter/publicapi/types.go index 020fcd3c2b..4e1d495e91 100644 --- a/server/internal/adapter/publicapi/types.go +++ b/server/internal/adapter/publicapi/types.go @@ -177,9 +177,9 @@ func NewAsset(a *asset.Asset, f *asset.File, urlResolver asset.URLResolver) Asse base, _ := url.Parse(u) base.Path = path.Dir(base.Path) - files = lo.Map(f.FlattenChildren(), func(f *asset.File, _ int) string { + files = lo.Map(f.FilePaths(), func(p string, _ int) string { b := *base - b.Path = path.Join(b.Path, f.Path()) + b.Path = path.Join(b.Path, p) return b.String() }) } diff --git a/server/internal/infrastructure/memory/asset_file.go b/server/internal/infrastructure/memory/asset_file.go index 28c2967ecf..762b893483 100644 --- a/server/internal/infrastructure/memory/asset_file.go +++ b/server/internal/infrastructure/memory/asset_file.go @@ -41,6 +41,32 @@ func (r *AssetFile) FindByID(ctx context.Context, id id.AssetID) (*asset.File, e return rerror.ErrIfNil(f, rerror.ErrNotFound) } +func (r *AssetFile) FindByIDs(ctx context.Context, ids id.AssetIDList) (map[id.AssetID]*asset.File, error) { + if r.err != nil { + return nil, r.err + } + + filesMap := make(map[id.AssetID]*asset.File) + for _, id := range ids { + f := r.data.Find(func(key asset.ID, value *asset.File) bool { + return key == id + }).Clone() + fs := r.files.Find(func(key asset.ID, value []*asset.File) bool { + return key == id + }) + if len(fs) > 0 { + f.SetFiles(fs) + } + if f == nil { + return nil, rerror.ErrNotFound + } + filesMap[id] = f + } + + return filesMap, nil +} + + func (r *AssetFile) Save(ctx context.Context, id id.AssetID, file *asset.File) error { if r.err != nil { return r.err diff --git a/server/internal/infrastructure/mongo/asset_file.go b/server/internal/infrastructure/mongo/asset_file.go index ddf5c532db..48eb1992fd 100644 --- a/server/internal/infrastructure/mongo/asset_file.go +++ b/server/internal/infrastructure/mongo/asset_file.go @@ -74,6 +74,52 @@ func (r *AssetFile) FindByID(ctx context.Context, id id.AssetID) (*asset.File, e return f, nil } +func (r *AssetFile) FindByIDs(ctx context.Context, ids id.AssetIDList) (map[id.AssetID]*asset.File, error) { + filesMap := make(map[id.AssetID]*asset.File) + + c := &mongodoc.AssetAndFileConsumer{} + if err := r.client.Find(ctx, bson.M{ + "id": bson.M{"$in": ids.Strings()}, + }, c, options.Find().SetProjection(bson.M{ + "id": 1, + "file": 1, + "flatfiles": 1, + })); err != nil { + return nil, err + } + + for _, result := range c.Result { + assetID := result.ID + f := result.File.Model() + if f == nil { + return nil, rerror.ErrNotFound + } + + if result.FlatFiles { + var afc mongodoc.AssetFilesConsumer + if err := r.assetFilesClient.Find(ctx, bson.M{ + "assetid": assetID, + }, &afc, options.Find().SetSort(bson.D{ + {Key: "page", Value: 1}, + })); err != nil { + return nil, err + } + files := afc.Result().Model() + f.SetFiles(files) + } else if len(f.Children()) > 0 { + f.SetFiles(f.FlattenChildren()) + } + + aId, err := id.AssetIDFrom(assetID) + if err != nil { + return nil, err + } + filesMap[aId] = f + } + + return filesMap, nil +} + func (r *AssetFile) Save(ctx context.Context, id id.AssetID, file *asset.File) error { doc := mongodoc.NewFile(file) _, err := r.client.Client().UpdateOne(ctx, bson.M{ diff --git a/server/internal/usecase/interactor/asset.go b/server/internal/usecase/interactor/asset.go index 0551fe30c2..79815b6085 100644 --- a/server/internal/usecase/interactor/asset.go +++ b/server/internal/usecase/interactor/asset.go @@ -69,6 +69,20 @@ func (i *Asset) FindFileByID(ctx context.Context, aid id.AssetID, _ *usecase.Ope return files, nil } +func (i *Asset) FindFilesByIDs(ctx context.Context, ids id.AssetIDList, _ *usecase.Operator) (map[id.AssetID]*asset.File, error) { + _, err := i.repos.Asset.FindByIDs(ctx, ids) + if err != nil { + return nil, err + } + + files, err := i.repos.AssetFile.FindByIDs(ctx, ids) + if err != nil { + return nil, err + } + + return files, nil +} + func (i *Asset) DownloadByID(ctx context.Context, aid id.AssetID, _ *usecase.Operator) (io.ReadCloser, error) { a, err := i.repos.Asset.FindByID(ctx, aid) if err != nil { diff --git a/server/internal/usecase/interactor/project.go b/server/internal/usecase/interactor/project.go index 82428de199..348da4902b 100644 --- a/server/internal/usecase/interactor/project.go +++ b/server/internal/usecase/interactor/project.go @@ -3,6 +3,7 @@ package interactor import ( "context" "errors" + "github.com/reearth/reearth-cms/server/internal/usecase" "github.com/reearth/reearth-cms/server/internal/usecase/gateway" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" @@ -62,7 +63,7 @@ func (i *Project) Create(ctx context.Context, p interfaces.CreateProjectParam, o if len(p.RequestRoles) > 0 { pb = pb.RequestRoles(p.RequestRoles) } else { - pb = pb.RequestRoles([]workspace.Role{workspace.RoleOwner, workspace.RoleMaintainer, workspace.RoleWriter, workspace.RoleReader}) + pb = pb.RequestRoles([]workspace.Role{}) } proj, err := pb.Build() diff --git a/server/internal/usecase/interfaces/asset.go b/server/internal/usecase/interfaces/asset.go index 7fafca5e55..958258306e 100644 --- a/server/internal/usecase/interfaces/asset.go +++ b/server/internal/usecase/interfaces/asset.go @@ -61,6 +61,7 @@ type Asset interface { FindByIDs(context.Context, []id.AssetID, *usecase.Operator) (asset.List, error) FindByProject(context.Context, id.ProjectID, AssetFilter, *usecase.Operator) (asset.List, *usecasex.PageInfo, error) FindFileByID(context.Context, id.AssetID, *usecase.Operator) (*asset.File, error) + FindFilesByIDs(context.Context, id.AssetIDList, *usecase.Operator) (map[id.AssetID]*asset.File, error) DownloadByID(context.Context, id.AssetID, *usecase.Operator) (io.ReadCloser, error) GetURL(*asset.Asset) string Create(context.Context, CreateAssetParam, *usecase.Operator) (*asset.Asset, *asset.File, error) diff --git a/server/internal/usecase/repo/asset.go b/server/internal/usecase/repo/asset.go index 67cb1275e0..a7bc23b2dd 100644 --- a/server/internal/usecase/repo/asset.go +++ b/server/internal/usecase/repo/asset.go @@ -25,6 +25,7 @@ type Asset interface { type AssetFile interface { FindByID(context.Context, id.AssetID) (*asset.File, error) + FindByIDs(context.Context, id.AssetIDList) (map[id.AssetID]*asset.File, error) Save(context.Context, id.AssetID, *asset.File) error SaveFlat(context.Context, id.AssetID, *asset.File, []*asset.File) error } diff --git a/server/pkg/asset/list.go b/server/pkg/asset/list.go index e9cc7cd886..6c384b9d26 100644 --- a/server/pkg/asset/list.go +++ b/server/pkg/asset/list.go @@ -1,6 +1,7 @@ package asset import ( + "github.com/reearth/reearth-cms/server/pkg/id" "github.com/reearth/reearthx/util" "github.com/samber/lo" "golang.org/x/exp/slices" @@ -27,3 +28,10 @@ func (l List) Map() Map { return a.ID(), a }) } + +func (l List) IDs() (ids id.AssetIDList) { + for _, a := range l { + ids = ids.Add(a.ID()) + } + return +} diff --git a/server/pkg/asset/list_test.go b/server/pkg/asset/list_test.go index 099a8478b0..84809293d6 100644 --- a/server/pkg/asset/list_test.go +++ b/server/pkg/asset/list_test.go @@ -3,6 +3,7 @@ package asset import ( "testing" + "github.com/reearth/reearth-cms/server/pkg/id" "github.com/reearth/reearthx/account/accountdomain" "github.com/stretchr/testify/assert" ) @@ -51,3 +52,12 @@ func TestList_Map(t *testing.T) { }, List{a, nil}.Map()) assert.Equal(t, Map{}, List(nil).Map()) } + +func TestList_IDs(t *testing.T) { + pid := NewProjectID() + uid := accountdomain.NewUserID() + a1 := New().NewID().Project(pid).CreatedByUser(uid).Size(1000).Thread(NewThreadID()).NewUUID().MustBuild() + a2 := New().NewID().Project(pid).CreatedByUser(uid).Size(1000).Thread(NewThreadID()).NewUUID().MustBuild() + al := List{a1, a2} + assert.Equal(t, al.IDs(), id.AssetIDList{a1.ID(), a2.ID()}) +} diff --git a/server/pkg/integrationapi/types.gen.go b/server/pkg/integrationapi/types.gen.go index eaab7a4a88..2056450597 100644 --- a/server/pkg/integrationapi/types.gen.go +++ b/server/pkg/integrationapi/types.gen.go @@ -1,6 +1,6 @@ // Package integrationapi provides primitives to interact with the openapi HTTP API. // -// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.0 DO NOT EDIT. +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.1 DO NOT EDIT. package integrationapi import ( @@ -163,6 +163,7 @@ const ( ValueTypeGroup ValueType = "group" ValueTypeInteger ValueType = "integer" ValueTypeMarkdown ValueType = "markdown" + ValueTypeNumber ValueType = "number" ValueTypeReference ValueType = "reference" ValueTypeRichText ValueType = "richText" ValueTypeSelect ValueType = "select" diff --git a/server/schemas/field.graphql b/server/schemas/field.graphql index 9d2ac4be34..42b44308bf 100644 --- a/server/schemas/field.graphql +++ b/server/schemas/field.graphql @@ -9,6 +9,7 @@ enum SchemaFieldType { Select Tag Integer + Number Reference Checkbox URL @@ -81,6 +82,7 @@ union SchemaFieldTypeProperty = | SchemaFieldSelect | SchemaFieldTag | SchemaFieldInteger + | SchemaFieldNumber | SchemaFieldReference | SchemaFieldURL | SchemaFieldCheckbox @@ -142,6 +144,12 @@ type SchemaFieldInteger { max: Int } +type SchemaFieldNumber { + defaultValue: Any + min: Float + max: Float +} + type SchemaFieldReference { modelId: ID! schemaId: ID! @@ -232,6 +240,12 @@ input SchemaFieldIntegerInput { max: Int } +input SchemaFieldNumberInput { + defaultValue: Any + min: Float + max: Float +} + input CorrespondingFieldInput { fieldId: ID title: String! @@ -280,6 +294,7 @@ input SchemaFieldTypePropertyInput @onlyOne { tag: SchemaFieldTagInput checkbox: SchemaFieldCheckboxInput integer: SchemaFieldIntegerInput + number: SchemaFieldNumberInput reference: SchemaFieldReferenceInput url: SchemaFieldURLInput group: SchemaFieldGroupInput diff --git a/server/schemas/integration.yml b/server/schemas/integration.yml index 4c00b83451..4b9d187750 100644 --- a/server/schemas/integration.yml +++ b/server/schemas/integration.yml @@ -1671,6 +1671,7 @@ components: - bool - select - integer + - number - reference - url - group diff --git a/server/schemas/workspace.graphql b/server/schemas/workspace.graphql index 1f7b9a8ac5..ba6083e6f9 100644 --- a/server/schemas/workspace.graphql +++ b/server/schemas/workspace.graphql @@ -59,9 +59,9 @@ input AddIntegrationToWorkspaceInput { role: Role! } -input RemoveUserFromWorkspaceInput { +input RemoveMultipleMembersFromWorkspaceInput { workspaceId: ID! - userId: ID! + userIds: [ID!]! } input RemoveIntegrationFromWorkspaceInput { @@ -99,7 +99,11 @@ type AddUsersToWorkspacePayload { workspace: Workspace! } -type RemoveMemberFromWorkspacePayload { +type RemoveIntegrationFromWorkspacePayload { + workspace: Workspace! +} + +type RemoveMultipleMembersFromWorkspacePayload { workspace: Workspace! } @@ -117,8 +121,8 @@ extend type Mutation { updateWorkspace(input: UpdateWorkspaceInput!): UpdateWorkspacePayload addUsersToWorkspace(input: AddUsersToWorkspaceInput!): AddUsersToWorkspacePayload addIntegrationToWorkspace(input: AddIntegrationToWorkspaceInput!): AddUsersToWorkspacePayload - removeUserFromWorkspace(input: RemoveUserFromWorkspaceInput!): RemoveMemberFromWorkspacePayload - removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveMemberFromWorkspacePayload + removeMultipleMembersFromWorkspace(input: RemoveMultipleMembersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload + removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveIntegrationFromWorkspacePayload updateUserOfWorkspace(input: UpdateUserOfWorkspaceInput!): UpdateMemberOfWorkspacePayload updateIntegrationOfWorkspace(input: UpdateIntegrationOfWorkspaceInput!): UpdateMemberOfWorkspacePayload } diff --git a/web/e2e/project/content/content.spec.ts b/web/e2e/project/content/content.spec.ts index 6cd9a3ce55..57cb46426b 100644 --- a/web/e2e/project/content/content.spec.ts +++ b/web/e2e/project/content/content.spec.ts @@ -79,6 +79,45 @@ test("Publishing and Unpublishing item has succeeded", async ({ page }) => { await expect(page.getByText("DRAFT")).toBeVisible(); }); +test("Showing item title has succeeded", async ({ page }) => { + await page.locator("li").filter({ hasText: "Text" }).locator("div").first().click(); + await handleFieldForm(page, "text"); + await page.getByText("Content").click(); + await page.getByRole("button", { name: "plus New Item" }).click(); + await expect(page.getByTitle("e2e model name", { exact: true })).toBeVisible(); + await page.getByLabel("text").click(); + await page.getByLabel("text").fill("text"); + await page.getByRole("button", { name: "Save" }).click(); + await closeNotification(page); + const itemId = await page + .getByRole("main") + .locator("p") + .filter({ hasText: "ID" }) + .locator("div > span") + .innerText(); + await expect(page.getByTitle(`e2e model name / ${itemId}`, { exact: true })).toBeVisible(); + + await page.getByText("Schema").click(); + await page.getByRole("img", { name: "ellipsis" }).locator("svg").click(); + await page.getByLabel("Use as title").check(); + await page.getByRole("tab", { name: "Default value" }).click(); + await page.getByLabel("Set default value").click(); + await page.getByLabel("Set default value").fill("default text"); + await page.getByRole("button", { name: "OK" }).click(); + await closeNotification(page); + + await page.getByText("Content").click(); + await page.getByRole("cell").getByLabel("edit").locator("svg").click(); + await expect(page.getByTitle(`e2e model name / text`, { exact: true })).toBeVisible(); + await page.getByLabel("Back").click(); + + await page.getByRole("button", { name: "plus New Item" }).click(); + await expect(page.getByTitle("e2e model name", { exact: true })).toBeVisible(); + await page.getByRole("button", { name: "Save" }).click(); + await closeNotification(page); + await expect(page.getByTitle(`e2e model name / default text`, { exact: true })).toBeVisible(); +}); + test("Comment CRUD on Content page has succeeded", async ({ page }) => { await page.locator("li").filter({ hasText: "Text" }).locator("div").first().click(); await handleFieldForm(page, "text"); diff --git a/web/e2e/project/item/metadata/update.spec.ts b/web/e2e/project/item/metadata/update.spec.ts index dd4bc777e3..b901bd867f 100644 --- a/web/e2e/project/item/metadata/update.spec.ts +++ b/web/e2e/project/item/metadata/update.spec.ts @@ -26,10 +26,12 @@ test.afterEach(async ({ page }) => { }); test("Updating metadata added later from table has succeeded", async ({ page }) => { + await page.getByRole("switch").click(); + await closeNotification(page); await page.getByRole("switch").click(); await closeNotification(page); await page.getByRole("cell").getByLabel("edit").locator("svg").click(); - await expect(page.getByLabel("boolean")).toHaveAttribute("aria-checked", "true"); + await expect(page.getByLabel("boolean")).toHaveAttribute("aria-checked", "false"); }); test("Updating metadata added later from edit page has succeeded", async ({ page }) => { diff --git a/web/src/components/atoms/Icon/Icons/arrowUpRightSlash.svg b/web/src/components/atoms/Icon/Icons/arrowUpRightSlash.svg new file mode 100644 index 0000000000..fafb0dfd5f --- /dev/null +++ b/web/src/components/atoms/Icon/Icons/arrowUpRightSlash.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/src/components/atoms/Icon/icons.ts b/web/src/components/atoms/Icon/icons.ts index 2b118d8a60..ae99373869 100644 --- a/web/src/components/atoms/Icon/icons.ts +++ b/web/src/components/atoms/Icon/icons.ts @@ -33,6 +33,7 @@ import { MenuFoldOutlined, MenuUnfoldOutlined, FolderOutlined, + FolderOpenOutlined, LinkOutlined, UserAddOutlined, ClearOutlined, @@ -50,10 +51,12 @@ import { ReloadOutlined, SortAscendingOutlined, FilterOutlined, + CommentOutlined, } from "@ant-design/icons"; import ArrowSquareOut from "./Icons/arrowSquareOut.svg"; import ArrowUpRight from "./Icons/arrowUpRight.svg"; +import ArrowUpRightSlash from "./Icons/arrowUpRightSlash.svg"; import Asset from "./Icons/asset.svg"; import Boolean from "./Icons/boolean.svg"; import CheckSquare from "./Icons/checkSquare.svg"; @@ -122,6 +125,7 @@ export default { asset: Asset, listBullets: ListBullets, arrowUpRight: ArrowUpRight, + arrowUpRightSlash: ArrowUpRightSlash, numberNine: NumberNine, link: Link, linkSolid: LinkSolid, @@ -137,6 +141,7 @@ export default { panelToggleLeft: MenuFoldOutlined, panelToggleRight: MenuUnfoldOutlined, folder: FolderOutlined, + folderOpen: FolderOpenOutlined, dot: Dot, userAdd: UserAddOutlined, clear: ClearOutlined, @@ -175,4 +180,5 @@ export default { editorCopy: EditorCopy, circle: Circle, rectangle: Rectangle, + comment: CommentOutlined, }; diff --git a/web/src/components/molecules/Asset/Asset/AssetBody/Asset.tsx b/web/src/components/molecules/Asset/Asset/AssetBody/Asset.tsx index 023bbcfcd4..ba11e35ff9 100644 --- a/web/src/components/molecules/Asset/Asset/AssetBody/Asset.tsx +++ b/web/src/components/molecules/Asset/Asset/AssetBody/Asset.tsx @@ -223,6 +223,7 @@ const BodyContainer = styled.div` flex-direction: row; width: 100%; height: calc(100% - 72px); + border-top: 1px solid #00000008; .ant-tree-show-line .ant-tree-switcher { background-color: transparent; } @@ -239,6 +240,7 @@ const BodyWrapper = styled.div` const SideBarWrapper = styled.div` padding: 8px; width: 272px; + background-color: #fafafa; `; const StyledButton = styled(Button)` diff --git a/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx b/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx index 6b21de1ba6..2673273199 100644 --- a/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx +++ b/web/src/components/molecules/Asset/Asset/AssetBody/UnzipFileList/index.tsx @@ -74,13 +74,15 @@ const UnzipFileList: React.FC = ({ ) : ( treeData && ( } + switcherIcon={({ expanded }) => ( + + )} defaultExpandedKeys={["0-0"]} selectedKeys={selectedKeys} onSelect={handleSelect} treeData={treeData} multiple={false} - showLine + showLine={{ showLeafIcon: true }} titleRender={({ title, key, path }) => { return ( <> @@ -144,4 +146,10 @@ const CopyIcon = styled(Icon)` } `; +const SwitcherIcon = styled(Icon)` + svg { + transform: none !important; + } +`; + export default UnzipFileList; diff --git a/web/src/components/molecules/Asset/Asset/AssetBody/sideBarCard.tsx b/web/src/components/molecules/Asset/Asset/AssetBody/sideBarCard.tsx index 92ae23e3ac..342b7a5558 100644 --- a/web/src/components/molecules/Asset/Asset/AssetBody/sideBarCard.tsx +++ b/web/src/components/molecules/Asset/Asset/AssetBody/sideBarCard.tsx @@ -1,15 +1,14 @@ import styled from "@emotion/styled"; -import { CSSProperties, ReactNode } from "react"; +import { ReactNode } from "react"; type Props = { title: string; children?: ReactNode; - style?: CSSProperties; }; -const SideBarCard: React.FC = ({ title, children, style }) => { +const SideBarCard: React.FC = ({ title, children }) => { return ( - + {title} {children} @@ -23,6 +22,7 @@ const SideBarCardWrapper = styled.div` display: flex; flex-direction: column; box-shadow: 0 4px 4px 0 #00000025; + background-color: #fff; `; const CardTitle = styled.span` diff --git a/web/src/components/molecules/Asset/AssetList/index.tsx b/web/src/components/molecules/Asset/AssetList/index.tsx index ecf86b3438..cdf466f1fc 100644 --- a/web/src/components/molecules/Asset/AssetList/index.tsx +++ b/web/src/components/molecules/Asset/AssetList/index.tsx @@ -179,5 +179,5 @@ const Wrapper = styled.div` `; const StyledPageHeader = styled(PageHeader)` - margin: 0 8px; + border-bottom: 1px solid #00000008; `; diff --git a/web/src/components/molecules/Asset/AssetListTable/index.tsx b/web/src/components/molecules/Asset/AssetListTable/index.tsx index 631f676069..61b4f1fd75 100644 --- a/web/src/components/molecules/Asset/AssetListTable/index.tsx +++ b/web/src/components/molecules/Asset/AssetListTable/index.tsx @@ -291,7 +291,12 @@ const AssetListTable: React.FC = ({ onClick={props.onCleanSelected}> {t("Deselect")} - + , ]}> -
+ { }, [currentModel?.id, currentProject?.id, currentWorkspace?.id, location.state, navigate]); const [createItem, { loading: itemCreationLoading }] = useCreateItemMutation({ - refetchQueries: ["SearchItem", "GetRequests"], + refetchQueries: ["GetRequests"], }); const handleItemCreate = useCallback( @@ -567,15 +567,31 @@ export default () => { }); const handleCheckItemReference = useCallback( - async (value: string, correspondingFieldId: string) => { + async (itemId: string, correspondingFieldId: string, groupId?: string) => { + const initialValue = groupId + ? initialFormValues[groupId][correspondingFieldId] + : initialFormValues[correspondingFieldId]; + if (initialValue === itemId) { + return false; + } const res = await checkIfItemIsReferenced({ - variables: { itemId: value ?? "", correspondingFieldId }, + variables: { itemId, correspondingFieldId }, }); return res.data?.isItemReferenced ?? false; }, - [checkIfItemIsReferenced], + [checkIfItemIsReferenced, initialFormValues], ); + const title = useMemo(() => { + let result = currentModel?.name ?? ""; + if (currentItem) { + const titleField = currentModel?.schema.fields.find(field => field.isTitle); + const titleValue = titleField && initialFormValues[titleField.id]; + result += ` / ${titleValue || currentItem.id}`; + } + return result; + }, [currentItem, currentModel?.name, currentModel?.schema.fields, initialFormValues]); + return { loadingReference, linkedItemsModalList, @@ -585,6 +601,7 @@ export default () => { itemLoading, requestCreationLoading, currentModel, + title, currentItem, initialFormValues, initialMetaFormValues, diff --git a/web/src/components/organisms/Project/Content/ContentDetails/index.tsx b/web/src/components/organisms/Project/Content/ContentDetails/index.tsx index 131074d0a1..00fffe5363 100644 --- a/web/src/components/organisms/Project/Content/ContentDetails/index.tsx +++ b/web/src/components/organisms/Project/Content/ContentDetails/index.tsx @@ -17,6 +17,7 @@ const ContentDetails: React.FC = () => { itemId, itemLoading, currentModel, + title, currentItem, initialFormValues, initialMetaFormValues, @@ -125,6 +126,7 @@ const ContentDetails: React.FC = () => { /> ) : undefined } + title={title} item={currentItem} itemId={itemId} itemLoading={itemLoading} diff --git a/web/src/components/organisms/Project/Content/ContentList/hooks.ts b/web/src/components/organisms/Project/Content/ContentList/hooks.ts index fafdf304a9..7ab705fbb5 100644 --- a/web/src/components/organisms/Project/Content/ContentList/hooks.ts +++ b/web/src/components/organisms/Project/Content/ContentList/hooks.ts @@ -10,6 +10,7 @@ import { Item, ItemStatus, ItemField, + Metadata, } from "@reearth-cms/components/molecules/Content/types"; import { Request, RequestItem } from "@reearth-cms/components/molecules/Request/types"; import { @@ -40,6 +41,7 @@ import { SchemaFieldType, View as GQLView, useGetViewsQuery, + ItemFieldInput, } from "@reearth-cms/gql/graphql-client-api"; import { useT } from "@reearth-cms/i18n"; import { useCollapsedModelMenu } from "@reearth-cms/state"; @@ -152,16 +154,16 @@ export default () => { const [getItem] = useGetItemLazyQuery({ fetchPolicy: "no-cache" }); const [createNewItem] = useCreateItemMutation(); - const metadataVersion = useMemo(() => new Map(), []); + const itemIdToMetadata = useRef(new Map()); const metadataVersionSet = useCallback( async (id: string) => { const { data } = await getItem({ variables: { id } }); const item = fromGraphQLItem(data?.node as GQLItem); - if (item?.metadata.id) { - metadataVersion.set(item.metadata.id, item.metadata.version); + if (item) { + itemIdToMetadata.current.set(id, item.metadata); } }, - [getItem, metadataVersion], + [getItem], ); const handleMetaItemUpdate = useCallback( @@ -175,61 +177,64 @@ export default () => { if (!target || !currentModel?.metadataSchema?.id || !currentModel.metadataSchema.fields) { Notification.error({ message: t("Failed to update item.") }); return; - } else if (target.metadata) { - const fields = target.metadata.fields.map(field => { - if (field.schemaFieldId === key) { - if (Array.isArray(field.value) && field.type !== "Tag") { - field.value[index ?? 0] = value ?? ""; + } else { + const metadata = itemIdToMetadata.current.get(updateItemId) ?? target.metadata; + if (metadata?.fields && metadata.id) { + const fields = metadata.fields.map(field => { + if (field.schemaFieldId === key) { + if (Array.isArray(field.value) && field.type !== "Tag") { + field.value[index ?? 0] = value ?? ""; + } else { + field.value = value ?? ""; + } } else { - field.value = value ?? ""; + field.value = field.value ?? ""; } - } else { - field.value = field.value ?? ""; + return field as ItemFieldInput; + }); + const item = await updateItemMutation({ + variables: { + itemId: metadata.id, + fields, + version: metadata.version, + }, + }); + if (item.errors || !item.data?.updateItem) { + Notification.error({ message: t("Failed to update item.") }); + return; + } + } else { + const fields = currentModel.metadataSchema.fields.map(field => ({ + value: field.id === key ? value : "", + schemaFieldId: key, + type: field.type as SchemaFieldType, + })); + const metaItem = await createNewItem({ + variables: { + modelId: currentModel.id, + schemaId: currentModel.metadataSchema.id, + fields, + }, + }); + if (metaItem.errors || !metaItem.data?.createItem) { + Notification.error({ message: t("Failed to update item.") }); + return; + } + const item = await updateItemMutation({ + variables: { + itemId: target.id, + fields: target.fields.map(field => ({ + ...field, + value: field.value ?? "", + })), + metadataId: metaItem?.data.createItem.item.id, + version: target?.version ?? "", + }, + }); + if (item.errors || !item.data?.updateItem) { + Notification.error({ message: t("Failed to update item.") }); + return; } - return field as typeof field & { value: unknown }; - }); - const item = await updateItemMutation({ - variables: { - itemId: target.metadata.id, - fields, - version: metadataVersion.get(target.metadata.id) ?? target.metadata.version, - }, - }); - if (item.errors || !item.data?.updateItem) { - Notification.error({ message: t("Failed to update item.") }); - return; - } - } else { - const fields = currentModel.metadataSchema.fields.map(field => ({ - value: field.id === key ? value : "", - schemaFieldId: key, - type: field.type as SchemaFieldType, - })); - const metaItem = await createNewItem({ - variables: { - modelId: currentModel.id, - schemaId: currentModel.metadataSchema.id, - fields, - }, - }); - if (metaItem.errors || !metaItem.data?.createItem) { - Notification.error({ message: t("Failed to update item.") }); - return; - } - const item = await updateItemMutation({ - variables: { - itemId: target.id, - fields: target.fields.map(field => ({ - ...field, - value: field.value ?? "", - })), - metadataId: metaItem?.data.createItem.item.id, - version: target?.version ?? "", - }, - }); - if (item.errors || !item.data?.updateItem) { - Notification.error({ message: t("Failed to update item.") }); - return; } } metadataVersionSet(updateItemId); @@ -238,10 +243,9 @@ export default () => { [ createNewItem, currentModel?.id, - currentModel?.metadataSchema?.fields, - currentModel?.metadataSchema?.id, + currentModel?.metadataSchema.fields, + currentModel?.metadataSchema.id, data?.searchItem.nodes, - metadataVersion, metadataVersionSet, t, updateItemMutation, diff --git a/web/src/components/organisms/Settings/Members/hooks.ts b/web/src/components/organisms/Settings/Members/hooks.ts index 4e51fd1c19..13ecff3be8 100644 --- a/web/src/components/organisms/Settings/Members/hooks.ts +++ b/web/src/components/organisms/Settings/Members/hooks.ts @@ -11,7 +11,7 @@ import { useAddUsersToWorkspaceMutation, useUpdateMemberOfWorkspaceMutation, Role, - useRemoveMemberFromWorkspaceMutation, + useRemoveMultipleMembersFromWorkspaceMutation, Workspace as GQLWorkspace, useGetUserBySearchLazyQuery, MemberInput as GQLMemberInput, @@ -171,38 +171,34 @@ export default () => { [workspaceId, updateMemberOfWorkspaceMutation, t, setWorkspace], ); - const [removeMemberFromWorkspaceMutation] = useRemoveMemberFromWorkspaceMutation(); + const [RemoveMultipleMembersFromWorkspaceMutation] = + useRemoveMultipleMembersFromWorkspaceMutation(); const handleMemberRemoveFromWorkspace = useCallback( async (userIds: string[]) => { if (!workspaceId) return; - const results = await Promise.all( - userIds.map(async userId => { - const result = await removeMemberFromWorkspaceMutation({ - variables: { workspaceId, userId }, - }); - if (result.errors) { - Notification.error({ - message: t("Failed to remove member(s) from the workspace."), - }); - } - }), - ); - if (results) { + const result = await RemoveMultipleMembersFromWorkspaceMutation({ + variables: { workspaceId, userIds }, + }); + if (result.errors) { + Notification.error({ + message: t("Failed to remove member(s) from the workspace."), + }); + } else { Notification.success({ message: t("Successfully removed member(s) from the workspace!"), }); setSelection({ selectedRowKeys: [] }); } }, - [workspaceId, removeMemberFromWorkspaceMutation, t], + [workspaceId, RemoveMultipleMembersFromWorkspaceMutation, t], ); const handleLeave = useCallback( async (userId: string) => { if (!workspaceId) return; - const result = await removeMemberFromWorkspaceMutation({ - variables: { workspaceId, userId }, + const result = await RemoveMultipleMembersFromWorkspaceMutation({ + variables: { workspaceId, userIds: [userId] }, }); if (result.errors) { Notification.error({ @@ -216,7 +212,14 @@ export default () => { navigate(`/workspace/${me.myWorkspace}`); } }, - [workspaceId, removeMemberFromWorkspaceMutation, t, refetchMe, navigate, me.myWorkspace], + [ + workspaceId, + RemoveMultipleMembersFromWorkspaceMutation, + t, + refetchMe, + navigate, + me.myWorkspace, + ], ); const handleRoleModalClose = useCallback(() => { diff --git a/web/src/gql/fragmentMatcher.json b/web/src/gql/fragmentMatcher.json index f0ba6938f6..b8350f4465 100644 --- a/web/src/gql/fragmentMatcher.json +++ b/web/src/gql/fragmentMatcher.json @@ -43,6 +43,7 @@ "SchemaFieldGroup", "SchemaFieldInteger", "SchemaFieldMarkdown", + "SchemaFieldNumber", "SchemaFieldReference", "SchemaFieldRichText", "SchemaFieldSelect", diff --git a/web/src/gql/graphql-client-api.tsx b/web/src/gql/graphql-client-api.tsx index 877894609d..5a5c93aaf5 100644 --- a/web/src/gql/graphql-client-api.tsx +++ b/web/src/gql/graphql-client-api.tsx @@ -804,9 +804,9 @@ export type Mutation = { publishItem?: Maybe; publishModel?: Maybe; regenerateToken?: Maybe; - removeIntegrationFromWorkspace?: Maybe; + removeIntegrationFromWorkspace?: Maybe; + removeMultipleMembersFromWorkspace?: Maybe; removeMyAuth?: Maybe; - removeUserFromWorkspace?: Maybe; unpublishItem?: Maybe; updateAsset?: Maybe; updateComment?: Maybe; @@ -1006,13 +1006,13 @@ export type MutationRemoveIntegrationFromWorkspaceArgs = { }; -export type MutationRemoveMyAuthArgs = { - input: RemoveMyAuthInput; +export type MutationRemoveMultipleMembersFromWorkspaceArgs = { + input: RemoveMultipleMembersFromWorkspaceInput; }; -export type MutationRemoveUserFromWorkspaceArgs = { - input: RemoveUserFromWorkspaceInput; +export type MutationRemoveMyAuthArgs = { + input: RemoveMyAuthInput; }; @@ -1431,18 +1431,23 @@ export type RemoveIntegrationFromWorkspaceInput = { workspaceId: Scalars['ID']['input']; }; -export type RemoveMemberFromWorkspacePayload = { - __typename?: 'RemoveMemberFromWorkspacePayload'; +export type RemoveIntegrationFromWorkspacePayload = { + __typename?: 'RemoveIntegrationFromWorkspacePayload'; workspace: Workspace; }; -export type RemoveMyAuthInput = { - auth: Scalars['String']['input']; +export type RemoveMultipleMembersFromWorkspaceInput = { + userIds: Array; + workspaceId: Scalars['ID']['input']; }; -export type RemoveUserFromWorkspaceInput = { - userId: Scalars['ID']['input']; - workspaceId: Scalars['ID']['input']; +export type RemoveMultipleMembersFromWorkspacePayload = { + __typename?: 'RemoveMultipleMembersFromWorkspacePayload'; + workspace: Workspace; +}; + +export type RemoveMyAuthInput = { + auth: Scalars['String']['input']; }; export type Request = Node & { @@ -1655,6 +1660,19 @@ export type SchemaFieldMarkdown = { maxLength?: Maybe; }; +export type SchemaFieldNumber = { + __typename?: 'SchemaFieldNumber'; + defaultValue?: Maybe; + max?: Maybe; + min?: Maybe; +}; + +export type SchemaFieldNumberInput = { + defaultValue?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; +}; + export type SchemaFieldReference = { __typename?: 'SchemaFieldReference'; correspondingField?: Maybe; @@ -1762,6 +1780,7 @@ export enum SchemaFieldType { Group = 'Group', Integer = 'Integer', MarkdownText = 'MarkdownText', + Number = 'Number', Reference = 'Reference', RichText = 'RichText', Select = 'Select', @@ -1771,7 +1790,7 @@ export enum SchemaFieldType { Url = 'URL' } -export type SchemaFieldTypeProperty = SchemaFieldAsset | SchemaFieldBool | SchemaFieldCheckbox | SchemaFieldDate | SchemaFieldGeometryEditor | SchemaFieldGeometryObject | SchemaFieldGroup | SchemaFieldInteger | SchemaFieldMarkdown | SchemaFieldReference | SchemaFieldRichText | SchemaFieldSelect | SchemaFieldTag | SchemaFieldText | SchemaFieldTextArea | SchemaFieldUrl; +export type SchemaFieldTypeProperty = SchemaFieldAsset | SchemaFieldBool | SchemaFieldCheckbox | SchemaFieldDate | SchemaFieldGeometryEditor | SchemaFieldGeometryObject | SchemaFieldGroup | SchemaFieldInteger | SchemaFieldMarkdown | SchemaFieldNumber | SchemaFieldReference | SchemaFieldRichText | SchemaFieldSelect | SchemaFieldTag | SchemaFieldText | SchemaFieldTextArea | SchemaFieldUrl; export type SchemaFieldTypePropertyInput = { asset?: InputMaybe; @@ -1783,6 +1802,7 @@ export type SchemaFieldTypePropertyInput = { group?: InputMaybe; integer?: InputMaybe; markdownText?: InputMaybe; + number?: InputMaybe; reference?: InputMaybe; richText?: InputMaybe; select?: InputMaybe; @@ -2238,7 +2258,7 @@ export type AssetFileFragmentFragment = { __typename?: 'AssetFile', name: string export type IntegrationFragmentFragment = { __typename?: 'Integration', id: string, name: string, description?: string | null, logoUrl: string, iType: IntegrationType, developerId: string, createdAt: Date, updatedAt: Date, developer: { __typename?: 'User', id: string, name: string, email: string }, config?: { __typename?: 'IntegrationConfig', token: string, webhooks: Array<{ __typename?: 'Webhook', id: string, name: string, url: string, active: boolean, secret: string, createdAt: Date, updatedAt: Date, trigger: { __typename?: 'WebhookTrigger', onItemCreate?: boolean | null, onItemUpdate?: boolean | null, onItemDelete?: boolean | null, onItemPublish?: boolean | null, onItemUnPublish?: boolean | null, onAssetUpload?: boolean | null, onAssetDecompress?: boolean | null, onAssetDelete?: boolean | null } }> } | null }; -export type RequestFragmentFragment = { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> }; +export type RequestFragmentFragment = { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> }; export type ThreadFragmentFragment = { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> }; @@ -2419,7 +2439,7 @@ export type GetGroupQueryVariables = Exact<{ }>; -export type GetGroupQuery = { __typename?: 'Query', node?: { __typename?: 'Asset' } | { __typename?: 'Group', id: string, schemaId: string, projectId: string, name: string, description: string, key: string, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate', defaultValue?: any | null } | { __typename?: 'SchemaFieldGeometryEditor', defaultValue?: any | null, editorSupportedTypes: Array } | { __typename?: 'SchemaFieldGeometryObject', defaultValue?: any | null, objectSupportedTypes: Array } | { __typename?: 'SchemaFieldGroup' } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference' } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } | { __typename?: 'Integration' } | { __typename?: 'Item' } | { __typename?: 'Model' } | { __typename?: 'Project' } | { __typename?: 'Request' } | { __typename?: 'Schema' } | { __typename?: 'User' } | { __typename?: 'View' } | { __typename?: 'Workspace' } | { __typename?: 'WorkspaceSettings' } | null }; +export type GetGroupQuery = { __typename?: 'Query', node?: { __typename?: 'Asset' } | { __typename?: 'Group', id: string, schemaId: string, projectId: string, name: string, description: string, key: string, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate', defaultValue?: any | null } | { __typename?: 'SchemaFieldGeometryEditor', defaultValue?: any | null, editorSupportedTypes: Array } | { __typename?: 'SchemaFieldGeometryObject', defaultValue?: any | null, objectSupportedTypes: Array } | { __typename?: 'SchemaFieldGroup' } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference' } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } | { __typename?: 'Integration' } | { __typename?: 'Item' } | { __typename?: 'Model' } | { __typename?: 'Project' } | { __typename?: 'Request' } | { __typename?: 'Schema' } | { __typename?: 'User' } | { __typename?: 'View' } | { __typename?: 'Workspace' } | { __typename?: 'WorkspaceSettings' } | null }; export type CreateGroupMutationVariables = Exact<{ projectId: Scalars['ID']['input']; @@ -2588,7 +2608,7 @@ export type GetModelQueryVariables = Exact<{ }>; -export type GetModelQuery = { __typename?: 'Query', node?: { __typename?: 'Asset' } | { __typename?: 'Group' } | { __typename?: 'Integration' } | { __typename?: 'Item' } | { __typename?: 'Model', id: string, name: string, description: string, key: string, public: boolean, order?: number | null, metadataSchema?: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, order?: number | null, typeProperty?: { __typename?: 'SchemaFieldAsset' } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox', defaultValue?: any | null } | { __typename?: 'SchemaFieldDate', defaultValue?: any | null } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup' } | { __typename?: 'SchemaFieldInteger' } | { __typename?: 'SchemaFieldMarkdown' } | { __typename?: 'SchemaFieldReference' } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect' } | { __typename?: 'SchemaFieldTag', selectDefaultValue?: any | null, tags: Array<{ __typename?: 'SchemaFieldTagValue', id: string, name: string, color: SchemaFieldTagColor }> } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea' } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, order?: number | null, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate', defaultValue?: any | null } | { __typename?: 'SchemaFieldGeometryEditor', defaultValue?: any | null, editorSupportedTypes: Array } | { __typename?: 'SchemaFieldGeometryObject', defaultValue?: any | null, objectSupportedTypes: Array } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference', modelId: string, schema: { __typename?: 'Schema', id: string, titleFieldId?: string | null }, correspondingField?: { __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, multiple: boolean, order?: number | null } | null } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } | { __typename?: 'Project' } | { __typename?: 'Request' } | { __typename?: 'Schema' } | { __typename?: 'User' } | { __typename?: 'View' } | { __typename?: 'Workspace' } | { __typename?: 'WorkspaceSettings' } | null }; +export type GetModelQuery = { __typename?: 'Query', node?: { __typename?: 'Asset' } | { __typename?: 'Group' } | { __typename?: 'Integration' } | { __typename?: 'Item' } | { __typename?: 'Model', id: string, name: string, description: string, key: string, public: boolean, order?: number | null, metadataSchema?: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, order?: number | null, typeProperty?: { __typename?: 'SchemaFieldAsset' } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox', defaultValue?: any | null } | { __typename?: 'SchemaFieldDate', defaultValue?: any | null } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup' } | { __typename?: 'SchemaFieldInteger' } | { __typename?: 'SchemaFieldMarkdown' } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference' } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect' } | { __typename?: 'SchemaFieldTag', selectDefaultValue?: any | null, tags: Array<{ __typename?: 'SchemaFieldTagValue', id: string, name: string, color: SchemaFieldTagColor }> } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea' } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, order?: number | null, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate', defaultValue?: any | null } | { __typename?: 'SchemaFieldGeometryEditor', defaultValue?: any | null, editorSupportedTypes: Array } | { __typename?: 'SchemaFieldGeometryObject', defaultValue?: any | null, objectSupportedTypes: Array } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference', modelId: string, schema: { __typename?: 'Schema', id: string, titleFieldId?: string | null }, correspondingField?: { __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, multiple: boolean, order?: number | null } | null } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } | { __typename?: 'Project' } | { __typename?: 'Request' } | { __typename?: 'Schema' } | { __typename?: 'User' } | { __typename?: 'View' } | { __typename?: 'Workspace' } | { __typename?: 'WorkspaceSettings' } | null }; export type CreateModelMutationVariables = Exact<{ projectId: Scalars['ID']['input']; @@ -2715,7 +2735,7 @@ export type GetRequestQueryVariables = Exact<{ }>; -export type GetRequestQuery = { __typename?: 'Query', node?: { __typename?: 'Asset', id: string } | { __typename?: 'Group', id: string } | { __typename?: 'Integration', id: string } | { __typename?: 'Item', id: string } | { __typename?: 'Model', id: string } | { __typename?: 'Project', id: string } | { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } | { __typename?: 'Schema', id: string } | { __typename?: 'User', id: string } | { __typename?: 'View', id: string } | { __typename?: 'Workspace', id: string } | { __typename?: 'WorkspaceSettings', id: string } | null }; +export type GetRequestQuery = { __typename?: 'Query', node?: { __typename?: 'Asset', id: string } | { __typename?: 'Group', id: string } | { __typename?: 'Integration', id: string } | { __typename?: 'Item', id: string } | { __typename?: 'Model', id: string } | { __typename?: 'Project', id: string } | { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } | { __typename?: 'Schema', id: string } | { __typename?: 'User', id: string } | { __typename?: 'View', id: string } | { __typename?: 'Workspace', id: string } | { __typename?: 'WorkspaceSettings', id: string } | null }; export type CreateRequestMutationVariables = Exact<{ projectId: Scalars['ID']['input']; @@ -2727,7 +2747,7 @@ export type CreateRequestMutationVariables = Exact<{ }>; -export type CreateRequestMutation = { __typename?: 'Mutation', createRequest?: { __typename?: 'RequestPayload', request: { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } } | null }; +export type CreateRequestMutation = { __typename?: 'Mutation', createRequest?: { __typename?: 'RequestPayload', request: { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } } | null }; export type UpdateRequestMutationVariables = Exact<{ requestId: Scalars['ID']['input']; @@ -2739,14 +2759,14 @@ export type UpdateRequestMutationVariables = Exact<{ }>; -export type UpdateRequestMutation = { __typename?: 'Mutation', updateRequest?: { __typename?: 'RequestPayload', request: { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } } | null }; +export type UpdateRequestMutation = { __typename?: 'Mutation', updateRequest?: { __typename?: 'RequestPayload', request: { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } } | null }; export type ApproveRequestMutationVariables = Exact<{ requestId: Scalars['ID']['input']; }>; -export type ApproveRequestMutation = { __typename?: 'Mutation', approveRequest?: { __typename?: 'RequestPayload', request: { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } } | null }; +export type ApproveRequestMutation = { __typename?: 'Mutation', approveRequest?: { __typename?: 'RequestPayload', request: { __typename?: 'Request', id: string, title: string, description?: string | null, workspaceId: string, projectId: string, threadId: string, reviewersId: Array, state: RequestState, createdAt: Date, updatedAt: Date, approvedAt?: Date | null, closedAt?: Date | null, items: Array<{ __typename?: 'RequestItem', itemId: string, version?: string | null, ref?: string | null, item?: { __typename?: 'VersionedItem', version: string, parents?: Array | null, refs: Array, value: { __typename?: 'Item', id: string, schemaId: string, modelId: string, model: { __typename?: 'Model', name: string }, fields: Array<{ __typename?: 'ItemField', schemaFieldId: string, type: SchemaFieldType, value?: any | null, itemGroupId?: string | null }>, referencedItems?: Array<{ __typename?: 'Item', id: string, title?: string | null, schemaId: string, status: ItemStatus, version: string, createdAt: Date, updatedAt: Date, createdBy?: { __typename?: 'Integration', name: string } | { __typename?: 'User', name: string } | null }> | null, schema: { __typename?: 'Schema', id: string, fields: Array<{ __typename?: 'SchemaField', id: string, type: SchemaFieldType, title: string, key: string, description?: string | null, required: boolean, unique: boolean, isTitle: boolean, multiple: boolean, typeProperty?: { __typename?: 'SchemaFieldAsset', assetDefaultValue?: any | null } | { __typename?: 'SchemaFieldBool', defaultValue?: any | null } | { __typename?: 'SchemaFieldCheckbox' } | { __typename?: 'SchemaFieldDate' } | { __typename?: 'SchemaFieldGeometryEditor' } | { __typename?: 'SchemaFieldGeometryObject' } | { __typename?: 'SchemaFieldGroup', groupId: string } | { __typename?: 'SchemaFieldInteger', min?: number | null, max?: number | null, integerDefaultValue?: any | null } | { __typename?: 'SchemaFieldMarkdown', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldNumber' } | { __typename?: 'SchemaFieldReference', modelId: string } | { __typename?: 'SchemaFieldRichText' } | { __typename?: 'SchemaFieldSelect', values: Array, selectDefaultValue?: any | null } | { __typename?: 'SchemaFieldTag' } | { __typename?: 'SchemaFieldText', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldTextArea', defaultValue?: any | null, maxLength?: number | null } | { __typename?: 'SchemaFieldURL', defaultValue?: any | null } | null }> } } } | null }>, createdBy?: { __typename?: 'User', id: string, name: string, email: string } | null, thread?: { __typename?: 'Thread', id: string, workspaceId: string, comments: Array<{ __typename?: 'Comment', id: string, authorId: string, content: string, createdAt: Date, author?: { __typename?: 'Integration', id: string, name: string } | { __typename?: 'User', id: string, name: string, email: string } | null }> } | null, project?: { __typename?: 'Project', id: string, name: string, createdAt: Date, updatedAt: Date } | null, reviewers: Array<{ __typename?: 'User', id: string, name: string, email: string }> } } | null }; export type DeleteRequestMutationVariables = Exact<{ projectId: Scalars['ID']['input']; @@ -2923,13 +2943,13 @@ export type UpdateMemberOfWorkspaceMutationVariables = Exact<{ export type UpdateMemberOfWorkspaceMutation = { __typename?: 'Mutation', updateUserOfWorkspace?: { __typename?: 'UpdateMemberOfWorkspacePayload', workspace: { __typename?: 'Workspace', id: string, name: string, personal: boolean, members: Array<{ __typename?: 'WorkspaceIntegrationMember', integrationId: string, role: Role, active: boolean, invitedById: string, integration?: { __typename?: 'Integration', id: string, name: string, description?: string | null, logoUrl: string, iType: IntegrationType, developerId: string, createdAt: Date, updatedAt: Date, developer: { __typename?: 'User', id: string, name: string, email: string }, config?: { __typename?: 'IntegrationConfig', token: string, webhooks: Array<{ __typename?: 'Webhook', id: string, name: string, url: string, active: boolean, secret: string, createdAt: Date, updatedAt: Date, trigger: { __typename?: 'WebhookTrigger', onItemCreate?: boolean | null, onItemUpdate?: boolean | null, onItemDelete?: boolean | null, onItemPublish?: boolean | null, onItemUnPublish?: boolean | null, onAssetUpload?: boolean | null, onAssetDecompress?: boolean | null, onAssetDelete?: boolean | null } }> } | null } | null, invitedBy?: { __typename?: 'User', id: string, name: string, email: string } | null } | { __typename?: 'WorkspaceUserMember', userId: string, role: Role, user?: { __typename?: 'User', id: string, name: string, email: string } | null }> } } | null }; -export type RemoveMemberFromWorkspaceMutationVariables = Exact<{ +export type RemoveMultipleMembersFromWorkspaceMutationVariables = Exact<{ workspaceId: Scalars['ID']['input']; - userId: Scalars['ID']['input']; + userIds: Array | Scalars['ID']['input']; }>; -export type RemoveMemberFromWorkspaceMutation = { __typename?: 'Mutation', removeUserFromWorkspace?: { __typename?: 'RemoveMemberFromWorkspacePayload', workspace: { __typename?: 'Workspace', id: string, name: string, personal: boolean, members: Array<{ __typename?: 'WorkspaceIntegrationMember', integrationId: string, role: Role, active: boolean, invitedById: string, integration?: { __typename?: 'Integration', id: string, name: string, description?: string | null, logoUrl: string, iType: IntegrationType, developerId: string, createdAt: Date, updatedAt: Date, developer: { __typename?: 'User', id: string, name: string, email: string }, config?: { __typename?: 'IntegrationConfig', token: string, webhooks: Array<{ __typename?: 'Webhook', id: string, name: string, url: string, active: boolean, secret: string, createdAt: Date, updatedAt: Date, trigger: { __typename?: 'WebhookTrigger', onItemCreate?: boolean | null, onItemUpdate?: boolean | null, onItemDelete?: boolean | null, onItemPublish?: boolean | null, onItemUnPublish?: boolean | null, onAssetUpload?: boolean | null, onAssetDecompress?: boolean | null, onAssetDelete?: boolean | null } }> } | null } | null, invitedBy?: { __typename?: 'User', id: string, name: string, email: string } | null } | { __typename?: 'WorkspaceUserMember', userId: string, role: Role, user?: { __typename?: 'User', id: string, name: string, email: string } | null }> } } | null }; +export type RemoveMultipleMembersFromWorkspaceMutation = { __typename?: 'Mutation', removeMultipleMembersFromWorkspace?: { __typename?: 'RemoveMultipleMembersFromWorkspacePayload', workspace: { __typename?: 'Workspace', id: string, name: string, personal: boolean, members: Array<{ __typename?: 'WorkspaceIntegrationMember', integrationId: string, role: Role, active: boolean, invitedById: string, integration?: { __typename?: 'Integration', id: string, name: string, description?: string | null, logoUrl: string, iType: IntegrationType, developerId: string, createdAt: Date, updatedAt: Date, developer: { __typename?: 'User', id: string, name: string, email: string }, config?: { __typename?: 'IntegrationConfig', token: string, webhooks: Array<{ __typename?: 'Webhook', id: string, name: string, url: string, active: boolean, secret: string, createdAt: Date, updatedAt: Date, trigger: { __typename?: 'WebhookTrigger', onItemCreate?: boolean | null, onItemUpdate?: boolean | null, onItemDelete?: boolean | null, onItemPublish?: boolean | null, onItemUnPublish?: boolean | null, onAssetUpload?: boolean | null, onAssetDecompress?: boolean | null, onAssetDelete?: boolean | null } }> } | null } | null, invitedBy?: { __typename?: 'User', id: string, name: string, email: string } | null } | { __typename?: 'WorkspaceUserMember', userId: string, role: Role, user?: { __typename?: 'User', id: string, name: string, email: string } | null }> } } | null }; export type AddIntegrationToWorkspaceMutationVariables = Exact<{ workspaceId: Scalars['ID']['input']; @@ -2955,7 +2975,7 @@ export type RemoveIntegrationFromWorkspaceMutationVariables = Exact<{ }>; -export type RemoveIntegrationFromWorkspaceMutation = { __typename?: 'Mutation', removeIntegrationFromWorkspace?: { __typename?: 'RemoveMemberFromWorkspacePayload', workspace: { __typename?: 'Workspace', id: string, name: string, personal: boolean, members: Array<{ __typename?: 'WorkspaceIntegrationMember', integrationId: string, role: Role, active: boolean, invitedById: string, integration?: { __typename?: 'Integration', id: string, name: string, description?: string | null, logoUrl: string, iType: IntegrationType, developerId: string, createdAt: Date, updatedAt: Date, developer: { __typename?: 'User', id: string, name: string, email: string }, config?: { __typename?: 'IntegrationConfig', token: string, webhooks: Array<{ __typename?: 'Webhook', id: string, name: string, url: string, active: boolean, secret: string, createdAt: Date, updatedAt: Date, trigger: { __typename?: 'WebhookTrigger', onItemCreate?: boolean | null, onItemUpdate?: boolean | null, onItemDelete?: boolean | null, onItemPublish?: boolean | null, onItemUnPublish?: boolean | null, onAssetUpload?: boolean | null, onAssetDecompress?: boolean | null, onAssetDelete?: boolean | null } }> } | null } | null, invitedBy?: { __typename?: 'User', id: string, name: string, email: string } | null } | { __typename?: 'WorkspaceUserMember', userId: string, role: Role, user?: { __typename?: 'User', id: string, name: string, email: string } | null }> } } | null }; +export type RemoveIntegrationFromWorkspaceMutation = { __typename?: 'Mutation', removeIntegrationFromWorkspace?: { __typename?: 'RemoveIntegrationFromWorkspacePayload', workspace: { __typename?: 'Workspace', id: string, name: string, personal: boolean, members: Array<{ __typename?: 'WorkspaceIntegrationMember', integrationId: string, role: Role, active: boolean, invitedById: string, integration?: { __typename?: 'Integration', id: string, name: string, description?: string | null, logoUrl: string, iType: IntegrationType, developerId: string, createdAt: Date, updatedAt: Date, developer: { __typename?: 'User', id: string, name: string, email: string }, config?: { __typename?: 'IntegrationConfig', token: string, webhooks: Array<{ __typename?: 'Webhook', id: string, name: string, url: string, active: boolean, secret: string, createdAt: Date, updatedAt: Date, trigger: { __typename?: 'WebhookTrigger', onItemCreate?: boolean | null, onItemUpdate?: boolean | null, onItemDelete?: boolean | null, onItemPublish?: boolean | null, onItemUnPublish?: boolean | null, onAssetUpload?: boolean | null, onAssetDecompress?: boolean | null, onAssetDelete?: boolean | null } }> } | null } | null, invitedBy?: { __typename?: 'User', id: string, name: string, email: string } | null } | { __typename?: 'WorkspaceUserMember', userId: string, role: Role, user?: { __typename?: 'User', id: string, name: string, email: string } | null }> } } | null }; export type CreateWorkspaceMutationVariables = Exact<{ name: Scalars['String']['input']; @@ -7337,9 +7357,11 @@ export function useUpdateMemberOfWorkspaceMutation(baseOptions?: Apollo.Mutation export type UpdateMemberOfWorkspaceMutationHookResult = ReturnType; export type UpdateMemberOfWorkspaceMutationResult = Apollo.MutationResult; export type UpdateMemberOfWorkspaceMutationOptions = Apollo.BaseMutationOptions; -export const RemoveMemberFromWorkspaceDocument = gql` - mutation RemoveMemberFromWorkspace($workspaceId: ID!, $userId: ID!) { - removeUserFromWorkspace(input: {workspaceId: $workspaceId, userId: $userId}) { +export const RemoveMultipleMembersFromWorkspaceDocument = gql` + mutation RemoveMultipleMembersFromWorkspace($workspaceId: ID!, $userIds: [ID!]!) { + removeMultipleMembersFromWorkspace( + input: {workspaceId: $workspaceId, userIds: $userIds} + ) { workspace { id ...WorkspaceFragment @@ -7347,33 +7369,33 @@ export const RemoveMemberFromWorkspaceDocument = gql` } } ${WorkspaceFragmentFragmentDoc}`; -export type RemoveMemberFromWorkspaceMutationFn = Apollo.MutationFunction; +export type RemoveMultipleMembersFromWorkspaceMutationFn = Apollo.MutationFunction; /** - * __useRemoveMemberFromWorkspaceMutation__ + * __useRemoveMultipleMembersFromWorkspaceMutation__ * - * To run a mutation, you first call `useRemoveMemberFromWorkspaceMutation` within a React component and pass it any options that fit your needs. - * When your component renders, `useRemoveMemberFromWorkspaceMutation` returns a tuple that includes: + * To run a mutation, you first call `useRemoveMultipleMembersFromWorkspaceMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useRemoveMultipleMembersFromWorkspaceMutation` returns a tuple that includes: * - A mutate function that you can call at any time to execute the mutation * - An object with fields that represent the current status of the mutation's execution * * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; * * @example - * const [removeMemberFromWorkspaceMutation, { data, loading, error }] = useRemoveMemberFromWorkspaceMutation({ + * const [removeMultipleMembersFromWorkspaceMutation, { data, loading, error }] = useRemoveMultipleMembersFromWorkspaceMutation({ * variables: { * workspaceId: // value for 'workspaceId' - * userId: // value for 'userId' + * userIds: // value for 'userIds' * }, * }); */ -export function useRemoveMemberFromWorkspaceMutation(baseOptions?: Apollo.MutationHookOptions) { +export function useRemoveMultipleMembersFromWorkspaceMutation(baseOptions?: Apollo.MutationHookOptions) { const options = {...defaultOptions, ...baseOptions} - return Apollo.useMutation(RemoveMemberFromWorkspaceDocument, options); + return Apollo.useMutation(RemoveMultipleMembersFromWorkspaceDocument, options); } -export type RemoveMemberFromWorkspaceMutationHookResult = ReturnType; -export type RemoveMemberFromWorkspaceMutationResult = Apollo.MutationResult; -export type RemoveMemberFromWorkspaceMutationOptions = Apollo.BaseMutationOptions; +export type RemoveMultipleMembersFromWorkspaceMutationHookResult = ReturnType; +export type RemoveMultipleMembersFromWorkspaceMutationResult = Apollo.MutationResult; +export type RemoveMultipleMembersFromWorkspaceMutationOptions = Apollo.BaseMutationOptions; export const AddIntegrationToWorkspaceDocument = gql` mutation AddIntegrationToWorkspace($workspaceId: ID!, $integrationId: ID!, $role: Role!) { addIntegrationToWorkspace( diff --git a/web/src/gql/graphql.schema.json b/web/src/gql/graphql.schema.json index 5de499f96d..4adf4987b2 100644 --- a/web/src/gql/graphql.schema.json +++ b/web/src/gql/graphql.schema.json @@ -7833,14 +7833,14 @@ ], "type": { "kind": "OBJECT", - "name": "RemoveMemberFromWorkspacePayload", + "name": "RemoveIntegrationFromWorkspacePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "removeMyAuth", + "name": "removeMultipleMembersFromWorkspace", "description": null, "args": [ { @@ -7851,7 +7851,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "RemoveMyAuthInput", + "name": "RemoveMultipleMembersFromWorkspaceInput", "ofType": null } }, @@ -7862,14 +7862,14 @@ ], "type": { "kind": "OBJECT", - "name": "UpdateMePayload", + "name": "RemoveMultipleMembersFromWorkspacePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "removeUserFromWorkspace", + "name": "removeMyAuth", "description": null, "args": [ { @@ -7880,7 +7880,7 @@ "name": null, "ofType": { "kind": "INPUT_OBJECT", - "name": "RemoveUserFromWorkspaceInput", + "name": "RemoveMyAuthInput", "ofType": null } }, @@ -7891,7 +7891,7 @@ ], "type": { "kind": "OBJECT", - "name": "RemoveMemberFromWorkspacePayload", + "name": "UpdateMePayload", "ofType": null }, "isDeprecated": false, @@ -10886,7 +10886,7 @@ }, { "kind": "OBJECT", - "name": "RemoveMemberFromWorkspacePayload", + "name": "RemoveIntegrationFromWorkspacePayload", "description": null, "isOneOf": null, "fields": [ @@ -10914,20 +10914,44 @@ }, { "kind": "INPUT_OBJECT", - "name": "RemoveMyAuthInput", + "name": "RemoveMultipleMembersFromWorkspaceInput", "description": null, "isOneOf": false, "fields": null, "inputFields": [ { - "name": "auth", + "name": "userIds", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaceId", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, @@ -10941,37 +10965,49 @@ "possibleTypes": null }, { - "kind": "INPUT_OBJECT", - "name": "RemoveUserFromWorkspaceInput", + "kind": "OBJECT", + "name": "RemoveMultipleMembersFromWorkspacePayload", "description": null, - "isOneOf": false, - "fields": null, - "inputFields": [ + "isOneOf": null, + "fields": [ { - "name": "userId", + "name": "workspace", "description": null, + "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "ID", + "kind": "OBJECT", + "name": "Workspace", "ofType": null } }, - "defaultValue": null, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RemoveMyAuthInput", + "description": null, + "isOneOf": false, + "fields": null, + "inputFields": [ { - "name": "workspaceId", + "name": "auth", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", - "name": "ID", + "name": "String", "ofType": null } }, @@ -12778,6 +12814,102 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "SchemaFieldNumber", + "description": null, + "isOneOf": null, + "fields": [ + { + "name": "defaultValue", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Any", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "max", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "min", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SchemaFieldNumberInput", + "description": null, + "isOneOf": false, + "fields": null, + "inputFields": [ + { + "name": "defaultValue", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Any", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "max", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "min", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "SchemaFieldReference", @@ -13575,6 +13707,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "Number", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "Reference", "description": null, @@ -13675,6 +13813,11 @@ "name": "SchemaFieldMarkdown", "ofType": null }, + { + "kind": "OBJECT", + "name": "SchemaFieldNumber", + "ofType": null + }, { "kind": "OBJECT", "name": "SchemaFieldReference", @@ -13827,6 +13970,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "number", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SchemaFieldNumberInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "reference", "description": null, diff --git a/web/src/gql/queries/workspace.ts b/web/src/gql/queries/workspace.ts index 5c097f995f..0b75bf7841 100644 --- a/web/src/gql/queries/workspace.ts +++ b/web/src/gql/queries/workspace.ts @@ -72,9 +72,9 @@ export const UPDATE_MEMBER_OF_WORKSPACE = gql` } `; -export const REMOVE_MEMBER_FROM_WORKSPACE = gql` - mutation RemoveMemberFromWorkspace($workspaceId: ID!, $userId: ID!) { - removeUserFromWorkspace(input: { workspaceId: $workspaceId, userId: $userId }) { +export const REMOVE_MULTIPLE_MEMBERS_FROM_WORKSPACE = gql` + mutation RemoveMultipleMembersFromWorkspace($workspaceId: ID!, $userIds: [ID!]!) { + removeMultipleMembersFromWorkspace(input: { workspaceId: $workspaceId, userIds: $userIds }) { workspace { id ...WorkspaceFragment diff --git a/web/src/i18n/translations/en.yml b/web/src/i18n/translations/en.yml index 1f7af005f2..bf5963a220 100644 --- a/web/src/i18n/translations/en.yml +++ b/web/src/i18n/translations/en.yml @@ -1,556 +1,557 @@ -Download: '' -Loading: '' -Oops!: '' -PAGE NOT FOUND ON SERVER: '' -Go back Home: '' -ITEM NOT FOUND ON SERVER: '' -Model: '' -Switch: '' -End point: '' -Assets: '' -Private: '' -Public: '' -Accessibility: '' -Public Scope: '' -Choose the scope of your project. This affects all the models shown below that are switched on.: '' -Project Alias: '' -Alias copied!!: '' -Save changes: '' -Are you sure you want to delete your account?: '' -Cancel: '' -Danger Zone: '' -Delete Personal Account: '' -Permanently removes your personal account and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: '' -Account Name: '' -This is your ID that is used between Re:Earth and Re:Earth CMS.: '' -Please input Account Name!: '' -Your Email: '' -Please enter the email address you want to use to log in with Re:Earth CMS.: '' -Please input Your Email!: '' -Save: '' -Account Settings: '' -General: '' -Service: '' -Auto: '' -Service Language: '' -This will change the UI language: '' -Language: '' -URL copied!!: '' -Unzip: '' -Asset Type: '' -Created Time: '' -Created By: '' -Linked to: '' -Asset: '' -Source Code: '' -Render: '' -PNG/JPEG/TIFF/GIF: '' -SVG: '' -GEOJSON/KML/CZML: '' -3D Tiles: '' -MVT: '' -GLTF/GLB: '' -CSV: '' -Unknown Type: '' -Decompressing...: '' -Failed to decompress. Please check the file and try again.: '' -Not supported: '' -Decompressed: '' -Failed: '' -Decompressing: '' -Skipped: '' -Pending: '' -File: '' -Size: '' -Preview Type: '' -Status: '' -Created At: '' -ID: '' -input search text: '' -Deselect: '' -Delete: '' -Upload Asset: '' -Auto Unzip: '' -Remove file: '' -Click or drag files to this area to upload: '' -Single or multiple file upload is supported: '' -Uploading: '' -Upload and Link: '' -Upload: '' -Asset Uploader: '' -Local: '' -URL: '' -Please input the URL of the asset!: '' -Please input a valid URL: '' -Could not display svg: '' -Comment: '' -Comments: '' -Cannot edit in read-only editor: '' -You are entering a new value: '' -This action will replace the previously entered value. Do you want to continue?: '' -Do not show this again: '' -Continue: '' -Value copied!!: '' -Search Location: '' -GeoJSON type mismatch, please check your input: '' -Personal Account: '' -Workspaces: '' -Create Workspace: '' -Logout: '' -Re:Earth CMS: '' -Go to Editor: '' -Link Asset: '' -New: '' -Tag: '' -OK: '' -Project name: '' -Please input the name of project!: '' -Project alias: '' -Project alias must be unique and at least 5 characters long. It can only contain letters, numbers, underscores, and dashes.: '' -Project alias is not valid: '' -Project description: '' -Home: '' -Overview: '' -Schema: '' -Content: '' -Request: '' -Settings: '' -Workspace name: '' -Please input the title of the new workspace!: '' -Member: '' -Integrations: '' -My Integrations: '' -Workspace: '' -Account: '' -Please input field!: '' -Please select an option!: '' -URL is not valid: '' -unique: '' -Title: '' -Leave: '' -This item has unsaved data: '' -Are you going to leave?: '' -Add to Request: '' -Unpublish: '' -New Request: '' -Publish: '' -Refer to item: '' -Item Information: '' -Updated At: '' -Updated By: '' -Publish State: '' -Linked Request: '' -This item has been referenced: '' -Are you going to refer to it? The previous reference will be canceled automatically: '' -State: '' -Reviewers: '' -New Item: '' -We found some referenced items that not been published yet. Please select to publish the items.: '' -Please input the title of your request!: '' -Description: '' -Please select a reviewer!: '' -Reviewer: '' -We found some referenced items that not published yet. Please select to add the items to the same request.: '' -is: '' -is not: '' -contains: '' -doesn't contain: '' -start with: '' -doesn't start with: '' -end with: '' -doesn't end with: '' -greater than: '' -greater than or equal to: '' -less than: '' -less than or equal to: '' -after: '' -after or on: '' -before: '' -before or on: '' -of this week: '' -of this month: '' -of this year: '' -is empty: '' -is not empty: '' -Ascending: '' -Descending: '' -Confirm: '' -Filter: '' -Add Filter: '' -Add Sort: '' -Control: '' -DRAFT: '' -PUBLIC: '' -REVIEW: '' -Connect Integration: '' -Connect: '' -Integration Setting: '' -Role: '' -Please input the appropriate role for this integration!: '' -select role: '' -Reader: '' -Writer: '' -Maintainer: '' -Owner: '' -Name: '' -Creator: '' -Remove: '' -No Integration yet: '' -Create a new: '' -Or read: '' -how to use Re:Earth CMS: '' -first: '' -Add member: '' -Add to workspace: '' -Email address or user name: '' -Selected Members: '' -Role Settings: '' -Please input the appropriate role for this member!: '' -Are you sure to remove this member?: '' -Remove this member from workspace means this member will not view any content of this workspace.: '' -Are you sure to leave this workspace?: '' -Leave this workspace means you will not view any content of this workspace.: '' -Thumbnail: '' -Email: '' -Action: '' -Change Role?: '' -Members: '' -New Member: '' -GROUPS: '' -Add: '' -MODELS: '' -My Integration: '' -Webhook: '' -New Integration: '' -Create: '' -Integration Name: '' -Please input the title of the integration!: '' -Create new integration: '' -Are you sure to remove this integration?: '' -Permanently remove your Integration and all of its contents from the Re:Earth CMS.: '' -Once the integration is removed, it will disappear from all workspaces.: '' -Remove Integration: '' -Permanently remove your Integration and all of its contents from the Re:Earth CMS. This action is not reversible – please continue with caution.: '' -Regenerate The Integration Token?: '' -If you regenerate the integration token, the previous token will become invalid, and this action cannot be undone. Are you sure you want to proceed?: '' -Reset: '' -Integration Token: '' -Token copied!!: '' -Regenerate: '' -Code Example: '' -your model id here: '' -your Integration Token here: '' -Update: '' -Decompress: '' -This is your webhook name: '' -Please input the name of the webhook!: '' -Url: '' -Please note that all webhook URLs must start with http://.: '' -Secret: '' -This secret will be used to sign Webhook request: '' -Please input secret!: '' -Trigger Event: '' -Item: '' -New Webhook: '' -No Webhook yet: '' -No Projects Yet: '' -Create a new project: '' -New Project: '' -Models: '' -New Model: '' -Edit: '' -Are you sure you want to delete this project?: '' -Delete Project: '' -Permanently removes your project and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: '' -Alias: '' -Write something here to describe this record.: '' -Project Settings: '' -Need request: '' -If this option is chosen, all new model within the project will default follow it: '' -Leave your comment...: '' -Add Comment: '' -Close: '' -Reopen: '' -Approve: '' -Approved: '' -Closed: '' -Assign to: '' -WAITING: '' -APPROVED: '' -CLOSED: '' -Current user: '' -Delete Model: '' -Delete Group: '' -Are you sure you want to delete this model: Are you sure you want to delete this model {{name}}? -Are you sure you want to delete this group: Are you sure you want to delete this group {{name}}? -This action will permanently delete the selected model and cannot be reversed.: '' -This action will permanently delete the selected group and cannot be reversed.: '' -Warning: '' -Text: '' -Time: '' -Boolean: '' -Select: '' -Number: '' -GeoJSON Geometry: '' -Relation: '' -Group: '' -Meta Data: '' -Add Field: '' -optional: '' -Update Field: Update {{field}} Field -Create Field: Create {{field}} Field -Previous: '' -Next: '' -Reference setting: '' -Field: '' -Corresponding field: '' -Select the model to reference: '' -Please select the model!: '' -Reference direction: '' -One-way reference: '' -A unidirectional relationship where an item refers to another item: '' -Two-way reference: '' -A bidirectional relationship where two items refer to each other: '' -Display name: '' -Please input the display name of field!: '' -Field Key: '' -Field key must be unique and at least 1 character long. It can only contain letters, numbers, underscores and dashes.: '' -Key is not valid: '' -Set Options: '' -Stores a list of values instead of a single value: '' -Support multiple values: '' -Only one field can be used as the title: '' -Use as title: '' -Validation: '' -Prevents saving an entry if this field is empty: '' -Make field required: '' -Ensures that a multiple entries can't have the same value for this field: '' -Set field as unique: '' -Set default value: '' -Default value must be a valid URL and start with 'http://' or 'https://'.: '' -Set maximum length: '' -Set minimum value: '' -Set maximum value: '' -Set Tags: '' -Select Group: '' -Please select the group!: '' -Support Type: '' -Please select what type of Geometry this field will support: '' -Please select the Support Type!: '' -options: '' -Ensures that multiple entries can't have the same value for this field: '' -Default value: '' -Heading and titles, one-line field: '' -TextArea: '' -Multi line text: '' -Markdown text: '' -Rich text which supports md style: '' -Asset file: '' -true/false field: '' -Option: '' -Multiple select: '' -Int: '' -Integer: '' -http/https URL: '' -Reference: '' -Reference other models and items: '' -Date: '' -Date picker: '' -Select from a list of tags: '' -Check Box: '' -Select from a list of checkboxes: '' -Customize a group of fields: '' -Geometry Object: '' -Input GeoJSON and preview: '' -Geometry Editor: '' -Draw the geometry on map: '' -Update Model: '' -Update Group: '' -New Group: '' -Model name: '' -Group name: '' -Please input the name of the model!: '' -Please input the name of the group!: '' -Model description: '' -Group description: '' -Model key: '' -Group key: '' -Model key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: '' -Group key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: '' -Fields: '' -Are you sure you want to delete this field?: Are you sure you want to delete this field {{name}}? -Publish Status: '' -Empty Schema design.: '' -Please add some field from right panel.: '' -New Tiles: '' -New Terrain: '' -Update Tiles: '' -Update Terrain: '' -Tiles type: '' -Terrain type: '' -Name of tiles: '' -example: '' -Image URL: '' -Name of terrain: '' -Terrain Cesium Ion asset ID: '' -Terrain Cesium Ion access token: '' -Terrain URL: '' -Geospatial asset preview setting: '' -For asset viewer (formats like 3D Tiles, MVT, GeoJSON, CZML ... ): '' -Tiles: '' -The first one in the list will be the default Tile.: '' -Add new Tiles option: '' -Terrain: '' -The first one in the list will be the default Terrain.: '' -Enable: '' -Add new Terrain option: '' -New View: '' -Update View: '' -View Name: '' -This is the title of the view: '' -Please input the view name!: '' -Rename: '' -Remove View: '' -Are you sure you want to delete this view?: '' -Deleting the view is a permanent action. However, the contents will remain unaffected.: '' -Please proceed with caution as this action cannot be undone.: '' -Save as new view: '' -Welcome to Re:Earth CMS !: '' -WRITER: '' -READER: '' -MAINTAINER: '' -OWNER: '' -search projects: '' -Create a Workspace: '' -Are you sure you want to delete this workspace?: '' -Remove Workspace: '' -Permanently removes the current workspace and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: '' -Workspace Name: '' -This is the name that will be visible within Re:Earth and Re:Earth CMS. This could be your company's name, department's name, the theme of your projects, etc.: '' -Please input a new workspace name!: '' -Workspace Settings: '' -Failed to update user.: '' -Successfully updated user!: '' -Failed to update language.: '' -Successfully updated language!: '' -Failed to delete user.: '' -Successfully deleted user!: '' -Successfully created workspace!: '' -Failed to create comment.: '' -Successfully created comment!: '' -Failed to update comment.: '' -Successfully updated comment!: '' -Failed to delete comment.: '' -Successfully deleted comment!: '' -Failed to update publication settings.: '' -Successfully updated publication settings!: '' -Failed to update asset.: '' -Asset was successfully updated!: '' -Failed to decompress asset.: '' -Asset is being decompressed!: '' -Failed to add one or more assets.: '' -Successfully added one or more assets!: '' -Successfully added asset!: '' -Failed to add asset.: '' -Failed to delete one or more assets.: '' -One or more assets were successfully deleted!: '' -No comments.: '' -Please click the comment bubble in the table to check comments.: '' -Failed to create item.: '' -Successfully created Item!: '' -Failed to update item.: '' -Successfully updated Item!: '' -Failed to create request.: '' -Successfully created request!: '' -Failed to update request.: '' -Successfully updated request!: '' -Failed to delete one or more items.: '' -One or more items were successfully deleted!: '' -One of the items already exists in the request.: '' -Successfully updated Request!: '' -Failed to publish items.: '' -Successfully published items!: '' -Failed to unpublish items.: '' -Successfully unpublished items!: '' -Failed to create view.: '' -Successfully created view!: '' -Failed to update view.: '' -Successfully updated view!: '' -Failed to rename view.: '' -Successfully renamed view!: '' -Failed to delete view.: '' -Successfully deleted view!: '' -Failed to update views order.: '' -Successfully updated views order!: '' -Failed to create model.: '' -Successfully created model!: '' -Failed to update models order.: '' -Successfully updated models order!: '' -Failed to create group.: '' -Successfully created group!: '' -Failed to update groups order.: '' -Successfully updated groups order!: '' -Failed to delete model.: '' -Successfully deleted model!: '' -Failed to update model.: '' -Successfully updated model!: '' -Failed to delete one or more requests.: '' -One or more requests were successfully closed!: '' -Failed to approve request.: '' -Successfully approved request!: '' -Failed to delete field.: '' -Successfully deleted field!: '' -Failed to update field.: '' -Successfully updated field!: '' -Failed to create field.: '' -Successfully created field!: '' -Group cannot be deleted: '' -is used in: '' -If you want to delete it, please delete the field that uses it first.: '' -Failed to delete group.: '' -Successfully deleted group!: '' -Failed to update group.: '' -Successfully updated group!: '' -No available Group: '' -Please create a Group first to use the field: '' -Create Group: '' -Failed to update project.: '' -Successfully updated project!: '' -Failed to update request roles.: '' -Successfully updated request roles!: '' -Failed to delete project.: '' -Successfully deleted project!: '' -Failed to update workspace.: '' -Successfully updated workspace!: '' -Failed to connect integration.: '' -Successfully connected integration to the workspace!: '' -Failed to update workspace integration.: '' -Successfully updated workspace integration!: '' -Failed to delete one or more intagrations.: '' -One or more integrations were successfully deleted!: '' -Failed to add one or more members.: '' -Successfully added member(s) to the workspace!: '' -Failed to update member's role.: '' -Successfully updated member's role!: '' -Failed to remove member(s) from the workspace.: '' -Successfully removed member(s) from the workspace!: '' -Failed to leave the workspace.: '' -Successfully left the workspace!: '' -Failed to update integration.: '' -Successfully updated integration!: '' -Failed to delete integration.: '' -Successfully deleted integration!: '' -The attempt to regenerate the integration token has failed.: '' -The integration token has been successfully regenerated!: '' -Failed to create webhook.: '' -Successfully created webhook!: '' -Failed to delete webhook.: '' -Successfully deleted webhook!: '' -Failed to update webhook.: '' -Successfully updated webhook!: '' -Failed to create integration.: '' -Successfully created integration!: '' -Failed to create project.: '' -Successfully created project!: '' -Failed to delete workspace.: '' -Successfully deleted workspace!: '' +Download: '' +Loading: '' +Oops!: '' +PAGE NOT FOUND ON SERVER: '' +Go back Home: '' +ITEM NOT FOUND ON SERVER: '' +Model: '' +Switch: '' +End point: '' +Assets: '' +Private: '' +Public: '' +Accessibility: '' +Public Scope: '' +Choose the scope of your project. This affects all the models shown below that are switched on.: '' +Project Alias: '' +Alias copied!!: '' +Save changes: '' +Are you sure you want to delete your account?: '' +Cancel: '' +Danger Zone: '' +Delete Personal Account: '' +Permanently removes your personal account and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: '' +Account Name: '' +This is your ID that is used between Re:Earth and Re:Earth CMS.: '' +Please input Account Name!: '' +Your Email: '' +Please enter the email address you want to use to log in with Re:Earth CMS.: '' +Please input Your Email!: '' +Save: '' +Account Settings: '' +General: '' +Service: '' +Auto: '' +Service Language: '' +This will change the UI language: '' +Language: '' +URL copied!!: '' +Unzip: '' +Asset Type: '' +Created Time: '' +Created By: '' +Linked to: '' +Asset: '' +Source Code: '' +Render: '' +PNG/JPEG/TIFF/GIF: '' +SVG: '' +GEOJSON/KML/CZML: '' +3D Tiles: '' +MVT: '' +GLTF/GLB: '' +CSV: '' +Unknown Type: '' +Decompressing...: '' +Failed to decompress. Please check the file and try again.: '' +Not supported: '' +Decompressed: '' +Failed: '' +Decompressing: '' +Skipped: '' +Pending: '' +File: '' +Size: '' +Preview Type: '' +Status: '' +Created At: '' +ID: '' +input search text: '' +Deselect: '' +Delete: '' +Upload Asset: '' +Auto Unzip: '' +Remove file: '' +Click or drag files to this area to upload: '' +Single or multiple file upload is supported: '' +Uploading: '' +Upload and Link: '' +Upload: '' +Asset Uploader: '' +Local: '' +URL: '' +Please input the URL of the asset!: '' +Please input a valid URL: '' +Could not display svg: '' +Comment: '' +Comments: '' +Cannot edit in read-only editor: '' +You are entering a new value: '' +This action will replace the previously entered value. Do you want to continue?: '' +Do not show this again: '' +Continue: '' +Value copied!!: '' +Search Location: '' +GeoJSON type mismatch, please check your input: '' +Personal Account: '' +Workspaces: '' +Create Workspace: '' +Logout: '' +Re:Earth CMS: '' +Go to Editor: '' +Link Asset: '' +New: '' +Tag: '' +OK: '' +Project name: '' +Please input the name of project!: '' +Project alias: '' +Project alias must be unique and at least 5 characters long. It can only contain letters, numbers, underscores, and dashes.: '' +Project alias is not valid: '' +Project description: '' +Home: '' +Overview: '' +Schema: '' +Content: '' +Request: '' +Settings: '' +Workspace name: '' +Please input the title of the new workspace!: '' +Member: '' +Integrations: '' +My Integrations: '' +Workspace: '' +Account: '' +Please input field!: '' +Please select an option!: '' +URL is not valid: '' +unique: '' +Title: '' +Leave: '' +This item has unsaved data: '' +Are you going to leave?: '' +Add to Request: '' +Unpublish: '' +New Request: '' +Publish: '' +Replace item: '' +Refer to item: '' +Item Information: '' +Updated At: '' +Updated By: '' +Publish State: '' +Linked Request: '' +This item has been referenced: '' +Are you going to refer to it? The previous reference will be canceled automatically: '' +State: '' +Reviewers: '' +New Item: '' +We found some referenced items that not been published yet. Please select to publish the items.: '' +Please input the title of your request!: '' +Description: '' +Please select a reviewer!: '' +Reviewer: '' +We found some referenced items that not published yet. Please select to add the items to the same request.: '' +is: '' +is not: '' +contains: '' +doesn't contain: '' +start with: '' +doesn't start with: '' +end with: '' +doesn't end with: '' +greater than: '' +greater than or equal to: '' +less than: '' +less than or equal to: '' +after: '' +after or on: '' +before: '' +before or on: '' +of this week: '' +of this month: '' +of this year: '' +is empty: '' +is not empty: '' +Ascending: '' +Descending: '' +Confirm: '' +Filter: '' +Add Filter: '' +Add Sort: '' +Control: '' +DRAFT: '' +PUBLIC: '' +REVIEW: '' +Connect Integration: '' +Connect: '' +Integration Setting: '' +Role: '' +Please input the appropriate role for this integration!: '' +select role: '' +Reader: '' +Writer: '' +Maintainer: '' +Owner: '' +Name: '' +Creator: '' +Remove: '' +No Integration yet: '' +Create a new: '' +Or read: '' +how to use Re:Earth CMS: '' +first: '' +Add member: '' +Add to workspace: '' +Email address or user name: '' +Selected Members: '' +Role Settings: '' +Please input the appropriate role for this member!: '' +Are you sure to remove this member?: '' +Remove this member from workspace means this member will not view any content of this workspace.: '' +Are you sure to leave this workspace?: '' +Leave this workspace means you will not view any content of this workspace.: '' +Thumbnail: '' +Email: '' +Action: '' +Change Role?: '' +Members: '' +New Member: '' +GROUPS: '' +Add: '' +MODELS: '' +My Integration: '' +Webhook: '' +New Integration: '' +Create: '' +Integration Name: '' +Please input the title of the integration!: '' +Create new integration: '' +Are you sure to remove this integration?: '' +Permanently remove your Integration and all of its contents from the Re:Earth CMS.: '' +Once the integration is removed, it will disappear from all workspaces.: '' +Remove Integration: '' +Permanently remove your Integration and all of its contents from the Re:Earth CMS. This action is not reversible – please continue with caution.: '' +Regenerate The Integration Token?: '' +If you regenerate the integration token, the previous token will become invalid, and this action cannot be undone. Are you sure you want to proceed?: '' +Reset: '' +Integration Token: '' +Token copied!!: '' +Regenerate: '' +Code Example: '' +your model id here: '' +your Integration Token here: '' +Update: '' +Decompress: '' +This is your webhook name: '' +Please input the name of the webhook!: '' +Url: '' +Please note that all webhook URLs must start with http://.: '' +Secret: '' +This secret will be used to sign Webhook request: '' +Please input secret!: '' +Trigger Event: '' +Item: '' +New Webhook: '' +No Webhook yet: '' +No Projects Yet: '' +Create a new project: '' +New Project: '' +Models: '' +New Model: '' +Edit: '' +Are you sure you want to delete this project?: '' +Delete Project: '' +Permanently removes your project and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: '' +Alias: '' +Write something here to describe this record.: '' +Project Settings: '' +Need request: '' +If this option is chosen, all new model within the project will default follow it: '' +Leave your comment...: '' +Add Comment: '' +Close: '' +Reopen: '' +Approve: '' +Approved: '' +Closed: '' +Assign to: '' +WAITING: '' +APPROVED: '' +CLOSED: '' +Current user: '' +Delete Model: '' +Delete Group: '' +Are you sure you want to delete this model: Are you sure you want to delete this model {{name}}? +Are you sure you want to delete this group: Are you sure you want to delete this group {{name}}? +This action will permanently delete the selected model and cannot be reversed.: '' +This action will permanently delete the selected group and cannot be reversed.: '' +Warning: '' +Text: '' +Time: '' +Boolean: '' +Select: '' +Number: '' +GeoJSON Geometry: '' +Relation: '' +Group: '' +Meta Data: '' +Add Field: '' +optional: '' +Update Field: Update {{field}} Field +Create Field: Create {{field}} Field +Previous: '' +Next: '' +Reference setting: '' +Field: '' +Corresponding field: '' +Select the model to reference: '' +Please select the model!: '' +Reference direction: '' +One-way reference: '' +A unidirectional relationship where an item refers to another item: '' +Two-way reference: '' +A bidirectional relationship where two items refer to each other: '' +Display name: '' +Please input the display name of field!: '' +Field Key: '' +Field key must be unique and at least 1 character long. It can only contain letters, numbers, underscores and dashes.: '' +Key is not valid: '' +Set Options: '' +Stores a list of values instead of a single value: '' +Support multiple values: '' +Only one field can be used as the title: '' +Use as title: '' +Validation: '' +Prevents saving an entry if this field is empty: '' +Make field required: '' +Ensures that a multiple entries can't have the same value for this field: '' +Set field as unique: '' +Set default value: '' +Default value must be a valid URL and start with 'http://' or 'https://'.: '' +Set maximum length: '' +Set minimum value: '' +Set maximum value: '' +Set Tags: '' +Select Group: '' +Please select the group!: '' +Support Type: '' +Please select what type of Geometry this field will support: '' +Please select the Support Type!: '' +options: '' +Ensures that multiple entries can't have the same value for this field: '' +Default value: '' +Heading and titles, one-line field: '' +TextArea: '' +Multi line text: '' +Markdown text: '' +Rich text which supports md style: '' +Asset file: '' +true/false field: '' +Option: '' +Multiple select: '' +Int: '' +Integer: '' +http/https URL: '' +Reference: '' +Reference other models and items: '' +Date: '' +Date picker: '' +Select from a list of tags: '' +Check Box: '' +Select from a list of checkboxes: '' +Customize a group of fields: '' +Geometry Object: '' +Input GeoJSON and preview: '' +Geometry Editor: '' +Draw the geometry on map: '' +Update Model: '' +Update Group: '' +New Group: '' +Model name: '' +Group name: '' +Please input the name of the model!: '' +Please input the name of the group!: '' +Model description: '' +Group description: '' +Model key: '' +Group key: '' +Model key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: '' +Group key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: '' +Fields: '' +Are you sure you want to delete this field?: Are you sure you want to delete this field {{name}}? +Publish Status: '' +Empty Schema design.: '' +Please add some field from right panel.: '' +New Tiles: '' +New Terrain: '' +Update Tiles: '' +Update Terrain: '' +Tiles type: '' +Terrain type: '' +Name of tiles: '' +example: '' +Image URL: '' +Name of terrain: '' +Terrain Cesium Ion asset ID: '' +Terrain Cesium Ion access token: '' +Terrain URL: '' +Geospatial asset preview setting: '' +For asset viewer (formats like 3D Tiles, MVT, GeoJSON, CZML ... ): '' +Tiles: '' +The first one in the list will be the default Tile.: '' +Add new Tiles option: '' +Terrain: '' +The first one in the list will be the default Terrain.: '' +Enable: '' +Add new Terrain option: '' +New View: '' +Update View: '' +View Name: '' +This is the title of the view: '' +Please input the view name!: '' +Rename: '' +Remove View: '' +Are you sure you want to delete this view?: '' +Deleting the view is a permanent action. However, the contents will remain unaffected.: '' +Please proceed with caution as this action cannot be undone.: '' +Save as new view: '' +Welcome to Re:Earth CMS !: '' +WRITER: '' +READER: '' +MAINTAINER: '' +OWNER: '' +search projects: '' +Create a Workspace: '' +Are you sure you want to delete this workspace?: '' +Remove Workspace: '' +Permanently removes the current workspace and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: '' +Workspace Name: '' +This is the name that will be visible within Re:Earth and Re:Earth CMS. This could be your company's name, department's name, the theme of your projects, etc.: '' +Please input a new workspace name!: '' +Workspace Settings: '' +Failed to update user.: '' +Successfully updated user!: '' +Failed to update language.: '' +Successfully updated language!: '' +Failed to delete user.: '' +Successfully deleted user!: '' +Successfully created workspace!: '' +Failed to create comment.: '' +Successfully created comment!: '' +Failed to update comment.: '' +Successfully updated comment!: '' +Failed to delete comment.: '' +Successfully deleted comment!: '' +Failed to update publication settings.: '' +Successfully updated publication settings!: '' +Failed to update asset.: '' +Asset was successfully updated!: '' +Failed to decompress asset.: '' +Asset is being decompressed!: '' +Failed to add one or more assets.: '' +Successfully added one or more assets!: '' +Successfully added asset!: '' +Failed to add asset.: '' +Failed to delete one or more assets.: '' +One or more assets were successfully deleted!: '' +No comments.: '' +Please click the comment bubble in the table to check comments.: '' +Failed to create item.: '' +Successfully created Item!: '' +Failed to update item.: '' +Successfully updated Item!: '' +Failed to create request.: '' +Successfully created request!: '' +Failed to update request.: '' +Successfully updated request!: '' +Failed to delete one or more items.: '' +One or more items were successfully deleted!: '' +One of the items already exists in the request.: '' +Successfully updated Request!: '' +Failed to publish items.: '' +Successfully published items!: '' +Failed to unpublish items.: '' +Successfully unpublished items!: '' +Failed to create view.: '' +Successfully created view!: '' +Failed to update view.: '' +Successfully updated view!: '' +Failed to rename view.: '' +Successfully renamed view!: '' +Failed to delete view.: '' +Successfully deleted view!: '' +Failed to update views order.: '' +Successfully updated views order!: '' +Failed to create model.: '' +Successfully created model!: '' +Failed to update models order.: '' +Successfully updated models order!: '' +Failed to create group.: '' +Successfully created group!: '' +Failed to update groups order.: '' +Successfully updated groups order!: '' +Failed to delete model.: '' +Successfully deleted model!: '' +Failed to update model.: '' +Successfully updated model!: '' +Failed to delete one or more requests.: '' +One or more requests were successfully closed!: '' +Failed to approve request.: '' +Successfully approved request!: '' +Failed to delete field.: '' +Successfully deleted field!: '' +Failed to update field.: '' +Successfully updated field!: '' +Failed to create field.: '' +Successfully created field!: '' +Group cannot be deleted: '' +is used in: '' +If you want to delete it, please delete the field that uses it first.: '' +Failed to delete group.: '' +Successfully deleted group!: '' +Failed to update group.: '' +Successfully updated group!: '' +No available Group: '' +Please create a Group first to use the field: '' +Create Group: '' +Failed to update project.: '' +Successfully updated project!: '' +Failed to update request roles.: '' +Successfully updated request roles!: '' +Failed to delete project.: '' +Successfully deleted project!: '' +Failed to update workspace.: '' +Successfully updated workspace!: '' +Failed to connect integration.: '' +Successfully connected integration to the workspace!: '' +Failed to update workspace integration.: '' +Successfully updated workspace integration!: '' +Failed to delete one or more intagrations.: '' +One or more integrations were successfully deleted!: '' +Failed to add one or more members.: '' +Successfully added member(s) to the workspace!: '' +Failed to update member's role.: '' +Successfully updated member's role!: '' +Failed to remove member(s) from the workspace.: '' +Successfully removed member(s) from the workspace!: '' +Failed to leave the workspace.: '' +Successfully left the workspace!: '' +Failed to update integration.: '' +Successfully updated integration!: '' +Failed to delete integration.: '' +Successfully deleted integration!: '' +The attempt to regenerate the integration token has failed.: '' +The integration token has been successfully regenerated!: '' +Failed to create webhook.: '' +Successfully created webhook!: '' +Failed to delete webhook.: '' +Successfully deleted webhook!: '' +Failed to update webhook.: '' +Successfully updated webhook!: '' +Failed to create integration.: '' +Successfully created integration!: '' +Failed to create project.: '' +Successfully created project!: '' +Failed to delete workspace.: '' +Successfully deleted workspace!: '' diff --git a/web/src/i18n/translations/ja.yml b/web/src/i18n/translations/ja.yml index 6631d1add4..2334ef3d40 100644 --- a/web/src/i18n/translations/ja.yml +++ b/web/src/i18n/translations/ja.yml @@ -1,556 +1,557 @@ -Download: ダウンロード -Loading: ローディング中 -Oops!: '' -PAGE NOT FOUND ON SERVER: ページが見つかりません。 -Go back Home: ホームへ戻る -ITEM NOT FOUND ON SERVER: データが見つかりません。 -Model: モデル -Switch: 切り替え -End point: エンドポイント -Assets: アセット -Private: 非公開 -Public: 公開 -Accessibility: 公開設定 -Public Scope: 公開範囲 -Choose the scope of your project. This affects all the models shown below that are switched on.: プロジェクトの公開範囲を選択してください。この操作は以下のすべてのモデルに影響します。 -Project Alias: プロジェクトエイリアス -Alias copied!!: エイリアスをコピーしました! -Save changes: 変更を保存 -Are you sure you want to delete your account?: 本当にアカウントを削除してよろしいですか? -Cancel: キャンセル -Danger Zone: 重要操作 -Delete Personal Account: アカウントを削除 -Permanently removes your personal account and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: アカウントとそれに関連するすべてのコンテンツを削除します。この操作は取り消すことができません。よろしいですか? -Account Name: アカウント名 -This is your ID that is used between Re:Earth and Re:Earth CMS.: アカウントのIDです。 -Please input Account Name!: アカウント名を入力してください! -Your Email: メールアドレス -Please enter the email address you want to use to log in with Re:Earth CMS.: ログインに利用するメールアドレスを入力してください。 -Please input Your Email!: メールアドレスを入力してください! -Save: 保存 -Account Settings: アカウント設定 -General: 一般 -Service: サービス -Auto: 自動 -Service Language: 利用言語 -This will change the UI language: UIの言語設定を変更します。 -Language: 言語 -URL copied!!: URLをコピーしました! -Unzip: '' -Asset Type: アセットの種類 -Created Time: 作成日時 -Created By: 作成者 -Linked to: リンク先 -Asset: アセット -Source Code: ソースコード -Render: レンダー -PNG/JPEG/TIFF/GIF: '' -SVG: '' -GEOJSON/KML/CZML: '' -3D Tiles: '' -MVT: '' -GLTF/GLB: '' -CSV: '' -Unknown Type: 不明 -Decompressing...: 解凍中 -Failed to decompress. Please check the file and try again.: 解凍に失敗しました。 ファイルを確認して、もう一度お試しください。 -Not supported: プレビュー対応していないデータフォーマットです。 -Decompressed: 解凍完了 -Failed: 失敗 -Decompressing: 解凍中 -Skipped: スキップ -Pending: 保留中 -File: ファイル -Size: サイズ -Preview Type: プレビュータイプ -Status: ステータス -Created At: 作成日時 -ID: '' -input search text: 検索 -Deselect: 選択解除 -Delete: 削除 -Upload Asset: アセットをアップロード -Auto Unzip: 自動解凍 -Remove file: ファイルを削除 -Click or drag files to this area to upload: このエリアにファイルをクリックまたはドラッグしてアップロードします -Single or multiple file upload is supported: 複数のファイルのアップロードが可能です。 -Uploading: アップロード中 -Upload and Link: アップロードとリンク -Upload: アップロード -Asset Uploader: アセットアップローダー -Local: ローカル -URL: '' -Please input the URL of the asset!: アセットのURLを入力してください! -Please input a valid URL: 有効なURLを入力してください -Could not display svg: svgを表示できませんでした。 -Comment: コメント -Comments: コメント -Cannot edit in read-only editor: 読み取り専用エディタでは編集ができません -You are entering a new value: 新しい値を入力しようとしています -This action will replace the previously entered value. Do you want to continue?: この操作は以前に入力された値を置き換えます。続けますか? -Do not show this again: 今後は表示しない -Continue: 続ける -Value copied!!: 値をコピーしました! -Search Location: 場所を検索 -GeoJSON type mismatch, please check your input: GeoJSONの型が一致しません、入力を確認してください -Personal Account: パーソナルアカウント -Workspaces: ワークスペース -Create Workspace: ワークスペースを作成 -Logout: ログアウト -Re:Earth CMS: Re:Earth CMS -Go to Editor: エディタへ移動 -Link Asset: アセットをリンク -New: 追加 -Tag: タグ -OK: '' -Project name: プロジェクト名 -Please input the name of project!: プロジェクト名を入力してください -Project alias: プロジェクトエイリアス -Project alias must be unique and at least 5 characters long. It can only contain letters, numbers, underscores, and dashes.: プロジェクトエイリアスは5文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 -Project alias is not valid: 無効なプロジェクトのエイリアスです -Project description: プロジェクト概要 -Home: ホーム -Overview: 概要 -Schema: スキーマ -Content: コンテンツ -Request: リクエスト -Settings: 設定 -Workspace name: ワークスペース名 -Please input the title of the new workspace!: 新しいワークスペースの名前を入力してください! -Member: メンバー -Integrations: インテグレーション -My Integrations: マイインテグレーション -Workspace: ワークスペース -Account: アカウント -Please input field!: フィールドを入力してください。 -Please select an option!: オプションを選択してください。 -URL is not valid: 無効なURLです -unique: ユニーク -Title: タイトル -Leave: 離れる -This item has unsaved data: 保存していないデータがあります。 -Are you going to leave?: ページを離れますか? -Add to Request: 既存のリクエストに追加 -Unpublish: 非公開 -New Request: 新規リクエスト -Publish: 公開 -Refer to item: アイテムを参照 -Item Information: アイテムの情報 -Updated At: 更新日時 -Updated By: 更新者 -Publish State: 公開状態 -Linked Request: リンクされたリクエスト -This item has been referenced: このアイテムは参照されています -Are you going to refer to it? The previous reference will be canceled automatically: 参照しますか?以前の参照は自動的に解除されますがよろしいですか? -State: ステータス -Reviewers: レビュワー -New Item: 新規アイテム -We found some referenced items that not been published yet. Please select to publish the items.: まだ公開されていない参照アイテムが見つかりました。公開するアイテムを選択してください。 -Please input the title of your request!: リクエストのタイトルを入力してください。 -Description: 説明 -Please select a reviewer!: レビュワーを選択してください。 -Reviewer: レビュワー -We found some referenced items that not published yet. Please select to add the items to the same request.: まだ公開されていない参照アイテムが見つかりました。同じリクエストに追加する場合は選択してください。 -is: 同値 -is not: 異なる -contains: 含む -doesn't contain: 含まない -start with: 始まる -doesn't start with: 始まらない -end with: 終わる -doesn't end with: 終わらない -greater than: 超過 -greater than or equal to: 以上 -less than: 未満 -less than or equal to: 以下 -after: 後 -after or on: 以降 -before: 前 -before or on: 以前 -of this week: 今週 -of this month: 今月 -of this year: 今年 -is empty: 空である -is not empty: 空でない -Ascending: 昇順 -Descending: 降順 -Confirm: 確認 -Filter: フィルター -Add Filter: 絞り込む -Add Sort: 並び替える -Control: 操作 -DRAFT: ドラフト -PUBLIC: 公開 -REVIEW: レビュー -Connect Integration: インテグレーションを連携 -Connect: 連携 -Integration Setting: インテグレーション設定 -Role: ロール -Please input the appropriate role for this integration!: このインテグレーションに適切なロールを付与してください -select role: ロールを選択 -Reader: 閲覧者 -Writer: 編集者 -Maintainer: メンテナー -Owner: オーナー -Name: 名前 -Creator: 作成者 -Remove: 削除 -No Integration yet: まだインテグレーションはありません -Create a new: 新規作成 -Or read: 読む -how to use Re:Earth CMS: CMSの使い方 -first: はじめに -Add member: メンバー追加 -Add to workspace: ワークスペースに追加 -Email address or user name: Emailアドレスもしくはユーザー名 -Selected Members: 選択中のメンバー -Role Settings: ロール設定 -Please input the appropriate role for this member!: このメンバーに付与するロールを入力してください -Are you sure to remove this member?: 本当にメンバーをこのワークスペースから削除してもよろしいですか? -Remove this member from workspace means this member will not view any content of this workspace.: メンバーをワークスペースから削除すると、そのメンバーはワークスペース内のいかなるコンテンツも閲覧することができなくなります。 -Are you sure to leave this workspace?: 本当にこのワークスペースを離れてもよろしいですか? -Leave this workspace means you will not view any content of this workspace.: ワークスペースを離れると、ワークスペース内のいかなるコンテンツも閲覧することができなくなります。 -Thumbnail: サムネイル -Email: メールアドレス -Action: 操作 -Change Role?: ロールを変更 -Members: メンバー -New Member: メンバーを追加 -GROUPS: グループ -Add: 追加 -MODELS: モデル -My Integration: マイインテグレーション -Webhook: '' -New Integration: 新規インテグレーション -Create: 作成 -Integration Name: インテグレーション名 -Please input the title of the integration!: インテグレーションの名前を入力してください -Create new integration: 新規インテグレーション作成 -Are you sure to remove this integration?: 本当にこのインテグレーションを削除してよろしいですか? -Permanently remove your Integration and all of its contents from the Re:Earth CMS.: インテグレーションを削除します。 -Once the integration is removed, it will disappear from all workspaces.: インテグレーション削除すると、このインテグレーションを利用しているすべてのワークスペースから取り除かれます。 -Remove Integration: インテグレーションを削除 -Permanently remove your Integration and all of its contents from the Re:Earth CMS. This action is not reversible – please continue with caution.: インテグレーションを削除します。この操作は取り消すことができません。 -Regenerate The Integration Token?: インテグレーショントークンを再生成しますか? -If you regenerate the integration token, the previous token will become invalid, and this action cannot be undone. Are you sure you want to proceed?: インテグレーショントークンを再生成すると、以前のトークンは無効になり、この操作は元に戻せません。本当に続行しますか? -Reset: リセット -Integration Token: インテグレーショントークン -Token copied!!: トークンをコピーしました! -Regenerate: 再生成 -Code Example: コード例 -your model id here: モデルIDをここに入力してください -your Integration Token here: インテグレーショントークンをここに入力してください -Update: アップデート -Decompress: 圧縮 -This is your webhook name: Webhookの名前です -Please input the name of the webhook!: Webhookの名前を入力してください -Url: URL -Please note that all webhook URLs must start with http://.: WebhookのURLがhttp://で始まることを確認してください -Secret: 選択 -This secret will be used to sign Webhook request: このシークレットはWebhookのリクエストを署名する時に使用されます。 -Please input secret!: シークレットを入力してください。 -Trigger Event: イベント -Item: アイテム -New Webhook: 新規Webhook -No Webhook yet: Webhookはまだありません -No Projects Yet: プロジェクトがありません -Create a new project: 新規プロジェクトを作成 -New Project: 新規プロジェクト -Models: モデル -New Model: 新規モデル -Edit: 編集 -Are you sure you want to delete this project?: 本当にプロジェクトを削除してもよろしいですか? -Delete Project: プロジェクトを削除 -Permanently removes your project and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: プロジェクトとその内容をRe:Earth CMSから完全に削除します。このアクションは元に戻せません。 -Alias: エイリアス -Write something here to describe this record.: このレコードの説明を入力してください。 -Project Settings: プロジェクト設定 -Need request: リクエストの要否 -If this option is chosen, all new model within the project will default follow it: このオプションが選択された場合、プロジェクト内のすべての新しいモデルはデフォルトでそれに従います。 -Leave your comment...: コメントを入力してください。 -Add Comment: コメントを追加 -Close: クローズ -Reopen: 再開 -Approve: 承認 -Approved: 承認済み -Closed: クローズ済み -Assign to: 割り当てる -WAITING: レビュー待ち -APPROVED: 承認済 -CLOSED: クローズ済 -Current user: 現在のユーザー -Delete Model: モデルを削除 -Delete Group: グループを削除 -Are you sure you want to delete this model: 本当に{{name}}を削除してもよろしいですか? -Are you sure you want to delete this group: 本当に{{name}}を削除してもよろしいですか? -This action will permanently delete the selected model and cannot be reversed.: 選択中のモデルを削除します。この操作は取り消すことができません。 -This action will permanently delete the selected group and cannot be reversed.: この操作は選択したグループを永久に削除し、元に戻すことはできません。 -Warning: 注意 -Text: テキスト -Time: 時間 -Boolean: ブーリアン -Select: セレクト -Number: 数値 -GeoJSON Geometry: GeoJSONジオメトリ -Relation: 関係 -Group: グループ -Meta Data: メタデータ -Add Field: フィールドを追加 -optional: 任意 -Update Field: '{{field}}フィールドを更新' -Create Field: '{{field}}フィールドを作成' -Previous: 戻る -Next: 次へ -Reference setting: 参照設定 -Field: フィールド -Corresponding field: 対応フィールド -Select the model to reference: 参照するモデルを選択してください -Please select the model!: モデルを選択してください! -Reference direction: 参照方向 -One-way reference: 一方向の参照 -A unidirectional relationship where an item refers to another item: 項目が別の項目を参照する一方向の関係 -Two-way reference: 双方向の参照 -A bidirectional relationship where two items refer to each other: 2つの項目が互いを参照する双方向の関係 -Display name: 表示名 -Please input the display name of field!: このフィールドの表示名を入力してください -Field Key: フィールドキー -Field key must be unique and at least 1 character long. It can only contain letters, numbers, underscores and dashes.: フィールドキーは1文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 -Key is not valid: 無効なキーです -Set Options: オプションを設定 -Stores a list of values instead of a single value: このフィールドに複数の値をリスト形式で設定します -Support multiple values: 複数値の設定を許可 -Only one field can be used as the title: タイトルとして使用できるフィールドは1つだけです。 -Use as title: タイトルとして使用 -Validation: バリデーション -Prevents saving an entry if this field is empty: このフィールドを必須項目とします -Make field required: このフィールドを必須項目にする -Ensures that a multiple entries can't have the same value for this field: 複数のアイテム間でこのフィールドの値がユニークであることを担保します -Set field as unique: ユニーク制約 -Set default value: デフォルト値を設定 -Default value must be a valid URL and start with 'http://' or 'https://'.: デフォルト値はhttp://もしくはhttps://で始まる有効なURLである必要があります。 -Set maximum length: 最大長 -Set minimum value: 最小値 -Set maximum value: 最大値 -Set Tags: タグを設定する -Select Group: グループを選択 -Please select the group!: グループを選択してください! -Support Type: サポートタイプ -Please select what type of Geometry this field will support: このフィールドがサポートするジオメトリのタイプを選択してください -Please select the Support Type!: サポートタイプを選択してください! -options: オプション -Ensures that multiple entries can't have the same value for this field: このフィールドには同じ値のエントリーを持つことができません。 -Default value: デフォルト値 -Heading and titles, one-line field: タイトルなどに利用する1行のフィールドです。 -TextArea: テキストエリア -Multi line text: 複数行テキスト -Markdown text: マークダウン -Rich text which supports md style: マークダウン対応のリッチテキスト -Asset file: アセット -true/false field: 真偽 -Option: 選択 -Multiple select: 複数選択 -Int: 整数 -Integer: 整数 -http/https URL: URL -Reference: 参照 -Reference other models and items: 他のモデルやアイテムを参照 -Date: 日付 -Date picker: 日付ピッカー -Select from a list of tags: タグのリストから選択する -Check Box: チェックボックス -Select from a list of checkboxes: チェックボックスのリストから選択する -Customize a group of fields: フィールドのグループをカスタマイズ -Geometry Object: ジオメトリオブジェクト -Input GeoJSON and preview: GeoJSONの入力とプレビュー -Geometry Editor: ジオメトリエディタ -Draw the geometry on map: 地図上にジオメトリを描く -Update Model: モデルを更新 -Update Group: グループを更新 -New Group: 新規グループ -Model name: モデル名 -Group name: グループ名 -Please input the name of the model!: このモデル名を入力してください -Please input the name of the group!: グループ名を入力してください! -Model description: モデル概要 -Group description: グループ概要 -Model key: モデルキー -Group key: グループキー -Model key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: モデルキーは3文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 -Group key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: グループキーは3文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 -Fields: フィールド -Are you sure you want to delete this field?: 本当に{{name}}を削除してもよろしいですか? -Publish Status: 公開ステータス -Empty Schema design.: スキーマ設定が空です。 -Please add some field from right panel.: 右のパネルからフィールドを追加してください。 -New Tiles: 新しいタイル -New Terrain: 新しい地形 -Update Tiles: タイルを更新 -Update Terrain: 地形を更新 -Tiles type: タイルの種類 -Terrain type: 地形の種類 -Name of tiles: タイルの名前 -example: '' -Image URL: イメージURL -Name of terrain: 地形の名前 -Terrain Cesium Ion asset ID: Terrain Cesium Ion アセットID -Terrain Cesium Ion access token: Terrain Cesium Ion アクセストークン -Terrain URL: テラインURL -Geospatial asset preview setting: 地理空間アセットのプレビュー設定 -For asset viewer (formats like 3D Tiles, MVT, GeoJSON, CZML ... ): アセット・ビューア用 (3D Tiles、MVT、GeoJSON、CZML等のフォーマット) -Tiles: タイル -The first one in the list will be the default Tile.: リストの最初のタイルがデフォルトのタイルとなります。 -Add new Tiles option: 新しいタイルを追加 -Terrain: 地形 -The first one in the list will be the default Terrain.: リストの最初の地形がデフォルトの地形となります。 -Enable: 有効 -Add new Terrain option: 新しい地形を追加 -New View: 新しいビュー -Update View: ビューを更新します -View Name: ビュー名 -This is the title of the view: ビューのタイトル -Please input the view name!: ビュー名を入力してください! -Rename: 名前の変更 -Remove View: ビューを削除します -Are you sure you want to delete this view?: 本当にこのビューを削除しますか? -Deleting the view is a permanent action. However, the contents will remain unaffected.: ビューの削除は元に戻せませんが、コンテンツは影響を受けません。 -Please proceed with caution as this action cannot be undone.: この操作は元に戻せませんので、注意して行ってください。 -Save as new view: 新しいビューとして保存します -Welcome to Re:Earth CMS !: ようこそ!Re:Earth CMSへ -WRITER: 編集者 -READER: 閲覧者 -MAINTAINER: メンテナー -OWNER: オーナー -search projects: 検索 -Create a Workspace: 新規ワークスペース -Are you sure you want to delete this workspace?: このワークスペースを削除します。よろしいですか? -Remove Workspace: ワークスペースを削除 -Permanently removes the current workspace and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: 現在のワークスペースを削除します。ワークスペースに関連するすべてのデータが削除されます。この操作を取り消すことはできません。 -Workspace Name: ワークスペース名 -This is the name that will be visible within Re:Earth and Re:Earth CMS. This could be your company's name, department's name, the theme of your projects, etc.: ワークスペース名はワークスペースを判別するために表示されます。あなたの会社名、部署名、その他プロジェクトのテーマなどを利用することをお勧めします。 -Please input a new workspace name!: 新しいワークスペース名を入力してください。 -Workspace Settings: ワークスペース設定 -Failed to update user.: ユーザーの更新に失敗しました。 -Successfully updated user!: ユーザーの更新に成功しました。 -Failed to update language.: 言語設定の更新に失敗しました。 -Successfully updated language!: 言語設定の更新に成功しました。 -Failed to delete user.: ユーザーの削除に失敗しました。 -Successfully deleted user!: ユーザーの削除に成功しました。 -Successfully created workspace!: ワークスペースの作成に成功しました。 -Failed to create comment.: コメントの作成に失敗しました。 -Successfully created comment!: コメントの作成に成功しました。 -Failed to update comment.: コメントの更新に失敗しました。 -Successfully updated comment!: コメントの更新に成功しました。 -Failed to delete comment.: コメントの削除に失敗しました。 -Successfully deleted comment!: コメントの削除に成功しました。 -Failed to update publication settings.: 公開設定の更新に失敗しました。 -Successfully updated publication settings!: 公開設定の更新に更新に成功しました。 -Failed to update asset.: アセットの更新に失敗しました。 -Asset was successfully updated!: アセットの更新に成功しました。 -Failed to decompress asset.: アセットの解凍に失敗しました。 -Asset is being decompressed!: アセットは解凍中です! -Failed to add one or more assets.: アセットの追加に失敗しました。 -Successfully added one or more assets!: アセットの追加に成功しました。 -Successfully added asset!: アセットの追加に成功しました。 -Failed to add asset.: アセットを追加に失敗しました。 -Failed to delete one or more assets.: アセットの削除に失敗しました。 -One or more assets were successfully deleted!: アセットの削除に成功しました。 -No comments.: コメントはありません。 -Please click the comment bubble in the table to check comments.: コメントを確認するには、表のコメントアイコンををクリックしてください。 -Failed to create item.: アイテムの作成に失敗しました。 -Successfully created Item!: アイテムの作成に成功しました。 -Failed to update item.: アイテムの更新に失敗しました。 -Successfully updated Item!: アイテムの更新に成功しました。 -Failed to create request.: リクエストの作成に失敗しました。 -Successfully created request!: リクエストの作成に成功しました。 -Failed to update request.: リクエストの更新に失敗しました。 -Successfully updated request!: リクエストの更新に成功しました。 -Failed to delete one or more items.: アイテムの削除に失敗しました。 -One or more items were successfully deleted!: アイテムの削除に成功しました。 -One of the items already exists in the request.: アイテムのいずれかがすでにリクエストに存在します。 -Successfully updated Request!: リクエストの更新に成功しました。 -Failed to publish items.: アイテムの公開に失敗しました。 -Successfully published items!: アイテムの公開に成功しました! -Failed to unpublish items.: エラーによりアイテムを非公開にできませんでした。 -Successfully unpublished items!: アイテムを非公開にしました。 -Failed to create view.: ビューの作成に失敗しました。 -Successfully created view!: ビューの作成に成功しました! -Failed to update view.: ビューの更新に失敗しました。 -Successfully updated view!: ビューの更新に成功しました! -Failed to rename view.: ビューの名前変更に失敗しました。 -Successfully renamed view!: ビューの名前変更に成功しました! -Failed to delete view.: ビューの削除に失敗しました。 -Successfully deleted view!: ビューの削除に成功しました! -Failed to update views order.: ビューの順序更新に失敗しました。 -Successfully updated views order!: ビューの順序変更に成功しました! -Failed to create model.: モデルの作成に失敗しました。 -Successfully created model!: モデルの作成に成功しました。 -Failed to update models order.: モデルの順序更新に失敗しました。 -Successfully updated models order!: モデルの順序変更に成功しました! -Failed to create group.: グループの作成に失敗しました。 -Successfully created group!: グループの作成に成功しました! -Failed to update groups order.: グループの順序更新に失敗しました。 -Successfully updated groups order!: グループの順序変更に成功しました! -Failed to delete model.: モデルの削除に失敗しました。 -Successfully deleted model!: モデルの削除に成功しました。 -Failed to update model.: モデルの更新に失敗しました。 -Successfully updated model!: モデルの更新に成功しました。 -Failed to delete one or more requests.: リクエストの削除に失敗しました。 -One or more requests were successfully closed!: リクエストのクローズに成功しました。 -Failed to approve request.: リクエストの承認に失敗しました。 -Successfully approved request!: リクエストの承認に成功しました。 -Failed to delete field.: フィールドの削除に失敗しました。 -Successfully deleted field!: フィールドの削除に成功しました。 -Failed to update field.: フィールドの更新に失敗しました。 -Successfully updated field!: フィールドの更新に成功しました。 -Failed to create field.: フィールドの作成に失敗しました。 -Successfully created field!: フィールドの作成に成功しました。 -Group cannot be deleted: グループを削除できません。 -is used in: '' -If you want to delete it, please delete the field that uses it first.: 削除したい場合は、まずそれを使っているフィールドを削除してください。 -Failed to delete group.: グループの削除に失敗しました -Successfully deleted group!: グループの削除に成功しました! -Failed to update group.: グループの更新に失敗しました。 -Successfully updated group!: グループの更新に成功しました! -No available Group: グループなし -Please create a Group first to use the field: フィールドを使用するには、まずグループを作成してください。 -Create Group: グループを作成 -Failed to update project.: プロジェクトの更新に失敗しました。 -Successfully updated project!: プロジェクトの更新に成功しました。 -Failed to update request roles.: リクエストロールの更新に失敗しました。 -Successfully updated request roles!: リクエストロールの更新に成功しました。 -Failed to delete project.: プロジェクトの削除に失敗しました。 -Successfully deleted project!: プロジェクトの削除に成功しました。 -Failed to update workspace.: ワークスペースの更新に失敗しました。 -Successfully updated workspace!: ワークスペースの更新に成功しました。 -Failed to connect integration.: インテグレーションの接続に失敗しました。 -Successfully connected integration to the workspace!: インテグレーションの接続に成功しました。 -Failed to update workspace integration.: ワークスペースのインテグレーションの更新に失敗しました。 -Successfully updated workspace integration!: ワークスペースのインテグレーションの更新に成功しました。 -Failed to delete one or more intagrations.: インテグレーションの削除に失敗しました。 -One or more integrations were successfully deleted!: インテグレーションの削除に成功しました。 -Failed to add one or more members.: メンバーの追加に失敗しました。 -Successfully added member(s) to the workspace!: メンバーの追加に成功しました。 -Failed to update member's role.: メンバーのロールの更新に失敗しました。 -Successfully updated member's role!: メンバーのロールの更新に成功しました。 -Failed to remove member(s) from the workspace.: メンバーの削除に失敗しました。 -Successfully removed member(s) from the workspace!: メンバーの削除に成功しました。 -Failed to leave the workspace.: ワークスペースを離れることに失敗しました。 -Successfully left the workspace!: ワークスペースを離れることに成功しました! -Failed to update integration.: インテグレーションの更新に失敗しました。 -Successfully updated integration!: インテグレーションの更新に成功しました。 -Failed to delete integration.: インテグレーションの削除に失敗しました。 -Successfully deleted integration!: インテグレーションの削除に成功しました。 -The attempt to regenerate the integration token has failed.: インテグレーショントークンの再生成に失敗しました。 -The integration token has been successfully regenerated!: インテグレーショントークンの再生成に成功しました! -Failed to create webhook.: Webhookの作成に失敗しました。 -Successfully created webhook!: Webhookの作成に成功しました。 -Failed to delete webhook.: Webhookの削除に失敗しました。 -Successfully deleted webhook!: Webhookの削除に成功しました。 -Failed to update webhook.: Webhookの更新に失敗しました。 -Successfully updated webhook!: Webhookの更新に成功しました。 -Failed to create integration.: インテグレーションの作成に失敗しました。 -Successfully created integration!: インテグレーションの作成に成功しました。 -Failed to create project.: プロジェクトの作成に失敗しました。 -Successfully created project!: プロジェクトの作成に成功しました。 -Failed to delete workspace.: ワークスペースの削除に失敗しました。 -Successfully deleted workspace!: ワークスペースの削除に成功しました。 +Download: ダウンロード +Loading: ローディング中 +Oops!: '' +PAGE NOT FOUND ON SERVER: ページが見つかりません。 +Go back Home: ホームへ戻る +ITEM NOT FOUND ON SERVER: データが見つかりません。 +Model: モデル +Switch: 切り替え +End point: エンドポイント +Assets: アセット +Private: 非公開 +Public: 公開 +Accessibility: 公開設定 +Public Scope: 公開範囲 +Choose the scope of your project. This affects all the models shown below that are switched on.: プロジェクトの公開範囲を選択してください。この操作は以下のすべてのモデルに影響します。 +Project Alias: プロジェクトエイリアス +Alias copied!!: エイリアスをコピーしました! +Save changes: 変更を保存 +Are you sure you want to delete your account?: 本当にアカウントを削除してよろしいですか? +Cancel: キャンセル +Danger Zone: 重要操作 +Delete Personal Account: アカウントを削除 +Permanently removes your personal account and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: アカウントとそれに関連するすべてのコンテンツを削除します。この操作は取り消すことができません。よろしいですか? +Account Name: アカウント名 +This is your ID that is used between Re:Earth and Re:Earth CMS.: アカウントのIDです。 +Please input Account Name!: アカウント名を入力してください! +Your Email: メールアドレス +Please enter the email address you want to use to log in with Re:Earth CMS.: ログインに利用するメールアドレスを入力してください。 +Please input Your Email!: メールアドレスを入力してください! +Save: 保存 +Account Settings: アカウント設定 +General: 一般 +Service: サービス +Auto: 自動 +Service Language: 利用言語 +This will change the UI language: UIの言語設定を変更します。 +Language: 言語 +URL copied!!: URLをコピーしました! +Unzip: '' +Asset Type: アセットの種類 +Created Time: 作成日時 +Created By: 作成者 +Linked to: リンク先 +Asset: アセット +Source Code: ソースコード +Render: レンダー +PNG/JPEG/TIFF/GIF: '' +SVG: '' +GEOJSON/KML/CZML: '' +3D Tiles: '' +MVT: '' +GLTF/GLB: '' +CSV: '' +Unknown Type: 不明 +Decompressing...: 解凍中 +Failed to decompress. Please check the file and try again.: 解凍に失敗しました。 ファイルを確認して、もう一度お試しください。 +Not supported: プレビュー対応していないデータフォーマットです。 +Decompressed: 解凍完了 +Failed: 失敗 +Decompressing: 解凍中 +Skipped: スキップ +Pending: 保留中 +File: ファイル +Size: サイズ +Preview Type: プレビュータイプ +Status: ステータス +Created At: 作成日時 +ID: '' +input search text: 検索 +Deselect: 選択解除 +Delete: 削除 +Upload Asset: アセットをアップロード +Auto Unzip: 自動解凍 +Remove file: ファイルを削除 +Click or drag files to this area to upload: このエリアにファイルをクリックまたはドラッグしてアップロードします +Single or multiple file upload is supported: 複数のファイルのアップロードが可能です。 +Uploading: アップロード中 +Upload and Link: アップロードとリンク +Upload: アップロード +Asset Uploader: アセットアップローダー +Local: ローカル +URL: '' +Please input the URL of the asset!: アセットのURLを入力してください! +Please input a valid URL: 有効なURLを入力してください +Could not display svg: svgを表示できませんでした。 +Comment: コメント +Comments: コメント +Cannot edit in read-only editor: 読み取り専用エディタでは編集ができません +You are entering a new value: 新しい値を入力しようとしています +This action will replace the previously entered value. Do you want to continue?: この操作は以前に入力された値を置き換えます。続けますか? +Do not show this again: 今後は表示しない +Continue: 続ける +Value copied!!: 値をコピーしました! +Search Location: 場所を検索 +GeoJSON type mismatch, please check your input: GeoJSONの型が一致しません、入力を確認してください +Personal Account: パーソナルアカウント +Workspaces: ワークスペース +Create Workspace: ワークスペースを作成 +Logout: ログアウト +Re:Earth CMS: Re:Earth CMS +Go to Editor: エディタへ移動 +Link Asset: アセットをリンク +New: 追加 +Tag: タグ +OK: '' +Project name: プロジェクト名 +Please input the name of project!: プロジェクト名を入力してください +Project alias: プロジェクトエイリアス +Project alias must be unique and at least 5 characters long. It can only contain letters, numbers, underscores, and dashes.: プロジェクトエイリアスは5文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 +Project alias is not valid: 無効なプロジェクトのエイリアスです +Project description: プロジェクト概要 +Home: ホーム +Overview: 概要 +Schema: スキーマ +Content: コンテンツ +Request: リクエスト +Settings: 設定 +Workspace name: ワークスペース名 +Please input the title of the new workspace!: 新しいワークスペースの名前を入力してください! +Member: メンバー +Integrations: インテグレーション +My Integrations: マイインテグレーション +Workspace: ワークスペース +Account: アカウント +Please input field!: フィールドを入力してください。 +Please select an option!: オプションを選択してください。 +URL is not valid: 無効なURLです +unique: ユニーク +Title: タイトル +Leave: 離れる +This item has unsaved data: 保存していないデータがあります。 +Are you going to leave?: ページを離れますか? +Add to Request: 既存のリクエストに追加 +Unpublish: 非公開 +New Request: 新規リクエスト +Publish: 公開 +Replace item: アイテムを置き換える +Refer to item: アイテムを参照 +Item Information: アイテムの情報 +Updated At: 更新日時 +Updated By: 更新者 +Publish State: 公開状態 +Linked Request: リンクされたリクエスト +This item has been referenced: このアイテムは参照されています +Are you going to refer to it? The previous reference will be canceled automatically: 参照しますか?以前の参照は自動的に解除されますがよろしいですか? +State: ステータス +Reviewers: レビュワー +New Item: 新規アイテム +We found some referenced items that not been published yet. Please select to publish the items.: まだ公開されていない参照アイテムが見つかりました。公開するアイテムを選択してください。 +Please input the title of your request!: リクエストのタイトルを入力してください。 +Description: 説明 +Please select a reviewer!: レビュワーを選択してください。 +Reviewer: レビュワー +We found some referenced items that not published yet. Please select to add the items to the same request.: まだ公開されていない参照アイテムが見つかりました。同じリクエストに追加する場合は選択してください。 +is: 同値 +is not: 異なる +contains: 含む +doesn't contain: 含まない +start with: 始まる +doesn't start with: 始まらない +end with: 終わる +doesn't end with: 終わらない +greater than: 超過 +greater than or equal to: 以上 +less than: 未満 +less than or equal to: 以下 +after: 後 +after or on: 以降 +before: 前 +before or on: 以前 +of this week: 今週 +of this month: 今月 +of this year: 今年 +is empty: 空である +is not empty: 空でない +Ascending: 昇順 +Descending: 降順 +Confirm: 確認 +Filter: フィルター +Add Filter: 絞り込む +Add Sort: 並び替える +Control: 操作 +DRAFT: ドラフト +PUBLIC: 公開 +REVIEW: レビュー +Connect Integration: インテグレーションを連携 +Connect: 連携 +Integration Setting: インテグレーション設定 +Role: ロール +Please input the appropriate role for this integration!: このインテグレーションに適切なロールを付与してください +select role: ロールを選択 +Reader: 閲覧者 +Writer: 編集者 +Maintainer: メンテナー +Owner: オーナー +Name: 名前 +Creator: 作成者 +Remove: 削除 +No Integration yet: まだインテグレーションはありません +Create a new: 新規作成 +Or read: 読む +how to use Re:Earth CMS: CMSの使い方 +first: はじめに +Add member: メンバー追加 +Add to workspace: ワークスペースに追加 +Email address or user name: Emailアドレスもしくはユーザー名 +Selected Members: 選択中のメンバー +Role Settings: ロール設定 +Please input the appropriate role for this member!: このメンバーに付与するロールを入力してください +Are you sure to remove this member?: 本当にメンバーをこのワークスペースから削除してもよろしいですか? +Remove this member from workspace means this member will not view any content of this workspace.: メンバーをワークスペースから削除すると、そのメンバーはワークスペース内のいかなるコンテンツも閲覧することができなくなります。 +Are you sure to leave this workspace?: 本当にこのワークスペースを離れてもよろしいですか? +Leave this workspace means you will not view any content of this workspace.: ワークスペースを離れると、ワークスペース内のいかなるコンテンツも閲覧することができなくなります。 +Thumbnail: サムネイル +Email: メールアドレス +Action: 操作 +Change Role?: ロールを変更 +Members: メンバー +New Member: メンバーを追加 +GROUPS: グループ +Add: 追加 +MODELS: モデル +My Integration: マイインテグレーション +Webhook: '' +New Integration: 新規インテグレーション +Create: 作成 +Integration Name: インテグレーション名 +Please input the title of the integration!: インテグレーションの名前を入力してください +Create new integration: 新規インテグレーション作成 +Are you sure to remove this integration?: 本当にこのインテグレーションを削除してよろしいですか? +Permanently remove your Integration and all of its contents from the Re:Earth CMS.: インテグレーションを削除します。 +Once the integration is removed, it will disappear from all workspaces.: インテグレーション削除すると、このインテグレーションを利用しているすべてのワークスペースから取り除かれます。 +Remove Integration: インテグレーションを削除 +Permanently remove your Integration and all of its contents from the Re:Earth CMS. This action is not reversible – please continue with caution.: インテグレーションを削除します。この操作は取り消すことができません。 +Regenerate The Integration Token?: インテグレーショントークンを再生成しますか? +If you regenerate the integration token, the previous token will become invalid, and this action cannot be undone. Are you sure you want to proceed?: インテグレーショントークンを再生成すると、以前のトークンは無効になり、この操作は元に戻せません。本当に続行しますか? +Reset: リセット +Integration Token: インテグレーショントークン +Token copied!!: トークンをコピーしました! +Regenerate: 再生成 +Code Example: コード例 +your model id here: モデルIDをここに入力してください +your Integration Token here: インテグレーショントークンをここに入力してください +Update: アップデート +Decompress: 圧縮 +This is your webhook name: Webhookの名前です +Please input the name of the webhook!: Webhookの名前を入力してください +Url: URL +Please note that all webhook URLs must start with http://.: WebhookのURLがhttp://で始まることを確認してください +Secret: 選択 +This secret will be used to sign Webhook request: このシークレットはWebhookのリクエストを署名する時に使用されます。 +Please input secret!: シークレットを入力してください。 +Trigger Event: イベント +Item: アイテム +New Webhook: 新規Webhook +No Webhook yet: Webhookはまだありません +No Projects Yet: プロジェクトがありません +Create a new project: 新規プロジェクトを作成 +New Project: 新規プロジェクト +Models: モデル +New Model: 新規モデル +Edit: 編集 +Are you sure you want to delete this project?: 本当にプロジェクトを削除してもよろしいですか? +Delete Project: プロジェクトを削除 +Permanently removes your project and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: プロジェクトとその内容をRe:Earth CMSから完全に削除します。このアクションは元に戻せません。 +Alias: エイリアス +Write something here to describe this record.: このレコードの説明を入力してください。 +Project Settings: プロジェクト設定 +Need request: リクエストの要否 +If this option is chosen, all new model within the project will default follow it: このオプションが選択された場合、プロジェクト内のすべての新しいモデルはデフォルトでそれに従います。 +Leave your comment...: コメントを入力してください。 +Add Comment: コメントを追加 +Close: クローズ +Reopen: 再開 +Approve: 承認 +Approved: 承認済み +Closed: クローズ済み +Assign to: 割り当てる +WAITING: レビュー待ち +APPROVED: 承認済 +CLOSED: クローズ済 +Current user: 現在のユーザー +Delete Model: モデルを削除 +Delete Group: グループを削除 +Are you sure you want to delete this model: 本当に{{name}}を削除してもよろしいですか? +Are you sure you want to delete this group: 本当に{{name}}を削除してもよろしいですか? +This action will permanently delete the selected model and cannot be reversed.: 選択中のモデルを削除します。この操作は取り消すことができません。 +This action will permanently delete the selected group and cannot be reversed.: この操作は選択したグループを永久に削除し、元に戻すことはできません。 +Warning: 注意 +Text: テキスト +Time: 時間 +Boolean: ブーリアン +Select: セレクト +Number: 数値 +GeoJSON Geometry: GeoJSONジオメトリ +Relation: 関係 +Group: グループ +Meta Data: メタデータ +Add Field: フィールドを追加 +optional: 任意 +Update Field: '{{field}}フィールドを更新' +Create Field: '{{field}}フィールドを作成' +Previous: 戻る +Next: 次へ +Reference setting: 参照設定 +Field: フィールド +Corresponding field: 対応フィールド +Select the model to reference: 参照するモデルを選択してください +Please select the model!: モデルを選択してください! +Reference direction: 参照方向 +One-way reference: 一方向の参照 +A unidirectional relationship where an item refers to another item: 項目が別の項目を参照する一方向の関係 +Two-way reference: 双方向の参照 +A bidirectional relationship where two items refer to each other: 2つの項目が互いを参照する双方向の関係 +Display name: 表示名 +Please input the display name of field!: このフィールドの表示名を入力してください +Field Key: フィールドキー +Field key must be unique and at least 1 character long. It can only contain letters, numbers, underscores and dashes.: フィールドキーは1文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 +Key is not valid: 無効なキーです +Set Options: オプションを設定 +Stores a list of values instead of a single value: このフィールドに複数の値をリスト形式で設定します +Support multiple values: 複数値の設定を許可 +Only one field can be used as the title: タイトルとして使用できるフィールドは1つだけです。 +Use as title: タイトルとして使用 +Validation: バリデーション +Prevents saving an entry if this field is empty: このフィールドを必須項目とします +Make field required: このフィールドを必須項目にする +Ensures that a multiple entries can't have the same value for this field: 複数のアイテム間でこのフィールドの値がユニークであることを担保します +Set field as unique: ユニーク制約 +Set default value: デフォルト値を設定 +Default value must be a valid URL and start with 'http://' or 'https://'.: デフォルト値はhttp://もしくはhttps://で始まる有効なURLである必要があります。 +Set maximum length: 最大長 +Set minimum value: 最小値 +Set maximum value: 最大値 +Set Tags: タグを設定する +Select Group: グループを選択 +Please select the group!: グループを選択してください! +Support Type: サポートタイプ +Please select what type of Geometry this field will support: このフィールドがサポートするジオメトリのタイプを選択してください +Please select the Support Type!: サポートタイプを選択してください! +options: オプション +Ensures that multiple entries can't have the same value for this field: このフィールドには同じ値のエントリーを持つことができません。 +Default value: デフォルト値 +Heading and titles, one-line field: タイトルなどに利用する1行のフィールドです。 +TextArea: テキストエリア +Multi line text: 複数行テキスト +Markdown text: マークダウン +Rich text which supports md style: マークダウン対応のリッチテキスト +Asset file: アセット +true/false field: 真偽 +Option: 選択 +Multiple select: 複数選択 +Int: 整数 +Integer: 整数 +http/https URL: URL +Reference: 参照 +Reference other models and items: 他のモデルやアイテムを参照 +Date: 日付 +Date picker: 日付ピッカー +Select from a list of tags: タグのリストから選択する +Check Box: チェックボックス +Select from a list of checkboxes: チェックボックスのリストから選択する +Customize a group of fields: フィールドのグループをカスタマイズ +Geometry Object: ジオメトリオブジェクト +Input GeoJSON and preview: GeoJSONの入力とプレビュー +Geometry Editor: ジオメトリエディタ +Draw the geometry on map: 地図上にジオメトリを描く +Update Model: モデルを更新 +Update Group: グループを更新 +New Group: 新規グループ +Model name: モデル名 +Group name: グループ名 +Please input the name of the model!: このモデル名を入力してください +Please input the name of the group!: グループ名を入力してください! +Model description: モデル概要 +Group description: グループ概要 +Model key: モデルキー +Group key: グループキー +Model key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: モデルキーは3文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 +Group key must be unique and at least 3 characters long. It can only contain letters, numbers, underscores, and dashes.: グループキーは3文字以上かつ一意である必要があります。半角英数字、アンダースコア、ダッシュのみを含むことができます。 +Fields: フィールド +Are you sure you want to delete this field?: 本当に{{name}}を削除してもよろしいですか? +Publish Status: 公開ステータス +Empty Schema design.: スキーマ設定が空です。 +Please add some field from right panel.: 右のパネルからフィールドを追加してください。 +New Tiles: 新しいタイル +New Terrain: 新しい地形 +Update Tiles: タイルを更新 +Update Terrain: 地形を更新 +Tiles type: タイルの種類 +Terrain type: 地形の種類 +Name of tiles: タイルの名前 +example: '' +Image URL: イメージURL +Name of terrain: 地形の名前 +Terrain Cesium Ion asset ID: Terrain Cesium Ion アセットID +Terrain Cesium Ion access token: Terrain Cesium Ion アクセストークン +Terrain URL: テラインURL +Geospatial asset preview setting: 地理空間アセットのプレビュー設定 +For asset viewer (formats like 3D Tiles, MVT, GeoJSON, CZML ... ): アセット・ビューア用 (3D Tiles、MVT、GeoJSON、CZML等のフォーマット) +Tiles: タイル +The first one in the list will be the default Tile.: リストの最初のタイルがデフォルトのタイルとなります。 +Add new Tiles option: 新しいタイルを追加 +Terrain: 地形 +The first one in the list will be the default Terrain.: リストの最初の地形がデフォルトの地形となります。 +Enable: 有効 +Add new Terrain option: 新しい地形を追加 +New View: 新しいビュー +Update View: ビューを更新します +View Name: ビュー名 +This is the title of the view: ビューのタイトル +Please input the view name!: ビュー名を入力してください! +Rename: 名前の変更 +Remove View: ビューを削除します +Are you sure you want to delete this view?: 本当にこのビューを削除しますか? +Deleting the view is a permanent action. However, the contents will remain unaffected.: ビューの削除は元に戻せませんが、コンテンツは影響を受けません。 +Please proceed with caution as this action cannot be undone.: この操作は元に戻せませんので、注意して行ってください。 +Save as new view: 新しいビューとして保存します +Welcome to Re:Earth CMS !: ようこそ!Re:Earth CMSへ +WRITER: 編集者 +READER: 閲覧者 +MAINTAINER: メンテナー +OWNER: オーナー +search projects: 検索 +Create a Workspace: 新規ワークスペース +Are you sure you want to delete this workspace?: このワークスペースを削除します。よろしいですか? +Remove Workspace: ワークスペースを削除 +Permanently removes the current workspace and all of its contents from Re:Earth CMS. This action is not reversible, so please continue with caution.: 現在のワークスペースを削除します。ワークスペースに関連するすべてのデータが削除されます。この操作を取り消すことはできません。 +Workspace Name: ワークスペース名 +This is the name that will be visible within Re:Earth and Re:Earth CMS. This could be your company's name, department's name, the theme of your projects, etc.: ワークスペース名はワークスペースを判別するために表示されます。あなたの会社名、部署名、その他プロジェクトのテーマなどを利用することをお勧めします。 +Please input a new workspace name!: 新しいワークスペース名を入力してください。 +Workspace Settings: ワークスペース設定 +Failed to update user.: ユーザーの更新に失敗しました。 +Successfully updated user!: ユーザーの更新に成功しました。 +Failed to update language.: 言語設定の更新に失敗しました。 +Successfully updated language!: 言語設定の更新に成功しました。 +Failed to delete user.: ユーザーの削除に失敗しました。 +Successfully deleted user!: ユーザーの削除に成功しました。 +Successfully created workspace!: ワークスペースの作成に成功しました。 +Failed to create comment.: コメントの作成に失敗しました。 +Successfully created comment!: コメントの作成に成功しました。 +Failed to update comment.: コメントの更新に失敗しました。 +Successfully updated comment!: コメントの更新に成功しました。 +Failed to delete comment.: コメントの削除に失敗しました。 +Successfully deleted comment!: コメントの削除に成功しました。 +Failed to update publication settings.: 公開設定の更新に失敗しました。 +Successfully updated publication settings!: 公開設定の更新に更新に成功しました。 +Failed to update asset.: アセットの更新に失敗しました。 +Asset was successfully updated!: アセットの更新に成功しました。 +Failed to decompress asset.: アセットの解凍に失敗しました。 +Asset is being decompressed!: アセットは解凍中です! +Failed to add one or more assets.: アセットの追加に失敗しました。 +Successfully added one or more assets!: アセットの追加に成功しました。 +Successfully added asset!: アセットの追加に成功しました。 +Failed to add asset.: アセットを追加に失敗しました。 +Failed to delete one or more assets.: アセットの削除に失敗しました。 +One or more assets were successfully deleted!: アセットの削除に成功しました。 +No comments.: コメントはありません。 +Please click the comment bubble in the table to check comments.: コメントを確認するには、表のコメントアイコンををクリックしてください。 +Failed to create item.: アイテムの作成に失敗しました。 +Successfully created Item!: アイテムの作成に成功しました。 +Failed to update item.: アイテムの更新に失敗しました。 +Successfully updated Item!: アイテムの更新に成功しました。 +Failed to create request.: リクエストの作成に失敗しました。 +Successfully created request!: リクエストの作成に成功しました。 +Failed to update request.: リクエストの更新に失敗しました。 +Successfully updated request!: リクエストの更新に成功しました。 +Failed to delete one or more items.: アイテムの削除に失敗しました。 +One or more items were successfully deleted!: アイテムの削除に成功しました。 +One of the items already exists in the request.: アイテムのいずれかがすでにリクエストに存在します。 +Successfully updated Request!: リクエストの更新に成功しました。 +Failed to publish items.: アイテムの公開に失敗しました。 +Successfully published items!: アイテムの公開に成功しました! +Failed to unpublish items.: エラーによりアイテムを非公開にできませんでした。 +Successfully unpublished items!: アイテムを非公開にしました。 +Failed to create view.: ビューの作成に失敗しました。 +Successfully created view!: ビューの作成に成功しました! +Failed to update view.: ビューの更新に失敗しました。 +Successfully updated view!: ビューの更新に成功しました! +Failed to rename view.: ビューの名前変更に失敗しました。 +Successfully renamed view!: ビューの名前変更に成功しました! +Failed to delete view.: ビューの削除に失敗しました。 +Successfully deleted view!: ビューの削除に成功しました! +Failed to update views order.: ビューの順序更新に失敗しました。 +Successfully updated views order!: ビューの順序変更に成功しました! +Failed to create model.: モデルの作成に失敗しました。 +Successfully created model!: モデルの作成に成功しました。 +Failed to update models order.: モデルの順序更新に失敗しました。 +Successfully updated models order!: モデルの順序変更に成功しました! +Failed to create group.: グループの作成に失敗しました。 +Successfully created group!: グループの作成に成功しました! +Failed to update groups order.: グループの順序更新に失敗しました。 +Successfully updated groups order!: グループの順序変更に成功しました! +Failed to delete model.: モデルの削除に失敗しました。 +Successfully deleted model!: モデルの削除に成功しました。 +Failed to update model.: モデルの更新に失敗しました。 +Successfully updated model!: モデルの更新に成功しました。 +Failed to delete one or more requests.: リクエストの削除に失敗しました。 +One or more requests were successfully closed!: リクエストのクローズに成功しました。 +Failed to approve request.: リクエストの承認に失敗しました。 +Successfully approved request!: リクエストの承認に成功しました。 +Failed to delete field.: フィールドの削除に失敗しました。 +Successfully deleted field!: フィールドの削除に成功しました。 +Failed to update field.: フィールドの更新に失敗しました。 +Successfully updated field!: フィールドの更新に成功しました。 +Failed to create field.: フィールドの作成に失敗しました。 +Successfully created field!: フィールドの作成に成功しました。 +Group cannot be deleted: グループを削除できません。 +is used in: '' +If you want to delete it, please delete the field that uses it first.: 削除したい場合は、まずそれを使っているフィールドを削除してください。 +Failed to delete group.: グループの削除に失敗しました +Successfully deleted group!: グループの削除に成功しました! +Failed to update group.: グループの更新に失敗しました。 +Successfully updated group!: グループの更新に成功しました! +No available Group: グループなし +Please create a Group first to use the field: フィールドを使用するには、まずグループを作成してください。 +Create Group: グループを作成 +Failed to update project.: プロジェクトの更新に失敗しました。 +Successfully updated project!: プロジェクトの更新に成功しました。 +Failed to update request roles.: リクエストロールの更新に失敗しました。 +Successfully updated request roles!: リクエストロールの更新に成功しました。 +Failed to delete project.: プロジェクトの削除に失敗しました。 +Successfully deleted project!: プロジェクトの削除に成功しました。 +Failed to update workspace.: ワークスペースの更新に失敗しました。 +Successfully updated workspace!: ワークスペースの更新に成功しました。 +Failed to connect integration.: インテグレーションの接続に失敗しました。 +Successfully connected integration to the workspace!: インテグレーションの接続に成功しました。 +Failed to update workspace integration.: ワークスペースのインテグレーションの更新に失敗しました。 +Successfully updated workspace integration!: ワークスペースのインテグレーションの更新に成功しました。 +Failed to delete one or more intagrations.: インテグレーションの削除に失敗しました。 +One or more integrations were successfully deleted!: インテグレーションの削除に成功しました。 +Failed to add one or more members.: メンバーの追加に失敗しました。 +Successfully added member(s) to the workspace!: メンバーの追加に成功しました。 +Failed to update member's role.: メンバーのロールの更新に失敗しました。 +Successfully updated member's role!: メンバーのロールの更新に成功しました。 +Failed to remove member(s) from the workspace.: メンバーの削除に失敗しました。 +Successfully removed member(s) from the workspace!: メンバーの削除に成功しました。 +Failed to leave the workspace.: ワークスペースを離れることに失敗しました。 +Successfully left the workspace!: ワークスペースを離れることに成功しました! +Failed to update integration.: インテグレーションの更新に失敗しました。 +Successfully updated integration!: インテグレーションの更新に成功しました。 +Failed to delete integration.: インテグレーションの削除に失敗しました。 +Successfully deleted integration!: インテグレーションの削除に成功しました。 +The attempt to regenerate the integration token has failed.: インテグレーショントークンの再生成に失敗しました。 +The integration token has been successfully regenerated!: インテグレーショントークンの再生成に成功しました! +Failed to create webhook.: Webhookの作成に失敗しました。 +Successfully created webhook!: Webhookの作成に成功しました。 +Failed to delete webhook.: Webhookの削除に失敗しました。 +Successfully deleted webhook!: Webhookの削除に成功しました。 +Failed to update webhook.: Webhookの更新に失敗しました。 +Successfully updated webhook!: Webhookの更新に成功しました。 +Failed to create integration.: インテグレーションの作成に失敗しました。 +Successfully created integration!: インテグレーションの作成に成功しました。 +Failed to create project.: プロジェクトの作成に失敗しました。 +Successfully created project!: プロジェクトの作成に成功しました。 +Failed to delete workspace.: ワークスペースの削除に失敗しました。 +Successfully deleted workspace!: ワークスペースの削除に成功しました。 diff --git a/worker/go.mod b/worker/go.mod index daaf670fba..b6186af5b6 100644 --- a/worker/go.mod +++ b/worker/go.mod @@ -1,15 +1,15 @@ module github.com/reearth/reearth-cms/worker -go 1.23.1 +go 1.23.2 require ( - cloud.google.com/go/pubsub v1.43.0 - cloud.google.com/go/storage v1.43.0 - github.com/aws/aws-sdk-go-v2 v1.31.0 - github.com/aws/aws-sdk-go-v2/config v1.27.38 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.24 - github.com/aws/aws-sdk-go-v2/service/s3 v1.63.2 - github.com/aws/aws-sdk-go-v2/service/sns v1.32.2 + cloud.google.com/go/pubsub v1.45.1 + cloud.google.com/go/storage v1.45.0 + github.com/aws/aws-sdk-go-v2 v1.32.2 + github.com/aws/aws-sdk-go-v2/config v1.28.0 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.34 + github.com/aws/aws-sdk-go-v2/service/s3 v1.66.1 + github.com/aws/aws-sdk-go-v2/service/sns v1.33.2 github.com/bodgit/sevenzip v1.5.2 github.com/jarcoal/httpmock v1.3.1 github.com/joho/godotenv v1.5.1 @@ -21,37 +21,47 @@ require ( github.com/samber/lo v1.47.0 github.com/spf13/afero v1.11.0 github.com/stretchr/testify v1.9.0 - go.mongodb.org/mongo-driver v1.17.0 - go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.55.0 - go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.55.0 - golang.org/x/net v0.29.0 + go.mongodb.org/mongo-driver v1.17.1 + go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.56.0 + go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.56.0 + golang.org/x/net v0.30.0 ) require ( - cloud.google.com/go v0.115.1 // indirect - cloud.google.com/go/auth v0.9.3 // indirect + cel.dev/expr v0.16.1 // indirect + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/auth v0.9.9 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v1.2.0 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect + cloud.google.com/go/iam v1.2.1 // indirect + cloud.google.com/go/monitoring v1.21.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect github.com/andybalholm/brotli v1.1.0 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.5 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.36 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.41 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.18 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.23.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.31.2 // indirect - github.com/aws/smithy-go v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // indirect + github.com/aws/smithy-go v1.22.0 // indirect github.com/bodgit/plumbing v1.3.0 // indirect github.com/bodgit/windows v1.0.1 // indirect + github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/envoyproxy/go-control-plane v0.13.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect @@ -63,12 +73,12 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/google/s2a-go v0.1.8 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.3 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/maruel/panicparse/v2 v2.3.1 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -77,6 +87,7 @@ require ( github.com/nicksnyder/go-i18n/v2 v2.4.0 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/ulikunitz/xz v0.5.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -86,28 +97,31 @@ require ( github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.30.0 // indirect - go.opentelemetry.io/otel/metric v1.30.0 // indirect - go.opentelemetry.io/otel/trace v1.30.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.29.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect go4.org v0.0.0-20230225012048-214862532bf5 // indirect - golang.org/x/crypto v0.27.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/text v0.18.0 // indirect - golang.org/x/time v0.6.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + golang.org/x/time v0.7.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/api v0.196.0 // indirect - google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect + google.golang.org/api v0.203.0 // indirect + google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/worker/go.sum b/worker/go.sum index 4703b0f9c0..fbdbcf7e97 100644 --- a/worker/go.sum +++ b/worker/go.sum @@ -1,3 +1,5 @@ +cel.dev/expr v0.16.1 h1:NR0+oFYzR1CqLFhTAqg3ql59G9VfN8fKq1TCHJ6gq1g= +cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -7,80 +9,94 @@ cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTj cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= -cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/auth v0.9.3 h1:VOEUIAADkkLtyfr3BLa3R8Ed/j6w1jTBmARx+wb5w5U= -cloud.google.com/go/auth v0.9.3/go.mod h1:7z6VY+7h3KUdRov5F1i8NDP5ZzWKYmEPO842BgCsmTk= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.9.9 h1:BmtbpNQozo8ZwW2t7QJjnrQtdganSdmqeIBxHxNkEZQ= +cloud.google.com/go/auth v0.9.9/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI= cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/iam v1.2.0 h1:kZKMKVNk/IsSSc/udOb83K0hL/Yh/Gcqpz+oAkoIFN8= -cloud.google.com/go/iam v1.2.0/go.mod h1:zITGuWgsLZxd8OwAlX+eMFgZDXzBm7icj1PVTYG766Q= -cloud.google.com/go/kms v1.19.0 h1:x0OVJDl6UH1BSX4THKlMfdcFWoE4ruh90ZHuilZekrU= -cloud.google.com/go/kms v1.19.0/go.mod h1:e4imokuPJUc17Trz2s6lEXFDt8bgDmvpVynH39bdrHM= -cloud.google.com/go/longrunning v0.6.0 h1:mM1ZmaNsQsnb+5n1DNPeL0KwQd9jQRqSqSDEkBZr+aI= -cloud.google.com/go/longrunning v0.6.0/go.mod h1:uHzSZqW89h7/pasCWNYdUpwGz3PcVWhrWupreVPYLts= +cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU= +cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g= +cloud.google.com/go/kms v1.20.0 h1:uKUvjGqbBlI96xGE669hcVnEMw1Px/Mvfa62dhM5UrY= +cloud.google.com/go/kms v1.20.0/go.mod h1:/dMbFF1tLLFnQV44AoI2GlotbjowyUfgVwezxW291fM= +cloud.google.com/go/logging v1.11.0 h1:v3ktVzXMV7CwHq1MBF65wcqLMA7i+z3YxbUsoK7mOKs= +cloud.google.com/go/logging v1.11.0/go.mod h1:5LDiJC/RxTt+fHc1LAt20R9TKiUTReDg6RuuFOZ67+A= +cloud.google.com/go/longrunning v0.6.1 h1:lOLTFxYpr8hcRtcwWir5ITh1PAKUD/sG2lKrTSYjyMc= +cloud.google.com/go/longrunning v0.6.1/go.mod h1:nHISoOZpBcmlwbJmiVk5oDRz0qG/ZxPynEGs1iZ79s0= +cloud.google.com/go/monitoring v1.21.1 h1:zWtbIoBMnU5LP9A/fz8LmWMGHpk4skdfeiaa66QdFGc= +cloud.google.com/go/monitoring v1.21.1/go.mod h1:Rj++LKrlht9uBi8+Eb530dIrzG/cU/lB8mt+lbeFK1c= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.43.0 h1:s3Qx+F96J7Kwey/uVHdK3QxFLIlOvvw4SfMYw2jFjb4= -cloud.google.com/go/pubsub v1.43.0/go.mod h1:LNLfqItblovg7mHWgU5g84Vhza4J8kTxx0YqIeTzcXY= +cloud.google.com/go/pubsub v1.45.1 h1:ZC/UzYcrmK12THWn1P72z+Pnp2vu/zCZRXyhAfP1hJY= +cloud.google.com/go/pubsub v1.45.1/go.mod h1:3bn7fTmzZFwaUjllitv1WlsNMkqBgGUb3UdMhI54eCc= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs= -cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0= +cloud.google.com/go/storage v1.45.0 h1:5av0QcIVj77t+44mV4gffFC/LscFRUhto6UBMB5SimM= +cloud.google.com/go/storage v1.45.0/go.mod h1:wpPblkIuMP5jCB/E48Pz9zIo2S/zD8g+ITmxKkPCITE= +cloud.google.com/go/trace v1.11.1 h1:UNqdP+HYYtnm6lb91aNA5JQ0X14GnxkABGlfz2PzPew= +cloud.google.com/go/trace v1.11.1/go.mod h1:IQKNQuBzH72EGaXEodKlNJrWykGZxet2zgjtS60OtjA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= -github.com/aws/aws-sdk-go-v2 v1.31.0 h1:3V05LbxTSItI5kUqNwhJrrrY1BAXxXt0sN0l72QmG5U= -github.com/aws/aws-sdk-go-v2 v1.31.0/go.mod h1:ztolYtaEUtdpf9Wftr31CJfLVjOnD/CVRkKOOYgF8hA= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.5 h1:xDAuZTn4IMm8o1LnBZvmrL8JA1io4o3YWNXgohbf20g= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.5/go.mod h1:wYSv6iDS621sEFLfKvpPE2ugjTuGlAG7iROg0hLOkfc= -github.com/aws/aws-sdk-go-v2/config v1.27.38 h1:mMVyJJuSUdbD4zKXoxDgWrgM60QwlFEg+JhihCq6wCw= -github.com/aws/aws-sdk-go-v2/config v1.27.38/go.mod h1:6xOiNEn58bj/64MPKx89r6G/el9JZn8pvVbquSqTKK4= -github.com/aws/aws-sdk-go-v2/credentials v1.17.36 h1:zwI5WrT+oWWfzSKoTNmSyeBKQhsFRJRv+PGW/UZW+Yk= -github.com/aws/aws-sdk-go-v2/credentials v1.17.36/go.mod h1:3AG/sY1rc9NJrNWcN/3KPU4SIDPGTrd/qegKB0TnFdE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14 h1:C/d03NAmh8C4BZXhuRNboF/DqhBkBCeDiJDcaqIT5pA= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14/go.mod h1:7I0Ju7p9mCIdlrfS+JCgqcYD0VXz/N4yozsox+0o078= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.24 h1:WEiv2o2tjSx9tv5jP7rCR1P8FE8c6DxkFpvHGy6SYZg= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.24/go.mod h1:mhxj3DJiOXogLRZ/wlGmI9VHiCW2kzHjHTJLxexOtEk= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 h1:kYQ3H1u0ANr9KEKlGs/jTLrBFPo8P8NaH/w7A01NeeM= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18/go.mod h1:r506HmK5JDUh9+Mw4CfGJGSSoqIiLCndAuqXuhbv67Y= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 h1:Z7IdFUONvTcvS7YuhtVxN99v2cCoHRXOS4mTr0B/pUc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18/go.mod h1:DkKMmksZVVyat+Y+r1dEOgJEfUeA7UngIHWeKsi0yNc= +github.com/aws/aws-sdk-go-v2 v1.32.2 h1:AkNLZEyYMLnx/Q/mSKkcMqwNFXMAvFto9bNsHqcTduI= +github.com/aws/aws-sdk-go-v2 v1.32.2/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA= +github.com/aws/aws-sdk-go-v2/config v1.28.0 h1:FosVYWcqEtWNxHn8gB/Vs6jOlNwSoyOCA/g/sxyySOQ= +github.com/aws/aws-sdk-go-v2/config v1.28.0/go.mod h1:pYhbtvg1siOOg8h5an77rXle9tVG8T+BWLWAo7cOukc= +github.com/aws/aws-sdk-go-v2/credentials v1.17.41 h1:7gXo+Axmp+R4Z+AK8YFQO0ZV3L0gizGINCOWxSLY9W8= +github.com/aws/aws-sdk-go-v2/credentials v1.17.41/go.mod h1:u4Eb8d3394YLubphT4jLEwN1rLNq2wFOlT6OuxFwPzU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 h1:TMH3f/SCAWdNtXXVPPu5D6wrr4G5hI1rAxbcocKfC7Q= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17/go.mod h1:1ZRXLdTpzdJb9fwTMXiLipENRxkGMTn1sfKexGllQCw= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.34 h1:os83HS/WfOwi1LsZWLCSHTyj+whvPGaxUsq/D1Ol2Q0= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.34/go.mod h1:tG0BaDCAweumHRsOHm72tuPgAfRLASQThgthWYeTyV8= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 h1:UAsR3xA31QGf79WzpG/ixT9FZvQlh5HY1NRqSHBNOCk= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21/go.mod h1:JNr43NFf5L9YaG3eKTm7HQzls9J+A9YYcGI5Quh1r2Y= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 h1:6jZVETqmYCadGFvrYEQfC5fAQmlo80CeL5psbno6r0s= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21/go.mod h1:1SR0GbLlnN3QUmYaflZNiH1ql+1qrSiB2vwcJ+4UM60= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.18 h1:OWYvKL53l1rbsUmW7bQyJVsYU/Ii3bbAAQIIFNbM0Tk= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.18/go.mod h1:CUx0G1v3wG6l01tUB+j7Y8kclA8NSqK4ef0YG79a4cg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 h1:QFASJGfT8wMXtuP3D5CRmMjARHv9ZmzFUMJznHDOY3w= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5/go.mod h1:QdZ3OmoIjSX+8D1OPAzPxDfjXASbBMDsz9qvtyIhtik= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.20 h1:rTWjG6AvWekO2B1LHeM3ktU7MqyX9rzWQ7hgzneZW7E= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.20/go.mod h1:RGW2DDpVc8hu6Y6yG8G5CHVmVOAn1oV8rNKOHRJyswg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 h1:Xbwbmk44URTiHNx6PNo0ujDE6ERlsCKJD3u1zfnzAPg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20/go.mod h1:oAfOFzUB14ltPZj1rWwRc3d/6OgD76R8KlvU3EqM9Fg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.18 h1:eb+tFOIl9ZsUe2259/BKPeniKuz4/02zZFH/i4Nf8Rg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.18/go.mod h1:GVCC2IJNJTmdlyEsSmofEy7EfJncP7DNnXDzRjJ5Keg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.63.2 h1:1iXmXy8SJzQVMGvo40TSzBYS9ig6BSyXfRIMzLfmBfE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.63.2/go.mod h1:NLTqRLe3pUNu3nTEHI6XlHLKYmc8fbHUdMxAB6+s41Q= -github.com/aws/aws-sdk-go-v2/service/sns v1.32.2 h1:eAySuJF6Obj1eEy9VvJ6VFfsKsLV71hR2bAv9VwVWUw= -github.com/aws/aws-sdk-go-v2/service/sns v1.32.2/go.mod h1:ZO606Jfatw51c8q29gHVVCnufg2dq3MnmkNLlTZFrkE= -github.com/aws/aws-sdk-go-v2/service/sso v1.23.2 h1:yzi/y/vKlLyzOfG7pSu5ONNGRxHIgLeDrV4w2AMRCo0= -github.com/aws/aws-sdk-go-v2/service/sso v1.23.2/go.mod h1:XRlMvmad0ZNL+75C5FYdMvbbLkd6qiqz6foR1nA1PXY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.2 h1:3gb6pYhYLjo8rB1h2Tqs61wpjRd3rQymYcVq/pp0yxI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.2/go.mod h1:FnvDM4sfa+isJ3kDXIzAB9GAwVSzFzSy97uZ3IsHo4E= -github.com/aws/aws-sdk-go-v2/service/sts v1.31.2 h1:O6tyji8mXmBGsHvTCB0VIhrDw19lGTUSbKIyjnw79s8= -github.com/aws/aws-sdk-go-v2/service/sts v1.31.2/go.mod h1:yMWe0F+XG0DkRZK5ODZhG7BEFYhLXi2dqGsv6tX0cgI= -github.com/aws/smithy-go v1.21.0 h1:H7L8dtDRk0P1Qm6y0ji7MCYMQObJ5R9CRpyPhRUkLYA= -github.com/aws/smithy-go v1.21.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21 h1:7edmS3VOBDhK00b/MwGtGglCm7hhwNYnjJs/PgFdMQE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21/go.mod h1:Q9o5h4HoIWG8XfzxqiuK/CGUbepCJ8uTlaE3bAbxytQ= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2 h1:4FMHqLfk0efmTqhXVRL5xYRqlEBNBiRI7N6w4jsEdd4= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2/go.mod h1:LWoqeWlK9OZeJxsROW2RqrSPvQHKTpp69r/iDjwsSaw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 h1:s7NA1SOw8q/5c0wr8477yOPp0z+uBaXBnLE0XYb0POA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2/go.mod h1:fnjjWyAW/Pj5HYOxl9LJqWtEwS7W2qgcRLWP+uWbss0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2 h1:t7iUP9+4wdc5lt3E41huP+GvQZJD38WLsgVp4iOtAjg= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2/go.mod h1:/niFCtmuQNxqx9v8WAPq5qh7EH25U4BF6tjoyq9bObM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.1 h1:MkQ4unegQEStiQYmfFj+Aq5uTp265ncSmm0XTQwDwi0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.1/go.mod h1:cB6oAuus7YXRZhWCc1wIwPywwZ1XwweNp2TVAEGYeB8= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.2 h1:GeVRrB1aJsGdXxdPY6VOv0SWs+pfdeDlKgiBxi0+V6I= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.2/go.mod h1:c6Sj8zleZXYs4nyU3gpDKTzPWu7+t30YUXoLYRpbUvU= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 h1:bSYXVyUzoTHoKalBmwaZxs97HU9DWWI3ehHSAMa7xOk= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.2/go.mod h1:skMqY7JElusiOUjMJMOv1jJsP7YUg7DrhgqZZWuzu1U= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 h1:AhmO1fHINP9vFYUE0LHzCWg/LfUWUF+zFPEcY9QXb7o= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2/go.mod h1:o8aQygT2+MVP0NaV6kbdE1YnnIM8RRVQzoeUH45GOdI= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ4CtM1Ll0XavNuVo= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/bodgit/plumbing v1.3.0 h1:pf9Itz1JOQgn7vEOE7v7nlEfBykYqvUYioC61TwWCFU= github.com/bodgit/plumbing v1.3.0/go.mod h1:JOTb4XiRu5xfnmdnDJo6GmSbSbtSyufrsyZFByMtKEs= github.com/bodgit/sevenzip v1.5.2 h1:acMIYRaqoHAdeu9LhEGGjL9UzBD4RNf9z7+kWDNignI= @@ -88,18 +104,28 @@ github.com/bodgit/sevenzip v1.5.2/go.mod h1:gTGzXA67Yko6/HLSD0iK4kWaWzPlPmLfDO73 github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4= github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -172,8 +198,8 @@ github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.3 h1:QRje2j5GZimBzlbhGA2V2QlGNgL8G6e+wGo/+/2bWI0= -github.com/googleapis/enterprise-certificate-proxy v0.3.3/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= @@ -199,11 +225,11 @@ github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa github.com/kennygrant/sanitize v1.2.4 h1:gN25/otpP5vAsO2djbMhF/LQX6R7+O1TB4yv8NzpJ3o= github.com/kennygrant/sanitize v1.2.4/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -234,6 +260,8 @@ github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -242,6 +270,8 @@ github.com/reearth/reearthx v0.0.0-20240201064205-4a2be423e40d/go.mod h1:8DSD6e+ github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68 h1:Jknsfy5cqCH6qAuoU1qNZ51hfBJfMSJYwsH9j9mdVnw= github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68/go.mod h1:9CDhL7uDVy8vEVDNPJzxq89dPaPBWP6hxQcC8woBHus= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc= github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= @@ -273,8 +303,8 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.einride.tech/aip v0.68.0 h1:4seM66oLzTpz50u4K1zlJyOXQ3tCzcJN7I22tKkjipw= go.einride.tech/aip v0.68.0/go.mod h1:7y9FF8VtPWqpxuAxl0KQWqaULxW4zFIesD6zF5RIHHg= -go.mongodb.org/mongo-driver v1.17.0 h1:Hp4q2MCjvY19ViwimTs00wHi7G4yzxh4/2+nTx8r40k= -go.mongodb.org/mongo-driver v1.17.0/go.mod h1:wwWm/+BuOddhcq3n68LKRmgk2wXzmF6s0SFOa0GINL4= +go.mongodb.org/mongo-driver v1.17.1 h1:Wic5cJIwJgSpBhe3lx3+/RybR5PiYRMpVFgO7cOHyIM= +go.mongodb.org/mongo-driver v1.17.1/go.mod h1:wwWm/+BuOddhcq3n68LKRmgk2wXzmF6s0SFOa0GINL4= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -282,26 +312,30 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib v1.22.0 h1:QflN9z334UrOPzGGEr8VaMlWm+i+d9YLW8KzQtbvmBM= -go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.55.0 h1:dJfUeXRQiU+7IhOeqXV7f1hJA47cCOBmCY8uyygIEZg= -go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.55.0/go.mod h1:Uk7Flfuk5HGTeggDwlwanunnSDcJydFRihfXT1Z5fEs= -go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.55.0 h1:Rsm/r0H30wFPYRe5AQLIdOP0l7aSQyc5sSjPePMCEsw= -go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.55.0/go.mod h1:BWhDEM9MUeTMB391QSC+tBQAla6qp+SeFzQI+rfS44w= +go.opentelemetry.io/contrib/detectors/gcp v1.29.0 h1:TiaiXB4DpGD3sdzNlYQxruQngn5Apwzi1X0DRhuGvDQ= +go.opentelemetry.io/contrib/detectors/gcp v1.29.0/go.mod h1:GW2aWZNwR2ZxDLdv8OyC2G8zkRoQBuURgV7RPQgcPoU= +go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.56.0 h1:INy+gB4Y1rE0gJNfjTgZBFVD4RuTV5NpRnafbwoeROU= +go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.56.0/go.mod h1:ZXC8RPcIIJTidnOto6PE5w5vPwSg6XngjBLiWlX4n2Q= +go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.56.0 h1:0//muMFitgdYATXjORDlQ3Kh3lWXyOwtyspvVP7GYd0= +go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.56.0/go.mod h1:VIpwsfJrRcV92mFyqVSpopsvxIPfArkoYMi2tNCdkXI= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.30.0 h1:vumy4r1KMyaoQRltX7cJ37p3nluzALX9nugCjNNefuY= -go.opentelemetry.io/contrib/propagators/b3 v1.30.0/go.mod h1:fRbvRsaeVZ82LIl3u0rIvusIel2UUf+JcaaIpy5taho= -go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= -go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= -go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= -go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= -go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= -go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= -go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= +go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= +go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= @@ -314,8 +348,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -361,8 +395,8 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -402,8 +436,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -415,12 +449,12 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -459,8 +493,8 @@ google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsb google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.196.0 h1:k/RafYqebaIJBO3+SMnfEGtFVlvp5vSgqTUF54UN/zg= -google.golang.org/api v0.196.0/go.mod h1:g9IL21uGkYgvQ5BZg6BAtoGJQIm8r6EgaAbpNey5wBE= +google.golang.org/api v0.203.0 h1:SrEeuwU3S11Wlscsn+LA1kb/Y5xT8uggJSkIhD08NAU= +google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETneT3SI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -480,12 +514,12 @@ google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= -google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 h1:Df6WuGvthPzc+JiQ/G+m+sNX24kc0aTBqoDN/0yyykE= +google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53/go.mod h1:fheguH3Am2dGp1LfXkrvwqC/KlFq8F0nLq3LryOMrrE= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -495,8 +529,10 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a h1:UIpYSuWdWHSzjwcAFRLjKcPXFZVVLXGEM23W+NWqipw= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a/go.mod h1:9i1T9n4ZinTUZGgzENMi8MDDgbGC5mqTS75JAv6xN3A= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -506,8 +542,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=