From 27adaf59b4767acde150cab084f2660e4b92c52c Mon Sep 17 00:00:00 2001 From: Matt Bishop Date: Thu, 2 Mar 2023 14:04:23 -0500 Subject: [PATCH] [PM-1011] LaunchDarkly service (#2726) * LaunchDarkly service * Load file-based flag values, properly support offline only when self-host * Simplify tests * Use interface for LD settings * Remove tests that will provide inconsistent results depending on machine setup and file fallback * Fall back to offline mode more actively * Drive fallback file path with setting --- .../src/Commercial.Core/packages.lock.json | 57 +++++++++++- .../packages.lock.json | 55 +++++++++++- bitwarden_license/src/Scim/packages.lock.json | 63 ++++++++++++-- bitwarden_license/src/Sso/packages.lock.json | 63 ++++++++++++-- .../Commercial.Core.Test/packages.lock.json | 65 ++++++++++++-- .../Scim.IntegrationTest/packages.lock.json | 77 +++++++++++++--- .../test/Scim.Test/packages.lock.json | 69 +++++++++++++-- perf/MicroBenchmarks/packages.lock.json | 53 +++++++++++ src/Admin/packages.lock.json | 53 +++++++++++ src/Api/packages.lock.json | 69 +++++++++++++-- src/Billing/packages.lock.json | 63 ++++++++++++-- src/Core/Core.csproj | 1 + src/Core/Services/IFeatureService.cs | 6 ++ .../LaunchDarklyFeatureService.cs | 54 ++++++++++++ src/Core/Settings/GlobalSettings.cs | 7 ++ src/Core/Settings/IGlobalSettings.cs | 1 + src/Core/Settings/ILaunchDarklySettings.cs | 7 ++ src/Core/packages.lock.json | 57 +++++++++++- src/Events/packages.lock.json | 63 ++++++++++++-- src/EventsProcessor/packages.lock.json | 63 ++++++++++++-- src/Icons/packages.lock.json | 63 ++++++++++++-- src/Identity/packages.lock.json | 63 ++++++++++++-- src/Infrastructure.Dapper/packages.lock.json | 57 +++++++++++- .../packages.lock.json | 53 +++++++++++ src/Notifications/packages.lock.json | 63 ++++++++++++-- .../Utilities/ServiceCollectionExtensions.cs | 1 + src/SharedWeb/packages.lock.json | 57 +++++++++++- test/Api.IntegrationTest/packages.lock.json | 87 +++++++++++++++---- test/Api.Test/packages.lock.json | 83 ++++++++++++++---- test/Billing.Test/packages.lock.json | 69 +++++++++++++-- test/Common/packages.lock.json | 57 +++++++++++- .../LaunchDarklyFeatureServiceTests.cs | 28 ++++++ test/Core.Test/packages.lock.json | 59 ++++++++++++- test/Icons.Test/packages.lock.json | 67 ++++++++++++-- .../packages.lock.json | 73 +++++++++++++--- test/Identity.Test/packages.lock.json | 69 +++++++++++++-- .../packages.lock.json | 63 ++++++++++++-- .../packages.lock.json | 57 +++++++++++- test/IntegrationTestCommon/packages.lock.json | 69 +++++++++++++-- util/Migrator/packages.lock.json | 57 +++++++++++- util/MySqlMigrations/packages.lock.json | 55 +++++++++++- util/PostgresMigrations/packages.lock.json | 55 +++++++++++- util/Setup/packages.lock.json | 57 +++++++++++- util/SqlServerEFScaffold/packages.lock.json | 77 +++++++++++++--- util/SqliteMigrations/packages.lock.json | 55 +++++++++++- 45 files changed, 2253 insertions(+), 187 deletions(-) create mode 100644 src/Core/Services/IFeatureService.cs create mode 100644 src/Core/Services/Implementations/LaunchDarklyFeatureService.cs create mode 100644 src/Core/Settings/ILaunchDarklySettings.cs create mode 100644 test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs diff --git a/bitwarden_license/src/Commercial.Core/packages.lock.json b/bitwarden_license/src/Commercial.Core/packages.lock.json index 3bd4c03af..508f0f6c2 100644 --- a/bitwarden_license/src/Commercial.Core/packages.lock.json +++ b/bitwarden_license/src/Commercial.Core/packages.lock.json @@ -214,6 +214,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1266,8 +1318,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2566,6 +2618,7 @@ "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, )", diff --git a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json index 9a1d2310a..101abb2fd 100644 --- a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json +++ b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json @@ -232,6 +232,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2739,6 +2791,7 @@ "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, )", @@ -2767,7 +2820,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json index a68dd3d1e..9ad69109a 100644 --- a/bitwarden_license/src/Scim/packages.lock.json +++ b/bitwarden_license/src/Scim/packages.lock.json @@ -253,6 +253,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3015,6 +3067,7 @@ "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, )", @@ -3042,7 +3095,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3050,7 +3103,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3062,9 +3115,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json index 679027d57..d5113fa3c 100644 --- a/bitwarden_license/src/Sso/packages.lock.json +++ b/bitwarden_license/src/Sso/packages.lock.json @@ -248,6 +248,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2885,6 +2937,7 @@ "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, )", @@ -2912,7 +2965,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2920,7 +2973,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2932,9 +2985,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json index 5699c2e8a..c455dcd5c 100644 --- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json +++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json @@ -308,6 +308,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1410,8 +1462,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2803,7 +2855,7 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )" + "Core": "[2023.2.0, )" } }, "common": { @@ -2811,7 +2863,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -2835,6 +2887,7 @@ "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, )", @@ -2864,8 +2917,8 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.1.0, )", - "Core": "[2023.1.0, )", + "Common": "[2023.2.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "Moq": "[4.17.2, )", diff --git a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json index 00e5f26b9..af733e55c 100644 --- a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json +++ b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json @@ -359,6 +359,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3395,7 +3447,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3419,6 +3471,7 @@ "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, )", @@ -3446,15 +3499,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3462,7 +3515,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3474,8 +3527,8 @@ "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.1.0, )", - "Identity": "[2023.1.0, )", + "Common": "[2023.2.0, )", + "Identity": "[2023.2.0, )", "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", "Microsoft.EntityFrameworkCore.InMemory": "[6.0.5, )", "Microsoft.Extensions.Configuration": "[6.0.1, )" @@ -3484,17 +3537,17 @@ "scim": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "[5.0.2, )", - "SharedWeb": "[2023.1.0, )" + "SharedWeb": "[2023.2.0, )" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/bitwarden_license/test/Scim.Test/packages.lock.json b/bitwarden_license/test/Scim.Test/packages.lock.json index 8c8143f8f..95596f297 100644 --- a/bitwarden_license/test/Scim.Test/packages.lock.json +++ b/bitwarden_license/test/Scim.Test/packages.lock.json @@ -347,6 +347,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3240,7 +3292,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3264,6 +3316,7 @@ "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, )", @@ -3291,7 +3344,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3299,7 +3352,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3311,17 +3364,17 @@ "scim": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "[5.0.2, )", - "SharedWeb": "[2023.1.0, )" + "SharedWeb": "[2023.2.0, )" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json index d19999b14..727b2f4f4 100644 --- a/perf/MicroBenchmarks/packages.lock.json +++ b/perf/MicroBenchmarks/packages.lock.json @@ -249,6 +249,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2673,6 +2725,7 @@ "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, )", diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json index ca31e6889..1a211886b 100644 --- a/src/Admin/packages.lock.json +++ b/src/Admin/packages.lock.json @@ -295,6 +295,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3349,6 +3401,7 @@ "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, )", diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index e540064cd..5df8f48e9 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -259,6 +259,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2783,15 +2835,15 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )" + "Core": "[2023.2.0, )" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } }, "core": { @@ -2811,6 +2863,7 @@ "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, )", @@ -2838,7 +2891,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2846,7 +2899,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2858,9 +2911,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json index dc46ffb62..738ec4aac 100644 --- a/src/Billing/packages.lock.json +++ b/src/Billing/packages.lock.json @@ -256,6 +256,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3262,6 +3314,7 @@ "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, )", @@ -3289,7 +3342,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3297,7 +3350,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3309,9 +3362,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 1ddc93a95..0ffe4700e 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -56,6 +56,7 @@ + diff --git a/src/Core/Services/IFeatureService.cs b/src/Core/Services/IFeatureService.cs new file mode 100644 index 000000000..956eab917 --- /dev/null +++ b/src/Core/Services/IFeatureService.cs @@ -0,0 +1,6 @@ +namespace Bit.Core.Services; + +public interface IFeatureService +{ + bool IsOnline(); +} diff --git a/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs b/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs new file mode 100644 index 000000000..d69a91681 --- /dev/null +++ b/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs @@ -0,0 +1,54 @@ +using Bit.Core.Settings; +using LaunchDarkly.Sdk.Server; +using LaunchDarkly.Sdk.Server.Integrations; + +namespace Bit.Core.Services; + +public class LaunchDarklyFeatureService : IFeatureService, IDisposable +{ + private readonly LdClient _client; + + public LaunchDarklyFeatureService( + IGlobalSettings globalSettings) + { + var ldConfig = Configuration.Builder(globalSettings.LaunchDarkly?.SdkKey); + + if (string.IsNullOrEmpty(globalSettings.LaunchDarkly?.SdkKey)) + { + // support a file to load flag values + if (File.Exists(globalSettings.LaunchDarkly?.FlagDataFilePath)) + { + ldConfig.DataSource( + FileData.DataSource() + .FilePaths(globalSettings.LaunchDarkly?.FlagDataFilePath) + .AutoUpdate(true) + ); + + // do not provide analytics events + ldConfig.Events(Components.NoEvents); + } + else + { + // when a file-based fallback isn't available, work offline + ldConfig.Offline(true); + } + } + else if (globalSettings.SelfHosted) + { + // when self-hosted, work offline + ldConfig.Offline(true); + } + + _client = new LdClient(ldConfig.Build()); + } + + public bool IsOnline() + { + return _client.Initialized && !_client.IsOffline(); + } + + public void Dispose() + { + _client?.Dispose(); + } +} diff --git a/src/Core/Settings/GlobalSettings.cs b/src/Core/Settings/GlobalSettings.cs index 44820c304..975a7f56f 100644 --- a/src/Core/Settings/GlobalSettings.cs +++ b/src/Core/Settings/GlobalSettings.cs @@ -77,6 +77,7 @@ public class GlobalSettings : IGlobalSettings new DistributedIpRateLimitingSettings(); public virtual IPasswordlessAuthSettings PasswordlessAuth { get; set; } = new PasswordlessAuthSettings(); public virtual IDomainVerificationSettings DomainVerification { get; set; } = new DomainVerificationSettings(); + public virtual ILaunchDarklySettings LaunchDarkly { get; set; } = new LaunchDarklySettings(); public string BuildExternalUri(string explicitValue, string name) { @@ -538,4 +539,10 @@ public class GlobalSettings : IGlobalSettings public int VerificationInterval { get; set; } = 12; public int ExpirationPeriod { get; set; } = 7; } + + public class LaunchDarklySettings : ILaunchDarklySettings + { + public string SdkKey { get; set; } + public string FlagDataFilePath { get; set; } = "flags.json"; + } } diff --git a/src/Core/Settings/IGlobalSettings.cs b/src/Core/Settings/IGlobalSettings.cs index 49d016253..4ee2fe305 100644 --- a/src/Core/Settings/IGlobalSettings.cs +++ b/src/Core/Settings/IGlobalSettings.cs @@ -17,4 +17,5 @@ public interface IGlobalSettings ILogLevelSettings MinLogLevel { get; set; } IPasswordlessAuthSettings PasswordlessAuth { get; set; } IDomainVerificationSettings DomainVerification { get; set; } + ILaunchDarklySettings LaunchDarkly { get; set; } } diff --git a/src/Core/Settings/ILaunchDarklySettings.cs b/src/Core/Settings/ILaunchDarklySettings.cs new file mode 100644 index 000000000..e395a6965 --- /dev/null +++ b/src/Core/Settings/ILaunchDarklySettings.cs @@ -0,0 +1,7 @@ +namespace Bit.Core.Settings; + +public interface ILaunchDarklySettings +{ + public string SdkKey { get; set; } + public string FlagDataFilePath { get; set; } +} diff --git a/src/Core/packages.lock.json b/src/Core/packages.lock.json index 3d85dc378..63f5b7bc2 100644 --- a/src/Core/packages.lock.json +++ b/src/Core/packages.lock.json @@ -144,6 +144,20 @@ "Microsoft.AspNetCore.Authentication.JwtBearer": "3.0.0" } }, + "LaunchDarkly.ServerSdk": { + "type": "Direct", + "requested": "[7.0.0, )", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "MailKit": { "type": "Direct", "requested": "[3.2.0, )", @@ -476,6 +490,45 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1310,8 +1363,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json index bfb0051b1..35dc377c4 100644 --- a/src/Events/packages.lock.json +++ b/src/Events/packages.lock.json @@ -236,6 +236,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2743,6 +2795,7 @@ "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, )", @@ -2770,7 +2823,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2778,7 +2831,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2790,9 +2843,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json index bfb0051b1..35dc377c4 100644 --- a/src/EventsProcessor/packages.lock.json +++ b/src/EventsProcessor/packages.lock.json @@ -236,6 +236,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2743,6 +2795,7 @@ "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, )", @@ -2770,7 +2823,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2778,7 +2831,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2790,9 +2843,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json index a09e93cb2..99e8ef003 100644 --- a/src/Icons/packages.lock.json +++ b/src/Icons/packages.lock.json @@ -246,6 +246,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2753,6 +2805,7 @@ "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, )", @@ -2780,7 +2833,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2788,7 +2841,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2800,9 +2853,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json index cb0378ca9..9dbaf53e1 100644 --- a/src/Identity/packages.lock.json +++ b/src/Identity/packages.lock.json @@ -245,6 +245,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2765,6 +2817,7 @@ "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, )", @@ -2792,7 +2845,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2800,7 +2853,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2812,9 +2865,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/Infrastructure.Dapper/packages.lock.json b/src/Infrastructure.Dapper/packages.lock.json index 7b050ad0f..22a17dfbf 100644 --- a/src/Infrastructure.Dapper/packages.lock.json +++ b/src/Infrastructure.Dapper/packages.lock.json @@ -220,6 +220,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1272,8 +1324,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2572,6 +2624,7 @@ "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, )", diff --git a/src/Infrastructure.EntityFramework/packages.lock.json b/src/Infrastructure.EntityFramework/packages.lock.json index 5a1316b52..1da583627 100644 --- a/src/Infrastructure.EntityFramework/packages.lock.json +++ b/src/Infrastructure.EntityFramework/packages.lock.json @@ -295,6 +295,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2745,6 +2797,7 @@ "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, )", diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json index 42fef7467..35f6a194e 100644 --- a/src/Notifications/packages.lock.json +++ b/src/Notifications/packages.lock.json @@ -257,6 +257,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2793,6 +2845,7 @@ "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, )", @@ -2820,7 +2873,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2828,7 +2881,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2840,9 +2893,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs b/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs index 4bc730a7d..d2b1f65de 100644 --- a/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs +++ b/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs @@ -176,6 +176,7 @@ public static class ServiceCollectionExtensions services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); services.AddTokenizers(); if (CoreHelpers.SettingHasValue(globalSettings.ServiceBus.ConnectionString) && diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json index fef8c5d43..1ad2b8a01 100644 --- a/src/SharedWeb/packages.lock.json +++ b/src/SharedWeb/packages.lock.json @@ -236,6 +236,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2743,6 +2795,7 @@ "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, )", @@ -2770,7 +2823,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2778,7 +2831,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", diff --git a/test/Api.IntegrationTest/packages.lock.json b/test/Api.IntegrationTest/packages.lock.json index 97e7c7b97..868694ef6 100644 --- a/test/Api.IntegrationTest/packages.lock.json +++ b/test/Api.IntegrationTest/packages.lock.json @@ -340,6 +340,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3156,25 +3208,25 @@ "type": "Project", "dependencies": { "Azure.Messaging.EventGrid": "[4.10.0, )", - "Commercial.Core": "[2023.1.0, )", - "Commercial.Infrastructure.EntityFramework": "[2023.1.0, )", - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Commercial.Core": "[2023.2.0, )", + "Commercial.Infrastructure.EntityFramework": "[2023.2.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore": "[6.5.0, )" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )" + "Core": "[2023.2.0, )" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } }, "common": { @@ -3182,7 +3234,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3206,6 +3258,7 @@ "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, )", @@ -3233,15 +3286,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3249,7 +3302,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3261,8 +3314,8 @@ "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.1.0, )", - "Identity": "[2023.1.0, )", + "Common": "[2023.2.0, )", + "Identity": "[2023.2.0, )", "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", "Microsoft.EntityFrameworkCore.InMemory": "[6.0.5, )", "Microsoft.Extensions.Configuration": "[6.0.1, )" @@ -3271,9 +3324,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json index 6ca00e3af..9b8a73427 100644 --- a/test/Api.Test/packages.lock.json +++ b/test/Api.Test/packages.lock.json @@ -350,6 +350,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3035,25 +3087,25 @@ "type": "Project", "dependencies": { "Azure.Messaging.EventGrid": "[4.10.0, )", - "Commercial.Core": "[2023.1.0, )", - "Commercial.Infrastructure.EntityFramework": "[2023.1.0, )", - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Commercial.Core": "[2023.2.0, )", + "Commercial.Infrastructure.EntityFramework": "[2023.2.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore": "[6.5.0, )" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )" + "Core": "[2023.2.0, )" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } }, "common": { @@ -3061,7 +3113,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3085,6 +3137,7 @@ "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, )", @@ -3114,8 +3167,8 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.1.0, )", - "Core": "[2023.1.0, )", + "Common": "[2023.2.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "Moq": "[4.17.2, )", @@ -3126,7 +3179,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3134,7 +3187,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3146,9 +3199,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json index f9b1fef1f..fc08d7de4 100644 --- a/test/Billing.Test/packages.lock.json +++ b/test/Billing.Test/packages.lock.json @@ -348,6 +348,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3481,9 +3533,9 @@ "billing": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "[6.0.3, )", - "SharedWeb": "[2023.1.0, )" + "SharedWeb": "[2023.2.0, )" } }, "common": { @@ -3491,7 +3543,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3515,6 +3567,7 @@ "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, )", @@ -3542,7 +3595,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3550,7 +3603,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3562,9 +3615,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json index ca1cee843..3eb93b4fc 100644 --- a/test/Common/packages.lock.json +++ b/test/Common/packages.lock.json @@ -314,6 +314,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1399,8 +1451,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2806,6 +2858,7 @@ "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, )", diff --git a/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs b/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs new file mode 100644 index 000000000..1491f41aa --- /dev/null +++ b/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs @@ -0,0 +1,28 @@ +using AutoFixture; +using Bit.Core.Services; +using Bit.Core.Settings; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; +using Xunit; + +namespace Bit.Core.Test.Services; + +[SutProviderCustomize] +public class LaunchDarklyFeatureServiceTests +{ + public static SutProvider GetSutProvider(IGlobalSettings globalSettings) + { + var fixture = new Fixture(); + return new SutProvider(fixture) + .SetDependency(globalSettings) + .Create(); + } + + [Fact] + public void Offline_WhenSelfHost() + { + var sutProvider = GetSutProvider(new Core.Settings.GlobalSettings() { SelfHosted = true }); + + Assert.False(sutProvider.Sut.IsOnline()); + } +} diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json index f955a523a..327a197e5 100644 --- a/test/Core.Test/packages.lock.json +++ b/test/Core.Test/packages.lock.json @@ -330,6 +330,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1415,8 +1467,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2810,7 +2862,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -2834,6 +2886,7 @@ "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, )", diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json index 9748de731..478c923df 100644 --- a/test/Icons.Test/packages.lock.json +++ b/test/Icons.Test/packages.lock.json @@ -304,6 +304,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2928,6 +2980,7 @@ "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, )", @@ -2956,14 +3009,14 @@ "type": "Project", "dependencies": { "AngleSharp": "[0.16.1, )", - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2971,7 +3024,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2983,9 +3036,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json index e1cbb115a..46ed51957 100644 --- a/test/Identity.IntegrationTest/packages.lock.json +++ b/test/Identity.IntegrationTest/packages.lock.json @@ -351,6 +351,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3129,7 +3181,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3153,6 +3205,7 @@ "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, )", @@ -3180,15 +3233,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3196,7 +3249,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3208,8 +3261,8 @@ "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.1.0, )", - "Identity": "[2023.1.0, )", + "Common": "[2023.2.0, )", + "Identity": "[2023.2.0, )", "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", "Microsoft.EntityFrameworkCore.InMemory": "[6.0.5, )", "Microsoft.Extensions.Configuration": "[6.0.1, )" @@ -3218,9 +3271,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json index 40b0b4f5d..c4392c541 100644 --- a/test/Identity.Test/packages.lock.json +++ b/test/Identity.Test/packages.lock.json @@ -340,6 +340,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2996,7 +3048,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3020,6 +3072,7 @@ "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, )", @@ -3047,15 +3100,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3063,7 +3116,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3075,9 +3128,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json index 6c4e327eb..fbfc4eeea 100644 --- a/test/Infrastructure.EFIntegration.Test/packages.lock.json +++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json @@ -351,6 +351,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2986,7 +3038,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3010,6 +3062,7 @@ "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, )", @@ -3039,8 +3092,8 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.1.0, )", - "Core": "[2023.1.0, )", + "Common": "[2023.2.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "Moq": "[4.17.2, )", @@ -3051,7 +3104,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3059,7 +3112,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", diff --git a/test/Infrastructure.IntegrationTest/packages.lock.json b/test/Infrastructure.IntegrationTest/packages.lock.json index 87b67248d..c69c91304 100644 --- a/test/Infrastructure.IntegrationTest/packages.lock.json +++ b/test/Infrastructure.IntegrationTest/packages.lock.json @@ -308,6 +308,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2858,6 +2910,7 @@ "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, )", @@ -2885,7 +2938,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2893,7 +2946,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json index df6bebf4e..80b81c652 100644 --- a/test/IntegrationTestCommon/packages.lock.json +++ b/test/IntegrationTestCommon/packages.lock.json @@ -327,6 +327,58 @@ "RichardSzalay.MockHttp": "6.0.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -3115,7 +3167,7 @@ "dependencies": { "AutoFixture.AutoNSubstitute": "[4.17.0, )", "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", "Microsoft.NET.Test.Sdk": "[17.1.0, )", "NSubstitute": "[4.3.0, )", @@ -3139,6 +3191,7 @@ "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, )", @@ -3166,15 +3219,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -3182,7 +3235,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -3194,9 +3247,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/util/Migrator/packages.lock.json b/util/Migrator/packages.lock.json index 3f4398b3a..d4d597110 100644 --- a/util/Migrator/packages.lock.json +++ b/util/Migrator/packages.lock.json @@ -247,6 +247,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1296,8 +1348,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2657,6 +2709,7 @@ "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, )", diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json index 209f5237d..7273cd36e 100644 --- a/util/MySqlMigrations/packages.lock.json +++ b/util/MySqlMigrations/packages.lock.json @@ -246,6 +246,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2753,6 +2805,7 @@ "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, )", @@ -2781,7 +2834,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json index 209f5237d..7273cd36e 100644 --- a/util/PostgresMigrations/packages.lock.json +++ b/util/PostgresMigrations/packages.lock.json @@ -246,6 +246,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2753,6 +2805,7 @@ "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, )", @@ -2781,7 +2834,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json index 3b729e489..52bae7539 100644 --- a/util/Setup/packages.lock.json +++ b/util/Setup/packages.lock.json @@ -253,6 +253,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -1302,8 +1354,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "1.7.0", - "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" + "resolved": "1.7.1", + "contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -2663,6 +2715,7 @@ "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, )", diff --git a/util/SqlServerEFScaffold/packages.lock.json b/util/SqlServerEFScaffold/packages.lock.json index 313559801..ff5ef22eb 100644 --- a/util/SqlServerEFScaffold/packages.lock.json +++ b/util/SqlServerEFScaffold/packages.lock.json @@ -261,6 +261,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2797,25 +2849,25 @@ "type": "Project", "dependencies": { "Azure.Messaging.EventGrid": "[4.10.0, )", - "Commercial.Core": "[2023.1.0, )", - "Commercial.Infrastructure.EntityFramework": "[2023.1.0, )", - "Core": "[2023.1.0, )", - "SharedWeb": "[2023.1.0, )", + "Commercial.Core": "[2023.2.0, )", + "Commercial.Infrastructure.EntityFramework": "[2023.2.0, )", + "Core": "[2023.2.0, )", + "SharedWeb": "[2023.2.0, )", "Swashbuckle.AspNetCore": "[6.5.0, )" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )" + "Core": "[2023.2.0, )" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } }, "core": { @@ -2835,6 +2887,7 @@ "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, )", @@ -2862,7 +2915,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Dapper": "[2.0.123, )" } }, @@ -2870,7 +2923,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", @@ -2882,9 +2935,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.1.0, )", - "Infrastructure.Dapper": "[2023.1.0, )", - "Infrastructure.EntityFramework": "[2023.1.0, )" + "Core": "[2023.2.0, )", + "Infrastructure.Dapper": "[2023.2.0, )", + "Infrastructure.EntityFramework": "[2023.2.0, )" } } } diff --git a/util/SqliteMigrations/packages.lock.json b/util/SqliteMigrations/packages.lock.json index 209f5237d..7273cd36e 100644 --- a/util/SqliteMigrations/packages.lock.json +++ b/util/SqliteMigrations/packages.lock.json @@ -246,6 +246,58 @@ "IdentityModel": "4.4.0" } }, + "LaunchDarkly.Cache": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw==" + }, + "LaunchDarkly.CommonSdk": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "dependencies": { + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.EventSource": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "dependencies": { + "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + } + }, + "LaunchDarkly.InternalSdk": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "dependencies": { + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", + "System.Collections.Immutable": "1.7.1" + } + }, + "LaunchDarkly.Logging": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "LaunchDarkly.ServerSdk": { + "type": "Transitive", + "resolved": "7.0.0", + "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "dependencies": { + "LaunchDarkly.Cache": "1.0.2", + "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.EventSource": "5.0.1", + "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.Logging": "2.0.0", + "System.Collections.Immutable": "1.7.1" + } + }, "libsodium": { "type": "Transitive", "resolved": "1.0.18.2", @@ -2753,6 +2805,7 @@ "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, )", @@ -2781,7 +2834,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )", - "Core": "[2023.1.0, )", + "Core": "[2023.2.0, )", "Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )", "Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )", "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",