mirror of
https://github.com/bitwarden/server.git
synced 2025-07-03 00:52:49 -05:00
Merge branch 'master' into feature/billing-obfuscation
This commit is contained in:
1
.github/CODEOWNERS
vendored
1
.github/CODEOWNERS
vendored
@ -3,3 +3,4 @@
|
|||||||
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
|
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
|
||||||
|
|
||||||
**/SecretsManager @bitwarden/pod-sm-dev
|
**/SecretsManager @bitwarden/pod-sm-dev
|
||||||
|
**/Vault @bitwarden/team-vault-dev
|
||||||
|
56
.github/workflows/build.yml
vendored
56
.github/workflows/build.yml
vendored
@ -467,6 +467,58 @@ jobs:
|
|||||||
path: swagger.json
|
path: swagger.json
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build-mssqlmigratorutility:
|
||||||
|
name: Build MsSqlMigratorUtility
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
needs:
|
||||||
|
- lint
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
working-directory: "util/MsSqlMigratorUtility"
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
target:
|
||||||
|
- osx-x64
|
||||||
|
- linux-x64
|
||||||
|
- win-x64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846
|
||||||
|
|
||||||
|
- name: Print environment
|
||||||
|
run: |
|
||||||
|
whoami
|
||||||
|
dotnet --info
|
||||||
|
echo "GitHub ref: $GITHUB_REF"
|
||||||
|
echo "GitHub event: $GITHUB_EVENT"
|
||||||
|
|
||||||
|
- name: Restore project
|
||||||
|
run: |
|
||||||
|
echo "Restore"
|
||||||
|
dotnet restore
|
||||||
|
|
||||||
|
- name: Publish project
|
||||||
|
run: dotnet publish -c "Release" -o obj/build-output/publish -r ${{ matrix.target }} --self-contained true
|
||||||
|
|
||||||
|
- name: Upload project artifact Windows
|
||||||
|
if: ${{ contains(matrix.target, 'win') == true }}
|
||||||
|
uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535
|
||||||
|
with:
|
||||||
|
name: MsSqlMigratorUtility-${{ matrix.target }}
|
||||||
|
path: util/MsSqlMigratorUtility/obj/build-output/publish/MsSqlMigratorUtility.exe
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Upload project artifact
|
||||||
|
if: ${{ contains(matrix.target, 'win') == false }}
|
||||||
|
uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535
|
||||||
|
with:
|
||||||
|
name: MsSqlMigratorUtility-${{ matrix.target }}
|
||||||
|
path: util/MsSqlMigratorUtility/obj/build-output/publish/MsSqlMigratorUtility
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
check-failures:
|
check-failures:
|
||||||
name: Check for failures
|
name: Check for failures
|
||||||
if: always()
|
if: always()
|
||||||
@ -478,6 +530,7 @@ jobs:
|
|||||||
- build-artifacts
|
- build-artifacts
|
||||||
- build-docker
|
- build-docker
|
||||||
- upload
|
- upload
|
||||||
|
- build-mssqlmigratorutility
|
||||||
steps:
|
steps:
|
||||||
- name: Check if any job failed
|
- name: Check if any job failed
|
||||||
if: |
|
if: |
|
||||||
@ -491,6 +544,7 @@ jobs:
|
|||||||
BUILD_ARTIFACTS_STATUS: ${{ needs.build-artifacts.result }}
|
BUILD_ARTIFACTS_STATUS: ${{ needs.build-artifacts.result }}
|
||||||
BUILD_DOCKER_STATUS: ${{ needs.build-docker.result }}
|
BUILD_DOCKER_STATUS: ${{ needs.build-docker.result }}
|
||||||
UPLOAD_STATUS: ${{ needs.upload.result }}
|
UPLOAD_STATUS: ${{ needs.upload.result }}
|
||||||
|
BUILD_MSSQLMIGRATORUTILITY_STATUS: ${{ needs.build-mssqlmigratorutility.result }}
|
||||||
run: |
|
run: |
|
||||||
if [ "$CLOC_STATUS" = "failure" ]; then
|
if [ "$CLOC_STATUS" = "failure" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
@ -504,6 +558,8 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
elif [ "$UPLOAD_STATUS" = "failure" ]; then
|
elif [ "$UPLOAD_STATUS" = "failure" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
|
elif [ "$BUILD_MSSQLMIGRATORUTILITY_STATUS" = "failure" ]; then
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Login to Azure - Prod Subscription
|
- name: Login to Azure - Prod Subscription
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 16
|
# Visual Studio Version 16
|
||||||
VisualStudioVersion = 16.0.29102.190
|
VisualStudioVersion = 16.0.29102.190
|
||||||
@ -112,6 +112,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.IntegrationT
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqliteMigrations", "util\SqliteMigrations\SqliteMigrations.csproj", "{07143DFA-F242-47A4-A15E-39C9314D4140}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqliteMigrations", "util\SqliteMigrations\SqliteMigrations.csproj", "{07143DFA-F242-47A4-A15E-39C9314D4140}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsSqlMigratorUtility", "util\MsSqlMigratorUtility\MsSqlMigratorUtility.csproj", "{D9A2CCBB-FB0A-4BBA-A9ED-BA9FF277C880}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -214,6 +214,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -1266,8 +1318,8 @@
|
|||||||
},
|
},
|
||||||
"System.Collections.Immutable": {
|
"System.Collections.Immutable": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.7.0",
|
"resolved": "1.7.1",
|
||||||
"contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw=="
|
"contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q=="
|
||||||
},
|
},
|
||||||
"System.Collections.NonGeneric": {
|
"System.Collections.NonGeneric": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -2566,6 +2618,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
|
using Bit.Core.SecretsManager.Models.Data;
|
||||||
using Bit.Core.SecretsManager.Repositories;
|
using Bit.Core.SecretsManager.Repositories;
|
||||||
using Bit.Infrastructure.EntityFramework.Repositories;
|
using Bit.Infrastructure.EntityFramework.Repositories;
|
||||||
using Bit.Infrastructure.EntityFramework.SecretsManager.Models;
|
using Bit.Infrastructure.EntityFramework.SecretsManager.Models;
|
||||||
@ -27,6 +28,31 @@ public class ProjectRepository : Repository<Core.SecretsManager.Entities.Project
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<ProjectPermissionDetails> GetPermissionDetailsByIdAsync(Guid id, Guid userId)
|
||||||
|
{
|
||||||
|
using var scope = ServiceScopeFactory.CreateScope();
|
||||||
|
var dbContext = GetDatabaseContext(scope);
|
||||||
|
|
||||||
|
var project = await dbContext.Project
|
||||||
|
.Where(c => c.Id == id && c.DeletedDate == null)
|
||||||
|
.Select(p => new ProjectPermissionDetails
|
||||||
|
{
|
||||||
|
Id = p.Id,
|
||||||
|
OrganizationId = p.OrganizationId,
|
||||||
|
Name = p.Name,
|
||||||
|
CreationDate = p.CreationDate,
|
||||||
|
RevisionDate = p.RevisionDate,
|
||||||
|
DeletedDate = p.DeletedDate,
|
||||||
|
Read = p.UserAccessPolicies.Any(ap => ap.OrganizationUser.User.Id == userId && ap.Read)
|
||||||
|
|| p.GroupAccessPolicies.Any(ap =>
|
||||||
|
ap.Group.GroupUsers.Any(gu => gu.OrganizationUser.User.Id == userId && ap.Read)),
|
||||||
|
Write = p.UserAccessPolicies.Any(ap => ap.OrganizationUser.User.Id == userId && ap.Write) ||
|
||||||
|
p.GroupAccessPolicies.Any(ap =>
|
||||||
|
ap.Group.GroupUsers.Any(gu => gu.OrganizationUser.User.Id == userId && ap.Write)),
|
||||||
|
}).FirstOrDefaultAsync();
|
||||||
|
return project;
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<Core.SecretsManager.Entities.Project>> GetManyByOrganizationIdAsync(Guid organizationId, Guid userId, AccessClientType accessType)
|
public async Task<IEnumerable<Core.SecretsManager.Entities.Project>> GetManyByOrganizationIdAsync(Guid organizationId, Guid userId, AccessClientType accessType)
|
||||||
{
|
{
|
||||||
using var scope = ServiceScopeFactory.CreateScope();
|
using var scope = ServiceScopeFactory.CreateScope();
|
||||||
|
@ -232,6 +232,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -2739,6 +2791,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -2767,7 +2820,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
|
@ -253,6 +253,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -3015,6 +3067,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -3042,7 +3095,7 @@
|
|||||||
"infrastructure.dapper": {
|
"infrastructure.dapper": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Dapper": "[2.0.123, )"
|
"Dapper": "[2.0.123, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3050,7 +3103,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
@ -3062,9 +3115,9 @@
|
|||||||
"sharedweb": {
|
"sharedweb": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.Dapper": "[2023.1.0, )",
|
"Infrastructure.Dapper": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -248,6 +248,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -2885,6 +2937,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -2912,7 +2965,7 @@
|
|||||||
"infrastructure.dapper": {
|
"infrastructure.dapper": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Dapper": "[2.0.123, )"
|
"Dapper": "[2.0.123, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2920,7 +2973,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
@ -2932,9 +2985,9 @@
|
|||||||
"sharedweb": {
|
"sharedweb": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.Dapper": "[2023.1.0, )",
|
"Infrastructure.Dapper": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -308,6 +308,58 @@
|
|||||||
"RichardSzalay.MockHttp": "6.0.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -1410,8 +1462,8 @@
|
|||||||
},
|
},
|
||||||
"System.Collections.Immutable": {
|
"System.Collections.Immutable": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.7.0",
|
"resolved": "1.7.1",
|
||||||
"contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw=="
|
"contentHash": "B43Zsz5EfMwyEbnObwRxW5u85fzJma3lrDeGcSAV1qkhSRTNY5uXAByTn9h9ddNdhM+4/YoLc/CI43umjwIl9Q=="
|
||||||
},
|
},
|
||||||
"System.Collections.NonGeneric": {
|
"System.Collections.NonGeneric": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -2803,7 +2855,7 @@
|
|||||||
"commercial.core": {
|
"commercial.core": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )"
|
"Core": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
@ -2811,7 +2863,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
||||||
"AutoFixture.Xunit2": "[4.17.0, )",
|
"AutoFixture.Xunit2": "[4.17.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
||||||
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
||||||
"NSubstitute": "[4.3.0, )",
|
"NSubstitute": "[4.3.0, )",
|
||||||
@ -2835,6 +2887,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -2864,8 +2917,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
||||||
"AutoFixture.Xunit2": "[4.17.0, )",
|
"AutoFixture.Xunit2": "[4.17.0, )",
|
||||||
"Common": "[2023.1.0, )",
|
"Common": "[2023.2.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
||||||
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
||||||
"Moq": "[4.17.2, )",
|
"Moq": "[4.17.2, )",
|
||||||
|
@ -359,6 +359,58 @@
|
|||||||
"RichardSzalay.MockHttp": "6.0.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -3395,7 +3447,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
||||||
"AutoFixture.Xunit2": "[4.17.0, )",
|
"AutoFixture.Xunit2": "[4.17.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
||||||
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
||||||
"NSubstitute": "[4.3.0, )",
|
"NSubstitute": "[4.3.0, )",
|
||||||
@ -3419,6 +3471,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -3446,15 +3499,15 @@
|
|||||||
"identity": {
|
"identity": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"SharedWeb": "[2023.1.0, )",
|
"SharedWeb": "[2023.2.0, )",
|
||||||
"Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )"
|
"Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"infrastructure.dapper": {
|
"infrastructure.dapper": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Dapper": "[2.0.123, )"
|
"Dapper": "[2.0.123, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3462,7 +3515,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
@ -3474,8 +3527,8 @@
|
|||||||
"integrationtestcommon": {
|
"integrationtestcommon": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Common": "[2023.1.0, )",
|
"Common": "[2023.2.0, )",
|
||||||
"Identity": "[2023.1.0, )",
|
"Identity": "[2023.2.0, )",
|
||||||
"Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )",
|
"Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )",
|
||||||
"Microsoft.EntityFrameworkCore.InMemory": "[6.0.5, )",
|
"Microsoft.EntityFrameworkCore.InMemory": "[6.0.5, )",
|
||||||
"Microsoft.Extensions.Configuration": "[6.0.1, )"
|
"Microsoft.Extensions.Configuration": "[6.0.1, )"
|
||||||
@ -3484,17 +3537,17 @@
|
|||||||
"scim": {
|
"scim": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "[5.0.2, )",
|
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "[5.0.2, )",
|
||||||
"SharedWeb": "[2023.1.0, )"
|
"SharedWeb": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sharedweb": {
|
"sharedweb": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.Dapper": "[2023.1.0, )",
|
"Infrastructure.Dapper": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -347,6 +347,58 @@
|
|||||||
"RichardSzalay.MockHttp": "6.0.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -3240,7 +3292,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
"AutoFixture.AutoNSubstitute": "[4.17.0, )",
|
||||||
"AutoFixture.Xunit2": "[4.17.0, )",
|
"AutoFixture.Xunit2": "[4.17.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
"Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )",
|
||||||
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
"Microsoft.NET.Test.Sdk": "[17.1.0, )",
|
||||||
"NSubstitute": "[4.3.0, )",
|
"NSubstitute": "[4.3.0, )",
|
||||||
@ -3264,6 +3316,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -3291,7 +3344,7 @@
|
|||||||
"infrastructure.dapper": {
|
"infrastructure.dapper": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Dapper": "[2.0.123, )"
|
"Dapper": "[2.0.123, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3299,7 +3352,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
@ -3311,17 +3364,17 @@
|
|||||||
"scim": {
|
"scim": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "[5.0.2, )",
|
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "[5.0.2, )",
|
||||||
"SharedWeb": "[2023.1.0, )"
|
"SharedWeb": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sharedweb": {
|
"sharedweb": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.Dapper": "[2023.1.0, )",
|
"Infrastructure.Dapper": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -249,6 +249,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -2673,6 +2725,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
|
@ -8,6 +8,7 @@ using Bit.Core.Repositories;
|
|||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using Bit.Core.Repositories;
|
|||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core;
|
using Bit.Core;
|
||||||
using Bit.Core.Jobs;
|
using Bit.Core.Jobs;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Quartz;
|
using Quartz;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ using Bit.Core.Models.Business;
|
|||||||
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.Models;
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using Bit.Core.Entities.Provider;
|
using Bit.Core.Entities.Provider;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.Models;
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ using Bit.Core.Entities;
|
|||||||
using Bit.Core.Models.Business;
|
using Bit.Core.Models.Business;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.Models;
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.Models;
|
||||||
|
|
||||||
|
@ -295,6 +295,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -3349,6 +3401,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
|
@ -15,6 +15,8 @@ using Bit.Core.Repositories;
|
|||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Bit.Api.Models.Request;
|
using Bit.Api.Models.Request;
|
||||||
using Bit.Api.Models.Request.Organizations;
|
using Bit.Api.Models.Request.Organizations;
|
||||||
using Bit.Api.Models.Response;
|
using Bit.Api.Models.Response;
|
||||||
|
using Bit.Api.Vault.Models.Response;
|
||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Exceptions;
|
using Bit.Core.Exceptions;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
|
@ -4,6 +4,7 @@ using Bit.Core.Exceptions;
|
|||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
using Bit.Api.Models.Response;
|
using Bit.Api.Models.Response;
|
||||||
|
using Bit.Api.Vault.Models.Response;
|
||||||
using Bit.Core.Context;
|
using Bit.Core.Context;
|
||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
using Bit.Core.Vault.Services;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace Bit.Api.Models.Request.Accounts;
|
using Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
|
namespace Bit.Api.Models.Request.Accounts;
|
||||||
|
|
||||||
public class ImportCiphersRequestModel
|
public class ImportCiphersRequestModel
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Request.Accounts;
|
namespace Bit.Api.Models.Request.Accounts;
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace Bit.Api.Models.Request.Organizations;
|
using Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
|
namespace Bit.Api.Models.Request.Organizations;
|
||||||
|
|
||||||
public class ImportOrganizationCiphersRequestModel
|
public class ImportOrganizationCiphersRequestModel
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Api.Vault.Models.Response;
|
||||||
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Models.Api;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Models.Response;
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Bit.Core.Models.Api;
|
using Bit.Api.Vault.Models.Response;
|
||||||
|
using Bit.Core.Models.Api;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Models.Response;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using Bit.Api.Models.Public.Response;
|
|||||||
using Bit.Core.Context;
|
using Bit.Core.Context;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
@ -80,9 +80,10 @@ public class ProjectsController : Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("projects/{id}")]
|
[HttpGet("projects/{id}")]
|
||||||
public async Task<ProjectResponseModel> GetAsync([FromRoute] Guid id)
|
public async Task<ProjectPermissionDetailsResponseModel> GetAsync([FromRoute] Guid id)
|
||||||
{
|
{
|
||||||
var project = await _projectRepository.GetByIdAsync(id);
|
var userId = _userService.GetProperUserId(User).Value;
|
||||||
|
var project = await _projectRepository.GetPermissionDetailsByIdAsync(id, userId);
|
||||||
if (project == null)
|
if (project == null)
|
||||||
{
|
{
|
||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
@ -93,23 +94,34 @@ public class ProjectsController : Controller
|
|||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
var userId = _userService.GetProperUserId(User).Value;
|
|
||||||
var orgAdmin = await _currentContext.OrganizationAdmin(project.OrganizationId);
|
var orgAdmin = await _currentContext.OrganizationAdmin(project.OrganizationId);
|
||||||
var accessClient = AccessClientHelper.ToAccessClient(_currentContext.ClientType, orgAdmin);
|
var accessClient = AccessClientHelper.ToAccessClient(_currentContext.ClientType, orgAdmin);
|
||||||
|
|
||||||
var hasAccess = accessClient switch
|
bool hasAccess;
|
||||||
|
var read = project.Read;
|
||||||
|
var write = project.Write;
|
||||||
|
|
||||||
|
switch (accessClient)
|
||||||
{
|
{
|
||||||
AccessClientType.NoAccessCheck => true,
|
case AccessClientType.NoAccessCheck:
|
||||||
AccessClientType.User => await _projectRepository.UserHasReadAccessToProject(id, userId),
|
hasAccess = true;
|
||||||
_ => false,
|
write = true;
|
||||||
};
|
read = true;
|
||||||
|
break;
|
||||||
|
case AccessClientType.User:
|
||||||
|
hasAccess = project.Read;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
hasAccess = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!hasAccess)
|
if (!hasAccess)
|
||||||
{
|
{
|
||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ProjectResponseModel(project);
|
return new ProjectPermissionDetailsResponseModel(project, read, write);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("projects/delete")]
|
[HttpPost("projects/delete")]
|
||||||
|
@ -33,7 +33,7 @@ public class SecretsManagerPortingController : Controller
|
|||||||
{
|
{
|
||||||
if (!await _currentContext.OrganizationAdmin(organizationId))
|
if (!await _currentContext.OrganizationAdmin(organizationId))
|
||||||
{
|
{
|
||||||
throw new UnauthorizedAccessException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
var userId = _userService.GetProperUserId(User).Value;
|
var userId = _userService.GetProperUserId(User).Value;
|
||||||
@ -53,7 +53,7 @@ public class SecretsManagerPortingController : Controller
|
|||||||
{
|
{
|
||||||
if (!await _currentContext.OrganizationAdmin(organizationId))
|
if (!await _currentContext.OrganizationAdmin(organizationId))
|
||||||
{
|
{
|
||||||
throw new UnauthorizedAccessException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (importRequest.Projects?.Count() > 1000 || importRequest.Secrets?.Count() > 6000)
|
if (importRequest.Projects?.Count() > 1000 || importRequest.Secrets?.Count() > 6000)
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
using Bit.Core.SecretsManager.Entities;
|
||||||
|
|
||||||
|
namespace Bit.Api.SecretsManager.Models.Response;
|
||||||
|
|
||||||
|
public class ProjectPermissionDetailsResponseModel : ProjectResponseModel
|
||||||
|
{
|
||||||
|
private const string _objectName = "projectPermissionDetails";
|
||||||
|
|
||||||
|
public ProjectPermissionDetailsResponseModel(Project project, bool read, bool write, string obj = _objectName) : base(project, obj)
|
||||||
|
{
|
||||||
|
Read = read;
|
||||||
|
Write = write;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProjectPermissionDetailsResponseModel()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Read { get; set; }
|
||||||
|
|
||||||
|
public bool Write { get; set; }
|
||||||
|
}
|
@ -7,8 +7,8 @@ public class ProjectResponseModel : ResponseModel
|
|||||||
{
|
{
|
||||||
private const string _objectName = "project";
|
private const string _objectName = "project";
|
||||||
|
|
||||||
public ProjectResponseModel(Project project)
|
public ProjectResponseModel(Project project, string obj = _objectName)
|
||||||
: base(_objectName)
|
: base(obj)
|
||||||
{
|
{
|
||||||
if (project == null)
|
if (project == null)
|
||||||
{
|
{
|
||||||
|
@ -1,24 +1,27 @@
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using Azure.Messaging.EventGrid;
|
using Azure.Messaging.EventGrid;
|
||||||
using Bit.Api.Models.Request;
|
|
||||||
using Bit.Api.Models.Request.Accounts;
|
using Bit.Api.Models.Request.Accounts;
|
||||||
using Bit.Api.Models.Request.Organizations;
|
using Bit.Api.Models.Request.Organizations;
|
||||||
using Bit.Api.Models.Response;
|
using Bit.Api.Models.Response;
|
||||||
using Bit.Api.Utilities;
|
using Bit.Api.Utilities;
|
||||||
|
using Bit.Api.Vault.Models.Request;
|
||||||
|
using Bit.Api.Vault.Models.Response;
|
||||||
using Bit.Core;
|
using Bit.Core;
|
||||||
using Bit.Core.Context;
|
using Bit.Core.Context;
|
||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Exceptions;
|
using Bit.Core.Exceptions;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
|
using Bit.Core.Vault.Services;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Bit.Api.Controllers;
|
namespace Bit.Api.Vault.Controllers;
|
||||||
|
|
||||||
[Route("ciphers")]
|
[Route("ciphers")]
|
||||||
[Authorize("Application")]
|
[Authorize("Application")]
|
@ -1,12 +1,14 @@
|
|||||||
using Bit.Api.Models.Request;
|
using Bit.Api.Models.Response;
|
||||||
using Bit.Api.Models.Response;
|
using Bit.Api.Vault.Models.Request;
|
||||||
|
using Bit.Api.Vault.Models.Response;
|
||||||
using Bit.Core.Exceptions;
|
using Bit.Core.Exceptions;
|
||||||
using Bit.Core.Repositories;
|
|
||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
|
using Bit.Core.Vault.Services;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Bit.Api.Controllers;
|
namespace Bit.Api.Vault.Controllers;
|
||||||
|
|
||||||
[Route("folders")]
|
[Route("folders")]
|
||||||
[Authorize("Application")]
|
[Authorize("Application")]
|
@ -1,4 +1,4 @@
|
|||||||
using Bit.Api.Models.Response;
|
using Bit.Api.Vault.Models.Response;
|
||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Enums.Provider;
|
using Bit.Core.Enums.Provider;
|
||||||
@ -7,10 +7,11 @@ using Bit.Core.Models.Data;
|
|||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Bit.Api.Controllers;
|
namespace Bit.Api.Vault.Controllers;
|
||||||
|
|
||||||
[Route("sync")]
|
[Route("sync")]
|
||||||
[Authorize("Application")]
|
[Authorize("Application")]
|
@ -1,7 +1,7 @@
|
|||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Utilities;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherAttachmentModel
|
public class CipherAttachmentModel
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherCardModel
|
public class CipherCardModel
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Utilities;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Vault.Enums;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherFieldModel
|
public class CipherFieldModel
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherIdentityModel
|
public class CipherIdentityModel
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherLoginModel
|
public class CipherLoginModel
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherPasswordHistoryModel
|
public class CipherPasswordHistoryModel
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Vault.Enums;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models;
|
namespace Bit.Api.Vault.Models;
|
||||||
|
|
||||||
public class CipherSecureNoteModel
|
public class CipherSecureNoteModel
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Api.Models.Request;
|
namespace Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
public class AttachmentRequestModel
|
public class AttachmentRequestModel
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Request;
|
namespace Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
public class CipherPartialRequestModel
|
public class CipherPartialRequestModel
|
||||||
{
|
{
|
@ -1,14 +1,13 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using Bit.Core.Entities;
|
|
||||||
using Bit.Core.Enums;
|
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Enums;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
using NS = Newtonsoft.Json;
|
using NS = Newtonsoft.Json;
|
||||||
using NSL = Newtonsoft.Json.Linq;
|
using NSL = Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Request;
|
namespace Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
public class CipherRequestModel
|
public class CipherRequestModel
|
||||||
{
|
{
|
@ -1,8 +1,8 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Bit.Core.Entities;
|
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Request;
|
namespace Bit.Api.Vault.Models.Request;
|
||||||
|
|
||||||
public class FolderRequestModel
|
public class FolderRequestModel
|
||||||
{
|
{
|
@ -1,11 +1,11 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using Bit.Core.Entities;
|
|
||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Models.Api;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Vault.Models.Response;
|
||||||
|
|
||||||
public class AttachmentResponseModel : ResponseModel
|
public class AttachmentResponseModel : ResponseModel
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Models.Api;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Vault.Models.Response;
|
||||||
|
|
||||||
public class AttachmentUploadDataResponseModel : ResponseModel
|
public class AttachmentUploadDataResponseModel : ResponseModel
|
||||||
{
|
{
|
@ -1,12 +1,12 @@
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
|
||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Models.Api;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Enums;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Vault.Models.Response;
|
||||||
|
|
||||||
public class CipherMiniResponseModel : ResponseModel
|
public class CipherMiniResponseModel : ResponseModel
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Models.Api;
|
||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Vault.Models.Response;
|
||||||
|
|
||||||
public class FolderResponseModel : ResponseModel
|
public class FolderResponseModel : ResponseModel
|
||||||
{
|
{
|
@ -1,11 +1,13 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Api.Models.Response;
|
||||||
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Models.Api;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Api.Models.Response;
|
namespace Bit.Api.Vault.Models.Response;
|
||||||
|
|
||||||
public class SyncResponseModel : ResponseModel
|
public class SyncResponseModel : ResponseModel
|
||||||
{
|
{
|
@ -259,6 +259,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -2783,15 +2835,15 @@
|
|||||||
"commercial.core": {
|
"commercial.core": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )"
|
"Core": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"commercial.infrastructure.entityframework": {
|
"commercial.infrastructure.entityframework": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"core": {
|
"core": {
|
||||||
@ -2811,6 +2863,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -2838,7 +2891,7 @@
|
|||||||
"infrastructure.dapper": {
|
"infrastructure.dapper": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Dapper": "[2.0.123, )"
|
"Dapper": "[2.0.123, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2846,7 +2899,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
@ -2858,9 +2911,9 @@
|
|||||||
"sharedweb": {
|
"sharedweb": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.Dapper": "[2023.1.0, )",
|
"Infrastructure.Dapper": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -256,6 +256,58 @@
|
|||||||
"IdentityModel": "4.4.0"
|
"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": {
|
"libsodium": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.0.18.2",
|
"resolved": "1.0.18.2",
|
||||||
@ -3262,6 +3314,7 @@
|
|||||||
"Handlebars.Net": "[2.1.2, )",
|
"Handlebars.Net": "[2.1.2, )",
|
||||||
"IdentityServer4": "[4.1.2, )",
|
"IdentityServer4": "[4.1.2, )",
|
||||||
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
"IdentityServer4.AccessTokenValidation": "[3.0.1, )",
|
||||||
|
"LaunchDarkly.ServerSdk": "[7.0.0, )",
|
||||||
"MailKit": "[3.2.0, )",
|
"MailKit": "[3.2.0, )",
|
||||||
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
"Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )",
|
||||||
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
"Microsoft.Azure.Cosmos.Table": "[1.0.8, )",
|
||||||
@ -3289,7 +3342,7 @@
|
|||||||
"infrastructure.dapper": {
|
"infrastructure.dapper": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Dapper": "[2.0.123, )"
|
"Dapper": "[2.0.123, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3297,7 +3350,7 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
"AutoMapper.Extensions.Microsoft.DependencyInjection": "[11.0.0, )",
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Relational": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.SqlServer": "[6.0.12, )",
|
||||||
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
"Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )",
|
||||||
@ -3309,9 +3362,9 @@
|
|||||||
"sharedweb": {
|
"sharedweb": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Core": "[2023.1.0, )",
|
"Core": "[2023.2.0, )",
|
||||||
"Infrastructure.Dapper": "[2023.1.0, )",
|
"Infrastructure.Dapper": "[2023.2.0, )",
|
||||||
"Infrastructure.EntityFramework": "[2023.1.0, )"
|
"Infrastructure.EntityFramework": "[2023.2.0, )"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
<PackageReference Include="Otp.NET" Version="1.2.2" />
|
<PackageReference Include="Otp.NET" Version="1.2.2" />
|
||||||
<PackageReference Include="YubicoDotNetClient" Version="1.2.0" />
|
<PackageReference Include="YubicoDotNetClient" Version="1.2.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="6.0.6" />
|
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="6.0.6" />
|
||||||
|
<PackageReference Include="LaunchDarkly.ServerSdk" Version="7.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Bit.Core.Utilities;
|
using Bit.Core.Entities;
|
||||||
|
using Bit.Core.Utilities;
|
||||||
|
|
||||||
namespace Bit.Core.Entities;
|
namespace Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
public class Folder : ITableObject<Guid>
|
public class Folder : ITableObject<Guid>
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Models.Data;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Repositories;
|
namespace Bit.Core.Repositories;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Models.Data;
|
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Microsoft.Azure.Cosmos.Table;
|
using Microsoft.Azure.Cosmos.Table;
|
||||||
|
|
||||||
namespace Bit.Core.Repositories.TableStorage;
|
namespace Bit.Core.Repositories.TableStorage;
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
using Bit.Core.SecretsManager.Entities;
|
||||||
|
|
||||||
|
namespace Bit.Core.SecretsManager.Models.Data;
|
||||||
|
|
||||||
|
public class ProjectPermissionDetails : Project
|
||||||
|
{
|
||||||
|
public bool Read { get; set; }
|
||||||
|
public bool Write { get; set; }
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.SecretsManager.Entities;
|
using Bit.Core.SecretsManager.Entities;
|
||||||
|
using Bit.Core.SecretsManager.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Core.SecretsManager.Repositories;
|
namespace Bit.Core.SecretsManager.Repositories;
|
||||||
|
|
||||||
@ -8,6 +9,7 @@ public interface IProjectRepository
|
|||||||
Task<IEnumerable<Project>> GetManyByOrganizationIdAsync(Guid organizationId, Guid userId, AccessClientType accessType);
|
Task<IEnumerable<Project>> GetManyByOrganizationIdAsync(Guid organizationId, Guid userId, AccessClientType accessType);
|
||||||
Task<IEnumerable<Project>> GetManyByOrganizationIdWriteAccessAsync(Guid organizationId, Guid userId, AccessClientType accessType);
|
Task<IEnumerable<Project>> GetManyByOrganizationIdWriteAccessAsync(Guid organizationId, Guid userId, AccessClientType accessType);
|
||||||
Task<IEnumerable<Project>> GetManyByIds(IEnumerable<Guid> ids);
|
Task<IEnumerable<Project>> GetManyByIds(IEnumerable<Guid> ids);
|
||||||
|
Task<ProjectPermissionDetails> GetPermissionDetailsByIdAsync(Guid id, Guid userId);
|
||||||
Task<Project> GetByIdAsync(Guid id);
|
Task<Project> GetByIdAsync(Guid id);
|
||||||
Task<Project> CreateAsync(Project project);
|
Task<Project> CreateAsync(Project project);
|
||||||
Task ReplaceAsync(Project project);
|
Task ReplaceAsync(Project project);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Vault.Entities;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Models.Data;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using Bit.Core.Entities.Provider;
|
using Bit.Core.Entities.Provider;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.SecretsManager.Entities;
|
using Bit.Core.SecretsManager.Entities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
6
src/Core/Services/IFeatureService.cs
Normal file
6
src/Core/Services/IFeatureService.cs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
public interface IFeatureService
|
||||||
|
{
|
||||||
|
bool IsOnline();
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ using Bit.Core.Entities;
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models;
|
using Bit.Core.Models;
|
||||||
using Bit.Core.Models.Business;
|
using Bit.Core.Models.Business;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Fido2NetLib;
|
using Fido2NetLib;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ using Bit.Core.Enums;
|
|||||||
using Bit.Core.Models;
|
using Bit.Core.Models;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
@ -7,6 +7,9 @@ using Bit.Core.Models.Data;
|
|||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Tokens;
|
using Bit.Core.Tokens;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
|
using Bit.Core.Vault.Services;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
@ -7,6 +7,7 @@ using Bit.Core.Models.Data.Organizations;
|
|||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.SecretsManager.Entities;
|
using Bit.Core.SecretsManager.Entities;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@ using Bit.Core.Enums;
|
|||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ using Bit.Core.Models;
|
|||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Models.Data;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Azure.NotificationHubs;
|
using Microsoft.Azure.NotificationHubs;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
@ -3,6 +3,7 @@ using Bit.Core.Entities;
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models;
|
using Bit.Core.Models;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ using Bit.Core.Models;
|
|||||||
using Bit.Core.Models.Api;
|
using Bit.Core.Models.Api;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
@ -9,6 +9,8 @@ using Bit.Core.Models.Business;
|
|||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Settings;
|
using Bit.Core.Settings;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Repositories;
|
||||||
using Fido2NetLib;
|
using Fido2NetLib;
|
||||||
using Fido2NetLib.Objects;
|
using Fido2NetLib.Objects;
|
||||||
using Microsoft.AspNetCore.DataProtection;
|
using Microsoft.AspNetCore.DataProtection;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using Bit.Core.Entities.Provider;
|
using Bit.Core.Entities.Provider;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.SecretsManager.Entities;
|
using Bit.Core.SecretsManager.Entities;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Services;
|
namespace Bit.Core.Services;
|
||||||
|
|
||||||
|
@ -77,6 +77,7 @@ public class GlobalSettings : IGlobalSettings
|
|||||||
new DistributedIpRateLimitingSettings();
|
new DistributedIpRateLimitingSettings();
|
||||||
public virtual IPasswordlessAuthSettings PasswordlessAuth { get; set; } = new PasswordlessAuthSettings();
|
public virtual IPasswordlessAuthSettings PasswordlessAuth { get; set; } = new PasswordlessAuthSettings();
|
||||||
public virtual IDomainVerificationSettings DomainVerification { get; set; } = new DomainVerificationSettings();
|
public virtual IDomainVerificationSettings DomainVerification { get; set; } = new DomainVerificationSettings();
|
||||||
|
public virtual ILaunchDarklySettings LaunchDarkly { get; set; } = new LaunchDarklySettings();
|
||||||
|
|
||||||
public string BuildExternalUri(string explicitValue, string name)
|
public string BuildExternalUri(string explicitValue, string name)
|
||||||
{
|
{
|
||||||
@ -538,4 +539,10 @@ public class GlobalSettings : IGlobalSettings
|
|||||||
public int VerificationInterval { get; set; } = 12;
|
public int VerificationInterval { get; set; } = 12;
|
||||||
public int ExpirationPeriod { get; set; } = 7;
|
public int ExpirationPeriod { get; set; } = 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class LaunchDarklySettings : ILaunchDarklySettings
|
||||||
|
{
|
||||||
|
public string SdkKey { get; set; }
|
||||||
|
public string FlagDataFilePath { get; set; } = "flags.json";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,4 +17,5 @@ public interface IGlobalSettings
|
|||||||
ILogLevelSettings MinLogLevel { get; set; }
|
ILogLevelSettings MinLogLevel { get; set; }
|
||||||
IPasswordlessAuthSettings PasswordlessAuth { get; set; }
|
IPasswordlessAuthSettings PasswordlessAuth { get; set; }
|
||||||
IDomainVerificationSettings DomainVerification { get; set; }
|
IDomainVerificationSettings DomainVerification { get; set; }
|
||||||
|
ILaunchDarklySettings LaunchDarkly { get; set; }
|
||||||
}
|
}
|
||||||
|
7
src/Core/Settings/ILaunchDarklySettings.cs
Normal file
7
src/Core/Settings/ILaunchDarklySettings.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
namespace Bit.Core.Settings;
|
||||||
|
|
||||||
|
public interface ILaunchDarklySettings
|
||||||
|
{
|
||||||
|
public string SdkKey { get; set; }
|
||||||
|
public string FlagDataFilePath { get; set; }
|
||||||
|
}
|
@ -1,8 +1,9 @@
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Utilities;
|
using Bit.Core.Utilities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Core.Entities;
|
namespace Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
public class Cipher : ITableObject<Guid>, ICloneable
|
public class Cipher : ITableObject<Guid>, ICloneable
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Enums;
|
namespace Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
public enum CipherRepromptType : byte
|
public enum CipherRepromptType : byte
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Enums;
|
namespace Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
public enum CipherStateAction
|
public enum CipherStateAction
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Enums;
|
namespace Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
public enum CipherType : byte
|
public enum CipherType : byte
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Enums;
|
namespace Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
public enum FieldType : byte
|
public enum FieldType : byte
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Enums;
|
namespace Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
public enum SecureNoteType : byte
|
public enum SecureNoteType : byte
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class AttachmentResponseData
|
public class AttachmentResponseData
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherAttachment
|
public class CipherAttachment
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherCardData : CipherData
|
public class CipherCardData : CipherData
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public abstract class CipherData
|
public abstract class CipherData
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherDetails : CipherOrganizationDetails
|
public class CipherDetails : CipherOrganizationDetails
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherFieldData
|
public class CipherFieldData
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherIdentityData : CipherData
|
public class CipherIdentityData : CipherData
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
|
|
||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherLoginData : CipherData
|
public class CipherLoginData : CipherData
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherOrganizationDetails : Cipher
|
public class CipherOrganizationDetails : Cipher
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherPasswordHistoryData
|
public class CipherPasswordHistoryData
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core.Enums;
|
using Bit.Core.Vault.Enums;
|
||||||
|
|
||||||
namespace Bit.Core.Models.Data;
|
namespace Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
public class CipherSecureNoteData : CipherData
|
public class CipherSecureNoteData : CipherData
|
||||||
{
|
{
|
@ -1,8 +1,9 @@
|
|||||||
using Bit.Core.Entities;
|
using Bit.Core.Entities;
|
||||||
using Bit.Core.Models.Data;
|
using Bit.Core.Repositories;
|
||||||
using Core.Models.Data;
|
using Bit.Core.Vault.Entities;
|
||||||
|
using Bit.Core.Vault.Models.Data;
|
||||||
|
|
||||||
namespace Bit.Core.Repositories;
|
namespace Bit.Core.Vault.Repositories;
|
||||||
|
|
||||||
public interface ICipherRepository : IRepository<Cipher, Guid>
|
public interface ICipherRepository : IRepository<Cipher, Guid>
|
||||||
{
|
{
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user