diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3aaa8f517b84..7562dd354afc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,6 +10,9 @@ on: - ".github/workflows/**" workflow_dispatch: +env: + _AZ_REGISTRY: "bitwardenprod.azurecr.io" + jobs: cloc: name: CLOC @@ -33,6 +36,9 @@ jobs: - name: Checkout repo uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - name: Set up dotnet + uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 + - name: Verify Format run: dotnet format --verify-no-changes @@ -42,10 +48,11 @@ jobs: env: NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages steps: + - name: Checkout repo + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - name: Set up dotnet uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 - with: - dotnet-version: "6.0.x" - name: Print environment run: | @@ -54,9 +61,6 @@ jobs: echo "GitHub ref: $GITHUB_REF" echo "GitHub event: $GITHUB_EVENT" - - name: Checkout repo - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - - name: Restore run: dotnet restore --locked-mode shell: pwsh @@ -114,8 +118,14 @@ jobs: base_path: ./src - project_name: Identity base_path: ./src + - project_name: MsSqlMigratorUtility + base_path: ./util + dotnet: true - project_name: Notifications base_path: ./src + - project_name: Scim + base_path: ./bitwarden_license/src + dotnet: true - project_name: Server base_path: ./util - project_name: Setup @@ -123,16 +133,13 @@ jobs: - project_name: Sso base_path: ./bitwarden_license/src node: true - - project_name: Scim - base_path: ./bitwarden_license/src - dotnet: true - - project_name: MsSqlMigratorUtility - base_path: ./util - dotnet: true steps: - name: Checkout repo uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - name: Set up dotnet + uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 + - name: Set up Node uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 with: @@ -194,64 +201,48 @@ jobs: include: - project_name: Admin base_path: ./src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: Api base_path: ./src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: Attachments base_path: ./util - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] + - project_name: Billing + base_path: ./src + dotnet: true - project_name: Events base_path: ./src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: EventsProcessor base_path: ./src - docker_repos: [bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: Icons base_path: ./src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: Identity base_path: ./src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: MsSql base_path: ./util - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] + - project_name: MsSqlMigratorUtility + base_path: ./util + dotnet: true - project_name: Nginx base_path: ./util - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] - project_name: Notifications base_path: ./src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] + dotnet: true + - project_name: Scim + base_path: ./bitwarden_license/src dotnet: true - project_name: Server base_path: ./util - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: Setup base_path: ./util - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true - project_name: Sso base_path: ./bitwarden_license/src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] - dotnet: true - - project_name: Scim - base_path: ./bitwarden_license/src - docker_repos: [bitwarden, bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] - dotnet: true - - project_name: Billing - base_path: ./src - docker_repos: [bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] - dotnet: true - - project_name: MsSqlMigratorUtility - base_path: ./util - docker_repos: [bitwardenprod.azurecr.io, bitwardenqa.azurecr.io] dotnet: true steps: - name: Checkout repo @@ -271,14 +262,6 @@ jobs: fi ########## ACRs ########## - - name: Login to Azure - QA Subscription - uses: Azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2 # v1.4.7 - with: - creds: ${{ secrets.AZURE_QA_KV_CREDENTIALS }} - - - name: Login to QA ACR - run: az acr login -n bitwardenqa - - name: Login to Azure - PROD Subscription uses: Azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2 # v1.4.7 with: @@ -294,36 +277,11 @@ jobs: - name: Retrieve github PAT secrets id: retrieve-secret-pat - uses: bitwarden/gh-actions/get-keyvault-secrets@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/get-keyvault-secrets@f096207b7a2f31723165aee6ad03e91716686e78 with: keyvault: "bitwarden-ci" secrets: "github-pat-bitwarden-devops-bot-repo-scope" - - name: Retrieve secrets - if: ${{ env.is_publish_branch == 'true' }} - id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 - with: - keyvault: "bitwarden-ci" - secrets: "docker-password, - docker-username, - dct-delegate-2-repo-passphrase, - dct-delegate-2-key" - - - name: Log into Docker - if: ${{ env.is_publish_branch == 'true' }} - env: - DOCKER_USERNAME: ${{ steps.retrieve-secrets.outputs.docker-username }} - DOCKER_PASSWORD: ${{ steps.retrieve-secrets.outputs.docker-password }} - run: echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - - name: Setup Docker Content Trust (DCT) - if: ${{ env.is_publish_branch == 'true' }} - uses: bitwarden/gh-actions/setup-docker-trust@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 - with: - azure-creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }} - azure-keyvault-name: "bitwarden-ci" - ########## Generate image tag and build Docker image ########## - name: Generate Docker image tag id: tag @@ -342,12 +300,12 @@ jobs: echo "PROJECT_NAME: $PROJECT_NAME" echo "project_name=$PROJECT_NAME" >> $GITHUB_OUTPUT - - name: Generate tag list - id: tag-list + - name: Generate image full name + id: image-name env: IMAGE_TAG: ${{ steps.tag.outputs.image_tag }} PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - run: echo "tags=bitwardenqa.azurecr.io/${PROJECT_NAME}:${IMAGE_TAG},bitwardenprod.azurecr.io/${PROJECT_NAME}:${IMAGE_TAG}" >> $GITHUB_OUTPUT + run: echo "name=${_AZ_REGISTRY}/${PROJECT_NAME}:${IMAGE_TAG}" >> $GITHUB_OUTPUT - name: Get build artifact if: ${{ matrix.dotnet }} @@ -369,36 +327,28 @@ jobs: file: ${{ matrix.base_path }}/${{ matrix.project_name }}/Dockerfile platforms: linux/amd64 push: true - tags: ${{ steps.tag-list.outputs.tags }} + tags: ${{ steps.image-name.outputs.name }} secrets: | "GH_PAT=${{ steps.retrieve-secret-pat.outputs.github-pat-bitwarden-devops-bot-repo-scope }}" - - name: Push to DockerHub - if: contains(matrix.docker_repos, 'bitwarden') && env.is_publish_branch == 'true' - env: - IMAGE_TAG: ${{ steps.tag.outputs.image_tag }} - PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - run: | - docker tag bitwardenprod.azurecr.io/$PROJECT_NAME:$IMAGE_TAG bitwarden/$PROJECT_NAME:$IMAGE_TAG - docker push bitwarden/$PROJECT_NAME:$IMAGE_TAG - - - name: Log out of Docker - run: | - docker logout - echo "DOCKER_CONTENT_TRUST=0" >> $GITHUB_ENV - upload: name: Upload runs-on: ubuntu-22.04 needs: build-docker steps: + - name: Checkout repo + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - name: Set up dotnet uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 + + - name: Login to Azure - PROD Subscription + uses: Azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2 # v1.4.7 with: - dotnet-version: "6.0.x" + creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }} - - name: Checkout repo - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - name: Login to PROD ACR + run: az acr login -n $_AZ_REGISTRY --only-show-errors - name: Restore run: dotnet tool restore @@ -408,14 +358,18 @@ jobs: github.ref == 'refs/heads/rc' || github.ref == 'refs/heads/hotfix-rc' run: | - # Set proper image based on branch - if [[ "${{ github.ref }}" == "rc" ]]; then - SETUP_IMAGE="bitwarden/setup:rc" - elif [[ "${{ github.ref }}" == "hotfix-rc" ]]; then - SETUP_IMAGE="bitwarden/setup:hotfix-rc" - else - SETUP_IMAGE="bitwarden/setup:dev" - fi + # Set proper setup image based on branch + case "${{ github.ref }}" in + "refs/heads/master") + SETUP_IMAGE="$_AZ_REGISTRY/setup:dev" + ;; + "refs/heads/rc") + SETUP_IMAGE="$_AZ_REGISTRY/setup:rc" + ;; + "refs/heads/hotfix-rc") + SETUP_IMAGE="$_AZ_REGISTRY/setup:hotfix-rc" + ;; + esac STUB_OUTPUT=$(pwd)/docker-stub @@ -508,8 +462,7 @@ jobs: build-mssqlmigratorutility: name: Build MsSqlMigratorUtility runs-on: ubuntu-22.04 - needs: - - lint + needs: lint defaults: run: shell: bash @@ -521,11 +474,13 @@ jobs: - osx-x64 - linux-x64 - win-x64 - steps: - name: Checkout repo uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - name: Set up dotnet + uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0 + - name: Print environment run: | whoami @@ -539,7 +494,9 @@ jobs: dotnet restore - name: Publish project - run: dotnet publish -c "Release" -o obj/build-output/publish -r ${{ matrix.target }} -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true --self-contained true + run: | + dotnet publish -c "Release" -o obj/build-output/publish -r ${{ matrix.target }} -p:PublishSingleFile=true \ + -p:IncludeNativeLibrariesForSelfExtract=true --self-contained true - name: Upload project artifact Windows if: ${{ contains(matrix.target, 'win') == true }} @@ -620,7 +577,7 @@ jobs: - name: Retrieve secrets id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/get-keyvault-secrets@f096207b7a2f31723165aee6ad03e91716686e78 if: failure() with: keyvault: "bitwarden-ci" diff --git a/.github/workflows/container-registry-purge.yml b/.github/workflows/container-registry-purge.yml index e6712acf77b1..622c614c80e0 100644 --- a/.github/workflows/container-registry-purge.yml +++ b/.github/workflows/container-registry-purge.yml @@ -92,7 +92,7 @@ jobs: - name: Retrieve secrets id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/get-keyvault-secrets@f096207b7a2f31723165aee6ad03e91716686e78 if: failure() with: keyvault: "bitwarden-ci" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b17d4daaba5..e2ce751bc5c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,6 +15,9 @@ on: - Redeploy - Dry Run +env: + _AZ_REGISTRY: 'bitwardenprod.azurecr.io' + jobs: setup: name: Setup @@ -38,7 +41,7 @@ jobs: - name: Check Release Version id: version - uses: bitwarden/gh-actions/release-version-check@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/release-version-check@f096207b7a2f31723165aee6ad03e91716686e78 with: release-type: ${{ github.event.inputs.release_type }} project-type: dotnet @@ -53,18 +56,17 @@ jobs: deploy: name: Deploy runs-on: ubuntu-22.04 - needs: - - setup + needs: setup strategy: fail-fast: false matrix: include: - - name: Api - name: Admin + - name: Api - name: Billing - name: Events - - name: Sso - name: Identity + - name: Sso steps: - name: Setup id: setup @@ -87,16 +89,16 @@ jobs: - name: Download latest Release ${{ matrix.name }} asset if: ${{ github.event.inputs.release_type != 'Dry Run' }} - uses: bitwarden/gh-actions/download-artifacts@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/download-artifacts@f096207b7a2f31723165aee6ad03e91716686e78 with: workflow: build.yml workflow_conclusion: success branch: ${{ needs.setup.outputs.branch-name }} artifacts: ${{ matrix.name }}.zip - - name: Download latest Release ${{ matrix.name }} asset + - name: Dry Run - Download latest Release ${{ matrix.name }} asset if: ${{ github.event.inputs.release_type == 'Dry Run' }} - uses: bitwarden/gh-actions/download-artifacts@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/download-artifacts@f096207b7a2f31723165aee6ad03e91716686e78 with: workflow: build.yml workflow_conclusion: success @@ -173,8 +175,7 @@ jobs: release-docker: name: Build Docker images runs-on: ubuntu-22.04 - needs: - - setup + needs: setup env: _RELEASE_VERSION: ${{ needs.setup.outputs.release_version }} _BRANCH_NAME: ${{ needs.setup.outputs.branch-name }} @@ -183,40 +184,21 @@ jobs: matrix: include: - project_name: Admin - origin_docker_repo: bitwarden - project_name: Api - origin_docker_repo: bitwarden - project_name: Attachments - origin_docker_repo: bitwarden + - project_name: Billing - project_name: Events - prod_acr: true - origin_docker_repo: bitwarden - project_name: EventsProcessor - prod_acr: true - origin_docker_repo: bitwardenprod.azurecr.io - project_name: Icons - origin_docker_repo: bitwarden - prod_acr: true - project_name: Identity - origin_docker_repo: bitwarden - project_name: MsSql - origin_docker_repo: bitwarden + - project_name: MsSqlMigratorUtility - project_name: Nginx - origin_docker_repo: bitwarden - project_name: Notifications - origin_docker_repo: bitwarden + - project_name: Scim - project_name: Server - origin_docker_repo: bitwarden - project_name: Setup - origin_docker_repo: bitwarden - project_name: Sso - origin_docker_repo: bitwarden - - project_name: Scim - origin_docker_repo: bitwarden - - project_name: Billing - origin_docker_repo: bitwardenprod.azurecr.io - - project_name: MsSqlMigratorUtility - origin_docker_repo: bitwardenprod.azurecr.io steps: - name: Print environment env: @@ -239,51 +221,6 @@ jobs: echo "PROJECT_NAME: $PROJECT_NAME" echo "project_name=$PROJECT_NAME" >> $GITHUB_OUTPUT - ########## DockerHub ########## - - name: Setup DCT - id: setup-dct - if: matrix.origin_docker_repo == 'bitwarden' - uses: bitwarden/gh-actions/setup-docker-trust@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 - with: - azure-creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }} - azure-keyvault-name: "bitwarden-ci" - - - name: Pull latest project image - if: matrix.origin_docker_repo == 'bitwarden' - env: - PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - run: | - if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then - docker pull bitwarden/$PROJECT_NAME:latest - else - docker pull bitwarden/$PROJECT_NAME:$_BRANCH_NAME - fi - - - name: Tag version and latest - if: matrix.origin_docker_repo == 'bitwarden' - env: - PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - run: | - if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then - docker tag bitwarden/$PROJECT_NAME:latest bitwarden/$PROJECT_NAME:dryrun - else - docker tag bitwarden/$PROJECT_NAME:$_BRANCH_NAME bitwarden/$PROJECT_NAME:$_RELEASE_VERSION - fi - - - name: Push version and latest image - if: ${{ github.event.inputs.release_type != 'Dry Run' && matrix.origin_docker_repo == 'bitwarden' }} - env: - DOCKER_CONTENT_TRUST: 1 - DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ${{ steps.setup-dct.outputs.dct-delegate-repo-passphrase }} - PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - run: docker push bitwarden/$PROJECT_NAME:$_RELEASE_VERSION - - - name: Log out of Docker and disable Docker Notary - if: matrix.origin_docker_repo == 'bitwarden' - run: | - docker logout - echo "DOCKER_CONTENT_TRUST=0" >> $GITHUB_ENV - ########## ACR PROD ########## - name: Login to Azure - PROD Subscription uses: Azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2 # v1.4.7 @@ -291,42 +228,39 @@ jobs: creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }} - name: Login to Azure ACR - run: az acr login -n bitwardenprod + run: az acr login -n $_AZ_REGISTRY --only-show-errors - name: Pull latest project image - if: matrix.origin_docker_repo == 'bitwardenprod.azurecr.io' env: PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - ORIGIN_REGISTRY: ${{ matrix.origin_docker_repo }} run: | if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then - docker pull $ORIGIN_REGISTRY/$PROJECT_NAME:dev + docker pull $_AZ_REGISTRY/$PROJECT_NAME:latest else - docker pull $ORIGIN_REGISTRY/$PROJECT_NAME:$_BRANCH_NAME + docker pull $_AZ_REGISTRY/$PROJECT_NAME:$_BRANCH_NAME fi - name: Tag version and latest - if: matrix.origin_docker_repo == 'bitwardenprod.azurecr.io' env: PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - REGISTRY: bitwardenprod.azurecr.io - ORIGIN_REGISTRY: ${{ matrix.origin_docker_repo }} run: | if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then - docker tag $ORIGIN_REGISTRY/$PROJECT_NAME:dev $REGISTRY/$PROJECT_NAME:dryrun + docker tag $_AZ_REGISTRY/$PROJECT_NAME:latest $_AZ_REGISTRY/$PROJECT_NAME:dryrun else - docker tag $ORIGIN_REGISTRY/$PROJECT_NAME:$_BRANCH_NAME $REGISTRY/$PROJECT_NAME:$_RELEASE_VERSION - docker tag $ORIGIN_REGISTRY/$PROJECT_NAME:$_BRANCH_NAME $REGISTRY/$PROJECT_NAME:latest + docker tag $_AZ_REGISTRY/$PROJECT_NAME:$_BRANCH_NAME $_AZ_REGISTRY/$PROJECT_NAME:$_RELEASE_VERSION + docker tag $_AZ_REGISTRY/$PROJECT_NAME:$_BRANCH_NAME $_AZ_REGISTRY/$PROJECT_NAME:latest fi - name: Push version and latest image - if: ${{ github.event.inputs.release_type != 'Dry Run' && matrix.origin_docker_repo == 'bitwardenprod.azurecr.io' }} env: PROJECT_NAME: ${{ steps.setup.outputs.project_name }} - REGISTRY: bitwardenprod.azurecr.io run: | - docker push $REGISTRY/$PROJECT_NAME:$_RELEASE_VERSION - docker push $REGISTRY/$PROJECT_NAME:latest + if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then + docker push $_AZ_REGISTRY/$PROJECT_NAME:dryrun + else + docker push $_AZ_REGISTRY/$PROJECT_NAME:$_RELEASE_VERSION + docker push $_AZ_REGISTRY/$PROJECT_NAME:latest + fi - name: Log out of Docker run: docker logout @@ -340,7 +274,7 @@ jobs: steps: - name: Download latest Release Docker Stubs if: ${{ github.event.inputs.release_type != 'Dry Run' }} - uses: bitwarden/gh-actions/download-artifacts@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/download-artifacts@f096207b7a2f31723165aee6ad03e91716686e78 with: workflow: build.yml workflow_conclusion: success @@ -351,9 +285,9 @@ jobs: docker-stub-EU-sha256.txt, swagger.json" - - name: Download latest Release Docker Stubs + - name: Dry Run - Download latest Release Docker Stubs if: ${{ github.event.inputs.release_type == 'Dry Run' }} - uses: bitwarden/gh-actions/download-artifacts@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/download-artifacts@f096207b7a2f31723165aee6ad03e91716686e78 with: workflow: build.yml workflow_conclusion: success diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml index 1c9088a92c9d..829298d71413 100644 --- a/.github/workflows/version-bump.yml +++ b/.github/workflows/version-bump.yml @@ -23,7 +23,7 @@ jobs: - name: Retrieve secrets id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/get-keyvault-secrets@f096207b7a2f31723165aee6ad03e91716686e78 with: keyvault: "bitwarden-ci" secrets: "github-gpg-private-key, github-gpg-private-key-passphrase" @@ -40,7 +40,7 @@ jobs: run: git switch -c version_bump_${{ github.event.inputs.version_number }} - name: Bump Version - Props - uses: bitwarden/gh-actions/version-bump@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/version-bump@f096207b7a2f31723165aee6ad03e91716686e78 with: version: ${{ github.event.inputs.version_number }} file_path: "Directory.Build.props" diff --git a/.github/workflows/workflow-linter.yml b/.github/workflows/workflow-linter.yml index 67d01f67daea..13b3eb5110dd 100644 --- a/.github/workflows/workflow-linter.yml +++ b/.github/workflows/workflow-linter.yml @@ -8,4 +8,4 @@ on: jobs: call-workflow: - uses: bitwarden/gh-actions/.github/workflows/workflow-linter.yml@74f4ac01c9abe0a7331c9a5de822a558fd4a4710 + uses: bitwarden/gh-actions/.github/workflows/workflow-linter.yml@f096207b7a2f31723165aee6ad03e91716686e78 diff --git a/.vscode/launch.json b/.vscode/launch.json index 7e09ae524892..564c94e6f3a7 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -100,7 +100,7 @@ "cwd": "${workspaceFolder}/src/Identity", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -122,7 +122,7 @@ "cwd": "${workspaceFolder}/src/Api", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -144,7 +144,7 @@ "cwd": "${workspaceFolder}/src/Billing", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -168,7 +168,7 @@ "stopAtEntry": false, "OS-COMMENT5": "Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser", "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -190,7 +190,7 @@ "cwd": "${workspaceFolder}/bitwarden_license/src/Sso", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -212,7 +212,7 @@ "cwd": "${workspaceFolder}/src/EventsProcessor", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -234,7 +234,7 @@ "cwd": "${workspaceFolder}/src/Icons", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -256,7 +256,7 @@ "cwd": "${workspaceFolder}/src/Notifications", "stopAtEntry": false, "env": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -280,7 +280,7 @@ "env": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_URLS": "http://localhost:33657", - "developSelfHosted": "true" + "developSelfHosted": "true", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -304,7 +304,7 @@ "env": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_URLS": "http://localhost:4001", - "developSelfHosted": "true" + "developSelfHosted": "true", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -330,7 +330,7 @@ "env": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_URLS": "http://localhost:62912", - "developSelfHosted": "true" + "developSelfHosted": "true", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -354,7 +354,7 @@ "env": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_URLS": "http://localhost:51822", - "developSelfHosted": "true" + "developSelfHosted": "true", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -378,7 +378,7 @@ "env": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_URLS": "http://localhost:61841", - "developSelfHosted": "true" + "developSelfHosted": "true", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" @@ -402,7 +402,7 @@ "env": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_URLS": "http://localhost:46274", - "developSelfHosted": "true" + "developSelfHosted": "true", }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" diff --git a/Directory.Build.props b/Directory.Build.props index 1171da325d6f..62c0d4b76a35 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ net6.0 - 2023.7.2 + 2023.8.1 Bit.$(MSBuildProjectName) true enable diff --git a/NuGet.Config b/NuGet.Config index c3c2967a3bfe..ecaab16a1e50 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -1,8 +1,4 @@  - - - - - + diff --git a/bitwarden_license/src/Commercial.Core/packages.lock.json b/bitwarden_license/src/Commercial.Core/packages.lock.json index b3d79d30d45e..00a56694862e 100644 --- a/bitwarden_license/src/Commercial.Core/packages.lock.json +++ b/bitwarden_license/src/Commercial.Core/packages.lock.json @@ -45,8 +45,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -57,6 +57,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -81,6 +91,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -330,12 +352,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -398,28 +416,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -716,16 +712,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1361,34 +1347,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1830,42 +1788,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -1883,37 +1805,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2081,16 +1972,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2403,10 +2284,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2499,30 +2380,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2567,43 +2424,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json index 02fa4cd839bf..f31e24c95372 100644 --- a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json +++ b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json @@ -63,8 +63,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -75,6 +75,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -99,6 +109,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -362,12 +384,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -430,28 +448,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -815,16 +811,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1521,34 +1507,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1990,42 +1948,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2043,37 +1965,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2241,16 +2132,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2563,10 +2444,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2659,30 +2540,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2727,56 +2584,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json index 3a4d8f2f516e..ad36bb6cd7a1 100644 --- a/bitwarden_license/src/Scim/packages.lock.json +++ b/bitwarden_license/src/Scim/packages.lock.json @@ -62,8 +62,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -74,6 +74,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -98,6 +108,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -366,12 +388,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -434,28 +452,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -819,16 +815,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1525,34 +1511,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1994,42 +1952,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2047,37 +1969,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2245,16 +2136,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2567,10 +2448,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2663,30 +2544,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2731,71 +2588,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json index cd56f6719749..b182c9a24072 100644 --- a/bitwarden_license/src/Sso/packages.lock.json +++ b/bitwarden_license/src/Sso/packages.lock.json @@ -87,8 +87,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -99,6 +99,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -123,6 +133,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -470,12 +492,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -538,28 +556,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -938,16 +934,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1685,34 +1671,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2154,42 +2112,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2207,37 +2129,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2405,16 +2296,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2727,10 +2608,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2823,30 +2704,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2891,71 +2748,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json index ce5f43becf3d..09019299e5cd 100644 --- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json +++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json @@ -105,8 +105,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -117,6 +117,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -141,6 +151,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -424,12 +446,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -492,28 +510,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -815,16 +811,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -954,15 +940,6 @@ "System.Security.Cryptography.Pkcs": "6.0.0" } }, - "Moq": { - "type": "Transitive", - "resolved": "4.17.2", - "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", - "dependencies": { - "Castle.Core": "4.4.1", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, "NETStandard.Library": { "type": "Transitive", "resolved": "1.6.1", @@ -1563,34 +1540,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2031,42 +1980,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2084,37 +1997,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2287,16 +2169,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2609,10 +2481,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2705,30 +2577,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2818,7 +2666,7 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )" + "Core": "[2023.7.2, )" } }, "common": { @@ -2826,7 +2674,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", + "Core": "[2023.7.2, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -2841,6 +2689,7 @@ "AspNetCoreRateLimit": "[4.0.2, )", "AspNetCoreRateLimit.Redis": "[1.0.1, )", "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", + "Azure.Messaging.ServiceBus": "[7.15.0, )", "Azure.Storage.Blobs": "[12.14.1, )", "Azure.Storage.Queues": "[12.12.0, )", "BitPay.Light": "[1.0.1907, )", @@ -2855,7 +2704,6 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", "Microsoft.Data.SqlClient": "[5.0.1, )", "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", @@ -2880,11 +2728,10 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.5.1, )", - "Core": "[2023.5.1, )", + "Common": "[2023.7.2, )", + "Core": "[2023.7.2, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.17.2, )", "NSubstitute": "[4.3.0, )", "xunit": "[2.4.1, )" } diff --git a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json index 11c9222ea41e..cb1f3a3c8512 100644 --- a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json +++ b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json @@ -143,8 +143,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -155,6 +155,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -179,6 +189,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -489,12 +511,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -557,28 +575,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -1056,16 +1052,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1874,34 +1860,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2342,42 +2300,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2395,37 +2317,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2598,16 +2489,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2920,10 +2801,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -3016,30 +2897,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -3129,108 +2986,108 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.7.2", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.5.1, )", - "Identity": "[2023.5.1, )", - "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", - "Microsoft.EntityFrameworkCore.InMemory": "[7.0.5, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )" + "Common": "2023.7.2", + "Identity": "2023.7.2", + "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", + "Microsoft.EntityFrameworkCore.InMemory": "7.0.5", + "Microsoft.Extensions.Configuration": "6.0.1" } }, "scim": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/bitwarden_license/test/Scim.Test/packages.lock.json b/bitwarden_license/test/Scim.Test/packages.lock.json index de204fd691a8..d1268a6933da 100644 --- a/bitwarden_license/test/Scim.Test/packages.lock.json +++ b/bitwarden_license/test/Scim.Test/packages.lock.json @@ -131,8 +131,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -143,6 +143,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -167,6 +177,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -469,12 +491,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -537,28 +555,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -927,16 +923,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1719,34 +1705,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2187,42 +2145,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2240,37 +2162,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2443,16 +2334,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2765,10 +2646,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2861,30 +2742,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2974,90 +2831,90 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.7.2", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "scim": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/global.json b/global.json index 10b65be86420..527fd31d3fdc 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.100", + "version": "6.0.413", "rollForward": "latestFeature" } } diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json index 6bff84b29995..4ff039986428 100644 --- a/perf/MicroBenchmarks/packages.lock.json +++ b/perf/MicroBenchmarks/packages.lock.json @@ -65,8 +65,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -77,6 +77,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -101,6 +111,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -365,12 +387,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -433,28 +451,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -810,16 +806,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1468,34 +1454,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1945,42 +1903,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -1998,37 +1920,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2188,16 +2079,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2510,10 +2391,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2606,30 +2487,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2674,43 +2531,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/src/Admin/Views/Shared/_OrganizationFormScripts.cshtml b/src/Admin/Views/Shared/_OrganizationFormScripts.cshtml index 91451ed85d8f..88dc8a78c1f7 100644 --- a/src/Admin/Views/Shared/_OrganizationFormScripts.cshtml +++ b/src/Admin/Views/Shared/_OrganizationFormScripts.cshtml @@ -8,7 +8,7 @@ document.getElementById('@(nameof(Model.Plan))').value = selectText; togglePlanFeatures(selectEl.options[selectEl.selectedIndex].value); }); - document.getElementById('gateway-customer-link').addEventListener('click', () => { + document.getElementById('gateway-customer-link')?.addEventListener('click', () => { const gateway = document.getElementById('@(nameof(Model.Gateway))'); const customerId = document.getElementById('@(nameof(Model.GatewayCustomerId))'); if (!gateway || gateway.value === '' || !customerId || customerId.value === '') { @@ -21,7 +21,7 @@ + customerId.value, '_blank'); } }); - document.getElementById('gateway-subscription-link').addEventListener('click', () => { + document.getElementById('gateway-subscription-link')?.addEventListener('click', () => { const gateway = document.getElementById('@(nameof(Model.Gateway))'); const subId = document.getElementById('@(nameof(Model.GatewaySubscriptionId))'); if (!gateway || gateway.value === '' || !subId || subId.value === '') { diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json index d601fe600ebd..ba1b89dafa72 100644 --- a/src/Admin/packages.lock.json +++ b/src/Admin/packages.lock.json @@ -82,8 +82,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -94,6 +94,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -118,6 +128,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -405,12 +427,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos.Table": { "type": "Transitive", @@ -454,18 +472,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, "Microsoft.Azure.Services.AppAuthentication": { "type": "Transitive", "resolved": "1.6.2", @@ -2062,42 +2068,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2821,114 +2791,114 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )" + "Core": "2023.7.2" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.7.1, )", - "Infrastructure.EntityFramework": "[2023.7.1, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.7.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "migrator": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "dbup-sqlserver": "[5.0.8, )" + "Core": "2023.7.2", + "Microsoft.Extensions.Logging": "6.0.0", + "dbup-sqlserver": "5.0.8" } }, "mysqlmigrations": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )", - "Infrastructure.EntityFramework": "[2023.7.1, )" + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "postgresmigrations": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )", - "Infrastructure.EntityFramework": "[2023.7.1, )" + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )", - "Infrastructure.Dapper": "[2023.7.1, )", - "Infrastructure.EntityFramework": "[2023.7.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "sqlitemigrations": { "type": "Project", "dependencies": { - "Core": "[2023.7.1, )", - "Infrastructure.EntityFramework": "[2023.7.1, )" + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/Api/Controllers/CollectionsController.cs b/src/Api/Controllers/CollectionsController.cs index 4fc2ffc20144..879ec077d2a3 100644 --- a/src/Api/Controllers/CollectionsController.cs +++ b/src/Api/Controllers/CollectionsController.cs @@ -112,7 +112,7 @@ public async Task> GetMa [HttpGet("")] public async Task> Get(Guid orgId) { - IEnumerable orgCollections = await _collectionService.GetOrganizationCollections(orgId); + IEnumerable orgCollections = await _collectionService.GetOrganizationCollectionsAsync(orgId); var responses = orgCollections.Select(c => new CollectionResponseModel(c)); return new ListResponseModel(responses); @@ -209,7 +209,7 @@ public async Task DeleteMany([FromBody] CollectionBulkDeleteRequestModel model) throw new NotFoundException(); } - var userCollections = await _collectionService.GetOrganizationCollections(orgId); + var userCollections = await _collectionService.GetOrganizationCollectionsAsync(orgId); var filteredCollections = userCollections.Where(c => collectionIds.Contains(c.Id) && c.OrganizationId == orgId); if (!filteredCollections.Any()) diff --git a/src/Api/Controllers/OrganizationExportController.cs b/src/Api/Controllers/OrganizationExportController.cs index 1261b938c20b..be5aa0e14ae8 100644 --- a/src/Api/Controllers/OrganizationExportController.cs +++ b/src/Api/Controllers/OrganizationExportController.cs @@ -40,7 +40,7 @@ public async Task Export(Guid organizationId) { var userId = _userService.GetProperUserId(User).Value; - IEnumerable orgCollections = await _collectionService.GetOrganizationCollections(organizationId); + IEnumerable orgCollections = await _collectionService.GetOrganizationCollectionsAsync(organizationId); (IEnumerable orgCiphers, Dictionary> collectionCiphersGroupDict) = await _cipherService.GetOrganizationCiphers(userId, organizationId); if (_currentContext.ClientVersion == null || _currentContext.ClientVersion >= new Version("2023.1.0")) diff --git a/src/Api/Controllers/OrganizationsController.cs b/src/Api/Controllers/OrganizationsController.cs index 1d0e9d148789..e1301e3f2513 100644 --- a/src/Api/Controllers/OrganizationsController.cs +++ b/src/Api/Controllers/OrganizationsController.cs @@ -682,8 +682,8 @@ public async Task PutTaxInfo(string id, [FromBody] OrganizationTaxInfoUpdateRequ await _paymentService.SaveTaxInfoAsync(organization, taxInfo); } - [HttpGet("{id}/keys")] - public async Task GetKeys(string id) + [HttpGet("{id}/public-key")] + public async Task GetPublicKey(string id) { var org = await _organizationRepository.GetByIdAsync(new Guid(id)); if (org == null) @@ -691,7 +691,14 @@ public async Task GetKeys(string id) throw new NotFoundException(); } - return new OrganizationKeysResponseModel(org); + return new OrganizationPublicKeyResponseModel(org); + } + + [Obsolete("TDL-136 Renamed to public-key (2023.8), left for backwards compatability with older clients.")] + [HttpGet("{id}/keys")] + public async Task GetKeys(string id) + { + return await GetPublicKey(id); } [HttpPost("{id}/keys")] diff --git a/src/Api/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs b/src/Api/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs new file mode 100644 index 000000000000..0451433e1ba2 --- /dev/null +++ b/src/Api/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs @@ -0,0 +1,19 @@ +using Bit.Core.Entities; +using Bit.Core.Models.Api; + +namespace Bit.Api.Models.Response.Organizations; + +public class OrganizationPublicKeyResponseModel : ResponseModel +{ + public OrganizationPublicKeyResponseModel(Organization org) : base("organizationPublicKey") + { + if (org == null) + { + throw new ArgumentNullException(nameof(org)); + } + + PublicKey = org.PublicKey; + } + + public string PublicKey { get; set; } +} diff --git a/src/Api/SecretsManager/Models/Request/ProjectCreateRequestModel.cs b/src/Api/SecretsManager/Models/Request/ProjectCreateRequestModel.cs index 65c4d244d2e5..3014ecdf824c 100644 --- a/src/Api/SecretsManager/Models/Request/ProjectCreateRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/ProjectCreateRequestModel.cs @@ -8,6 +8,7 @@ public class ProjectCreateRequestModel { [Required] [EncryptedString] + [EncryptedStringLength(1000)] public string Name { get; set; } public Project ToProject(Guid organizationId) diff --git a/src/Api/SecretsManager/Models/Request/ProjectUpdateRequestModel.cs b/src/Api/SecretsManager/Models/Request/ProjectUpdateRequestModel.cs index 4490e02c4e89..176b6cc598ec 100644 --- a/src/Api/SecretsManager/Models/Request/ProjectUpdateRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/ProjectUpdateRequestModel.cs @@ -8,6 +8,7 @@ public class ProjectUpdateRequestModel { [Required] [EncryptedString] + [EncryptedStringLength(1000)] public string Name { get; set; } public Project ToProject(Guid id) diff --git a/src/Api/SecretsManager/Models/Request/SecretCreateRequestModel.cs b/src/Api/SecretsManager/Models/Request/SecretCreateRequestModel.cs index c243d6e46545..9d6f8c9aa113 100644 --- a/src/Api/SecretsManager/Models/Request/SecretCreateRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/SecretCreateRequestModel.cs @@ -8,14 +8,17 @@ public class SecretCreateRequestModel : IValidatableObject { [Required] [EncryptedString] + [EncryptedStringLength(1000)] public string Key { get; set; } [Required] [EncryptedString] + [EncryptedStringLength(5000)] public string Value { get; set; } [Required] [EncryptedString] + [EncryptedStringLength(10000)] public string Note { get; set; } public Guid[] ProjectIds { get; set; } diff --git a/src/Api/SecretsManager/Models/Request/SecretUpdateRequestModel.cs b/src/Api/SecretsManager/Models/Request/SecretUpdateRequestModel.cs index 6416849d240c..d5cd320fff09 100644 --- a/src/Api/SecretsManager/Models/Request/SecretUpdateRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/SecretUpdateRequestModel.cs @@ -8,14 +8,17 @@ public class SecretUpdateRequestModel : IValidatableObject { [Required] [EncryptedString] + [EncryptedStringLength(1000)] public string Key { get; set; } [Required] [EncryptedString] + [EncryptedStringLength(5000)] public string Value { get; set; } [Required] [EncryptedString] + [EncryptedStringLength(10000)] public string Note { get; set; } public Guid[] ProjectIds { get; set; } diff --git a/src/Api/SecretsManager/Models/Request/SerivceAccountUpdateRequestModel.cs b/src/Api/SecretsManager/Models/Request/SerivceAccountUpdateRequestModel.cs index 2a1885142e8e..017749725fe6 100644 --- a/src/Api/SecretsManager/Models/Request/SerivceAccountUpdateRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/SerivceAccountUpdateRequestModel.cs @@ -8,6 +8,7 @@ public class ServiceAccountUpdateRequestModel { [Required] [EncryptedString] + [EncryptedStringLength(1000)] public string Name { get; set; } public ServiceAccount ToServiceAccount(Guid id) diff --git a/src/Api/SecretsManager/Models/Request/ServiceAccountCreateRequestModel.cs b/src/Api/SecretsManager/Models/Request/ServiceAccountCreateRequestModel.cs index 60ab75b682e9..677166920939 100644 --- a/src/Api/SecretsManager/Models/Request/ServiceAccountCreateRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/ServiceAccountCreateRequestModel.cs @@ -8,6 +8,7 @@ public class ServiceAccountCreateRequestModel { [Required] [EncryptedString] + [EncryptedStringLength(1000)] public string Name { get; set; } public ServiceAccount ToServiceAccount(Guid organizationId) diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index bb8136676379..570ebdec3f4a 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -160,8 +160,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -174,10 +174,12 @@ }, "Azure.Core.Amqp": { "type": "Transitive", - "resolved": "1.2.0", - "contentHash": "vrF4isvhwdZspzorLwYhukXz3DA8/ONSnZUIBAqBtOCzsDNUgAsuILbCzvtDrn2oDxyq7DZx5Nh81pe0BeWmDQ==", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", "dependencies": { - "System.Memory": "4.5.4" + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" } }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { @@ -222,12 +224,12 @@ }, "Azure.Messaging.ServiceBus": { "type": "Transitive", - "resolved": "7.11.1", - "contentHash": "ioGedXeH8KK4HdTDEyOzdgNbEXGstGItVljI1EKYsz08sgwej6LpODCZmwPR2ui1fjXBWt8Zea0RJT4d9LwlMg==", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", "dependencies": { - "Azure.Core": "1.25.0", - "Azure.Core.Amqp": "1.2.0", - "Microsoft.Azure.Amqp": "2.5.12", + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Memory.Data": "1.0.2" } @@ -509,8 +511,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.5.12", - "contentHash": "0SlEl+TSQdpjXWf9/37dXWAa0zk6R1EJKmGtGZeKUAH7WEQpJOWMxJ9I43igcBCnTkFwa28CdPnpSCjFZVQlkw==" + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -573,28 +575,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -978,16 +958,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1723,34 +1693,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2209,37 +2151,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2403,16 +2314,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2730,10 +2631,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2826,30 +2727,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2894,15 +2771,15 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "2023.5.1" + "Core": "2023.7.2" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", - "Core": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "core": { @@ -2913,6 +2790,7 @@ "AspNetCoreRateLimit": "4.0.2", "AspNetCoreRateLimit.Redis": "1.0.1", "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", "Azure.Storage.Blobs": "12.14.1", "Azure.Storage.Queues": "12.12.0", "BitPay.Light": "1.0.1907", @@ -2927,7 +2805,6 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", "Microsoft.Azure.Cosmos.Table": "1.0.8", "Microsoft.Azure.NotificationHubs": "4.1.0", - "Microsoft.Azure.ServiceBus": "5.2.0", "Microsoft.Data.SqlClient": "5.0.1", "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", @@ -2950,29 +2827,29 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2023.5.1", + "Core": "2023.7.2", "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "2023.5.1", - "Infrastructure.Dapper": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json index 3a4d8f2f516e..ad36bb6cd7a1 100644 --- a/src/Billing/packages.lock.json +++ b/src/Billing/packages.lock.json @@ -62,8 +62,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -74,6 +74,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -98,6 +108,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -366,12 +388,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -434,28 +452,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -819,16 +815,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1525,34 +1511,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1994,42 +1952,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2047,37 +1969,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2245,16 +2136,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2567,10 +2448,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2663,30 +2544,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2731,71 +2588,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/Core/Context/CurrentContext.cs b/src/Core/Context/CurrentContext.cs index 512ab44310ca..627e4f5845e9 100644 --- a/src/Core/Context/CurrentContext.cs +++ b/src/Core/Context/CurrentContext.cs @@ -341,7 +341,7 @@ public async Task DeleteAnyCollection(Guid orgId) public async Task ViewAllCollections(Guid orgId) { - return await CreateNewCollections(orgId) || await EditAnyCollection(orgId) || await DeleteAnyCollection(orgId); + return await EditAnyCollection(orgId) || await DeleteAnyCollection(orgId); } public async Task EditAssignedCollections(Guid orgId) diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 5a6b771c8fa2..95b5fe8eeb56 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -24,6 +24,7 @@ + @@ -35,7 +36,6 @@ - diff --git a/src/Core/HostedServices/ApplicationCacheHostedService.cs b/src/Core/HostedServices/ApplicationCacheHostedService.cs index 1bde351ee40a..9021782d2032 100644 --- a/src/Core/HostedServices/ApplicationCacheHostedService.cs +++ b/src/Core/HostedServices/ApplicationCacheHostedService.cs @@ -1,10 +1,10 @@ -using Bit.Core.Enums; +using Azure.Messaging.ServiceBus; +using Azure.Messaging.ServiceBus.Administration; +using Bit.Core.Enums; using Bit.Core.Repositories; using Bit.Core.Services; using Bit.Core.Settings; using Bit.Core.Utilities; -using Microsoft.Azure.ServiceBus; -using Microsoft.Azure.ServiceBus.Management; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; @@ -15,10 +15,14 @@ public class ApplicationCacheHostedService : IHostedService, IDisposable private readonly InMemoryServiceBusApplicationCacheService _applicationCacheService; private readonly IOrganizationRepository _organizationRepository; protected readonly ILogger _logger; - private readonly SubscriptionClient _subscriptionClient; - private readonly ManagementClient _managementClient; + private readonly ServiceBusClient _serviceBusClient; + private readonly ServiceBusReceiver _subscriptionReceiver; + private readonly ServiceBusAdministrationClient _serviceBusAdministrationClient; private readonly string _subName; private readonly string _topicName; + private CancellationTokenSource _cts; + private Task _executingTask; + public ApplicationCacheHostedService( IApplicationCacheService applicationCacheService, @@ -31,53 +35,73 @@ public ApplicationCacheHostedService( _applicationCacheService = applicationCacheService as InMemoryServiceBusApplicationCacheService; _organizationRepository = organizationRepository; _logger = logger; - _managementClient = new ManagementClient(globalSettings.ServiceBus.ConnectionString); - _subscriptionClient = new SubscriptionClient(globalSettings.ServiceBus.ConnectionString, - _topicName, _subName); + _serviceBusClient = new ServiceBusClient(globalSettings.ServiceBus.ConnectionString); + _subscriptionReceiver = _serviceBusClient.CreateReceiver(_topicName, _subName); + _serviceBusAdministrationClient = new ServiceBusAdministrationClient(globalSettings.ServiceBus.ConnectionString); } public virtual async Task StartAsync(CancellationToken cancellationToken) { try { - await _managementClient.CreateSubscriptionAsync(new SubscriptionDescription(_topicName, _subName) + await _serviceBusAdministrationClient.CreateSubscriptionAsync(new CreateSubscriptionOptions(_topicName, _subName) { DefaultMessageTimeToLive = TimeSpan.FromDays(14), LockDuration = TimeSpan.FromSeconds(30), EnableDeadLetteringOnFilterEvaluationExceptions = true, - EnableDeadLetteringOnMessageExpiration = true, - }, new RuleDescription("default", new SqlFilter($"sys.Label != '{_subName}'"))); - } - catch (MessagingEntityAlreadyExistsException) { } - _subscriptionClient.RegisterMessageHandler(ProcessMessageAsync, - new MessageHandlerOptions(ExceptionReceivedHandlerAsync) + DeadLetteringOnMessageExpiration = true, + }, new CreateRuleOptions { - MaxConcurrentCalls = 2, - AutoComplete = false, - }); + Filter = new SqlRuleFilter($"sys.label != '{_subName}'") + }, cancellationToken); + } + catch (ServiceBusException e) + when (e.Reason == ServiceBusFailureReason.MessagingEntityAlreadyExists) + { } + + _cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + _executingTask = ExecuteAsync(_cts.Token); } public virtual async Task StopAsync(CancellationToken cancellationToken) { - await _subscriptionClient.CloseAsync(); + await _subscriptionReceiver.CloseAsync(cancellationToken); + await _serviceBusClient.DisposeAsync(); + _cts.Cancel(); try { - await _managementClient.DeleteSubscriptionAsync(_topicName, _subName, cancellationToken); + await _serviceBusAdministrationClient.DeleteSubscriptionAsync(_topicName, _subName, cancellationToken); } catch { } + await _executingTask; } public virtual void Dispose() { } - private async Task ProcessMessageAsync(Message message, CancellationToken cancellationToken) + private async Task ExecuteAsync(CancellationToken cancellationToken) + { + await foreach (var message in _subscriptionReceiver.ReceiveMessagesAsync(cancellationToken)) + { + try + { + await ProcessMessageAsync(message, cancellationToken); + } + catch (Exception e) + { + _logger.LogError(e, "Error processing messages in ApplicationCacheHostedService"); + } + } + } + + private async Task ProcessMessageAsync(ServiceBusReceivedMessage message, CancellationToken cancellationToken) { - if (message.Label != _subName && _applicationCacheService != null) + if (message.Subject != _subName && _applicationCacheService != null) { - switch ((ApplicationCacheMessageType)message.UserProperties["type"]) + switch ((ApplicationCacheMessageType)message.ApplicationProperties["type"]) { case ApplicationCacheMessageType.UpsertOrganizationAbility: - var upsertedOrgId = (Guid)message.UserProperties["id"]; + var upsertedOrgId = (Guid)message.ApplicationProperties["id"]; var upsertedOrg = await _organizationRepository.GetByIdAsync(upsertedOrgId); if (upsertedOrg != null) { @@ -86,7 +110,7 @@ private async Task ProcessMessageAsync(Message message, CancellationToken cancel break; case ApplicationCacheMessageType.DeleteOrganizationAbility: await _applicationCacheService.BaseDeleteOrganizationAbilityAsync( - (Guid)message.UserProperties["id"]); + (Guid)message.ApplicationProperties["id"]); break; default: break; @@ -94,13 +118,7 @@ await _applicationCacheService.BaseDeleteOrganizationAbilityAsync( } if (!cancellationToken.IsCancellationRequested) { - await _subscriptionClient.CompleteAsync(message.SystemProperties.LockToken); + await _subscriptionReceiver.CompleteMessageAsync(message, cancellationToken); } } - - private Task ExceptionReceivedHandlerAsync(ExceptionReceivedEventArgs args) - { - _logger.LogError(args.Exception, "Message handler encountered an exception."); - return Task.FromResult(0); - } } diff --git a/src/Core/Repositories/IOrganizationUserRepository.cs b/src/Core/Repositories/IOrganizationUserRepository.cs index fb012c62362f..f9dfa12c2cbf 100644 --- a/src/Core/Repositories/IOrganizationUserRepository.cs +++ b/src/Core/Repositories/IOrganizationUserRepository.cs @@ -39,6 +39,6 @@ Task GetDetailsByUserAsync(Guid userId, Gui Task> GetManyByMinimumRoleAsync(Guid organizationId, OrganizationUserType minRole); Task RevokeAsync(Guid id); Task RestoreAsync(Guid id, OrganizationUserStatusType status); - Task> GetByUserIdWithPolicyDetailsAsync(Guid userId); + Task> GetByUserIdWithPolicyDetailsAsync(Guid userId, PolicyType policyType); Task GetOccupiedSmSeatCountByOrganizationIdAsync(Guid organizationId); } diff --git a/src/Core/Services/ICollectionService.cs b/src/Core/Services/ICollectionService.cs index 5da8d639e522..931993dacb5c 100644 --- a/src/Core/Services/ICollectionService.cs +++ b/src/Core/Services/ICollectionService.cs @@ -7,5 +7,5 @@ public interface ICollectionService { Task SaveAsync(Collection collection, IEnumerable groups = null, IEnumerable users = null, Guid? assignUserId = null); Task DeleteUserAsync(Collection collection, Guid organizationUserId); - Task> GetOrganizationCollections(Guid organizationId); + Task> GetOrganizationCollectionsAsync(Guid organizationId); } diff --git a/src/Core/Services/Implementations/CollectionService.cs b/src/Core/Services/Implementations/CollectionService.cs index 16698a77aa17..006c8c5cfcda 100644 --- a/src/Core/Services/Implementations/CollectionService.cs +++ b/src/Core/Services/Implementations/CollectionService.cs @@ -96,9 +96,9 @@ public async Task DeleteUserAsync(Collection collection, Guid organizationUserId await _eventService.LogOrganizationUserEventAsync(orgUser, Enums.EventType.OrganizationUser_Updated); } - public async Task> GetOrganizationCollections(Guid organizationId) + public async Task> GetOrganizationCollectionsAsync(Guid organizationId) { - if (!await _currentContext.ViewAllCollections(organizationId) && !await _currentContext.ManageUsers(organizationId) && !await _currentContext.ManageGroups(organizationId) && !await _currentContext.AccessImportExport(organizationId)) + if (!await _currentContext.ViewAssignedCollections(organizationId) && !await _currentContext.ManageUsers(organizationId) && !await _currentContext.ManageGroups(organizationId) && !await _currentContext.AccessImportExport(organizationId)) { throw new NotFoundException(); } diff --git a/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs b/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs index 27dde6337aa4..7067efd82cf2 100644 --- a/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs +++ b/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs @@ -1,15 +1,16 @@ -using Bit.Core.Entities; +using Azure.Messaging.ServiceBus; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Repositories; using Bit.Core.Settings; using Bit.Core.Utilities; -using Microsoft.Azure.ServiceBus; namespace Bit.Core.Services; public class InMemoryServiceBusApplicationCacheService : InMemoryApplicationCacheService, IApplicationCacheService { - private readonly TopicClient _topicClient; + private readonly ServiceBusClient _serviceBusClient; + private readonly ServiceBusSender _topicMessageSender; private readonly string _subName; public InMemoryServiceBusApplicationCacheService( @@ -19,38 +20,38 @@ public InMemoryServiceBusApplicationCacheService( : base(organizationRepository, providerRepository) { _subName = CoreHelpers.GetApplicationCacheServiceBusSubscriptionName(globalSettings); - _topicClient = new TopicClient(globalSettings.ServiceBus.ConnectionString, - globalSettings.ServiceBus.ApplicationCacheTopicName); + _serviceBusClient = new ServiceBusClient(globalSettings.ServiceBus.ConnectionString); + _topicMessageSender = new ServiceBusClient(globalSettings.ServiceBus.ConnectionString).CreateSender(globalSettings.ServiceBus.ApplicationCacheTopicName); } public override async Task UpsertOrganizationAbilityAsync(Organization organization) { await base.UpsertOrganizationAbilityAsync(organization); - var message = new Message + var message = new ServiceBusMessage { - Label = _subName, - UserProperties = + Subject = _subName, + ApplicationProperties = { { "type", (byte)ApplicationCacheMessageType.UpsertOrganizationAbility }, { "id", organization.Id }, } }; - var task = _topicClient.SendAsync(message); + var task = _topicMessageSender.SendMessageAsync(message); } public override async Task DeleteOrganizationAbilityAsync(Guid organizationId) { await base.DeleteOrganizationAbilityAsync(organizationId); - var message = new Message + var message = new ServiceBusMessage { - Label = _subName, - UserProperties = + Subject = _subName, + ApplicationProperties = { { "type", (byte)ApplicationCacheMessageType.DeleteOrganizationAbility }, { "id", organizationId }, } }; - var task = _topicClient.SendAsync(message); + var task = _topicMessageSender.SendMessageAsync(message); } public async Task BaseUpsertOrganizationAbilityAsync(Organization organization) diff --git a/src/Core/Services/Implementations/PolicyService.cs b/src/Core/Services/Implementations/PolicyService.cs index eccd4908aef0..a0a004eb55b3 100644 --- a/src/Core/Services/Implementations/PolicyService.cs +++ b/src/Core/Services/Implementations/PolicyService.cs @@ -21,8 +21,6 @@ public class PolicyService : IPolicyService private readonly IMailService _mailService; private readonly GlobalSettings _globalSettings; - private IEnumerable _cachedOrganizationUserPolicyDetails; - public PolicyService( IApplicationCacheService applicationCacheService, IEventService eventService, @@ -199,27 +197,20 @@ public async Task AnyPoliciesApplicableToUserAsync(Guid userId, PolicyType return result.Any(); } - private async Task> QueryOrganizationUserPolicyDetailsAsync(Guid userId, PolicyType? policyType, OrganizationUserStatusType minStatus = OrganizationUserStatusType.Accepted) + private async Task> QueryOrganizationUserPolicyDetailsAsync(Guid userId, PolicyType policyType, OrganizationUserStatusType minStatus = OrganizationUserStatusType.Accepted) { - // Check if the cached policies are available - if (_cachedOrganizationUserPolicyDetails == null) - { - // Cached policies not available, retrieve from the repository - _cachedOrganizationUserPolicyDetails = await _organizationUserRepository.GetByUserIdWithPolicyDetailsAsync(userId); - } - + var organizationUserPolicyDetails = await _organizationUserRepository.GetByUserIdWithPolicyDetailsAsync(userId, policyType); var excludedUserTypes = GetUserTypesExcludedFromPolicy(policyType); var orgAbilities = await _applicationCacheService.GetOrganizationAbilitiesAsync(); - return _cachedOrganizationUserPolicyDetails.Where(o => + return organizationUserPolicyDetails.Where(o => (!orgAbilities.ContainsKey(o.OrganizationId) || orgAbilities[o.OrganizationId].UsePolicies) && - (policyType == null || o.PolicyType == policyType) && o.PolicyEnabled && !excludedUserTypes.Contains(o.OrganizationUserType) && o.OrganizationUserStatus >= minStatus && !o.IsProvider); } - private OrganizationUserType[] GetUserTypesExcludedFromPolicy(PolicyType? policyType) + private OrganizationUserType[] GetUserTypesExcludedFromPolicy(PolicyType policyType) { switch (policyType) { diff --git a/src/Core/Settings/GlobalSettings.cs b/src/Core/Settings/GlobalSettings.cs index 008bf46eff02..09cf684c04be 100644 --- a/src/Core/Settings/GlobalSettings.cs +++ b/src/Core/Settings/GlobalSettings.cs @@ -483,6 +483,7 @@ public class ServiceBusSettings : ConnectionStringSettings { public string ApplicationCacheTopicName { get; set; } public string ApplicationCacheSubscriptionName { get; set; } + public string WebSiteInstanceId { get; set; } } public class AppleIapSettings diff --git a/src/Core/Utilities/CoreHelpers.cs b/src/Core/Utilities/CoreHelpers.cs index 572b1c938d50..f0c3d1833a97 100644 --- a/src/Core/Utilities/CoreHelpers.cs +++ b/src/Core/Utilities/CoreHelpers.cs @@ -531,7 +531,8 @@ public static string GetApplicationCacheServiceBusSubscriptionName(GlobalSetting var subName = globalSettings.ServiceBus.ApplicationCacheSubscriptionName; if (string.IsNullOrWhiteSpace(subName)) { - var websiteInstanceId = Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID"); + var websiteInstanceId = Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID") ?? + globalSettings.ServiceBus.WebSiteInstanceId; if (string.IsNullOrWhiteSpace(websiteInstanceId)) { throw new Exception("No service bus subscription name available."); diff --git a/src/Core/packages.lock.json b/src/Core/packages.lock.json index 9145aa6b34c2..57052b8e9522 100644 --- a/src/Core/packages.lock.json +++ b/src/Core/packages.lock.json @@ -53,6 +53,19 @@ "Microsoft.AspNetCore.DataProtection": "3.1.32" } }, + "Azure.Messaging.ServiceBus": { + "type": "Direct", + "requested": "[7.15.0, )", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Direct", "requested": "[12.14.1, )", @@ -197,19 +210,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Direct", - "requested": "[5.2.0, )", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, "Microsoft.Data.SqlClient": { "type": "Direct", "requested": "[5.0.1, )", @@ -413,8 +413,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -425,6 +425,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Identity": { "type": "Transitive", "resolved": "1.6.0", @@ -577,12 +587,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -626,16 +632,6 @@ "System.Security.SecureString": "4.0.0" } }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -868,16 +864,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1406,34 +1392,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1875,42 +1833,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -1928,37 +1850,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2126,16 +2017,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2448,10 +2329,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2544,30 +2425,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json index 3a4d8f2f516e..ad36bb6cd7a1 100644 --- a/src/Events/packages.lock.json +++ b/src/Events/packages.lock.json @@ -62,8 +62,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -74,6 +74,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -98,6 +108,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -366,12 +388,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -434,28 +452,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -819,16 +815,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1525,34 +1511,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1994,42 +1952,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2047,37 +1969,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2245,16 +2136,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2567,10 +2448,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2663,30 +2544,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2731,71 +2588,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json index 3a4d8f2f516e..ad36bb6cd7a1 100644 --- a/src/EventsProcessor/packages.lock.json +++ b/src/EventsProcessor/packages.lock.json @@ -62,8 +62,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -74,6 +74,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -98,6 +108,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -366,12 +388,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -434,28 +452,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -819,16 +815,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1525,34 +1511,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1994,42 +1952,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2047,37 +1969,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2245,16 +2136,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2567,10 +2448,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2663,30 +2544,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2731,71 +2588,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/Icons/Controllers/IconsController.cs b/src/Icons/Controllers/IconsController.cs index ad9b6cfd4f36..871219b3664f 100644 --- a/src/Icons/Controllers/IconsController.cs +++ b/src/Icons/Controllers/IconsController.cs @@ -81,7 +81,7 @@ public async Task Get(string hostname) } else { - icon = result.Icon; + icon = result; } // Only cache not found and smaller images (<= 50kb) diff --git a/src/Icons/Icons.csproj b/src/Icons/Icons.csproj index 5ecd13946695..ce698eb7299d 100644 --- a/src/Icons/Icons.csproj +++ b/src/Icons/Icons.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/Icons/Models/DomainIcons.cs b/src/Icons/Models/DomainIcons.cs new file mode 100644 index 000000000000..2ad2df29c5f6 --- /dev/null +++ b/src/Icons/Models/DomainIcons.cs @@ -0,0 +1,100 @@ +#nullable enable + +using System.Collections; +using AngleSharp.Html.Parser; +using Bit.Icons.Extensions; +using Bit.Icons.Services; + +namespace Bit.Icons.Models; + +public class DomainIcons : IEnumerable +{ + private readonly ILogger _logger; + private readonly IHttpClientFactory _httpClientFactory; + private readonly IUriService _uriService; + private readonly List _icons = new(); + + public string Domain { get; } + public Icon this[int i] + { + get + { + return _icons[i]; + } + } + public IEnumerator GetEnumerator() => ((IEnumerable)_icons).GetEnumerator(); + IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)_icons).GetEnumerator(); + + private DomainIcons(string domain, ILogger logger, IHttpClientFactory httpClientFactory, IUriService uriService) + { + _logger = logger; + _httpClientFactory = httpClientFactory; + _uriService = uriService; + Domain = domain; + } + + public static async Task FetchAsync(string domain, ILogger logger, IHttpClientFactory httpClientFactory, IHtmlParser parser, IUriService uriService) + { + var pageIcons = new DomainIcons(domain, logger, httpClientFactory, uriService); + await pageIcons.FetchIconsAsync(parser); + return pageIcons; + } + + + private async Task FetchIconsAsync(IHtmlParser parser) + { + if (!Uri.TryCreate($"https://{Domain}", UriKind.Absolute, out var uri)) + { + _logger.LogWarning("Bad domain: {domain}.", Domain); + return; + } + + var host = uri.Host; + + // first try https + using (var response = await IconHttpRequest.FetchAsync(uri, _logger, _httpClientFactory, _uriService)) + { + if (response.IsSuccessStatusCode) + { + _icons.AddRange(await response.RetrieveIconsAsync(uri, Domain, parser)); + return; + } + } + + // then try http + uri = uri.ChangeScheme("http"); + using (var response = await IconHttpRequest.FetchAsync(uri, _logger, _httpClientFactory, _uriService)) + { + if (response.IsSuccessStatusCode) + { + _icons.AddRange(await response.RetrieveIconsAsync(uri, Domain, parser)); + return; + } + } + + var dotCount = Domain.Count(c => c == '.'); + + // Then try base domain + if (dotCount > 1 && DomainName.TryParseBaseDomain(Domain, out var baseDomain) && + Uri.TryCreate($"https://{baseDomain}", UriKind.Absolute, out uri)) + { + using var response = await IconHttpRequest.FetchAsync(uri, _logger, _httpClientFactory, _uriService); + if (response.IsSuccessStatusCode) + { + _icons.AddRange(await response.RetrieveIconsAsync(uri, Domain, parser)); + return; + } + } + + // Then try www + if (dotCount < 2 && Uri.TryCreate($"https://www.{host}", UriKind.Absolute, out uri)) + { + using var response = await IconHttpRequest.FetchAsync(uri, _logger, _httpClientFactory, _uriService); + if (response.IsSuccessStatusCode) + { + _icons.AddRange(await response.RetrieveIconsAsync(uri, Domain, parser)); + return; + } + } + } +} diff --git a/src/Icons/Models/IconHttpRequest.cs b/src/Icons/Models/IconHttpRequest.cs new file mode 100644 index 000000000000..746f39be9c20 --- /dev/null +++ b/src/Icons/Models/IconHttpRequest.cs @@ -0,0 +1,110 @@ +#nullable enable + +using System.Net; +using Bit.Icons.Extensions; +using Bit.Icons.Services; + +namespace Bit.Icons.Models; + +public class IconHttpRequest +{ + private const int _maxRedirects = 2; + + private static readonly HttpStatusCode[] _redirectStatusCodes = new HttpStatusCode[] { HttpStatusCode.Redirect, HttpStatusCode.MovedPermanently, HttpStatusCode.RedirectKeepVerb, HttpStatusCode.SeeOther }; + + private readonly ILogger _logger; + private readonly HttpClient _httpClient; + private readonly IHttpClientFactory _httpClientFactory; + private readonly IUriService _uriService; + private readonly int _redirectsCount; + private readonly Uri _uri; + private static HttpResponseMessage NotFound => new(HttpStatusCode.NotFound); + + private IconHttpRequest(Uri uri, ILogger logger, IHttpClientFactory httpClientFactory, IUriService uriService, int redirectsCount) + { + _logger = logger; + _httpClientFactory = httpClientFactory; + _httpClient = _httpClientFactory.CreateClient("Icons"); + _uriService = uriService; + _redirectsCount = redirectsCount; + _uri = uri; + } + + public static async Task FetchAsync(Uri uri, ILogger logger, IHttpClientFactory httpClientFactory, IUriService uriService) + { + var pageIcons = new IconHttpRequest(uri, logger, httpClientFactory, uriService, 0); + var httpResponse = await pageIcons.FetchAsync(); + return new IconHttpResponse(httpResponse, logger, httpClientFactory, uriService); + } + + private async Task FetchAsync() + { + if (!_uriService.TryGetUri(_uri, out var iconUri) || !iconUri!.IsValid) + { + return NotFound; + } + + var response = await GetAsync(iconUri); + + if (response.IsSuccessStatusCode) + { + return response; + } + + using var responseForRedirect = response; + return await FollowRedirectsAsync(responseForRedirect, iconUri); + } + + + private async Task GetAsync(IconUri iconUri) + { + using var message = new HttpRequestMessage(); + message.RequestUri = iconUri.InnerUri; + message.Headers.Host = iconUri.Host; + message.Method = HttpMethod.Get; + + try + { + return await _httpClient.SendAsync(message); + } + catch + { + return NotFound; + } + } + + private async Task FollowRedirectsAsync(HttpResponseMessage response, IconUri originalIconUri) + { + if (_redirectsCount >= _maxRedirects || response.Headers.Location == null || + !_redirectStatusCodes.Contains(response.StatusCode)) + { + return NotFound; + } + + using var responseForRedirect = response; + var redirectUri = DetermineRedirectUri(responseForRedirect.Headers.Location, originalIconUri); + + return await new IconHttpRequest(redirectUri, _logger, _httpClientFactory, _uriService, _redirectsCount + 1).FetchAsync(); + } + + private static Uri DetermineRedirectUri(Uri responseUri, IconUri originalIconUri) + { + if (responseUri.IsAbsoluteUri) + { + if (!responseUri.IsHypertext()) + { + return responseUri.ChangeScheme("https"); + } + return responseUri; + } + else + { + return new UriBuilder + { + Scheme = originalIconUri.Scheme, + Host = originalIconUri.Host, + Path = responseUri.ToString() + }.Uri; + } + } +} diff --git a/src/Icons/Models/IconHttpResponse.cs b/src/Icons/Models/IconHttpResponse.cs new file mode 100644 index 000000000000..a89706982267 --- /dev/null +++ b/src/Icons/Models/IconHttpResponse.cs @@ -0,0 +1,72 @@ +#nullable enable + +using System.Net; +using AngleSharp.Html.Parser; +using Bit.Icons.Services; + +namespace Bit.Icons.Models; + +public class IconHttpResponse : IDisposable +{ + private const int _maxIconLinksProcessed = 200; + private const int _maxRetrievedIcons = 10; + + private readonly HttpResponseMessage _response; + private readonly ILogger _logger; + private readonly IHttpClientFactory _httpClientFactory; + private readonly IUriService _uriService; + + public HttpStatusCode StatusCode => _response.StatusCode; + public bool IsSuccessStatusCode => _response.IsSuccessStatusCode; + public string? ContentType => _response.Content.Headers.ContentType?.MediaType; + public HttpContent Content => _response.Content; + + public IconHttpResponse(HttpResponseMessage response, ILogger logger, IHttpClientFactory httpClientFactory, IUriService uriService) + { + _response = response; + _logger = logger; + _httpClientFactory = httpClientFactory; + _uriService = uriService; + } + + public async Task> RetrieveIconsAsync(Uri requestUri, string domain, IHtmlParser parser) + { + using var htmlStream = await _response.Content.ReadAsStreamAsync(); + var head = await parser.ParseHeadAsync(htmlStream); + + if (head == null) + { + _logger.LogWarning("No DocumentElement for {domain}.", domain); + return Array.Empty(); + } + + // Make sure uri uses domain name, not ip + var uri = _response.RequestMessage?.RequestUri; + if (uri == null || IPAddress.TryParse(_response.RequestMessage!.RequestUri!.Host, out var _)) + { + uri = requestUri; + } + + var baseUrl = head.QuerySelector("base[href]")?.Attributes["href"]?.Value; + if (string.IsNullOrWhiteSpace(baseUrl)) + { + baseUrl = "/"; + } + + var links = head.QuerySelectorAll("link[href]") + ?.Take(_maxIconLinksProcessed) + .Select(l => new IconLink(l, uri, baseUrl)) + .Where(l => l.IsUsable()) + .OrderBy(l => l.Priority) + .Take(_maxRetrievedIcons) + .ToArray() ?? Array.Empty(); + var results = await Task.WhenAll(links.Select(l => l.FetchAsync(_logger, _httpClientFactory, _uriService))); + return results.Where(r => r != null).Select(r => r!); + } + + + public void Dispose() + { + _response.Dispose(); + } +} diff --git a/src/Icons/Models/IconLink.cs b/src/Icons/Models/IconLink.cs new file mode 100644 index 000000000000..8c09058bb2d2 --- /dev/null +++ b/src/Icons/Models/IconLink.cs @@ -0,0 +1,220 @@ +#nullable enable + +using System.Text; +using AngleSharp.Dom; +using Bit.Icons.Extensions; +using Bit.Icons.Services; + +namespace Bit.Icons.Models; + +public class IconLink +{ + private static readonly HashSet _iconRels = new(StringComparer.InvariantCultureIgnoreCase) { "icon", "apple-touch-icon", "shortcut icon" }; + private static readonly HashSet _blocklistedRels = new(StringComparer.InvariantCultureIgnoreCase) { "preload", "image_src", "preconnect", "canonical", "alternate", "stylesheet" }; + private static readonly HashSet _iconExtensions = new(StringComparer.InvariantCultureIgnoreCase) { ".ico", ".png", ".jpg", ".jpeg" }; + private const string _pngMediaType = "image/png"; + private static readonly byte[] _pngHeader = new byte[] { 137, 80, 78, 71 }; + private static readonly byte[] _webpHeader = Encoding.UTF8.GetBytes("RIFF"); + + private const string _icoMediaType = "image/x-icon"; + private const string _icoAltMediaType = "image/vnd.microsoft.icon"; + private static readonly byte[] _icoHeader = new byte[] { 00, 00, 01, 00 }; + + private const string _jpegMediaType = "image/jpeg"; + private static readonly byte[] _jpegHeader = new byte[] { 255, 216, 255 }; + + private const string _svgXmlMediaType = "image/svg+xml"; + + private static readonly HashSet _allowedMediaTypes = new(StringComparer.InvariantCultureIgnoreCase) + { + _pngMediaType, + _icoMediaType, + _icoAltMediaType, + _jpegMediaType, + _svgXmlMediaType, + }; + + private bool _useUriDirectly = false; + private bool _validated = false; + private int? _width; + private int? _height; + + public IAttr? Href { get; } + public IAttr? Rel { get; } + public IAttr? Type { get; } + public IAttr? Sizes { get; } + public Uri ParentUri { get; } + public string BaseUrlPath { get; } + public int Priority + { + get + { + if (_width == null || _width != _height) + { + return 200; + } + + return _width switch + { + 32 => 1, + 64 => 2, + >= 24 and <= 128 => 3, + 16 => 4, + _ => 100, + }; + } + } + + public IconLink(Uri parentPage) + { + _useUriDirectly = true; + _validated = true; + ParentUri = parentPage; + BaseUrlPath = parentPage.PathAndQuery; + } + + public IconLink(IElement element, Uri parentPage, string baseUrlPath) + { + Href = element.Attributes["href"]; + ParentUri = parentPage; + BaseUrlPath = baseUrlPath; + + Rel = element.Attributes["rel"]; + Type = element.Attributes["type"]; + Sizes = element.Attributes["sizes"]; + + if (!string.IsNullOrWhiteSpace(Sizes?.Value)) + { + var sizeParts = Sizes.Value.Split('x'); + if (sizeParts.Length == 2 && int.TryParse(sizeParts[0].Trim(), out var width) && + int.TryParse(sizeParts[1].Trim(), out var height)) + { + _width = width; + _height = height; + } + } + } + + public bool IsUsable() + { + if (string.IsNullOrWhiteSpace(Href?.Value)) + { + return false; + } + + if (Rel != null && _iconRels.Contains(Rel.Value)) + { + _validated = true; + } + if (Rel == null || !_blocklistedRels.Contains(Rel.Value)) + { + try + { + var extension = Path.GetExtension(Href.Value); + if (_iconExtensions.Contains(extension)) + { + _validated = true; + } + } + catch (ArgumentException) { } + } + return _validated; + } + + /// + /// Fetches the icon from the Href. Will always fail unless first validated with IsUsable(). + /// + public async Task FetchAsync(ILogger logger, IHttpClientFactory httpClientFactory, IUriService uriService) + { + if (!_validated) + { + return null; + } + + var uri = BuildUri(); + if (uri == null) + { + return null; + } + + using var response = await IconHttpRequest.FetchAsync(uri, logger, httpClientFactory, uriService); + if (!response.IsSuccessStatusCode) + { + return null; + } + + var format = response.Content.Headers.ContentType?.MediaType; + var bytes = await response.Content.ReadAsByteArrayAsync(); + response.Content.Dispose(); + if (format == null || !_allowedMediaTypes.Contains(format)) + { + format = DetermineImageFormatFromFile(bytes); + } + + if (format == null || !_allowedMediaTypes.Contains(format)) + { + return null; + } + + return new Icon { Image = bytes, Format = format }; + } + + private Uri? BuildUri() + { + if (_useUriDirectly) + { + return ParentUri; + } + + if (Href == null) + { + return null; + } + + if (Href.Value.StartsWith("//") && Uri.TryCreate($"{ParentUri.Scheme}://{Href.Value[2..]}", UriKind.Absolute, out var uri)) + { + return uri; + } + + if (Uri.TryCreate(Href.Value, UriKind.Relative, out uri)) + { + return new UriBuilder() + { + Scheme = ParentUri.Scheme, + Host = ParentUri.Host, + }.Uri.ConcatPath(BaseUrlPath, uri.OriginalString); + } + + if (Uri.TryCreate(Href.Value, UriKind.Absolute, out uri)) + { + return uri; + } + + return null; + } + + private static bool HeaderMatch(byte[] imageBytes, byte[] header) + { + return imageBytes.Length >= header.Length && header.SequenceEqual(imageBytes.Take(header.Length)); + } + + private static string DetermineImageFormatFromFile(byte[] imageBytes) + { + if (HeaderMatch(imageBytes, _icoHeader)) + { + return _icoMediaType; + } + else if (HeaderMatch(imageBytes, _pngHeader) || HeaderMatch(imageBytes, _webpHeader)) + { + return _pngMediaType; + } + else if (HeaderMatch(imageBytes, _jpegHeader)) + { + return _jpegMediaType; + } + else + { + return string.Empty; + } + } +} diff --git a/src/Icons/Models/IconResult.cs b/src/Icons/Models/IconResult.cs deleted file mode 100644 index ca1e6929ede9..000000000000 --- a/src/Icons/Models/IconResult.cs +++ /dev/null @@ -1,65 +0,0 @@ -namespace Bit.Icons.Models; - -public class IconResult -{ - public IconResult(string href, string sizes) - { - Path = href; - if (!string.IsNullOrWhiteSpace(sizes)) - { - var sizeParts = sizes.Split('x'); - if (sizeParts.Length == 2 && int.TryParse(sizeParts[0].Trim(), out var width) && - int.TryParse(sizeParts[1].Trim(), out var height)) - { - DefinedWidth = width; - DefinedHeight = height; - - if (width == height) - { - if (width == 32) - { - Priority = 1; - } - else if (width == 64) - { - Priority = 2; - } - else if (width >= 24 && width <= 128) - { - Priority = 3; - } - else if (width == 16) - { - Priority = 4; - } - else - { - Priority = 100; - } - } - } - } - - if (Priority == 0) - { - Priority = 200; - } - } - - public IconResult(Uri uri, byte[] bytes, string format) - { - Path = uri.ToString(); - Icon = new Icon - { - Image = bytes, - Format = format - }; - Priority = 10; - } - - public string Path { get; set; } - public int? DefinedWidth { get; set; } - public int? DefinedHeight { get; set; } - public Icon Icon { get; set; } - public int Priority { get; set; } -} diff --git a/src/Icons/Models/IconUri.cs b/src/Icons/Models/IconUri.cs new file mode 100644 index 000000000000..143bc26f7283 --- /dev/null +++ b/src/Icons/Models/IconUri.cs @@ -0,0 +1,52 @@ +#nullable enable + +using System.Net; +using Bit.Icons.Extensions; + +namespace Bit.Icons.Models; + +public class IconUri +{ + private readonly IPAddress _ip; + public string Host { get; } + public Uri InnerUri { get; } + public string Scheme => InnerUri.Scheme; + + public bool IsValid + { + get + { + // Prevent direct access to any ip + if (IPAddress.TryParse(Host, out _)) + { + return false; + } + + // Prevent non-http(s) and non-default ports + if ((InnerUri.Scheme != "http" && InnerUri.Scheme != "https") || !InnerUri.IsDefaultPort) + { + return false; + } + + // Prevent local hosts (localhost, bobs-pc, etc) and IP addresses + if (!Host.Contains('.') || _ip.IsInternal()) + { + return false; + } + + return true; + } + } + + /// + /// Represents an ip-validated Uri for use in grabbing an icon. + /// + /// + /// + public IconUri(Uri uri, IPAddress ip) + { + _ip = ip; + InnerUri = uri.ChangeHost(_ip.ToString()); + Host = uri.Host; + } +} diff --git a/src/Icons/Services/IIconFetchingService.cs b/src/Icons/Services/IIconFetchingService.cs index ff6704291fb7..365bff78f620 100644 --- a/src/Icons/Services/IIconFetchingService.cs +++ b/src/Icons/Services/IIconFetchingService.cs @@ -1,8 +1,10 @@ -using Bit.Icons.Models; +#nullable enable + +using Bit.Icons.Models; namespace Bit.Icons.Services; public interface IIconFetchingService { - Task GetIconAsync(string domain); + Task GetIconAsync(string domain); } diff --git a/src/Icons/Services/IUriService.cs b/src/Icons/Services/IUriService.cs new file mode 100644 index 000000000000..3927d15bfd6b --- /dev/null +++ b/src/Icons/Services/IUriService.cs @@ -0,0 +1,12 @@ +#nullable enable + +using Bit.Icons.Models; + +namespace Bit.Icons.Services; + +public interface IUriService +{ + bool TryGetUri(string stringUri, out IconUri? iconUri); + bool TryGetUri(Uri uri, out IconUri? iconUri); + bool TryGetRedirect(HttpResponseMessage response, IconUri originalUri, out IconUri? iconUri); +} diff --git a/src/Icons/Services/IconFetchingService.cs b/src/Icons/Services/IconFetchingService.cs index 166d5a0aa772..b2b8d016a5ad 100644 --- a/src/Icons/Services/IconFetchingService.cs +++ b/src/Icons/Services/IconFetchingService.cs @@ -1,449 +1,47 @@ -using System.Net; -using System.Text; +#nullable enable + using AngleSharp.Html.Parser; +using Bit.Icons.Extensions; using Bit.Icons.Models; namespace Bit.Icons.Services; public class IconFetchingService : IIconFetchingService { - private readonly HashSet _iconRels = - new HashSet { "icon", "apple-touch-icon", "shortcut icon" }; - private readonly HashSet _blacklistedRels = - new HashSet { "preload", "image_src", "preconnect", "canonical", "alternate", "stylesheet" }; - private readonly HashSet _iconExtensions = - new HashSet { ".ico", ".png", ".jpg", ".jpeg" }; - - private readonly string _pngMediaType = "image/png"; - private readonly byte[] _pngHeader = new byte[] { 137, 80, 78, 71 }; - private readonly byte[] _webpHeader = Encoding.UTF8.GetBytes("RIFF"); - - private readonly string _icoMediaType = "image/x-icon"; - private readonly string _icoAltMediaType = "image/vnd.microsoft.icon"; - private readonly byte[] _icoHeader = new byte[] { 00, 00, 01, 00 }; - - private readonly string _jpegMediaType = "image/jpeg"; - private readonly byte[] _jpegHeader = new byte[] { 255, 216, 255 }; - - private readonly HashSet _allowedMediaTypes; - private readonly HttpClient _httpClient; + private readonly IHttpClientFactory _httpClientFactory; private readonly ILogger _logger; + private readonly IHtmlParser _parser; + private readonly IUriService _uriService; - public IconFetchingService(ILogger logger) + public IconFetchingService(ILogger logger, IHttpClientFactory httpClientFactory, IHtmlParser parser, IUriService uriService) { _logger = logger; - _allowedMediaTypes = new HashSet - { - _pngMediaType, - _icoMediaType, - _icoAltMediaType, - _jpegMediaType - }; - - _httpClient = new HttpClient(new HttpClientHandler - { - AllowAutoRedirect = false, - AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate, - }); - _httpClient.Timeout = TimeSpan.FromSeconds(20); - _httpClient.MaxResponseContentBufferSize = 5000000; // 5 MB + _httpClientFactory = httpClientFactory; + _parser = parser; + _uriService = uriService; } - public async Task GetIconAsync(string domain) + public async Task GetIconAsync(string domain) { - if (IPAddress.TryParse(domain, out _)) - { - _logger.LogWarning("IP address: {0}.", domain); - return null; - } - - if (!Uri.TryCreate($"https://{domain}", UriKind.Absolute, out var parsedHttpsUri)) - { - _logger.LogWarning("Bad domain: {0}.", domain); - return null; - } - - var uri = parsedHttpsUri; - var response = await GetAndFollowAsync(uri, 2); - if ((response == null || !response.IsSuccessStatusCode) && - Uri.TryCreate($"http://{parsedHttpsUri.Host}", UriKind.Absolute, out var parsedHttpUri)) - { - Cleanup(response); - uri = parsedHttpUri; - response = await GetAndFollowAsync(uri, 2); - - if (response == null || !response.IsSuccessStatusCode) - { - var dotCount = domain.Count(c => c == '.'); - if (dotCount > 1 && DomainName.TryParseBaseDomain(domain, out var baseDomain) && - Uri.TryCreate($"https://{baseDomain}", UriKind.Absolute, out var parsedBaseUri)) - { - Cleanup(response); - uri = parsedBaseUri; - response = await GetAndFollowAsync(uri, 2); - } - else if (dotCount < 2 && - Uri.TryCreate($"https://www.{parsedHttpsUri.Host}", UriKind.Absolute, out var parsedWwwUri)) - { - Cleanup(response); - uri = parsedWwwUri; - response = await GetAndFollowAsync(uri, 2); - } - } - } - - if (response?.Content == null || !response.IsSuccessStatusCode) - { - _logger.LogWarning("Couldn't load a website for {0}: {1}.", domain, - response?.StatusCode.ToString() ?? "null"); - Cleanup(response); - return null; - } - - var parser = new HtmlParser(); - using (response) - using (var htmlStream = await response.Content.ReadAsStreamAsync()) - using (var document = await parser.ParseDocumentAsync(htmlStream)) - { - uri = response.RequestMessage.RequestUri; - if (document.DocumentElement == null) - { - _logger.LogWarning("No DocumentElement for {0}.", domain); - return null; - } - - var baseUrl = "/"; - var baseUrlNode = document.QuerySelector("head base[href]"); - if (baseUrlNode != null) - { - var hrefAttr = baseUrlNode.Attributes["href"]; - if (!string.IsNullOrWhiteSpace(hrefAttr?.Value)) - { - baseUrl = hrefAttr.Value; - } - - baseUrlNode = null; - hrefAttr = null; - } - - var icons = new List(); - var links = document.QuerySelectorAll("head link[href]"); - if (links != null) - { - foreach (var link in links.Take(200)) - { - var hrefAttr = link.Attributes["href"]; - if (string.IsNullOrWhiteSpace(hrefAttr?.Value)) - { - continue; - } - - var relAttr = link.Attributes["rel"]; - var sizesAttr = link.Attributes["sizes"]; - if (relAttr != null && _iconRels.Contains(relAttr.Value.ToLower())) - { - icons.Add(new IconResult(hrefAttr.Value, sizesAttr?.Value)); - } - else if (relAttr == null || !_blacklistedRels.Contains(relAttr.Value.ToLower())) - { - try - { - var extension = Path.GetExtension(hrefAttr.Value); - if (_iconExtensions.Contains(extension.ToLower())) - { - icons.Add(new IconResult(hrefAttr.Value, sizesAttr?.Value)); - } - } - catch (ArgumentException) { } - } - - sizesAttr = null; - relAttr = null; - hrefAttr = null; - } - - links = null; - } - - var iconResultTasks = new List(); - foreach (var icon in icons.OrderBy(i => i.Priority).Take(10)) - { - Uri iconUri = null; - if (icon.Path.StartsWith("//") && Uri.TryCreate($"{GetScheme(uri)}://{icon.Path.Substring(2)}", - UriKind.Absolute, out var slashUri)) - { - iconUri = slashUri; - } - else if (Uri.TryCreate(icon.Path, UriKind.Relative, out var relUri)) - { - iconUri = ResolveUri($"{GetScheme(uri)}://{uri.Host}", baseUrl, relUri.OriginalString); - } - else if (Uri.TryCreate(icon.Path, UriKind.Absolute, out var absUri)) - { - iconUri = absUri; - } - - if (iconUri != null) - { - var task = GetIconAsync(iconUri).ContinueWith(async (r) => - { - var result = await r; - if (result != null) - { - icon.Path = iconUri.ToString(); - icon.Icon = result.Icon; - } - }); - iconResultTasks.Add(task); - } - } - - await Task.WhenAll(iconResultTasks); - if (!icons.Any(i => i.Icon != null)) - { - var faviconUri = ResolveUri($"{GetScheme(uri)}://{uri.Host}", "favicon.ico"); - var result = await GetIconAsync(faviconUri); - if (result != null) - { - icons.Add(result); - } - else - { - _logger.LogWarning("No favicon.ico found for {0}.", uri.Host); - return null; - } - } - - return icons.Where(i => i.Icon != null).OrderBy(i => i.Priority).First(); - } - } - - private async Task GetIconAsync(Uri uri) - { - using (var response = await GetAndFollowAsync(uri, 2)) - { - if (response?.Content?.Headers == null || !response.IsSuccessStatusCode) - { - response?.Content?.Dispose(); - return null; - } - - var format = response.Content.Headers?.ContentType?.MediaType; - var bytes = await response.Content.ReadAsByteArrayAsync(); - response.Content.Dispose(); - if (format == null || !_allowedMediaTypes.Contains(format)) - { - if (HeaderMatch(bytes, _icoHeader)) - { - format = _icoMediaType; - } - else if (HeaderMatch(bytes, _pngHeader) || HeaderMatch(bytes, _webpHeader)) - { - format = _pngMediaType; - } - else if (HeaderMatch(bytes, _jpegHeader)) - { - format = _jpegMediaType; - } - else - { - return null; - } - } - - return new IconResult(uri, bytes, format); - } - } - - private async Task GetAndFollowAsync(Uri uri, int maxRedirectCount) - { - var response = await GetAsync(uri); - if (response == null) - { - return null; - } - return await FollowRedirectsAsync(response, maxRedirectCount); - } - - private async Task GetAsync(Uri uri) - { - if (uri == null) - { - return null; - } - - // Prevent non-http(s) and non-default ports - if ((uri.Scheme != "http" && uri.Scheme != "https") || !uri.IsDefaultPort) - { - return null; - } - - // Prevent local hosts (localhost, bobs-pc, etc) and IP addresses - if (!uri.Host.Contains(".") || IPAddress.TryParse(uri.Host, out _)) - { - return null; - } - - // Resolve host to make sure it is not an internal/private IP address - try - { - var hostEntry = Dns.GetHostEntry(uri.Host); - if (hostEntry?.AddressList.Any(ip => IsInternal(ip)) ?? true) - { - return null; - } - } - catch - { - return null; - } - - using (var message = new HttpRequestMessage()) - { - message.RequestUri = uri; - message.Method = HttpMethod.Get; - - // Let's add some headers to look like we're coming from a web browser request. Some websites - // will block our request without these. - message.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + - "(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"); - message.Headers.Add("Accept-Language", "en-US,en;q=0.8"); - message.Headers.Add("Cache-Control", "no-cache"); - message.Headers.Add("Pragma", "no-cache"); - message.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;" + - "q=0.9,image/webp,image/apng,*/*;q=0.8"); - - try - { - return await _httpClient.SendAsync(message); - } - catch - { - return null; - } - } + var domainIcons = await DomainIcons.FetchAsync(domain, _logger, _httpClientFactory, _parser, _uriService); + var result = domainIcons.Where(result => result != null).FirstOrDefault(); + return result ?? await GetFaviconAsync(domain); } - private async Task FollowRedirectsAsync(HttpResponseMessage response, - int maxFollowCount, int followCount = 0) + private async Task GetFaviconAsync(string domain) { - if (response == null || response.IsSuccessStatusCode || followCount > maxFollowCount) + // Fall back to favicon + var faviconUriBuilder = new UriBuilder { - return response; - } - - if (!(response.StatusCode == HttpStatusCode.Redirect || - response.StatusCode == HttpStatusCode.MovedPermanently || - response.StatusCode == HttpStatusCode.RedirectKeepVerb || - response.StatusCode == HttpStatusCode.SeeOther) || - response.Headers.Location == null) - { - Cleanup(response); - return null; - } - - Uri location = null; - if (response.Headers.Location.IsAbsoluteUri) - { - if (response.Headers.Location.Scheme != "http" && response.Headers.Location.Scheme != "https") - { - if (Uri.TryCreate($"https://{response.Headers.Location.OriginalString}", - UriKind.Absolute, out var newUri)) - { - location = newUri; - } - } - else - { - location = response.Headers.Location; - } - } - else - { - var requestUri = response.RequestMessage.RequestUri; - location = ResolveUri($"{GetScheme(requestUri)}://{requestUri.Host}", - response.Headers.Location.OriginalString); - } + Scheme = "https", + Host = domain, + Path = "/favicon.ico" + }; - Cleanup(response); - var newResponse = await GetAsync(location); - if (newResponse != null) + if (faviconUriBuilder.TryBuild(out var faviconUri)) { - followCount++; - var redirectedResponse = await FollowRedirectsAsync(newResponse, maxFollowCount, followCount); - if (redirectedResponse != null) - { - if (redirectedResponse != newResponse) - { - Cleanup(newResponse); - } - return redirectedResponse; - } + return await new IconLink(faviconUri!).FetchAsync(_logger, _httpClientFactory, _uriService); } - return null; } - - private bool HeaderMatch(byte[] imageBytes, byte[] header) - { - return imageBytes.Length >= header.Length && header.SequenceEqual(imageBytes.Take(header.Length)); - } - - private Uri ResolveUri(string baseUrl, params string[] paths) - { - var url = baseUrl; - foreach (var path in paths) - { - if (Uri.TryCreate(new Uri(url), path, out var r)) - { - url = r.ToString(); - } - } - return new Uri(url); - } - - private void Cleanup(IDisposable obj) - { - obj?.Dispose(); - obj = null; - } - - private string GetScheme(Uri uri) - { - return uri != null && uri.Scheme == "http" ? "http" : "https"; - } - - public static bool IsInternal(IPAddress ip) - { - if (IPAddress.IsLoopback(ip)) - { - return true; - } - - var ipString = ip.ToString(); - if (ipString == "::1" || ipString == "::" || ipString.StartsWith("::ffff:")) - { - return true; - } - - // IPv6 - if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6) - { - return ipString.StartsWith("fc") || ipString.StartsWith("fd") || - ipString.StartsWith("fe") || ipString.StartsWith("ff"); - } - - // IPv4 - var bytes = ip.GetAddressBytes(); - return (bytes[0]) switch - { - 0 => true, - 10 => true, - 127 => true, - 169 => bytes[1] == 254, // Cloud environments, such as AWS - 172 => bytes[1] < 32 && bytes[1] >= 16, - 192 => bytes[1] == 168, - _ => false, - }; - } } diff --git a/src/Icons/Services/UriService.cs b/src/Icons/Services/UriService.cs new file mode 100644 index 000000000000..6be72315a69a --- /dev/null +++ b/src/Icons/Services/UriService.cs @@ -0,0 +1,109 @@ +#nullable enable + +using System.Net; +using System.Net.Sockets; +using Bit.Icons.Extensions; +using Bit.Icons.Models; + +namespace Bit.Icons.Services; + +public class UriService : IUriService +{ + public IconUri GetUri(string inputUri) + { + var uri = new Uri(inputUri); + return new IconUri(uri, DetermineIp(uri)); + } + + public bool TryGetUri(string stringUri, out IconUri? iconUri) + { + if (!Uri.TryCreate(stringUri, UriKind.Absolute, out var uri)) + { + iconUri = null; + return false; + } + + return TryGetUri(uri, out iconUri); + } + + public IconUri GetUri(Uri uri) + { + return new IconUri(uri, DetermineIp(uri)); + } + + public bool TryGetUri(Uri uri, out IconUri? iconUri) + { + try + { + iconUri = GetUri(uri); + return true; + } + catch (Exception) + { + iconUri = null; + return false; + } + } + + public IconUri GetRedirect(HttpResponseMessage response, IconUri originalUri) + { + if (response.Headers.Location == null) + { + throw new Exception("No redirect location found."); + } + + var redirectUri = DetermineRedirectUri(response.Headers.Location, originalUri); + return new IconUri(redirectUri, DetermineIp(redirectUri)); + } + + public bool TryGetRedirect(HttpResponseMessage response, IconUri originalUri, out IconUri? iconUri) + { + try + { + iconUri = GetRedirect(response, originalUri); + return true; + } + catch (Exception) + { + iconUri = null; + return false; + } + } + + private static Uri DetermineRedirectUri(Uri responseUri, IconUri originalIconUri) + { + if (responseUri.IsAbsoluteUri) + { + if (!responseUri.IsHypertext()) + { + return responseUri.ChangeScheme("https"); + } + return responseUri; + } + else + { + return new UriBuilder + { + Scheme = originalIconUri.Scheme, + Host = originalIconUri.Host, + Path = responseUri.ToString() + }.Uri; + } + } + + private static IPAddress DetermineIp(Uri uri) + { + if (IPAddress.TryParse(uri.Host, out var ip)) + { + return ip; + } + + var hostEntry = Dns.GetHostEntry(uri.Host); + ip = hostEntry.AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork || ip.IsIPv4MappedToIPv6)?.MapToIPv4(); + if (ip == null) + { + throw new Exception($"Unable to determine IP for {uri.Host}"); + } + return ip; + } +} diff --git a/src/Icons/Startup.cs b/src/Icons/Startup.cs index f63407fa7ac3..2a7f83e13652 100644 --- a/src/Icons/Startup.cs +++ b/src/Icons/Startup.cs @@ -1,7 +1,7 @@ using System.Globalization; using Bit.Core.Settings; using Bit.Core.Utilities; -using Bit.Icons.Services; +using Bit.Icons.Extensions; using Bit.SharedWeb.Utilities; using Microsoft.Net.Http.Headers; @@ -30,6 +30,12 @@ public void ConfigureServices(IServiceCollection services) ConfigurationBinder.Bind(Configuration.GetSection("IconsSettings"), iconsSettings); services.AddSingleton(s => iconsSettings); + // Http client + services.ConfigureHttpClients(); + + // Add HtmlParser + services.AddHtmlParsing(); + // Cache services.AddMemoryCache(options => { @@ -37,8 +43,7 @@ public void ConfigureServices(IServiceCollection services) }); // Services - services.AddSingleton(); - services.AddSingleton(); + services.AddServices(); // Mvc services.AddMvc(); diff --git a/src/Icons/Util/IPAddressExtension.cs b/src/Icons/Util/IPAddressExtension.cs new file mode 100644 index 000000000000..668548c5af68 --- /dev/null +++ b/src/Icons/Util/IPAddressExtension.cs @@ -0,0 +1,42 @@ +#nullable enable + +using System.Net; + +namespace Bit.Icons.Extensions; + +public static class IPAddressExtension +{ + public static bool IsInternal(this IPAddress ip) + { + if (IPAddress.IsLoopback(ip)) + { + return true; + } + + var ipString = ip.ToString(); + if (ipString == "::1" || ipString == "::" || ipString.StartsWith("::ffff:")) + { + return true; + } + + // IPv6 + if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6) + { + return ipString.StartsWith("fc") || ipString.StartsWith("fd") || + ipString.StartsWith("fe") || ipString.StartsWith("ff"); + } + + // IPv4 + var bytes = ip.GetAddressBytes(); + return (bytes[0]) switch + { + 0 => true, + 10 => true, + 127 => true, + 169 => bytes[1] == 254, // Cloud environments, such as AWS + 172 => bytes[1] < 32 && bytes[1] >= 16, + 192 => bytes[1] == 168, + _ => false, + }; + } +} diff --git a/src/Icons/Util/ServiceCollectionExtension.cs b/src/Icons/Util/ServiceCollectionExtension.cs new file mode 100644 index 000000000000..5492cda0cfd3 --- /dev/null +++ b/src/Icons/Util/ServiceCollectionExtension.cs @@ -0,0 +1,44 @@ +# nullable enable + +using System.Net; +using AngleSharp.Html.Parser; +using Bit.Icons.Services; + +namespace Bit.Icons.Extensions; + +public static class ServiceCollectionExtension +{ + public static void ConfigureHttpClients(this IServiceCollection services) + { + services.AddHttpClient("Icons", client => + { + client.Timeout = TimeSpan.FromSeconds(20); + client.MaxResponseContentBufferSize = 5000000; // 5 MB + // Let's add some headers to look like we're coming from a web browser request. Some websites + // will block our request without these. + client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + + "(KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"); + client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.8"); + client.DefaultRequestHeaders.Add("Cache-Control", "no-cache"); + client.DefaultRequestHeaders.Add("Pragma", "no-cache"); + client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;" + + "q=0.9,image/webp,image/apng,*/*;q=0.8"); + }).ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler + { + AllowAutoRedirect = false, + AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate, + }); + } + + public static void AddHtmlParsing(this IServiceCollection services) + { + services.AddSingleton(); + } + + public static void AddServices(this IServiceCollection services) + { + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + } +} diff --git a/src/Icons/Util/UriBuilderExtension.cs b/src/Icons/Util/UriBuilderExtension.cs new file mode 100644 index 000000000000..7c4ac538a459 --- /dev/null +++ b/src/Icons/Util/UriBuilderExtension.cs @@ -0,0 +1,20 @@ +#nullable enable + +namespace Bit.Icons.Extensions; + +public static class UriBuilderExtension +{ + public static bool TryBuild(this UriBuilder builder, out Uri? uri) + { + try + { + uri = builder.Uri; + return true; + } + catch (UriFormatException) + { + uri = null; + return false; + } + } +} diff --git a/src/Icons/Util/UriExtension.cs b/src/Icons/Util/UriExtension.cs new file mode 100644 index 000000000000..432db96a1d42 --- /dev/null +++ b/src/Icons/Util/UriExtension.cs @@ -0,0 +1,41 @@ + +#nullable enable + +namespace Bit.Icons.Extensions; + +public static class UriExtension +{ + public static bool IsHypertext(this Uri uri) + { + return uri.Scheme == "http" || uri.Scheme == "https"; + } + + public static Uri ChangeScheme(this Uri uri, string scheme) + { + return new UriBuilder(scheme, uri.Host) { Path = uri.PathAndQuery }.Uri; + } + + public static Uri ChangeHost(this Uri uri, string host) + { + return new UriBuilder(uri) { Host = host }.Uri; + } + + public static Uri ConcatPath(this Uri uri, params string[] paths) + => uri.ConcatPath(paths.AsEnumerable()); + public static Uri ConcatPath(this Uri uri, IEnumerable paths) + { + if (!paths.Any()) + { + return uri; + } + + if (Uri.TryCreate(uri, paths.First(), out var newUri)) + { + return newUri.ConcatPath(paths.Skip(1)); + } + else + { + return uri; + } + } +} diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json index 2da1aa80680d..eaf9913dc431 100644 --- a/src/Icons/packages.lock.json +++ b/src/Icons/packages.lock.json @@ -4,12 +4,11 @@ "net6.0": { "AngleSharp": { "type": "Direct", - "requested": "[0.16.1, )", - "resolved": "0.16.1", - "contentHash": "1k7Vbfmr5IUsGaR0QJwTe8XF9zacFUIoWxMgI4X/ipiyKxCWZJZoaG96fNEugL90iubvboRvE1IxuBPibET/Rg==", + "requested": "[1.0.4, )", + "resolved": "1.0.4", + "contentHash": "G8R4C2MEDFQvjUbYz1QIcGfibjsTJnzP0aWy8iQgWWk7eKacYydCNGD3JMhVL0Q5pZQ9RYlqpKNESEU5NpqsRw==", "dependencies": { - "System.Buffers": "4.5.1", - "System.Text.Encoding.CodePages": "5.0.0" + "System.Text.Encoding.CodePages": "6.0.0" } }, "AspNetCoreRateLimit": { @@ -72,8 +71,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -84,6 +83,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -108,6 +117,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -376,12 +397,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -444,28 +461,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -829,16 +824,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1535,34 +1520,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2004,42 +1961,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2057,37 +1978,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2255,16 +2145,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2498,10 +2378,10 @@ }, "System.Text.Encoding.CodePages": { "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", + "resolved": "6.0.0", + "contentHash": "ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" + "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "System.Text.Encoding.Extensions": { @@ -2577,10 +2457,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2673,30 +2553,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2741,71 +2597,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/Identity/Controllers/SsoController.cs b/src/Identity/Controllers/SsoController.cs index f3a9afb17ce8..e5fc6a0eb42f 100644 --- a/src/Identity/Controllers/SsoController.cs +++ b/src/Identity/Controllers/SsoController.cs @@ -14,7 +14,7 @@ namespace Bit.Identity.Controllers; -// TODO: 2022-01-12, Remove account alias +// TODO: 2023-10-16, Remove account alias (https://bitwarden.atlassian.net/browse/PM-1247) [Route("account/[action]")] [Route("sso/[action]")] public class SsoController : Controller diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json index 007bec4c3e6f..dba26e1fd233 100644 --- a/src/Identity/packages.lock.json +++ b/src/Identity/packages.lock.json @@ -71,8 +71,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -83,6 +83,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -107,6 +117,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -375,12 +397,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -443,28 +461,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -828,16 +824,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1547,34 +1533,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2016,42 +1974,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2069,37 +1991,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2267,16 +2158,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2589,10 +2470,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2685,30 +2566,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2753,71 +2610,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/Infrastructure.Dapper/Repositories/OrganizationUserRepository.cs b/src/Infrastructure.Dapper/Repositories/OrganizationUserRepository.cs index 27410fb3f7a1..008242c26c2b 100644 --- a/src/Infrastructure.Dapper/Repositories/OrganizationUserRepository.cs +++ b/src/Infrastructure.Dapper/Repositories/OrganizationUserRepository.cs @@ -505,13 +505,13 @@ public async Task RestoreAsync(Guid id, OrganizationUserStatusType status) } } - public async Task> GetByUserIdWithPolicyDetailsAsync(Guid userId) + public async Task> GetByUserIdWithPolicyDetailsAsync(Guid userId, PolicyType policyType) { using (var connection = new SqlConnection(ConnectionString)) { var results = await connection.QueryAsync( $"[{Schema}].[{Table}_ReadByUserIdWithPolicyDetails]", - new { UserId = userId }, + new { UserId = userId, PolicyType = policyType }, commandType: CommandType.StoredProcedure); return results.ToList(); diff --git a/src/Infrastructure.Dapper/packages.lock.json b/src/Infrastructure.Dapper/packages.lock.json index 365b4924133f..d4a683198779 100644 --- a/src/Infrastructure.Dapper/packages.lock.json +++ b/src/Infrastructure.Dapper/packages.lock.json @@ -51,8 +51,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -63,6 +63,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -87,6 +97,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -336,12 +358,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -404,28 +422,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -722,16 +718,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1367,34 +1353,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1836,42 +1794,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -1889,37 +1811,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2087,16 +1978,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2409,10 +2290,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2505,30 +2386,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2573,43 +2430,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/src/Infrastructure.EntityFramework/Repositories/OrganizationUserRepository.cs b/src/Infrastructure.EntityFramework/Repositories/OrganizationUserRepository.cs index f5ba2b9c1b66..8256696d9686 100644 --- a/src/Infrastructure.EntityFramework/Repositories/OrganizationUserRepository.cs +++ b/src/Infrastructure.EntityFramework/Repositories/OrganizationUserRepository.cs @@ -588,7 +588,7 @@ public async Task RestoreAsync(Guid id, OrganizationUserStatusType status) } } - public async Task> GetByUserIdWithPolicyDetailsAsync(Guid userId) + public async Task> GetByUserIdWithPolicyDetailsAsync(Guid userId, PolicyType policyType) { using (var scope = ServiceScopeFactory.CreateScope()) { @@ -604,7 +604,8 @@ on pu.ProviderId equals po.ProviderId join ou in dbContext.OrganizationUsers on p.OrganizationId equals ou.OrganizationId let email = dbContext.Users.Find(userId).Email // Invited orgUsers do not have a UserId associated with them, so we have to match up their email - where ou.UserId == userId || ou.Email == email + where p.Type == policyType && + (ou.UserId == userId || ou.Email == email) select new OrganizationUserPolicyDetails { OrganizationUserId = ou.Id, diff --git a/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs b/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs index c48b8a582bb3..ba422c789b7c 100644 --- a/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs +++ b/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs @@ -155,6 +155,7 @@ public override async Task DeleteAsync(Core.Entities.User user) dbContext.Ciphers.RemoveRange(dbContext.Ciphers.Where(c => c.UserId == user.Id)); dbContext.Folders.RemoveRange(dbContext.Folders.Where(f => f.UserId == user.Id)); + dbContext.AuthRequests.RemoveRange(dbContext.AuthRequests.Where(s => s.UserId == user.Id)); dbContext.Devices.RemoveRange(dbContext.Devices.Where(d => d.UserId == user.Id)); var collectionUsers = from cu in dbContext.CollectionUsers join ou in dbContext.OrganizationUsers on cu.OrganizationUserId equals ou.Id diff --git a/src/Infrastructure.EntityFramework/packages.lock.json b/src/Infrastructure.EntityFramework/packages.lock.json index c88804517ce2..5ba1a4723ead 100644 --- a/src/Infrastructure.EntityFramework/packages.lock.json +++ b/src/Infrastructure.EntityFramework/packages.lock.json @@ -125,8 +125,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -137,6 +137,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -161,6 +171,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -415,12 +437,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -483,28 +501,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -841,16 +837,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1527,34 +1513,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1996,42 +1954,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2049,37 +1971,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2247,16 +2138,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2569,10 +2450,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2665,30 +2546,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2733,43 +2590,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json index bd5db366a384..bcbdffb856f9 100644 --- a/src/Notifications/packages.lock.json +++ b/src/Notifications/packages.lock.json @@ -83,8 +83,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -95,6 +95,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -119,6 +129,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -424,12 +446,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -492,28 +510,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -882,16 +878,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1588,34 +1574,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2057,42 +2015,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2110,37 +2032,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2295,16 +2186,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2617,10 +2498,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2713,30 +2594,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2781,71 +2638,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json index 45944f1a4e01..f2362deb1341 100644 --- a/src/SharedWeb/packages.lock.json +++ b/src/SharedWeb/packages.lock.json @@ -62,8 +62,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -74,6 +74,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -98,6 +108,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -366,12 +388,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -434,28 +452,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -819,16 +815,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1525,34 +1511,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1994,42 +1952,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2047,37 +1969,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2245,16 +2136,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2567,10 +2448,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2663,30 +2544,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2731,63 +2588,63 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/src/Sql/dbo/Stored Procedures/OrganizationUser_ReadByUserIdWithPolicyDetails.sql b/src/Sql/dbo/Stored Procedures/OrganizationUser_ReadByUserIdWithPolicyDetails.sql index b4968e2cd9d8..c2bc690a2787 100644 --- a/src/Sql/dbo/Stored Procedures/OrganizationUser_ReadByUserIdWithPolicyDetails.sql +++ b/src/Sql/dbo/Stored Procedures/OrganizationUser_ReadByUserIdWithPolicyDetails.sql @@ -1,5 +1,6 @@ CREATE PROCEDURE [dbo].[OrganizationUser_ReadByUserIdWithPolicyDetails] - @UserId UNIQUEIDENTIFIER + @UserId UNIQUEIDENTIFIER, + @PolicyType TINYINT AS BEGIN SET NOCOUNT ON @@ -12,19 +13,22 @@ SELECT OU.[Type] AS OrganizationUserType, OU.[Status] AS OrganizationUserStatus, OU.[Permissions] AS OrganizationUserPermissionsData, - CASE WHEN PU.[ProviderId] IS NOT NULL THEN 1 ELSE 0 END AS IsProvider + CASE WHEN EXISTS ( + SELECT 1 + FROM [dbo].[ProviderUserView] PU + INNER JOIN [dbo].[ProviderOrganizationView] PO ON PO.[ProviderId] = PU.[ProviderId] + WHERE PU.[UserId] = OU.[UserId] AND PO.[OrganizationId] = P.[OrganizationId] + ) THEN 1 ELSE 0 END AS IsProvider FROM [dbo].[PolicyView] P INNER JOIN [dbo].[OrganizationUserView] OU ON P.[OrganizationId] = OU.[OrganizationId] -LEFT JOIN [dbo].[ProviderUserView] PU - ON PU.[UserId] = OU.[UserId] -LEFT JOIN [dbo].[ProviderOrganizationView] PO - ON PO.[ProviderId] = PU.[ProviderId] AND PO.[OrganizationId] = P.[OrganizationId] -WHERE - (OU.[Status] != 0 AND OU.[UserId] = @UserId) -- OrgUsers who have accepted their invite and are linked to a UserId - OR EXISTS ( - SELECT 1 - FROM [dbo].[UserView] U - WHERE U.[Id] = @UserId AND OU.[Email] = U.[Email] AND OU.[Status] = 0 -- 'Invited' OrgUsers are not linked to a UserId yet, so we have to look up their email +WHERE P.[Type] = @PolicyType AND + ( + (OU.[Status] != 0 AND OU.[UserId] = @UserId) -- OrgUsers who have accepted their invite and are linked to a UserId + OR EXISTS ( + SELECT 1 + FROM [dbo].[UserView] U + WHERE U.[Id] = @UserId AND OU.[Email] = U.[Email] AND OU.[Status] = 0 -- 'Invited' OrgUsers are not linked to a UserId yet, so we have to look up their email + ) ) -END +END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/User_DeleteById.sql b/src/Sql/dbo/Stored Procedures/User_DeleteById.sql index ce32f2f24a42..1f16c15aaafa 100644 --- a/src/Sql/dbo/Stored Procedures/User_DeleteById.sql +++ b/src/Sql/dbo/Stored Procedures/User_DeleteById.sql @@ -31,6 +31,13 @@ BEGIN WHERE [UserId] = @Id + -- Delete AuthRequest, must be before Device + DELETE + FROM + [dbo].[AuthRequest] + WHERE + [UserId] = @Id + -- Delete devices DELETE FROM @@ -43,7 +50,7 @@ BEGIN CU FROM [dbo].[CollectionUser] CU - INNER JOIN + INNER JOIN [dbo].[OrganizationUser] OU ON OU.[Id] = CU.[OrganizationUserId] WHERE OU.[UserId] = @Id @@ -53,7 +60,7 @@ BEGIN GU FROM [dbo].[GroupUser] GU - INNER JOIN + INNER JOIN [dbo].[OrganizationUser] OU ON OU.[Id] = GU.[OrganizationUserId] WHERE OU.[UserId] = @Id @@ -63,7 +70,7 @@ BEGIN AP FROM [dbo].[AccessPolicy] AP - INNER JOIN + INNER JOIN [dbo].[OrganizationUser] OU ON OU.[Id] = AP.[OrganizationUserId] WHERE [UserId] = @Id @@ -95,7 +102,7 @@ BEGIN [dbo].[EmergencyAccess] WHERE [GrantorId] = @Id - OR + OR [GranteeId] = @Id -- Delete Sends @@ -104,7 +111,7 @@ BEGIN [dbo].[Send] WHERE [UserId] = @Id - + -- Finally, delete the user DELETE FROM diff --git a/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs b/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs index 05bdda713755..0ef31085f29d 100644 --- a/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs +++ b/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs @@ -10,6 +10,7 @@ using Bit.Core.SecretsManager.Entities; using Bit.Core.SecretsManager.Repositories; using Bit.Test.Common.Helpers; +using Pipelines.Sockets.Unofficial.Arenas; using Xunit; namespace Bit.Api.IntegrationTest.SecretsManager.Controllers; @@ -295,6 +296,25 @@ public async Task Get_MissingAccessPolicy_NotFound() Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); } + [Fact] + public async Task Get_NonExistingProject_NotFound() + { + var (org, _) = await _organizationHelper.Initialize(true, true); + var (email, _) = await _organizationHelper.CreateNewUser(OrganizationUserType.User, true); + await LoginAsync(email); + + var createdProject = await _projectRepository.CreateAsync(new Project + { + OrganizationId = org.Id, + Name = _mockEncryptedString, + }); + + var deleteResponse = await _client.PostAsync("/projects/delete", JsonContent.Create(createdProject.Id)); + + var response = await _client.GetAsync($"/projects/{createdProject.Id}"); + Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); + } + [Theory] [InlineData(PermissionType.RunAsAdmin)] [InlineData(PermissionType.RunAsUserWithPermission)] diff --git a/test/Api.IntegrationTest/packages.lock.json b/test/Api.IntegrationTest/packages.lock.json index f91d69d84ebc..e5303d811070 100644 --- a/test/Api.IntegrationTest/packages.lock.json +++ b/test/Api.IntegrationTest/packages.lock.json @@ -190,8 +190,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -204,10 +204,12 @@ }, "Azure.Core.Amqp": { "type": "Transitive", - "resolved": "1.2.0", - "contentHash": "vrF4isvhwdZspzorLwYhukXz3DA8/ONSnZUIBAqBtOCzsDNUgAsuILbCzvtDrn2oDxyq7DZx5Nh81pe0BeWmDQ==", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", "dependencies": { - "System.Memory": "4.5.4" + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" } }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { @@ -262,12 +264,12 @@ }, "Azure.Messaging.ServiceBus": { "type": "Transitive", - "resolved": "7.11.1", - "contentHash": "ioGedXeH8KK4HdTDEyOzdgNbEXGstGItVljI1EKYsz08sgwej6LpODCZmwPR2ui1fjXBWt8Zea0RJT4d9LwlMg==", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", "dependencies": { - "Azure.Core": "1.25.0", - "Azure.Core.Amqp": "1.2.0", - "Microsoft.Azure.Amqp": "2.5.12", + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Memory.Data": "1.0.2" } @@ -601,8 +603,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.5.12", - "contentHash": "0SlEl+TSQdpjXWf9/37dXWAa0zk6R1EJKmGtGZeKUAH7WEQpJOWMxJ9I43igcBCnTkFwa28CdPnpSCjFZVQlkw==" + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -665,28 +667,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -1185,16 +1165,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -2040,34 +2010,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2525,37 +2467,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2724,16 +2635,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -3051,10 +2952,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -3147,30 +3048,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -3268,25 +3145,25 @@ "AspNetCore.HealthChecks.SqlServer": "6.0.2", "AspNetCore.HealthChecks.Uris": "6.0.3", "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2023.5.1", - "Commercial.Infrastructure.EntityFramework": "2023.5.1", - "Core": "2023.5.1", - "SharedWeb": "2023.5.1", + "Commercial.Core": "2023.7.2", + "Commercial.Infrastructure.EntityFramework": "2023.7.2", + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", "Swashbuckle.AspNetCore": "6.5.0" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2023.5.1" + "Core": "2023.7.2" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", - "Core": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "common": { @@ -3294,7 +3171,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2023.5.1", + "Core": "2023.7.2", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3309,6 +3186,7 @@ "AspNetCoreRateLimit": "4.0.2", "AspNetCoreRateLimit.Redis": "1.0.1", "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", "Azure.Storage.Blobs": "12.14.1", "Azure.Storage.Queues": "12.12.0", "BitPay.Light": "1.0.1907", @@ -3323,7 +3201,6 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", "Microsoft.Azure.Cosmos.Table": "1.0.8", "Microsoft.Azure.NotificationHubs": "4.1.0", - "Microsoft.Azure.ServiceBus": "5.2.0", "Microsoft.Data.SqlClient": "5.0.1", "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", @@ -3346,47 +3223,47 @@ "identity": { "type": "Project", "dependencies": { - "Core": "2023.5.1", - "SharedWeb": "2023.5.1", + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2023.5.1", + "Core": "2023.7.2", "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.5.1, )", - "Identity": "[2023.5.1, )", - "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", - "Microsoft.EntityFrameworkCore.InMemory": "[7.0.5, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )" + "Common": "2023.7.2", + "Identity": "2023.7.2", + "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", + "Microsoft.EntityFrameworkCore.InMemory": "7.0.5", + "Microsoft.Extensions.Configuration": "6.0.1" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "2023.5.1", - "Infrastructure.Dapper": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/test/Api.Test/Controllers/CollectionsControllerTests.cs b/test/Api.Test/Controllers/CollectionsControllerTests.cs index 8a3f944ff5e5..c035a8bc51a1 100644 --- a/test/Api.Test/Controllers/CollectionsControllerTests.cs +++ b/test/Api.Test/Controllers/CollectionsControllerTests.cs @@ -171,7 +171,7 @@ public async Task DeleteMany_Success(Guid orgId, User user, Collection collectio .Returns(user.Id); sutProvider.GetDependency() - .GetOrganizationCollections(orgId) + .GetOrganizationCollectionsAsync(orgId) .Returns(collections); // Act @@ -237,7 +237,7 @@ public async Task DeleteMany_UserCanNotAccessCollections_FiltersOutInvalid(Guid .Returns(user.Id); sutProvider.GetDependency() - .GetOrganizationCollections(orgId) + .GetOrganizationCollectionsAsync(orgId) .Returns(collections); // Act diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json index 6d6dee160a85..7f490ffb181d 100644 --- a/test/Api.Test/packages.lock.json +++ b/test/Api.Test/packages.lock.json @@ -200,8 +200,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -214,10 +214,12 @@ }, "Azure.Core.Amqp": { "type": "Transitive", - "resolved": "1.2.0", - "contentHash": "vrF4isvhwdZspzorLwYhukXz3DA8/ONSnZUIBAqBtOCzsDNUgAsuILbCzvtDrn2oDxyq7DZx5Nh81pe0BeWmDQ==", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", "dependencies": { - "System.Memory": "4.5.4" + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" } }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { @@ -272,12 +274,12 @@ }, "Azure.Messaging.ServiceBus": { "type": "Transitive", - "resolved": "7.11.1", - "contentHash": "ioGedXeH8KK4HdTDEyOzdgNbEXGstGItVljI1EKYsz08sgwej6LpODCZmwPR2ui1fjXBWt8Zea0RJT4d9LwlMg==", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", "dependencies": { - "Azure.Core": "1.25.0", - "Azure.Core.Amqp": "1.2.0", - "Microsoft.Azure.Amqp": "2.5.12", + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Memory.Data": "1.0.2" } @@ -593,8 +595,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.5.12", - "contentHash": "0SlEl+TSQdpjXWf9/37dXWAa0zk6R1EJKmGtGZeKUAH7WEQpJOWMxJ9I43igcBCnTkFwa28CdPnpSCjFZVQlkw==" + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -657,28 +659,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -1067,16 +1047,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1211,15 +1181,6 @@ "System.Security.Cryptography.Pkcs": "6.0.0" } }, - "Moq": { - "type": "Transitive", - "resolved": "4.17.2", - "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", - "dependencies": { - "Castle.Core": "4.4.1", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, "MySqlConnector": { "type": "Transitive", "resolved": "2.2.5", @@ -1918,34 +1879,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2403,37 +2336,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2602,16 +2504,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2929,10 +2821,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -3025,30 +2917,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -3138,115 +3006,114 @@ "api": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.AzureServiceBus": "6.1.0", - "AspNetCore.HealthChecks.AzureStorage": "6.1.2", - "AspNetCore.HealthChecks.Network": "6.0.4", - "AspNetCore.HealthChecks.Redis": "6.0.4", - "AspNetCore.HealthChecks.SendGrid": "6.0.2", - "AspNetCore.HealthChecks.SqlServer": "6.0.2", - "AspNetCore.HealthChecks.Uris": "6.0.3", - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2023.5.1", - "Commercial.Infrastructure.EntityFramework": "2023.5.1", - "Core": "2023.5.1", - "SharedWeb": "2023.5.1", - "Swashbuckle.AspNetCore": "6.5.0" + "AspNetCore.HealthChecks.AzureServiceBus": "[6.1.0, )", + "AspNetCore.HealthChecks.AzureStorage": "[6.1.2, )", + "AspNetCore.HealthChecks.Network": "[6.0.4, )", + "AspNetCore.HealthChecks.Redis": "[6.0.4, )", + "AspNetCore.HealthChecks.SendGrid": "[6.0.2, )", + "AspNetCore.HealthChecks.SqlServer": "[6.0.2, )", + "AspNetCore.HealthChecks.Uris": "[6.0.3, )", + "Azure.Messaging.EventGrid": "[4.10.0, )", + "Commercial.Core": "[2023.7.2, )", + "Commercial.Infrastructure.EntityFramework": "[2023.7.2, )", + "Core": "[2023.7.2, )", + "SharedWeb": "[2023.7.2, )", + "Swashbuckle.AspNetCore": "[6.5.0, )" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2023.5.1" + "Core": "[2023.7.2, )" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", - "Core": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", + "Core": "[2023.7.2, )", + "Infrastructure.EntityFramework": "[2023.7.2, )" } }, "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "4.17.0", - "AutoFixture.Xunit2": "4.17.0", - "Core": "2023.5.1", - "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", - "Microsoft.NET.Test.Sdk": "17.1.0", - "NSubstitute": "4.3.0", - "xunit": "2.4.1" + "AutoFixture.AutoNSubstitute": "[4.17.0, )", + "AutoFixture.Xunit2": "[4.17.0, )", + "Core": "[2023.7.2, )", + "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", + "Microsoft.NET.Test.Sdk": "[17.1.0, )", + "NSubstitute": "[4.3.0, )", + "xunit": "[2.4.1, )" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "3.7.2.47", - "AWSSDK.SimpleEmail": "3.7.0.150", - "AspNetCoreRateLimit": "4.0.2", - "AspNetCoreRateLimit.Redis": "1.0.1", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", - "Azure.Storage.Blobs": "12.14.1", - "Azure.Storage.Queues": "12.12.0", - "BitPay.Light": "1.0.1907", - "Braintree": "5.12.0", - "DnsClient": "1.7.0", - "Fido2.AspNet": "3.0.1", - "Handlebars.Net": "2.1.2", - "IdentityServer4": "4.1.2", - "IdentityServer4.AccessTokenValidation": "3.0.1", - "LaunchDarkly.ServerSdk": "7.0.0", - "MailKit": "3.2.0", - "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", - "Microsoft.Azure.Cosmos.Table": "1.0.8", - "Microsoft.Azure.NotificationHubs": "4.1.0", - "Microsoft.Azure.ServiceBus": "5.2.0", - "Microsoft.Data.SqlClient": "5.0.1", - "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", - "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", - "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", - "Otp.NET": "1.2.2", - "Quartz": "3.4.0", - "SendGrid": "9.27.0", - "Sentry.Serilog": "3.16.0", - "Serilog.AspNetCore": "5.0.0", - "Serilog.Extensions.Logging": "3.1.0", - "Serilog.Extensions.Logging.File": "2.0.0", - "Serilog.Sinks.AzureCosmosDB": "2.0.0", - "Serilog.Sinks.SyslogMessages": "2.0.6", - "Stripe.net": "40.0.0", - "YubicoDotNetClient": "1.2.0" + "AWSSDK.SQS": "[3.7.2.47, )", + "AWSSDK.SimpleEmail": "[3.7.0.150, )", + "AspNetCoreRateLimit": "[4.0.2, )", + "AspNetCoreRateLimit.Redis": "[1.0.1, )", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", + "Azure.Messaging.ServiceBus": "[7.15.0, )", + "Azure.Storage.Blobs": "[12.14.1, )", + "Azure.Storage.Queues": "[12.12.0, )", + "BitPay.Light": "[1.0.1907, )", + "Braintree": "[5.12.0, )", + "DnsClient": "[1.7.0, )", + "Fido2.AspNet": "[3.0.1, )", + "Handlebars.Net": "[2.1.2, )", + "IdentityServer4": "[4.1.2, )", + "IdentityServer4.AccessTokenValidation": "[3.0.1, )", + "LaunchDarkly.ServerSdk": "[7.0.0, )", + "MailKit": "[3.2.0, )", + "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", + "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", + "Microsoft.Azure.NotificationHubs": "[4.1.0, )", + "Microsoft.Data.SqlClient": "[5.0.1, )", + "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", + "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", + "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", + "Newtonsoft.Json": "[13.0.1, )", + "Otp.NET": "[1.2.2, )", + "Quartz": "[3.4.0, )", + "SendGrid": "[9.27.0, )", + "Sentry.Serilog": "[3.16.0, )", + "Serilog.AspNetCore": "[5.0.0, )", + "Serilog.Extensions.Logging": "[3.1.0, )", + "Serilog.Extensions.Logging.File": "[2.0.0, )", + "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", + "Serilog.Sinks.SyslogMessages": "[2.0.6, )", + "Stripe.net": "[40.0.0, )", + "YubicoDotNetClient": "[1.2.0, )" } }, "core.test": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "4.17.0", - "AutoFixture.Xunit2": "4.17.0", - "Common": "2023.5.1", - "Core": "2023.5.1", - "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", - "Microsoft.NET.Test.Sdk": "17.1.0", - "Moq": "4.17.2", - "NSubstitute": "4.3.0", - "xunit": "2.4.1" + "AutoFixture.AutoNSubstitute": "[4.17.0, )", + "AutoFixture.Xunit2": "[4.17.0, )", + "Common": "[2023.7.2, )", + "Core": "[2023.7.2, )", + "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", + "Microsoft.NET.Test.Sdk": "[17.1.0, )", + "NSubstitute": "[4.3.0, )", + "xunit": "[2.4.1, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2023.5.1", - "Dapper": "2.0.123" + "Core": "[2023.7.2, )", + "Dapper": "[2.0.123, )" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", + "Core": "[2023.7.2, )", "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", @@ -3258,9 +3125,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2023.5.1", - "Infrastructure.Dapper": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "[2023.7.2, )", + "Infrastructure.Dapper": "[2023.7.2, )", + "Infrastructure.EntityFramework": "[2023.7.2, )" } } } diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json index 0a9b37c381c5..d9ae0401b1c3 100644 --- a/test/Billing.Test/packages.lock.json +++ b/test/Billing.Test/packages.lock.json @@ -132,8 +132,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -144,6 +144,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -168,6 +178,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -470,12 +492,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -538,28 +556,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -928,16 +924,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1720,34 +1706,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2188,42 +2146,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2241,37 +2163,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2444,16 +2335,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2766,10 +2647,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2862,30 +2743,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2975,90 +2832,90 @@ "billing": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2" } }, "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.7.2", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/test/Common/Helpers/HtmlBuilder.cs b/test/Common/Helpers/HtmlBuilder.cs new file mode 100644 index 000000000000..92edd9505c86 --- /dev/null +++ b/test/Common/Helpers/HtmlBuilder.cs @@ -0,0 +1,59 @@ +using System.Text; + +namespace Bit.Test.Common.Helpers; + +public class HtmlBuilder +{ + private string _topLevelNode; + private readonly StringBuilder _builder = new(); + + public HtmlBuilder(string topLevelNode = "html") + { + _topLevelNode = CoerceTopLevelNode(topLevelNode); + } + + public HtmlBuilder Append(string node) + { + _builder.Append(node); + return this; + } + + public HtmlBuilder Append(HtmlBuilder builder) + { + _builder.Append(builder.ToString()); + return this; + } + + public HtmlBuilder WithAttribute(string name, string value) + { + _topLevelNode = $"{_topLevelNode} {name}=\"{value}\""; + return this; + } + + public override string ToString() + { + _builder.Insert(0, $"<{_topLevelNode}>"); + _builder.Append($""); + return _builder.ToString(); + } + + private static string CoerceTopLevelNode(string topLevelNode) + { + var result = topLevelNode; + if (topLevelNode.StartsWith("<")) + { + result = topLevelNode[1..]; + } + if (topLevelNode.EndsWith(">")) + { + result = result[..^1]; + } + + if (topLevelNode.IndexOf(">") != -1) + { + throw new ArgumentException("Top level nodes cannot contain '>' characters."); + } + + return result; + } +} diff --git a/test/Common/MockedHttpClient/HttpRequestMatcher.cs b/test/Common/MockedHttpClient/HttpRequestMatcher.cs new file mode 100644 index 000000000000..7e4d0d2dabf0 --- /dev/null +++ b/test/Common/MockedHttpClient/HttpRequestMatcher.cs @@ -0,0 +1,104 @@ +#nullable enable + +using System.Net; + +namespace Bit.Test.Common.MockedHttpClient; + +public class HttpRequestMatcher : IHttpRequestMatcher +{ + private readonly Func _matcher; + private HttpRequestMatcher? _childMatcher; + private MockedHttpResponse _mockedResponse = new(HttpStatusCode.OK); + private bool _responseSpecified = false; + + public int NumberOfMatches { get; private set; } + + /// + /// Returns whether or not the provided request can be handled by this matcher chain. + /// + /// + /// + public bool Matches(HttpRequestMessage request) => _matcher(request) && (_childMatcher == null || _childMatcher.Matches(request)); + + public HttpRequestMatcher(HttpMethod method) + { + _matcher = request => request.Method == method; + } + + public HttpRequestMatcher(string uri) + { + _matcher = request => request.RequestUri == new Uri(uri); + } + + public HttpRequestMatcher(Uri uri) + { + _matcher = request => request.RequestUri == uri; + } + + public HttpRequestMatcher(HttpMethod method, string uri) + { + _matcher = request => request.Method == method && request.RequestUri == new Uri(uri); + } + + public HttpRequestMatcher(Func matcher) + { + _matcher = matcher; + } + + public HttpRequestMatcher WithHeader(string name, string value) + { + return AddChild(request => request.Headers.TryGetValues(name, out var values) && values.Contains(value)); + } + + public HttpRequestMatcher WithQueryParameters(Dictionary requiredQueryParameters) => + WithQueryParameters(requiredQueryParameters.Select(x => $"{x.Key}={x.Value}").ToArray()); + public HttpRequestMatcher WithQueryParameters(string name, string value) => + WithQueryParameters($"{name}={value}"); + public HttpRequestMatcher WithQueryParameters(params string[] queryKeyValues) + { + bool matcher(HttpRequestMessage request) + { + var query = request.RequestUri?.Query; + if (query == null) + { + return false; + } + + return queryKeyValues.All(queryKeyValue => query.Contains(queryKeyValue)); + } + return AddChild(matcher); + } + + /// + /// Configure how this matcher should respond to matching HttpRequestMessages. + /// Note, after specifying a response, you can no longer further specify match criteria. + /// + /// + /// + public MockedHttpResponse RespondWith(HttpStatusCode statusCode) + { + _responseSpecified = true; + _mockedResponse = new MockedHttpResponse(statusCode); + return _mockedResponse; + } + + /// + /// Called to produce an HttpResponseMessage for the given request. This is probably something you want to leave alone + /// + /// + public async Task RespondToAsync(HttpRequestMessage request) + { + NumberOfMatches++; + return await (_childMatcher == null ? _mockedResponse.RespondToAsync(request) : _childMatcher.RespondToAsync(request)); + } + + private HttpRequestMatcher AddChild(Func matcher) + { + if (_responseSpecified) + { + throw new Exception("Cannot continue to configure a matcher after a response has been specified"); + } + _childMatcher = new HttpRequestMatcher(matcher); + return _childMatcher; + } +} diff --git a/test/Common/MockedHttpClient/HttpResponseBuilder.cs b/test/Common/MockedHttpClient/HttpResponseBuilder.cs new file mode 100644 index 000000000000..067defb6d203 --- /dev/null +++ b/test/Common/MockedHttpClient/HttpResponseBuilder.cs @@ -0,0 +1,84 @@ +using System.Net; + +namespace Bit.Test.Common.MockedHttpClient; + +public class HttpResponseBuilder : IDisposable +{ + private bool _disposedValue; + + public HttpStatusCode StatusCode { get; set; } + public IEnumerable> Headers { get; set; } = new List>(); + public IEnumerable HeadersToRemove { get; set; } = new List(); + public HttpContent Content { get; set; } + + public async Task ToHttpResponseAsync() + { + var copiedContentStream = new MemoryStream(); + await Content.CopyToAsync(copiedContentStream); // This is important, otherwise the content stream will be disposed when the response is disposed. + copiedContentStream.Seek(0, SeekOrigin.Begin); + var message = new HttpResponseMessage(StatusCode) + { + Content = new StreamContent(copiedContentStream), + }; + + foreach (var header in Headers) + { + message.Headers.TryAddWithoutValidation(header.Key, header.Value); + } + + return message; + } + + public HttpResponseBuilder WithStatusCode(HttpStatusCode statusCode) + { + return new() + { + StatusCode = statusCode, + Headers = Headers, + HeadersToRemove = HeadersToRemove, + Content = Content, + }; + } + + public HttpResponseBuilder WithHeader(string name, string value) + { + return new() + { + StatusCode = StatusCode, + Headers = Headers.Append(new KeyValuePair(name, value)), + HeadersToRemove = HeadersToRemove, + Content = Content, + }; + } + + public HttpResponseBuilder WithContent(HttpContent content) + { + return new() + { + StatusCode = StatusCode, + Headers = Headers, + HeadersToRemove = HeadersToRemove, + Content = content, + }; + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + Content?.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } +} diff --git a/test/Common/MockedHttpClient/IHttpRequestMatcher.cs b/test/Common/MockedHttpClient/IHttpRequestMatcher.cs new file mode 100644 index 000000000000..e8de78b07532 --- /dev/null +++ b/test/Common/MockedHttpClient/IHttpRequestMatcher.cs @@ -0,0 +1,10 @@ +#nullable enable + +namespace Bit.Test.Common.MockedHttpClient; + +public interface IHttpRequestMatcher +{ + int NumberOfMatches { get; } + bool Matches(HttpRequestMessage request); + Task RespondToAsync(HttpRequestMessage request); +} diff --git a/test/Common/MockedHttpClient/IMockedHttpResponse.cs b/test/Common/MockedHttpClient/IMockedHttpResponse.cs new file mode 100644 index 000000000000..a836cb8af40c --- /dev/null +++ b/test/Common/MockedHttpClient/IMockedHttpResponse.cs @@ -0,0 +1,7 @@ +namespace Bit.Test.Common.MockedHttpClient; + +public interface IMockedHttpResponse +{ + int NumberOfResponses { get; } + Task RespondToAsync(HttpRequestMessage request); +} diff --git a/test/Common/MockedHttpClient/MockedHttpMessageHandler.cs b/test/Common/MockedHttpClient/MockedHttpMessageHandler.cs new file mode 100644 index 000000000000..1b1bd52a03eb --- /dev/null +++ b/test/Common/MockedHttpClient/MockedHttpMessageHandler.cs @@ -0,0 +1,113 @@ +#nullable enable + +using System.Net; + +namespace Bit.Test.Common.MockedHttpClient; + +public class MockedHttpMessageHandler : HttpMessageHandler +{ + private readonly List _matchers = new(); + + /// + /// The fallback handler to use when the request does not match any of the provided matchers. + /// + /// A Matcher that responds with 404 Not Found + public MockedHttpResponse Fallback { get; set; } = new(HttpStatusCode.NotFound); + + protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) + { + var matcher = _matchers.FirstOrDefault(x => x.Matches(request)); + if (matcher == null) + { + return await Fallback.RespondToAsync(request); + } + + return await matcher.RespondToAsync(request); + } + + /// + /// Instantiates a new HttpRequestMessage matcher that will handle requests in fitting with the returned matcher. Configuration can be chained. + /// + /// + /// + /// + public T When(T requestMatcher) where T : IHttpRequestMatcher + { + _matchers.Add(requestMatcher); + return requestMatcher; + } + + /// + /// Instantiates a new HttpRequestMessage matcher that will handle requests in fitting with the returned matcher. Configuration can be chained. + /// + /// + /// + /// + public HttpRequestMatcher When(string uri) + { + var matcher = new HttpRequestMatcher(uri); + _matchers.Add(matcher); + return matcher; + } + + /// + /// Instantiates a new HttpRequestMessage matcher that will handle requests in fitting with the returned matcher. Configuration can be chained. + /// + /// + /// + /// + public HttpRequestMatcher When(Uri uri) + { + var matcher = new HttpRequestMatcher(uri); + _matchers.Add(matcher); + return matcher; + } + + /// + /// Instantiates a new HttpRequestMessage matcher that will handle requests in fitting with the returned matcher. Configuration can be chained. + /// + /// + /// + /// + public HttpRequestMatcher When(HttpMethod method) + { + var matcher = new HttpRequestMatcher(method); + _matchers.Add(matcher); + return matcher; + } + + /// + /// Instantiates a new HttpRequestMessage matcher that will handle requests in fitting with the returned matcher. Configuration can be chained. + /// + /// + /// + /// + public HttpRequestMatcher When(HttpMethod method, string uri) + { + var matcher = new HttpRequestMatcher(method, uri); + _matchers.Add(matcher); + return matcher; + } + + /// + /// Instantiates a new HttpRequestMessage matcher that will handle requests in fitting with the returned matcher. Configuration can be chained. + /// + /// + /// + /// + public HttpRequestMatcher When(Func matcher) + { + var requestMatcher = new HttpRequestMatcher(matcher); + _matchers.Add(requestMatcher); + return requestMatcher; + } + + /// + /// Converts the MockedHttpMessageHandler to a HttpClient that can be used in your tests after setup. + /// + /// + public HttpClient ToHttpClient() + { + return new HttpClient(this); + } +} diff --git a/test/Common/MockedHttpClient/MockedHttpResponse.cs b/test/Common/MockedHttpClient/MockedHttpResponse.cs new file mode 100644 index 000000000000..499807c615b4 --- /dev/null +++ b/test/Common/MockedHttpClient/MockedHttpResponse.cs @@ -0,0 +1,68 @@ +using System.Net; +using System.Net.Http.Headers; +using System.Text; + +namespace Bit.Test.Common.MockedHttpClient; + +public class MockedHttpResponse : IMockedHttpResponse +{ + private MockedHttpResponse _childResponse; + private readonly Func _responder; + + public int NumberOfResponses { get; private set; } + + public MockedHttpResponse(HttpStatusCode statusCode) + { + _responder = (_, builder) => builder.WithStatusCode(statusCode); + } + + private MockedHttpResponse(Func responder) + { + _responder = responder; + } + + public MockedHttpResponse WithStatusCode(HttpStatusCode statusCode) + { + return AddChild((_, builder) => builder.WithStatusCode(statusCode)); + } + + public MockedHttpResponse WithHeader(string name, string value) + { + return AddChild((_, builder) => builder.WithHeader(name, value)); + } + public MockedHttpResponse WithHeaders(params KeyValuePair[] headers) + { + return AddChild((_, builder) => headers.Aggregate(builder, (b, header) => b.WithHeader(header.Key, header.Value))); + } + + public MockedHttpResponse WithContent(string mediaType, string content) + { + return WithContent(new StringContent(content, Encoding.UTF8, mediaType)); + } + public MockedHttpResponse WithContent(string mediaType, byte[] content) + { + return WithContent(new ByteArrayContent(content) { Headers = { ContentType = new MediaTypeHeaderValue(mediaType) } }); + } + public MockedHttpResponse WithContent(HttpContent content) + { + return AddChild((_, builder) => builder.WithContent(content)); + } + + public async Task RespondToAsync(HttpRequestMessage request) + { + return await RespondToAsync(request, new HttpResponseBuilder()); + } + + private async Task RespondToAsync(HttpRequestMessage request, HttpResponseBuilder currentBuilder) + { + NumberOfResponses++; + var nextBuilder = _responder(request, currentBuilder); + return await (_childResponse == null ? nextBuilder.ToHttpResponseAsync() : _childResponse.RespondToAsync(request, nextBuilder)); + } + + private MockedHttpResponse AddChild(Func responder) + { + _childResponse = new MockedHttpResponse(responder); + return _childResponse; + } +} diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json index 73207a8bcd8d..679c8a92cfd7 100644 --- a/test/Common/packages.lock.json +++ b/test/Common/packages.lock.json @@ -120,8 +120,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -132,6 +132,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -156,6 +166,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -430,12 +452,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -498,28 +516,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -821,16 +817,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1552,34 +1538,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2020,42 +1978,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2073,37 +1995,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2276,16 +2167,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2598,10 +2479,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2694,30 +2575,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2807,43 +2664,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs b/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs index 39f57389ac45..020b097077e2 100644 --- a/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs +++ b/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs @@ -6,7 +6,7 @@ using Bit.Core; using Bit.Core.Test.Helpers.Factories; using Microsoft.AspNetCore.DataProtection; -using Moq; +using NSubstitute; namespace Bit.Test.Common.AutoFixture; @@ -33,17 +33,17 @@ public object Create(object request, ISpecimenContext context) if (pi.ParameterType == typeof(IDataProtectionProvider)) { - var dataProtector = new Mock(); - dataProtector - .Setup(d => d.Unprotect(It.IsAny())) - .Returns(data => Encoding.UTF8.GetBytes(Constants.DatabaseFieldProtectedPrefix + Encoding.UTF8.GetString(data))); + var dataProtector = Substitute.For(); + dataProtector.Unprotect(Arg.Any()) + .Returns(data => + Encoding.UTF8.GetBytes(Constants.DatabaseFieldProtectedPrefix + + Encoding.UTF8.GetString((byte[])data[0]))); - var dataProtectionProvider = new Mock(); - dataProtectionProvider - .Setup(x => x.CreateProtector(Constants.DatabaseFieldProtectorPurpose)) - .Returns(dataProtector.Object); + var dataProtectionProvider = Substitute.For(); + dataProtectionProvider.CreateProtector(Constants.DatabaseFieldProtectorPurpose) + .Returns(dataProtector); - return dataProtectionProvider.Object; + return dataProtectionProvider; } return new NoSpecimen(); diff --git a/test/Core.Test/Core.Test.csproj b/test/Core.Test/Core.Test.csproj index 875230cfead7..d38040363e6c 100644 --- a/test/Core.Test/Core.Test.csproj +++ b/test/Core.Test/Core.Test.csproj @@ -9,7 +9,6 @@ all - diff --git a/test/Core.Test/Services/CollectionServiceTests.cs b/test/Core.Test/Services/CollectionServiceTests.cs index 4577e591db91..d5b5f15ccdd9 100644 --- a/test/Core.Test/Services/CollectionServiceTests.cs +++ b/test/Core.Test/Services/CollectionServiceTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.Context; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data; @@ -185,4 +186,56 @@ await sutProvider.GetDependency().DidNotReceiveWithAnyArgs() .LogOrganizationUserEventAsync(default, default); } + [Theory, BitAutoData] + public async Task GetOrganizationCollectionsAsync_WithViewAssignedCollectionsTrue_ReturnsAssignedCollections( + CollectionDetails collectionDetails, Guid organizationId, Guid userId, SutProvider sutProvider) + { + collectionDetails.OrganizationId = organizationId; + + sutProvider.GetDependency().UserId.Returns(userId); + sutProvider.GetDependency() + .GetManyByUserIdAsync(userId) + .Returns(new List { collectionDetails }); + sutProvider.GetDependency().ViewAssignedCollections(organizationId).Returns(true); + + var result = await sutProvider.Sut.GetOrganizationCollectionsAsync(organizationId); + + Assert.Single(result); + Assert.Equal(collectionDetails, result.First()); + + await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyByOrganizationIdAsync(default); + await sutProvider.GetDependency().Received(1).GetManyByUserIdAsync(userId); + } + + [Theory, BitAutoData] + public async Task GetOrganizationCollectionsAsync_WithViewAllCollectionsTrue_ReturnsAllOrganizationCollections( + Collection collection, Guid organizationId, Guid userId, SutProvider sutProvider) + { + sutProvider.GetDependency().UserId.Returns(userId); + sutProvider.GetDependency() + .GetManyByOrganizationIdAsync(organizationId) + .Returns(new List { collection }); + sutProvider.GetDependency().ViewAssignedCollections(organizationId).Returns(true); + sutProvider.GetDependency().ViewAllCollections(organizationId).Returns(true); + + var result = await sutProvider.Sut.GetOrganizationCollectionsAsync(organizationId); + + Assert.Single(result); + Assert.Equal(collection, result.First()); + + await sutProvider.GetDependency().Received(1).GetManyByOrganizationIdAsync(organizationId); + await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyByUserIdAsync(default); + } + + [Theory, BitAutoData] + public async Task GetOrganizationCollectionsAsync_WithViewAssignedCollectionsFalse_ThrowsBadRequestException( + Guid organizationId, SutProvider sutProvider) + { + sutProvider.GetDependency().ViewAssignedCollections(organizationId).Returns(false); + + await Assert.ThrowsAsync(() => sutProvider.Sut.GetOrganizationCollectionsAsync(organizationId)); + + await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyByOrganizationIdAsync(default); + await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyByUserIdAsync(default); + } } diff --git a/test/Core.Test/Services/PolicyServiceTests.cs b/test/Core.Test/Services/PolicyServiceTests.cs index a85c2a7c491b..6c1218c84a7f 100644 --- a/test/Core.Test/Services/PolicyServiceTests.cs +++ b/test/Core.Test/Services/PolicyServiceTests.cs @@ -624,12 +624,18 @@ private static void SetupOrg(SutProvider sutProvider, Guid organi private static void SetupUserPolicies(Guid userId, SutProvider sutProvider) { sutProvider.GetDependency() - .GetByUserIdWithPolicyDetailsAsync(userId) + .GetByUserIdWithPolicyDetailsAsync(userId, PolicyType.RequireSso) .Returns(new List { new() { OrganizationId = Guid.NewGuid(), PolicyType = PolicyType.RequireSso, PolicyEnabled = false, OrganizationUserType = OrganizationUserType.Owner, OrganizationUserStatus = OrganizationUserStatusType.Confirmed, IsProvider = false}, new() { OrganizationId = Guid.NewGuid(), PolicyType = PolicyType.RequireSso, PolicyEnabled = true, OrganizationUserType = OrganizationUserType.Owner, OrganizationUserStatus = OrganizationUserStatusType.Confirmed, IsProvider = false }, - new() { OrganizationId = Guid.NewGuid(), PolicyType = PolicyType.RequireSso, PolicyEnabled = true, OrganizationUserType = OrganizationUserType.Owner, OrganizationUserStatus = OrganizationUserStatusType.Confirmed, IsProvider = true }, + new() { OrganizationId = Guid.NewGuid(), PolicyType = PolicyType.RequireSso, PolicyEnabled = true, OrganizationUserType = OrganizationUserType.Owner, OrganizationUserStatus = OrganizationUserStatusType.Confirmed, IsProvider = true } + }); + + sutProvider.GetDependency() + .GetByUserIdWithPolicyDetailsAsync(userId, PolicyType.DisableSend) + .Returns(new List + { new() { OrganizationId = Guid.NewGuid(), PolicyType = PolicyType.DisableSend, PolicyEnabled = true, OrganizationUserType = OrganizationUserType.User, OrganizationUserStatus = OrganizationUserStatusType.Invited, IsProvider = false }, new() { OrganizationId = Guid.NewGuid(), PolicyType = PolicyType.DisableSend, PolicyEnabled = true, OrganizationUserType = OrganizationUserType.User, OrganizationUserStatus = OrganizationUserStatusType.Invited, IsProvider = true } }); diff --git a/test/Core.Test/Utilities/CustomRedisProcessingStrategyTests.cs b/test/Core.Test/Utilities/CustomRedisProcessingStrategyTests.cs index e5b9bd554949..10f15ca5302d 100644 --- a/test/Core.Test/Utilities/CustomRedisProcessingStrategyTests.cs +++ b/test/Core.Test/Utilities/CustomRedisProcessingStrategyTests.cs @@ -3,7 +3,7 @@ using Bit.Core.Utilities; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Logging; -using Moq; +using NSubstitute; using StackExchange.Redis; using Xunit; @@ -37,14 +37,12 @@ public class CustomRedisProcessingStrategyTests #endregion - private readonly Mock _mockCounterKeyBuilder = new(); - private Mock _mockDb; + private readonly ICounterKeyBuilder _mockCounterKeyBuilder = Substitute.For(); + private IDatabase _mockDb; public CustomRedisProcessingStrategyTests() { - _mockCounterKeyBuilder - .Setup(x => - x.Build(It.IsAny(), It.IsAny())) + _mockCounterKeyBuilder.Build(Arg.Any(), Arg.Any()) .Returns(_sampleClientId.ClientId); } @@ -55,12 +53,12 @@ public async Task IncrementRateLimitCount_When_RedisIsHealthy() var strategy = BuildProcessingStrategy(); // Act - var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); // Assert Assert.Equal(1, result.Count); - VerifyRedisCalls(Times.Once()); + VerifyRedisCalls(1); } [Fact] @@ -70,60 +68,63 @@ public async Task SkipRateLimit_When_RedisIsDown() var strategy = BuildProcessingStrategy(false); // Act - var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); // Assert Assert.Equal(0, result.Count); - VerifyRedisCalls(Times.Never()); + VerifyRedisNotCalled(); } [Fact] public async Task SkipRateLimit_When_TimeoutThresholdExceeded() { // Arrange - var mockCache = new Mock(); + var mockCache = Substitute.For(); object existingCount = new CustomRedisProcessingStrategy.TimeoutCounter { Count = _sampleSettings.DistributedIpRateLimiting.MaxRedisTimeoutsThreshold + 1 }; - mockCache.Setup(x => x.TryGetValue(It.IsAny(), out existingCount)).Returns(true); + mockCache.TryGetValue(Arg.Any(), out existingCount).ReturnsForAnyArgs(x => + { + x[1] = existingCount; + return true; + }); - var strategy = BuildProcessingStrategy(mockCache: mockCache.Object); + var strategy = BuildProcessingStrategy(mockCache: mockCache); // Act - var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); // Assert Assert.Equal(0, result.Count); - VerifyRedisCalls(Times.Never()); + VerifyRedisNotCalled(); } [Fact] public async Task SkipRateLimit_When_RedisTimeoutException() { // Arrange - var mockCache = new Mock(); - var mockCacheEntry = new Mock(); - mockCacheEntry.SetupAllProperties(); - mockCache.Setup(x => x.CreateEntry(It.IsAny())).Returns(mockCacheEntry.Object); + var mockCache = Substitute.For(); + var mockCacheEntry = Substitute.For(); + mockCache.CreateEntry(Arg.Any()).Returns(mockCacheEntry); - var strategy = BuildProcessingStrategy(mockCache: mockCache.Object, throwRedisTimeout: true); + var strategy = BuildProcessingStrategy(mockCache: mockCache, throwRedisTimeout: true); // Act - var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + var result = await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); - var timeoutCounter = ((CustomRedisProcessingStrategy.TimeoutCounter)mockCacheEntry.Object.Value); + var timeoutCounter = ((CustomRedisProcessingStrategy.TimeoutCounter)mockCacheEntry.Value); // Assert Assert.Equal(0, result.Count); // Skip rate limiting - VerifyRedisCalls(Times.Once()); + VerifyRedisCalls(1); Assert.Equal(1, timeoutCounter.Count); // Timeout count increased/cached - Assert.NotNull(mockCacheEntry.Object.AbsoluteExpiration); - mockCache.Verify(x => x.CreateEntry(It.IsAny())); + Assert.NotNull(mockCacheEntry.AbsoluteExpiration); + mockCache.Received().CreateEntry(Arg.Any()); } [Fact] @@ -136,26 +137,33 @@ public async Task BackoffRedis_After_ThresholdExceeded() // Act // Redis Timeout 1 - await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); // Redis Timeout 2 - await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); // Skip Redis - await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder.Object, _sampleOptions, + await strategy.ProcessRequestAsync(_sampleClientId, _sampleRule, _mockCounterKeyBuilder, _sampleOptions, CancellationToken.None); // Assert - VerifyRedisCalls(Times.Exactly(_sampleSettings.DistributedIpRateLimiting.MaxRedisTimeoutsThreshold)); + VerifyRedisCalls(_sampleSettings.DistributedIpRateLimiting.MaxRedisTimeoutsThreshold); + } + + private void VerifyRedisCalls(int times) + { + _mockDb + .Received(times) + .ScriptEvaluateAsync(Arg.Any(), Arg.Any(), Arg.Any()); } - private void VerifyRedisCalls(Times times) + private void VerifyRedisNotCalled() { - _mockDb.Verify(x => - x.ScriptEvaluateAsync(It.IsAny(), It.IsAny(), It.IsAny()), - times); + _mockDb + .DidNotReceive() + .ScriptEvaluateAsync(Arg.Any(), Arg.Any(), Arg.Any()); } private CustomRedisProcessingStrategy BuildProcessingStrategy( @@ -163,36 +171,33 @@ private CustomRedisProcessingStrategy BuildProcessingStrategy( bool throwRedisTimeout = false, IMemoryCache mockCache = null) { - var mockRedisConnection = new Mock(); + var mockRedisConnection = Substitute.For(); - mockRedisConnection.Setup(x => x.IsConnected).Returns(isRedisConnected); + mockRedisConnection.IsConnected.Returns(isRedisConnected); - _mockDb = new Mock(); + _mockDb = Substitute.For(); var mockScriptEvaluate = _mockDb - .Setup(x => - x.ScriptEvaluateAsync(It.IsAny(), It.IsAny(), It.IsAny())); + .ScriptEvaluateAsync(Arg.Any(), Arg.Any(), Arg.Any()); if (throwRedisTimeout) { - mockScriptEvaluate.ThrowsAsync(new RedisTimeoutException("Timeout", CommandStatus.WaitingToBeSent)); + mockScriptEvaluate.Returns(x => throw new RedisTimeoutException("Timeout", CommandStatus.WaitingToBeSent)); } else { - mockScriptEvaluate.ReturnsAsync(RedisResult.Create(1)); + mockScriptEvaluate.Returns(RedisResult.Create(1)); } - mockRedisConnection - .Setup(x => - x.GetDatabase(It.IsAny(), It.IsAny())) - .Returns(_mockDb.Object); + mockRedisConnection.GetDatabase(Arg.Any(), Arg.Any()) + .Returns(_mockDb); - var mockLogger = new Mock>(); - var mockConfig = new Mock(); + var mockLogger = Substitute.For>(); + var mockConfig = Substitute.For(); - mockCache ??= new Mock().Object; + mockCache ??= Substitute.For(); - return new CustomRedisProcessingStrategy(mockRedisConnection.Object, mockConfig.Object, - mockLogger.Object, mockCache, _sampleSettings); + return new CustomRedisProcessingStrategy(mockRedisConnection, mockConfig, + mockLogger, mockCache, _sampleSettings); } } diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json index 0a48589882b0..d319b95eda05 100644 --- a/test/Core.Test/packages.lock.json +++ b/test/Core.Test/packages.lock.json @@ -48,16 +48,6 @@ "Microsoft.TestPlatform.TestHost": "17.1.0" } }, - "Moq": { - "type": "Direct", - "requested": "[4.17.2, )", - "resolved": "4.17.2", - "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", - "dependencies": { - "Castle.Core": "4.4.1", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, "NSubstitute": { "type": "Direct", "requested": "[4.3.0, )", @@ -136,8 +126,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -148,6 +138,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -172,6 +172,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -446,12 +458,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -514,28 +522,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -837,16 +823,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1568,34 +1544,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2036,42 +1984,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2089,37 +2001,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2292,16 +2173,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2614,10 +2485,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2710,30 +2581,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2825,7 +2672,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", + "Core": "[2023.7.2, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -2840,6 +2687,7 @@ "AspNetCoreRateLimit": "[4.0.2, )", "AspNetCoreRateLimit.Redis": "[1.0.1, )", "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", + "Azure.Messaging.ServiceBus": "[7.15.0, )", "Azure.Storage.Blobs": "[12.14.1, )", "Azure.Storage.Queues": "[12.12.0, )", "BitPay.Light": "[1.0.1907, )", @@ -2854,7 +2702,6 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", "Microsoft.Data.SqlClient": "[5.0.1, )", "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", diff --git a/test/Icons.Test/Icons.Test.csproj b/test/Icons.Test/Icons.Test.csproj index 13cfb00987bf..26f191345117 100644 --- a/test/Icons.Test/Icons.Test.csproj +++ b/test/Icons.Test/Icons.Test.csproj @@ -20,6 +20,7 @@ + diff --git a/test/Icons.Test/Models/IconHttpRequestTests.cs b/test/Icons.Test/Models/IconHttpRequestTests.cs new file mode 100644 index 000000000000..89e0e37eeb5b --- /dev/null +++ b/test/Icons.Test/Models/IconHttpRequestTests.cs @@ -0,0 +1,38 @@ +using System.Net; +using Bit.Icons.Models; +using Bit.Icons.Services; +using Bit.Test.Common.MockedHttpClient; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Net.Http.Headers; +using NSubstitute; +using Xunit; + +namespace Bit.Icons.Test.Models; + +public class IconHttpRequestTests +{ + [Fact] + public async Task FetchAsync_FollowsTwoRedirectsAsync() + { + var handler = new MockedHttpMessageHandler(); + + var request = handler + .Fallback + .WithStatusCode(HttpStatusCode.Redirect) + .WithContent("text/html", "Redirect 2Redirect 3") + .WithHeader(HeaderNames.Location, "https://icon.test"); + + var clientFactory = Substitute.For(); + clientFactory.CreateClient("Icons").Returns(handler.ToHttpClient()); + + var uriService = Substitute.For(); + uriService.TryGetUri(Arg.Any(), out Arg.Any()).Returns(x => + { + x[1] = new IconUri(new Uri("https://icon.test"), IPAddress.Parse("192.0.2.1")); + return true; + }); + var result = await IconHttpRequest.FetchAsync(new Uri("https://icon.test"), NullLogger.Instance, clientFactory, uriService); + + Assert.Equal(3, request.NumberOfResponses); // Initial + 2 redirects + } +} diff --git a/test/Icons.Test/Models/IconHttpResponseTests.cs b/test/Icons.Test/Models/IconHttpResponseTests.cs new file mode 100644 index 000000000000..d6c792e2e782 --- /dev/null +++ b/test/Icons.Test/Models/IconHttpResponseTests.cs @@ -0,0 +1,101 @@ +using System.Net; +using AngleSharp.Html.Parser; +using Bit.Icons.Models; +using Bit.Icons.Services; +using Bit.Test.Common.Helpers; +using Bit.Test.Common.MockedHttpClient; +using Microsoft.Extensions.Logging.Abstractions; +using NSubstitute; +using Xunit; + +namespace Bit.Icons.Test.Models; + +public class IconHttpResponseTests +{ + private readonly IUriService _mockedUriService; + private static readonly IHtmlParser _parser = new HtmlParser(); + + public IconHttpResponseTests() + { + _mockedUriService = Substitute.For(); + _mockedUriService.TryGetUri(Arg.Any(), out Arg.Any()).Returns(x => + { + x[1] = new IconUri(new Uri("https://icon.test"), IPAddress.Parse("192.0.2.1")); + return true; + }); + } + + [Fact] + public async Task RetrieveIconsAsync_Processes200LinksAsync() + { + var htmlBuilder = new HtmlBuilder(); + var headBuilder = new HtmlBuilder("head"); + for (var i = 0; i < 200; i++) + { + headBuilder.Append(UnusableLinkNode()); + } + headBuilder.Append(UsableLinkNode()); + htmlBuilder.Append(headBuilder); + var response = GetHttpResponseMessage(htmlBuilder.ToString()); + var sut = CurriedIconHttpResponse()(response); + + var result = await sut.RetrieveIconsAsync(new Uri("https://icon.test"), "icon.test", _parser); + + Assert.Empty(result); + } + + [Fact] + public async Task RetrieveIconsAsync_Processes10IconsAsync() + { + var htmlBuilder = new HtmlBuilder(); + var headBuilder = new HtmlBuilder("head"); + for (var i = 0; i < 11; i++) + { + headBuilder.Append(UsableLinkNode()); + } + htmlBuilder.Append(headBuilder); + var response = GetHttpResponseMessage(htmlBuilder.ToString()); + var sut = CurriedIconHttpResponse()(response); + + var result = await sut.RetrieveIconsAsync(new Uri("https://icon.test"), "icon.test", _parser); + + Assert.Equal(10, result.Count()); + } + + private static string UsableLinkNode() + { + return ""; + } + + private static string UnusableLinkNode() + { + // Empty href links are not usable + return ""; + } + + private static HttpResponseMessage GetHttpResponseMessage(string content) + { + return new HttpResponseMessage(HttpStatusCode.OK) + { + RequestMessage = new HttpRequestMessage(HttpMethod.Get, "https://icon.test"), + Content = new StringContent(content) + }; + } + + private Func CurriedIconHttpResponse() + { + return (HttpResponseMessage response) => new IconHttpResponse(response, NullLogger.Instance, UsableIconHttpClientFactory(), _mockedUriService); + } + + private static IHttpClientFactory UsableIconHttpClientFactory() + { + var substitute = Substitute.For(); + var handler = new MockedHttpMessageHandler(); + handler.Fallback + .WithStatusCode(HttpStatusCode.OK) + .WithContent("image/png", new byte[] { 137, 80, 78, 71 }); + + substitute.CreateClient("Icons").Returns(handler.ToHttpClient()); + return substitute; + } +} diff --git a/test/Icons.Test/Models/IconLinkTests.cs b/test/Icons.Test/Models/IconLinkTests.cs new file mode 100644 index 000000000000..db4399670c75 --- /dev/null +++ b/test/Icons.Test/Models/IconLinkTests.cs @@ -0,0 +1,85 @@ +using System.Net; +using AngleSharp.Dom; +using Bit.Icons.Models; +using Bit.Icons.Services; +using Microsoft.Extensions.Logging; +using NSubstitute; +using Xunit; + +namespace Bit.Icons.Test.Models; + +public class IconLinkTests +{ + private readonly IElement _element; + private readonly Uri _uri = new("https://icon.test"); + private readonly ILogger _logger = Substitute.For>(); + private readonly IHttpClientFactory _httpClientFactory; + private readonly IUriService _uriService; + private readonly string _baseUrlPath = "/"; + + public IconLinkTests() + { + _element = Substitute.For(); + _httpClientFactory = Substitute.For(); + _uriService = Substitute.For(); + _uriService.TryGetUri(Arg.Any(), out Arg.Any()).Returns(x => + { + x[1] = new IconUri(new Uri("https://icon.test"), IPAddress.Parse("192.0.2.1")); + return true; + }); + } + + [Fact] + public void WithNoHref_IsNotUsable() + { + _element.GetAttribute("href").Returns(string.Empty); + + var result = new IconLink(_element, _uri, _baseUrlPath).IsUsable(); + + Assert.False(result); + } + + [Theory] + [InlineData(null, false)] + [InlineData("", false)] + [InlineData(" ", false)] + [InlineData("unusable", false)] + [InlineData("ico", true)] + public void WithNoRel_IsUsable(string extension, bool expectedResult) + { + SetAttributeValue("href", $"/favicon.{extension}"); + + var result = new IconLink(_element, _uri, _baseUrlPath).IsUsable(); + + Assert.Equal(expectedResult, result); + } + + [Theory] + [InlineData("icon", true)] + [InlineData("stylesheet", false)] + public void WithRel_IsUsable(string rel, bool expectedResult) + { + SetAttributeValue("href", "/favicon.ico"); + SetAttributeValue("rel", rel); + + var result = new IconLink(_element, _uri, _baseUrlPath).IsUsable(); + + Assert.Equal(expectedResult, result); + } + + [Fact] + public void FetchAsync_Unvalidated_ReturnsNull() + { + var result = new IconLink(_element, _uri, _baseUrlPath).FetchAsync(_logger, _httpClientFactory, _uriService); + + Assert.Null(result.Result); + } + + private void SetAttributeValue(string attribute, string value) + { + var attr = Substitute.For(); + attr.Value.Returns(value); + + _element.Attributes[attribute].Returns(attr); + } +} diff --git a/test/Icons.Test/Models/IconUriTests.cs b/test/Icons.Test/Models/IconUriTests.cs new file mode 100644 index 000000000000..8363fc9bb9c5 --- /dev/null +++ b/test/Icons.Test/Models/IconUriTests.cs @@ -0,0 +1,22 @@ +using System.Net; +using Bit.Icons.Models; +using Xunit; + +namespace Bit.Icons.Test.Models; + +public class IconUriTests +{ + [Theory] + [InlineData("https://icon.test", "1.1.1.1", true)] + [InlineData("https://icon.test:4443", "1.1.1.1", false)] // Non standard port + [InlineData("http://test", "1.1.1.1", false)] // top level domain + [InlineData("https://icon.test", "127.0.0.1", false)] // IP is internal + [InlineData("https://icon.test", "::1", false)] // IP is internal + [InlineData("https://1.1.1.1", "::1", false)] // host is IP + public void IsValid(string uri, string ip, bool expectedResult) + { + var result = new IconUri(new Uri(uri), IPAddress.Parse(ip)).IsValid; + + Assert.Equal(expectedResult, result); + } +} diff --git a/test/Icons.Test/Services/IconFetchingServiceTests.cs b/test/Icons.Test/Services/IconFetchingServiceTests.cs index 59f25af24421..ad73a2cfc901 100644 --- a/test/Icons.Test/Services/IconFetchingServiceTests.cs +++ b/test/Icons.Test/Services/IconFetchingServiceTests.cs @@ -1,25 +1,25 @@ using Bit.Icons.Services; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; using Xunit; namespace Bit.Icons.Test.Services; -public class IconFetchingServiceTests +public class IconFetchingServiceTests : ServiceTestBase { [Theory] + [InlineData("www.twitter.com")] // https site [InlineData("www.google.com")] // https site [InlineData("neverssl.com")] // http site - [InlineData("ameritrade.com")] + [InlineData("neopets.com")] // uses favicon.ico + [InlineData("hopin.com")] // uses svg+xml format + [InlineData("ameritrade.com")] // redirects to tdameritrace.com [InlineData("icloud.com")] [InlineData("bofa.com", Skip = "Broken in pipeline for .NET 6. Tracking link: https://bitwarden.atlassian.net/browse/PS-982")] public async Task GetIconAsync_Success(string domain) { - var sut = new IconFetchingService(GetLogger()); + var sut = BuildSut(); var result = await sut.GetIconAsync(domain); Assert.NotNull(result); - Assert.NotNull(result.Icon); } [Theory] @@ -28,23 +28,12 @@ public async Task GetIconAsync_Success(string domain) [InlineData("localhost")] public async Task GetIconAsync_ReturnsNull(string domain) { - var sut = new IconFetchingService(GetLogger()); + var sut = BuildSut(); var result = await sut.GetIconAsync(domain); Assert.Null(result); } - private static ILogger GetLogger() - { - var services = new ServiceCollection(); - services.AddLogging(b => - { - b.ClearProviders(); - b.AddDebug(); - }); - - var provider = services.BuildServiceProvider(); - - return provider.GetRequiredService>(); - } + private IconFetchingService BuildSut() => + GetService(); } diff --git a/test/Icons.Test/Services/ServiceTestBase.cs b/test/Icons.Test/Services/ServiceTestBase.cs new file mode 100644 index 000000000000..37d816972eaa --- /dev/null +++ b/test/Icons.Test/Services/ServiceTestBase.cs @@ -0,0 +1,41 @@ +using Bit.Icons.Extensions; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace Bit.Icons.Test.Services; + +public class ServiceTestBase +{ + internal ServiceCollection _services = new(); + internal ServiceProvider _provider; + + public ServiceTestBase() + { + _services = new ServiceCollection(); + _services.AddLogging(b => + { + b.ClearProviders(); + b.AddDebug(); + }); + + _services.ConfigureHttpClients(); + _services.AddHtmlParsing(); + _services.AddServices(); + + _provider = _services.BuildServiceProvider(); + } + + public T GetService() => + _provider.GetRequiredService(); +} + +public class ServiceTestBase : ServiceTestBase where TSut : class +{ + public ServiceTestBase() : base() + { + _services.AddTransient(); + _provider = _services.BuildServiceProvider(); + } + + public TSut Sut => GetService(); +} diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json index 34252bde5b02..4bdc813b6c8e 100644 --- a/test/Icons.Test/packages.lock.json +++ b/test/Icons.Test/packages.lock.json @@ -46,11 +46,10 @@ }, "AngleSharp": { "type": "Transitive", - "resolved": "0.16.1", - "contentHash": "1k7Vbfmr5IUsGaR0QJwTe8XF9zacFUIoWxMgI4X/ipiyKxCWZJZoaG96fNEugL90iubvboRvE1IxuBPibET/Rg==", + "resolved": "1.0.4", + "contentHash": "G8R4C2MEDFQvjUbYz1QIcGfibjsTJnzP0aWy8iQgWWk7eKacYydCNGD3JMhVL0Q5pZQ9RYlqpKNESEU5NpqsRw==", "dependencies": { - "System.Buffers": "4.5.1", - "System.Text.Encoding.CodePages": "5.0.0" + "System.Text.Encoding.CodePages": "6.0.0" } }, "AspNetCoreRateLimit": { @@ -73,6 +72,33 @@ "StackExchange.Redis": "2.5.43" } }, + "AutoFixture": { + "type": "Transitive", + "resolved": "4.17.0", + "contentHash": "efMRCG3Epc4QDELwdmQGf6/caQUleRXPRCnLAq5gLMpTuOTcOQWV12vEJ8qo678Rj97/TjjxHYu/34rGkXdVAA==", + "dependencies": { + "Fare": "[2.1.1, 3.0.0)", + "System.ComponentModel.Annotations": "4.3.0" + } + }, + "AutoFixture.AutoNSubstitute": { + "type": "Transitive", + "resolved": "4.17.0", + "contentHash": "iWsRiDQ7T8s6F4mvYbSvPTq0GDtxJD6D+E1Fu9gVbHUvJiNikC1yIDNTH+3tQF7RK864HH/3R8ETj9m2X8UXvg==", + "dependencies": { + "AutoFixture": "4.17.0", + "NSubstitute": "[2.0.3, 5.0.0)" + } + }, + "AutoFixture.Xunit2": { + "type": "Transitive", + "resolved": "4.17.0", + "contentHash": "lrURL/LhJLPkn2tSPUEW8Wscr5LoV2Mr8A+ikn5gwkofex3o7qWUsBswlLw+KCA7EOpeqwZOldp3k91zDF+48Q==", + "dependencies": { + "AutoFixture": "4.17.0", + "xunit.extensibility.core": "[2.2.0, 3.0.0)" + } + }, "AutoMapper": { "type": "Transitive", "resolved": "12.0.1", @@ -113,8 +139,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -125,6 +151,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -149,6 +185,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -224,6 +272,14 @@ "Microsoft.Win32.Registry": "5.0.0" } }, + "Fare": { + "type": "Transitive", + "resolved": "2.1.1", + "contentHash": "HaI8puqA66YU7/9cK4Sgbs1taUTP1Ssa4QT2PIzqJ7GvAbN1QgkjbRsjH+FSbMh1MJdvS0CIwQNLtFT+KF6KpA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, "Fido2": { "type": "Transitive", "resolved": "3.0.1", @@ -304,6 +360,15 @@ "IdentityModel": "4.4.0" } }, + "Kralizek.AutoFixture.Extensions.MockHttp": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "6zmks7/5mVczazv910N7V2EdiU6B+rY61lwdgVO0o2iZuTI6KI3T+Hgkrjv0eGOKYucq2OMC+gnAc5Ej2ajoTQ==", + "dependencies": { + "AutoFixture": "4.11.0", + "RichardSzalay.MockHttp": "6.0.0" + } + }, "LaunchDarkly.Cache": { "type": "Transitive", "resolved": "1.0.2", @@ -434,12 +499,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -502,28 +563,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -892,16 +931,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1162,6 +1191,11 @@ "System.Diagnostics.DiagnosticSource": "4.7.1" } }, + "RichardSzalay.MockHttp": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bStGNqIX/MGYtML7K3EzdsE/k5HGVAcg7XgN23TQXGXqxNC9fvYFR94fA0sGM5hAT36R+BBGet6ZDQxXL/IPxg==" + }, "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { "type": "Transitive", "resolved": "4.3.2", @@ -1582,6 +1616,24 @@ "System.Runtime": "4.3.0" } }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "SY2RLItHt43rd8J9D8M8e8NM4m+9WLN2uUd9G0n1I4hj/7w+v3pzK6ZBjexlG1/2xvLKQsqir3UGVSyBTXMLWA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0" + } + }, "System.ComponentModel.Primitives": { "type": "Transitive", "resolved": "4.3.0", @@ -1661,34 +1713,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2129,42 +2153,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2182,37 +2170,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2385,16 +2342,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2628,10 +2575,10 @@ }, "System.Text.Encoding.CodePages": { "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", + "resolved": "6.0.0", + "contentHash": "ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" + "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "System.Text.Encoding.Extensions": { @@ -2707,10 +2654,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2803,30 +2750,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2913,82 +2836,94 @@ "NETStandard.Library": "1.6.1" } }, + "common": { + "type": "Project", + "dependencies": { + "AutoFixture.AutoNSubstitute": "[4.17.0, )", + "AutoFixture.Xunit2": "[4.17.0, )", + "Core": "[2023.7.2, )", + "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", + "Microsoft.NET.Test.Sdk": "[17.1.0, )", + "NSubstitute": "[4.3.0, )", + "xunit": "[2.4.1, )" + } + }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "icons": { "type": "Project", "dependencies": { - "AngleSharp": "[0.16.1, )", - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )" + "AngleSharp": "1.0.4", + "Core": "2023.7.2", + "SharedWeb": "2023.7.2" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs b/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs index 0a85acab7303..cae6ed172c36 100644 --- a/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs +++ b/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs @@ -33,7 +33,7 @@ public async Task WellKnownEndpoint_Success() using var body = await AssertHelper.AssertResponseTypeIs(context); var endpointRoot = body.RootElement; - // WARNING: Edits to this file should NOT just be made to "get the test to work" they should be made when intentional + // WARNING: Edits to this file should NOT just be made to "get the test to work" they should be made when intentional // changes were made to this endpoint and proper testing will take place to ensure clients are backwards compatible // or loss of functionality is properly noted. await using var fs = File.OpenRead("openid-configuration.json"); @@ -372,10 +372,10 @@ public async Task TokenEndpoint_GrantTypeClientCredentials_AsOrganization_BadOrg } /// - /// This test currently does not test any code that is not covered by other tests but + /// This test currently does not test any code that is not covered by other tests but /// it shows that we probably have some dead code in /// for installation, organization, and user they split on a '.' but have already checked that at least one - /// '.' exists in the client_id by checking it with + /// '.' exists in the client_id by checking it with /// I believe that idParts.Length > 1 will ALWAYS return true /// [Fact] @@ -488,9 +488,9 @@ public async Task TokenEndpoint_GrantTypeClientCredentials_AsInstallation_NoIdPa } [Theory, BitAutoData] - public async Task TokenEndpoint_ToQuickInOneSecond_BlockRequest(string deviceId) + public async Task TokenEndpoint_TooQuickInOneSecond_BlockRequest(string deviceId) { - const int AmountInOneSecondAllowed = 5; + const int AmountInOneSecondAllowed = 10; // The rule we are testing is 10 requests in 1 second var username = "test+ratelimiting@email.com"; @@ -514,9 +514,9 @@ await _factory.RegisterAsync(new RegisterRequestModel } var responses = (await Task.WhenAll(tasks)).ToList(); + var blockResponses = responses.Where(c => c.Response.StatusCode == StatusCodes.Status429TooManyRequests); - Assert.Equal(5, responses.Count(c => c.Response.StatusCode == StatusCodes.Status200OK)); - Assert.Equal(1, responses.Count(c => c.Response.StatusCode == StatusCodes.Status429TooManyRequests)); + Assert.True(blockResponses.Count() > 0); Task MakeRequest() { diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json index 3114f5007d89..2c9545098c71 100644 --- a/test/Identity.IntegrationTest/packages.lock.json +++ b/test/Identity.IntegrationTest/packages.lock.json @@ -143,8 +143,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -155,6 +155,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -179,6 +189,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -489,12 +511,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -557,28 +575,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -1056,16 +1052,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1874,34 +1860,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2342,42 +2300,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2395,37 +2317,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2598,16 +2489,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2920,10 +2801,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -3016,30 +2897,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -3129,101 +2986,101 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.7.2", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.5.1, )", - "Identity": "[2023.5.1, )", - "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", - "Microsoft.EntityFrameworkCore.InMemory": "[7.0.5, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )" + "Common": "2023.7.2", + "Identity": "2023.7.2", + "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", + "Microsoft.EntityFrameworkCore.InMemory": "7.0.5", + "Microsoft.Extensions.Configuration": "6.0.1" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json index 2649fa3e6252..083fcf3c41b3 100644 --- a/test/Identity.Test/packages.lock.json +++ b/test/Identity.Test/packages.lock.json @@ -132,8 +132,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -144,6 +144,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -168,6 +178,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -470,12 +492,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -538,28 +556,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -928,16 +924,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1741,34 +1727,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2209,42 +2167,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2262,37 +2184,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2465,16 +2356,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2787,10 +2668,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2883,30 +2764,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2996,91 +2853,91 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.7.2", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs index c1325af216d0..fd14cde65bea 100644 --- a/test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs @@ -10,7 +10,7 @@ using Bit.Infrastructure.EntityFramework.Vault.Models; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; -using Moq; +using NSubstitute; namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture; @@ -25,20 +25,16 @@ public ServiceScopeFactoryBuilder(DbContextOptions options) public object Create(object request, ISpecimenContext context) { var fixture = new Fixture(); - var serviceProvider = new Mock(); + var serviceProvider = Substitute.For(); var dbContext = new DatabaseContext(_options); - serviceProvider - .Setup(x => x.GetService(typeof(DatabaseContext))) - .Returns(dbContext); + serviceProvider.GetService(typeof(DatabaseContext)).Returns(dbContext); - var serviceScope = new Mock(); - serviceScope.Setup(x => x.ServiceProvider).Returns(serviceProvider.Object); + var serviceScope = Substitute.For(); + serviceScope.ServiceProvider.Returns(serviceProvider); - var serviceScopeFactory = new Mock(); - serviceScopeFactory - .Setup(x => x.CreateScope()) - .Returns(serviceScope.Object); - return serviceScopeFactory.Object; + var serviceScopeFactory = Substitute.For(); + serviceScopeFactory.CreateScope().Returns(serviceScope); + return serviceScopeFactory; } } diff --git a/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs b/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs index 4ee68aa8eee3..cc1dba46c13c 100644 --- a/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs +++ b/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.DataProtection; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; -using Moq; +using NSubstitute; namespace Bit.Infrastructure.EFIntegration.Test.Helpers; @@ -18,17 +18,17 @@ static DatabaseOptionsFactory() var services = new ServiceCollection() .AddSingleton(sp => { - var dataProtector = new Mock(); - dataProtector - .Setup(d => d.Unprotect(It.IsAny())) - .Returns(data => Encoding.UTF8.GetBytes(Constants.DatabaseFieldProtectedPrefix + Encoding.UTF8.GetString(data))); + var dataProtector = Substitute.For(); + dataProtector.Unprotect(Arg.Any()) + .Returns(data => + Encoding.UTF8.GetBytes(Constants.DatabaseFieldProtectedPrefix + + Encoding.UTF8.GetString((byte[])data[0]))); - var dataProtectionProvider = new Mock(); - dataProtectionProvider - .Setup(x => x.CreateProtector(Constants.DatabaseFieldProtectorPurpose)) - .Returns(dataProtector.Object); + var dataProtectionProvider = Substitute.For(); + dataProtectionProvider.CreateProtector(Constants.DatabaseFieldProtectorPurpose) + .Returns(dataProtector); - return dataProtectionProvider.Object; + return dataProtectionProvider; }) .BuildServiceProvider(); diff --git a/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj b/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj index 352e8b6824ab..9ce0eb7552eb 100644 --- a/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj +++ b/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj @@ -8,7 +8,6 @@ all - diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs index b1ee1cbc9bee..4f3b912b6ec0 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs @@ -274,7 +274,7 @@ SqlRepo.ProviderUserRepository sqlProviderUserRepo } // Act - var result = await orgUserRepos[i].GetByUserIdWithPolicyDetailsAsync(savedUser.Id); + var result = await orgUserRepos[i].GetByUserIdWithPolicyDetailsAsync(savedUser.Id, policy.Type); results.Add(result.FirstOrDefault()); } diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json index f7fbc98c6888..377737a92f74 100644 --- a/test/Infrastructure.EFIntegration.Test/packages.lock.json +++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json @@ -38,16 +38,6 @@ "Microsoft.TestPlatform.TestHost": "17.1.0" } }, - "Moq": { - "type": "Direct", - "requested": "[4.17.2, )", - "resolved": "4.17.2", - "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", - "dependencies": { - "Castle.Core": "4.4.1", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, "NSubstitute": { "type": "Direct", "requested": "[4.3.0, )", @@ -143,8 +133,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -155,6 +145,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -179,6 +179,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -481,12 +493,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -549,28 +557,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -939,16 +925,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1731,34 +1707,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2199,42 +2147,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2252,37 +2164,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2455,16 +2336,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2777,10 +2648,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2873,30 +2744,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2988,7 +2835,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", + "Core": "[2023.7.2, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3003,6 +2850,7 @@ "AspNetCoreRateLimit": "[4.0.2, )", "AspNetCoreRateLimit.Redis": "[1.0.1, )", "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", + "Azure.Messaging.ServiceBus": "[7.15.0, )", "Azure.Storage.Blobs": "[12.14.1, )", "Azure.Storage.Queues": "[12.12.0, )", "BitPay.Light": "[1.0.1907, )", @@ -3017,7 +2865,6 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", "Microsoft.Data.SqlClient": "[5.0.1, )", "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", @@ -3042,11 +2889,10 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.5.1, )", - "Core": "[2023.5.1, )", + "Common": "[2023.7.2, )", + "Core": "[2023.7.2, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "Moq": "[4.17.2, )", "NSubstitute": "[4.3.0, )", "xunit": "[2.4.1, )" } @@ -3054,7 +2900,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", + "Core": "[2023.7.2, )", "Dapper": "[2.0.123, )" } }, @@ -3062,7 +2908,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", + "Core": "[2023.7.2, )", "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", diff --git a/test/Infrastructure.IntegrationTest/packages.lock.json b/test/Infrastructure.IntegrationTest/packages.lock.json index 1572181642a3..0bde31c886ba 100644 --- a/test/Infrastructure.IntegrationTest/packages.lock.json +++ b/test/Infrastructure.IntegrationTest/packages.lock.json @@ -132,8 +132,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -144,6 +144,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -168,6 +178,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -436,12 +458,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -504,28 +522,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -861,16 +857,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1590,34 +1576,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2059,42 +2017,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2112,37 +2034,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2315,16 +2206,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2637,10 +2518,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2733,30 +2614,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2846,63 +2703,63 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json index 40cb807ff911..2f20ff8c8a85 100644 --- a/test/IntegrationTestCommon/packages.lock.json +++ b/test/IntegrationTestCommon/packages.lock.json @@ -119,8 +119,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -131,6 +131,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -155,6 +165,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -465,12 +487,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -533,28 +551,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -1015,16 +1011,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1850,34 +1836,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2318,42 +2276,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2371,37 +2293,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2574,16 +2465,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2896,10 +2777,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2992,30 +2873,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -3115,91 +2972,91 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.5.1, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.7.2", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "SharedWeb": "[2023.5.1, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Dapper": "[2.0.123, )" + "Core": "2023.7.2", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Infrastructure.Dapper": "[2023.5.1, )", - "Infrastructure.EntityFramework": "[2023.5.1, )" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/util/Attachments/Dockerfile b/util/Attachments/Dockerfile index c3a31f4f8780..2d99aa59114b 100644 --- a/util/Attachments/Dockerfile +++ b/util/Attachments/Dockerfile @@ -1,4 +1,4 @@ -FROM bitwarden/server:dev +FROM bitwarden/server:latest LABEL com.bitwarden.product="bitwarden" diff --git a/util/Migrator/DbScripts/2023-07-17_00_DeleteUserSproc.sql b/util/Migrator/DbScripts/2023-07-17_00_DeleteUserSproc.sql new file mode 100644 index 000000000000..cbfb972901e5 --- /dev/null +++ b/util/Migrator/DbScripts/2023-07-17_00_DeleteUserSproc.sql @@ -0,0 +1,136 @@ +IF OBJECT_ID('[dbo].[User_DeleteById]') IS NOT NULL + BEGIN + DROP PROCEDURE [dbo].[User_DeleteById] +END +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +CREATE PROCEDURE [dbo].[User_DeleteById] + @Id UNIQUEIDENTIFIER +WITH + RECOMPILE +AS +BEGIN + SET NOCOUNT ON + DECLARE @BatchSize INT = 100 + + -- Delete ciphers + WHILE @BatchSize > 0 + BEGIN + BEGIN TRANSACTION User_DeleteById_Ciphers + + DELETE TOP(@BatchSize) + FROM + [dbo].[Cipher] + WHERE + [UserId] = @Id + + SET @BatchSize = @@ROWCOUNT + + COMMIT TRANSACTION User_DeleteById_Ciphers + END + + BEGIN TRANSACTION User_DeleteById + + -- Delete folders + DELETE + FROM + [dbo].[Folder] + WHERE + [UserId] = @Id + + -- Delete AuthRequest, must be before Device + DELETE + FROM + [dbo].[AuthRequest] + WHERE + [UserId] = @Id + + -- Delete devices + DELETE + FROM + [dbo].[Device] + WHERE + [UserId] = @Id + + -- Delete collection users + DELETE + CU + FROM + [dbo].[CollectionUser] CU + INNER JOIN + [dbo].[OrganizationUser] OU ON OU.[Id] = CU.[OrganizationUserId] + WHERE + OU.[UserId] = @Id + + -- Delete group users + DELETE + GU + FROM + [dbo].[GroupUser] GU + INNER JOIN + [dbo].[OrganizationUser] OU ON OU.[Id] = GU.[OrganizationUserId] + WHERE + OU.[UserId] = @Id + + -- Delete AccessPolicy + DELETE + AP + FROM + [dbo].[AccessPolicy] AP + INNER JOIN + [dbo].[OrganizationUser] OU ON OU.[Id] = AP.[OrganizationUserId] + WHERE + [UserId] = @Id + + -- Delete organization users + DELETE + FROM + [dbo].[OrganizationUser] + WHERE + [UserId] = @Id + + -- Delete provider users + DELETE + FROM + [dbo].[ProviderUser] + WHERE + [UserId] = @Id + + -- Delete SSO Users + DELETE + FROM + [dbo].[SsoUser] + WHERE + [UserId] = @Id + + -- Delete Emergency Accesses + DELETE + FROM + [dbo].[EmergencyAccess] + WHERE + [GrantorId] = @Id + OR + [GranteeId] = @Id + + -- Delete Sends + DELETE + FROM + [dbo].[Send] + WHERE + [UserId] = @Id + + -- Finally, delete the user + DELETE + FROM + [dbo].[User] + WHERE + [Id] = @Id + + COMMIT TRANSACTION User_DeleteById +END + diff --git a/util/Migrator/DbScripts/2023-08-16_00_HotfixRevertOrganizationUserReadByUserIdWithPolicyDetails.sql b/util/Migrator/DbScripts/2023-08-16_00_HotfixRevertOrganizationUserReadByUserIdWithPolicyDetails.sql new file mode 100644 index 000000000000..7da87f4aef0b --- /dev/null +++ b/util/Migrator/DbScripts/2023-08-16_00_HotfixRevertOrganizationUserReadByUserIdWithPolicyDetails.sql @@ -0,0 +1,35 @@ +CREATE OR ALTER PROCEDURE [dbo].[OrganizationUser_ReadByUserIdWithPolicyDetails] + @UserId UNIQUEIDENTIFIER, + @PolicyType TINYINT +AS +BEGIN + SET NOCOUNT ON +SELECT + OU.[Id] AS OrganizationUserId, + P.[OrganizationId], + P.[Type] AS PolicyType, + P.[Enabled] AS PolicyEnabled, + P.[Data] AS PolicyData, + OU.[Type] AS OrganizationUserType, + OU.[Status] AS OrganizationUserStatus, + OU.[Permissions] AS OrganizationUserPermissionsData, + CASE WHEN EXISTS ( + SELECT 1 + FROM [dbo].[ProviderUserView] PU + INNER JOIN [dbo].[ProviderOrganizationView] PO ON PO.[ProviderId] = PU.[ProviderId] + WHERE PU.[UserId] = OU.[UserId] AND PO.[OrganizationId] = P.[OrganizationId] + ) THEN 1 ELSE 0 END AS IsProvider +FROM [dbo].[PolicyView] P +INNER JOIN [dbo].[OrganizationUserView] OU + ON P.[OrganizationId] = OU.[OrganizationId] +WHERE P.[Type] = @PolicyType AND + ( + (OU.[Status] != 0 AND OU.[UserId] = @UserId) -- OrgUsers who have accepted their invite and are linked to a UserId + OR EXISTS ( + SELECT 1 + FROM [dbo].[UserView] U + WHERE U.[Id] = @UserId AND OU.[Email] = U.[Email] AND OU.[Status] = 0 -- 'Invited' OrgUsers are not linked to a UserId yet, so we have to look up their email + ) + ) +END +GO \ No newline at end of file diff --git a/util/Migrator/packages.lock.json b/util/Migrator/packages.lock.json index 4d2b77d60c09..2b74b28fd341 100644 --- a/util/Migrator/packages.lock.json +++ b/util/Migrator/packages.lock.json @@ -69,8 +69,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -81,6 +81,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -105,6 +115,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -363,12 +385,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -431,18 +449,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, "Microsoft.Azure.Services.AppAuthentication": { "type": "Transitive", "resolved": "1.6.2", @@ -1899,42 +1905,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2658,43 +2628,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/util/MsSqlMigratorUtility/packages.lock.json b/util/MsSqlMigratorUtility/packages.lock.json index 75381fc2f765..bbe3aebd9b5c 100644 --- a/util/MsSqlMigratorUtility/packages.lock.json +++ b/util/MsSqlMigratorUtility/packages.lock.json @@ -72,8 +72,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -84,6 +84,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -108,6 +118,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -376,12 +398,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -444,18 +462,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, "Microsoft.Azure.Services.AppAuthentication": { "type": "Transitive", "resolved": "1.6.2", @@ -1928,42 +1934,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2687,51 +2657,51 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "migrator": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "dbup-sqlserver": "[5.0.8, )" + "Core": "2023.7.2", + "Microsoft.Extensions.Logging": "6.0.0", + "dbup-sqlserver": "5.0.8" } } } diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json index 01bbb519e2f1..09909b0f05b4 100644 --- a/util/MySqlMigrations/packages.lock.json +++ b/util/MySqlMigrations/packages.lock.json @@ -74,8 +74,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -86,6 +86,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -110,6 +120,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -378,12 +400,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -446,28 +464,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -831,16 +827,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1550,34 +1536,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2019,42 +1977,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2072,37 +1994,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2270,16 +2161,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2592,10 +2473,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2688,30 +2569,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2756,56 +2613,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json index 01bbb519e2f1..09909b0f05b4 100644 --- a/util/PostgresMigrations/packages.lock.json +++ b/util/PostgresMigrations/packages.lock.json @@ -74,8 +74,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -86,6 +86,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -110,6 +120,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -378,12 +400,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -446,28 +464,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -831,16 +827,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1550,34 +1536,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2019,42 +1977,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2072,37 +1994,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2270,16 +2161,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2592,10 +2473,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2688,30 +2569,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2756,56 +2613,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json index 7aa41a2af89e..8dafc505b3d2 100644 --- a/util/Setup/packages.lock.json +++ b/util/Setup/packages.lock.json @@ -73,8 +73,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -85,6 +85,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -109,6 +119,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -369,12 +391,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -437,18 +455,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, "Microsoft.Azure.Services.AppAuthentication": { "type": "Transitive", "resolved": "1.6.2", @@ -1905,42 +1911,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2664,51 +2634,51 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "migrator": { "type": "Project", "dependencies": { - "Core": "[2023.5.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "dbup-sqlserver": "[5.0.8, )" + "Core": "2023.7.2", + "Microsoft.Extensions.Logging": "6.0.0", + "dbup-sqlserver": "5.0.8" } } } diff --git a/util/SqlServerEFScaffold/packages.lock.json b/util/SqlServerEFScaffold/packages.lock.json index f55a233246f3..a15ccb465748 100644 --- a/util/SqlServerEFScaffold/packages.lock.json +++ b/util/SqlServerEFScaffold/packages.lock.json @@ -142,8 +142,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -156,10 +156,12 @@ }, "Azure.Core.Amqp": { "type": "Transitive", - "resolved": "1.2.0", - "contentHash": "vrF4isvhwdZspzorLwYhukXz3DA8/ONSnZUIBAqBtOCzsDNUgAsuILbCzvtDrn2oDxyq7DZx5Nh81pe0BeWmDQ==", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", "dependencies": { - "System.Memory": "4.5.4" + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" } }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { @@ -214,12 +216,12 @@ }, "Azure.Messaging.ServiceBus": { "type": "Transitive", - "resolved": "7.11.1", - "contentHash": "ioGedXeH8KK4HdTDEyOzdgNbEXGstGItVljI1EKYsz08sgwej6LpODCZmwPR2ui1fjXBWt8Zea0RJT4d9LwlMg==", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", "dependencies": { - "Azure.Core": "1.25.0", - "Azure.Core.Amqp": "1.2.0", - "Microsoft.Azure.Amqp": "2.5.12", + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Memory.Data": "1.0.2" } @@ -506,8 +508,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.5.12", - "contentHash": "0SlEl+TSQdpjXWf9/37dXWAa0zk6R1EJKmGtGZeKUAH7WEQpJOWMxJ9I43igcBCnTkFwa28CdPnpSCjFZVQlkw==" + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -570,28 +572,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -975,16 +955,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1744,34 +1714,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2230,37 +2172,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2424,16 +2335,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2751,10 +2652,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2847,30 +2748,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2923,25 +2800,25 @@ "AspNetCore.HealthChecks.SqlServer": "6.0.2", "AspNetCore.HealthChecks.Uris": "6.0.3", "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2023.5.1", - "Commercial.Infrastructure.EntityFramework": "2023.5.1", - "Core": "2023.5.1", - "SharedWeb": "2023.5.1", + "Commercial.Core": "2023.7.2", + "Commercial.Infrastructure.EntityFramework": "2023.7.2", + "Core": "2023.7.2", + "SharedWeb": "2023.7.2", "Swashbuckle.AspNetCore": "6.5.0" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2023.5.1" + "Core": "2023.7.2" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", - "Core": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } }, "core": { @@ -2952,6 +2829,7 @@ "AspNetCoreRateLimit": "4.0.2", "AspNetCoreRateLimit.Redis": "1.0.1", "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", "Azure.Storage.Blobs": "12.14.1", "Azure.Storage.Queues": "12.12.0", "BitPay.Light": "1.0.1907", @@ -2966,7 +2844,6 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", "Microsoft.Azure.Cosmos.Table": "1.0.8", "Microsoft.Azure.NotificationHubs": "4.1.0", - "Microsoft.Azure.ServiceBus": "5.2.0", "Microsoft.Data.SqlClient": "5.0.1", "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", @@ -2989,29 +2866,29 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2023.5.1", + "Core": "2023.7.2", "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "2023.5.1", - "Infrastructure.Dapper": "2023.5.1", - "Infrastructure.EntityFramework": "2023.5.1" + "Core": "2023.7.2", + "Infrastructure.Dapper": "2023.7.2", + "Infrastructure.EntityFramework": "2023.7.2" } } } diff --git a/util/SqliteMigrations/packages.lock.json b/util/SqliteMigrations/packages.lock.json index 01bbb519e2f1..09909b0f05b4 100644 --- a/util/SqliteMigrations/packages.lock.json +++ b/util/SqliteMigrations/packages.lock.json @@ -74,8 +74,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.30.0", - "contentHash": "w5Z2uTASP+EsnG4kqQsYtKTf41x1czIu1CgPuDQdHILxCk+IP2DiXazUcfTqr6kebi7S6ah927mrQx1nT/4bnw==", + "resolved": "1.32.0", + "contentHash": "NmnJxaNqKjPwnHXngVg63SrkwbJXrkT0mcK8uCx9rSq0nK6Q3Q+/GZRCaTWcdcECoRP5XK0lr3Ce8PZkHkuHNg==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -86,6 +86,16 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Core.Amqp": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "6GG4gyFkAuHtpBVkvj0wE5+lCM+ttsZlIWAipBkI+jlCUlTgrTiNUROBFnb8xuKoymVDw9Tf1W8RoKqgbd71lg==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.6.1", + "System.Memory": "4.5.4", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Extensions.AspNetCore.DataProtection.Blobs": { "type": "Transitive", "resolved": "1.3.2", @@ -110,6 +120,18 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, + "Azure.Messaging.ServiceBus": { + "type": "Transitive", + "resolved": "7.15.0", + "contentHash": "K2SONtHZSQL3bAbhSBLkNzvh6XsTPK1wXfNjUiZQaJciqX6827kfmJ4DkA3ZZjW+zNaPfGMWVI9zL9berJ4ibg==", + "dependencies": { + "Azure.Core": "1.32.0", + "Azure.Core.Amqp": "1.3.0", + "Microsoft.Azure.Amqp": "2.6.2", + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Memory.Data": "1.0.2" + } + }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.14.1", @@ -378,12 +400,8 @@ }, "Microsoft.Azure.Amqp": { "type": "Transitive", - "resolved": "2.4.11", - "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", - "dependencies": { - "System.Net.WebSockets.Client": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } + "resolved": "2.6.2", + "contentHash": "6hQqWRiHRd9J6pGBlzQM9LBOWaO8xIsRVYs3olrDGqOkK7v9mgwz9rmrv+49FIbLEOGgkP9IKLnXdsA4Y8IIYw==" }, "Microsoft.Azure.Cosmos": { "type": "Transitive", @@ -446,28 +464,6 @@ "Newtonsoft.Json": "12.0.3" } }, - "Microsoft.Azure.ServiceBus": { - "type": "Transitive", - "resolved": "5.2.0", - "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", - "dependencies": { - "Microsoft.Azure.Amqp": "2.4.11", - "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", - "Newtonsoft.Json": "10.0.3", - "System.Diagnostics.DiagnosticSource": "4.5.1", - "System.IdentityModel.Tokens.Jwt": "5.4.0" - } - }, - "Microsoft.Azure.Services.AppAuthentication": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", - "dependencies": { - "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", - "NETStandard.Library": "1.6.1", - "System.Diagnostics.Process": "4.3.0" - } - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "1.1.1", @@ -831,16 +827,6 @@ "resolved": "6.21.0", "contentHash": "XeE6LQtD719Qs2IG7HDi1TSw9LIkDbJ33xFiOBoHbApVw/8GpIBCbW+t7RwOjErUDyXZvjhZliwRkkLb8Z1uzg==" }, - "Microsoft.IdentityModel.Clients.ActiveDirectory": { - "type": "Transitive", - "resolved": "3.14.2", - "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Runtime.Serialization.Json": "4.0.2", - "System.Runtime.Serialization.Primitives": "4.1.1" - } - }, "Microsoft.IdentityModel.JsonWebTokens": { "type": "Transitive", "resolved": "6.21.0", @@ -1550,34 +1536,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "System.Diagnostics.Process": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -2019,42 +1977,6 @@ "System.Runtime.Extensions": "4.1.0" } }, - "System.Net.WebSockets": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - } - }, - "System.Net.WebSockets.Client": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - } - }, "System.Numerics.Vectors": { "type": "Transitive", "resolved": "4.5.0", @@ -2072,37 +1994,6 @@ "System.Threading": "4.3.0" } }, - "System.Private.DataContractSerialization": { - "type": "Transitive", - "resolved": "4.1.1", - "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - } - }, "System.Reflection": { "type": "Transitive", "resolved": "4.3.0", @@ -2270,16 +2161,6 @@ "System.Runtime.Extensions": "4.3.0" } }, - "System.Runtime.Serialization.Json": { - "type": "Transitive", - "resolved": "4.0.2", - "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0" - } - }, "System.Runtime.Serialization.Primitives": { "type": "Transitive", "resolved": "4.1.1", @@ -2592,10 +2473,10 @@ }, "System.Threading.Thread": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "resolved": "4.0.0", + "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", "dependencies": { - "System.Runtime": "4.3.0" + "System.Runtime": "4.1.0" } }, "System.Threading.ThreadPool": { @@ -2688,30 +2569,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "System.Xml.XmlSerializer": { - "type": "Transitive", - "resolved": "4.0.11", - "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - } - }, "System.Xml.XPath": { "type": "Transitive", "resolved": "4.3.0", @@ -2756,56 +2613,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.12.0, )", - "DnsClient": "[1.7.0, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "IdentityServer4": "[4.1.2, )", - "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", - "MailKit": "[3.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Azure.ServiceBus": "[5.2.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "DnsClient": "1.7.0", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "LaunchDarkly.ServerSdk": "7.0.0", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.5.1, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.7.2", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } }