From 3ca8aef37636cf324b0d39b5fd85155f3cc176db Mon Sep 17 00:00:00 2001 From: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com> Date: Mon, 27 Nov 2023 17:59:57 +0100 Subject: [PATCH 01/11] [AC-1803] Remove propagation from Bitwarden Portal billing email to Stripe account email (#3469) * Revert changes on stripe billing email update * Retain the email validation changes --- .../Controllers/OrganizationsController.cs | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/Admin/Controllers/OrganizationsController.cs b/src/Admin/Controllers/OrganizationsController.cs index f671df558d..67fa26aaca 100644 --- a/src/Admin/Controllers/OrganizationsController.cs +++ b/src/Admin/Controllers/OrganizationsController.cs @@ -21,7 +21,6 @@ using Bit.Core.Utilities; using Bit.Core.Vault.Repositories; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -using Stripe; namespace Bit.Admin.Controllers; @@ -50,7 +49,6 @@ public class OrganizationsController : Controller private readonly ISecretRepository _secretRepository; private readonly IProjectRepository _projectRepository; private readonly IServiceAccountRepository _serviceAccountRepository; - private readonly IStripeSyncService _stripeSyncService; public OrganizationsController( IOrganizationService organizationService, @@ -74,8 +72,7 @@ public class OrganizationsController : Controller ICurrentContext currentContext, ISecretRepository secretRepository, IProjectRepository projectRepository, - IServiceAccountRepository serviceAccountRepository, - IStripeSyncService stripeSyncService) + IServiceAccountRepository serviceAccountRepository) { _organizationService = organizationService; _organizationRepository = organizationRepository; @@ -99,7 +96,6 @@ public class OrganizationsController : Controller _secretRepository = secretRepository; _projectRepository = projectRepository; _serviceAccountRepository = serviceAccountRepository; - _stripeSyncService = stripeSyncService; } [RequirePermission(Permission.Org_List_View)] @@ -213,19 +209,6 @@ public class OrganizationsController : Controller throw new BadRequestException("Plan does not support Secrets Manager"); } - try - { - if (!string.IsNullOrWhiteSpace(organization.GatewayCustomerId) && !string.IsNullOrWhiteSpace(organization.BillingEmail)) - { - await _stripeSyncService.UpdateCustomerEmailAddress(organization.GatewayCustomerId, organization.BillingEmail); - } - } - catch (StripeException stripeException) - { - _logger.LogError(stripeException, "Failed to update billing email address in Stripe for Organization with ID '{organizationId}'", organization.Id); - throw; - } - await _organizationRepository.ReplaceAsync(organization); await _applicationCacheService.UpsertOrganizationAbilityAsync(organization); await _referenceEventService.RaiseEventAsync(new ReferenceEvent(ReferenceEventType.OrganizationEditedByAdmin, organization, _currentContext) From f78998125a7edd950792ea694b17c4cb7f2266fd Mon Sep 17 00:00:00 2001 From: Matt Bishop Date: Mon, 27 Nov 2023 12:52:01 -0500 Subject: [PATCH 02/11] Lock SDK to 6.0.100 and ignore with Renovate updates (#3478) --- .github/renovate.json | 5 +++-- global.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index b8cafdfc01..d639cb74eb 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -175,7 +175,8 @@ ], "force": { "constraints": { - "dotnet": "6.0.413" + "dotnet": "6.0.100" } - } + }, + "ignoreDeps": ["dotnet-sdk"] } diff --git a/global.json b/global.json index 13a0d55fff..10b65be864 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.415", + "version": "6.0.100", "rollForward": "latestFeature" } } From e99250348ac2050f8fcbe180dce531187ff5d35c Mon Sep 17 00:00:00 2001 From: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:12:57 -0500 Subject: [PATCH 03/11] [AC-1827] Organization PlanType Index (#3447) * Reverted accidental change that granted premium to Families 2019 plans * Removed transaction and added a plan type index to organization * Removed index * Added IDs for organizations that should keep UsersGetPremium * Updated to store IDs in temp table --- .../StaticStore/Plans/Families2019Plan.cs | 1 - .../2023-11-14_00_2019FamilyPlanPremium.sql | 347 ++++++++++++++++++ 2 files changed, 347 insertions(+), 1 deletion(-) create mode 100644 util/Migrator/DbScripts/2023-11-14_00_2019FamilyPlanPremium.sql diff --git a/src/Core/Models/StaticStore/Plans/Families2019Plan.cs b/src/Core/Models/StaticStore/Plans/Families2019Plan.cs index 4bc9abc1f3..14ddb3405b 100644 --- a/src/Core/Models/StaticStore/Plans/Families2019Plan.cs +++ b/src/Core/Models/StaticStore/Plans/Families2019Plan.cs @@ -17,7 +17,6 @@ public record Families2019Plan : Models.StaticStore.Plan HasSelfHost = true; HasTotp = true; - UsersGetPremium = true; UpgradeSortOrder = 1; DisplaySortOrder = 1; diff --git a/util/Migrator/DbScripts/2023-11-14_00_2019FamilyPlanPremium.sql b/util/Migrator/DbScripts/2023-11-14_00_2019FamilyPlanPremium.sql new file mode 100644 index 0000000000..67b90d9ca4 --- /dev/null +++ b/util/Migrator/DbScripts/2023-11-14_00_2019FamilyPlanPremium.sql @@ -0,0 +1,347 @@ +CREATE TABLE #ExcludedOrganizationIds +( + ExcludedId UNIQUEIDENTIFIER +); + +INSERT INTO "#ExcludedOrganizationIds" (ExcludedId) +VALUES + ('dec8ffc3-24a8-4b5a-b057-ab7300c1ca1a'), + ('cc4b8cdd-1202-49de-8830-ab6201160e64'), + ('4dd79e1b-f687-431b-95b6-a9bf00bb9fa4'), + ('b285df2d-303a-4ca9-ae67-aa96014738d1'), + ('59f91ca0-648e-4cc9-a510-abf100ec1a21'), + ('3ed5120e-83c2-4dcc-8b23-ab38014a0d91'), + ('64dc181b-1d13-477f-8195-abd9012a26f4'), + ('872ded84-c905-4b41-a2c0-ab340025b753'), + ('3c711cd5-9637-405f-ae33-a9f90160ec48'), + ('938521e7-ebf4-495a-843c-ac0b002af359'), + ('ad471cd9-43bf-453f-a821-aaa60080ebd8'), + ('8d84fe07-4c33-49fc-bd50-abe600d6abc0'), + ('69260dd7-c3b9-4ee6-befa-abe70119b6b1'), + ('f4d59aa4-27a2-4069-8136-abe20045bb1b'), + ('d4c08576-3445-448c-85d1-ab4d0177ac62'), + ('7e551c84-de10-47c7-99c3-ab9900ad52ba'), + ('11a89fd8-f7ea-4a2f-bb1c-ab960148a39a'), + ('adf816aa-a718-4475-9d59-aa69001243ed'), + ('688290e3-4f87-4971-b33d-aa960132138f'), + ('2f9b37eb-8369-400a-be9d-abb600b9ac35'), + ('378c2fcf-7743-4a62-b5b8-ab53002f7aed'), + ('a7484c44-b4c7-4929-ad68-aa6e01722fcd'), + ('dbe92020-ac0a-4c77-b6a3-abe20011b0e8'), + ('caf23986-c99b-46ae-8a5a-aac601429d19'), + ('4edda88e-7237-4133-bbf6-abd40071877d'), + ('c590bb09-a0ff-4fb4-afc7-aad800ffc0b3'), + ('85961861-cf32-438b-9f37-ab2800d1b157'), + ('5f85c290-a5f0-4a0c-b30b-a9bf010dd303'), + ('7ae23fb4-2f30-42fb-8086-ac0300975b82'), + ('ff01c1e7-ce9d-462b-9ed9-ab740024625e'), + ('ecd53779-296e-471f-92b7-abe000d2bf93'), + ('46d927ba-50e9-4e35-a7e5-ab440014fc52'), + ('b26cd7ce-7ab4-4e65-ac44-ab3600f1fda3'), + ('8b4c520f-5fdb-4292-860f-aa8a015a0d85'), + ('005998c0-8ade-4413-8a93-ab3600461687'), + ('678c0837-9e14-479b-9950-a9da0168a31d'), + ('7209856c-f0ed-4e08-a052-ab2a0023e792'), + ('adc89934-3aa3-47bf-b97a-ac1400fae3fe'), + ('8bc546b2-abfe-4fb6-a35a-aad50177a49f'), + ('2b51aa07-eb06-4eb0-8dec-aa6700ccade4'), + ('930732ce-5164-45ca-b03e-aa6f0071345c'), + ('4752d6da-e8f5-48d5-b7bd-a9c20032af38'), + ('49ee2acd-43b3-4bda-a861-aa6e0145ebea'), + ('8c3c7513-1683-437b-930b-abdc00e28a6b'), + ('28e404dd-691d-4e9b-a36e-a9a800dbf8e7'), + ('a393519a-2304-4a6c-878d-abfd003c98de'), + ('51c724a9-cd4d-4f69-a70e-a9cd01201c56'), + ('5321bf3c-243c-4b7b-8d51-abd30104ed28'), + ('3c5db2bf-a62f-40dc-9dbb-abbc006ce471'), + ('ab1b5c62-24dc-49f8-84c3-aadf01231826'), + ('ce6ce28c-2069-4fdc-9ffb-ab7b002ad05f'), + ('ed3b33e8-5598-47d9-8be6-aae201314bbc'), + ('5eeeb882-1fcf-41a3-8b59-aa3d010c5571'), + ('c12507d6-58a8-4f8a-8735-ab62015dfb39'), + ('814bd196-3c53-4d87-9695-ab310188830c'), + ('093fd8f8-693e-41a4-81be-a9ac00f1ec56'), + ('563d5060-3e5a-4c8e-8d8c-aae4000c41ce'), + ('64eeae1c-0393-41ff-8dcc-abfc0153c210'), + ('cf1ba000-7559-480b-b975-abb000783cc6'), + ('fadc026d-c067-4051-a149-abef011944ae'), + ('77894628-1bce-489a-aeeb-ab36014dff46'), + ('f46870e1-678f-4f57-86e8-a9da0155ae4e'), + ('cbc7f817-910f-4831-bc79-ab7a010e08e1'), + ('e9a8ce29-d20b-4db7-aabf-a9db0082966d'), + ('8291fa84-197f-4115-8dd5-ab6b0087442b'), + ('85b4f183-721b-420e-951c-aa64005c67a4'), + ('f4383b65-7e80-499a-9d25-a9dd011aa1dc'), + ('48814d2e-2f48-4bbf-91cf-ab5400cf548f'), + ('989ca9b1-0ccc-433f-9ac6-ab4e002c0367'), + ('8bb6a7f1-3a8b-453c-b86f-ab9b0122b7ae'), + ('6db7d379-9157-4345-8570-ac22016b0c03'), + ('1dfd63c2-fcc6-467e-8245-ac29014cb601'), + ('aefc87e8-8471-4a0c-b878-ab31012676c1'), + ('ceaef923-3e77-4d38-85ce-ab6000938d22'), + ('714e290e-f6e4-4e70-af94-ac2701848c2e'), + ('1ff77c9d-2690-4284-8ca3-ab4001656d79'), + ('4f9f25a6-7956-4d2f-872c-aac100141019'), + ('790b2b28-043b-431e-8557-ab6d0041a28a'), + ('e00ae3ca-9d14-4279-982d-ab8e012e3c03'), + ('2fa5aa1a-7f40-4221-8401-aaec01166862'), + ('98b048fd-d849-4023-9fe1-aa3f01222d06'), + ('50738bf6-7f93-4683-9168-aa3b00db7a69'), + ('c21d8376-9188-4d60-ae91-a9d800454c20'), + ('f140c244-ca18-4bff-a935-aa100062777a'), + ('8b4b8dc7-7d2f-49e1-b4c7-a9ea012b6dd2'), + ('90c0c00c-89df-463b-bce2-ab6a015a67ab'), + ('d9631977-804b-4f01-94df-ab2600f774ea'), + ('b5167b49-ae49-40cc-969a-ab27011a7f05'), + ('ce43366b-4a01-450f-be01-aab800be0681'), + ('9c256860-a37f-4597-a85c-aa920077b06e'), + ('1966f667-d1f1-479f-9c3d-ab8a01722135'), + ('444c85ec-95bc-430e-b100-aa430116076f'), + ('16874d3a-bcbc-46d6-9293-ab010013604e'), + ('0a8e73b8-da61-43de-bdb2-ab140012f879'), + ('43990b6d-53fb-4099-80ab-ab84001d5410'), + ('4921f98e-b441-42c9-89a2-ab5a0187401b'), + ('5a9016f4-e155-4ed7-beb8-ab51003e6fcd'), + ('8f85aff5-b8ee-4b3a-8950-aa6d006d2238'), + ('d0b1665a-15a8-4a58-a37b-ab2401175b0b'), + ('57e8447e-6cb6-49c4-9708-abea00296a38'), + ('1fa32803-3e54-410d-8594-ac0d01438493'), + ('962d76b8-dd2e-46ae-be6d-aab3012774c1'), + ('50756ed5-01b6-445d-94ea-aa4c003fde85'), + ('e788d585-c1f4-4d5e-9e5b-ab8c0167ff2c'), + ('10feb09f-e7ce-4531-b6c7-ab69008de5d9'), + ('b024e551-e2c5-4e79-9b2a-abc501753ebd'), + ('e4f8f012-5485-44b4-ad15-ab2b012c56f4'), + ('70f70af9-a9df-4f94-8df5-aa7b013da30f'), + ('da904974-d064-4ea6-b421-ab3c0062b2a1'), + ('1a457b86-1b4d-4df3-941a-ac100171bcec'), + ('f94c10a0-b1d6-4660-bf23-ab7f01563fdd'), + ('522ef599-ba76-4e54-99a7-a9c60109dc2a'), + ('2ab7633e-6595-4ebd-b846-ab5a000610d0'), + ('f838ca0e-8899-477f-b2a1-aa82014a1e79'), + ('1b3a38ad-8ade-461f-be5d-ab2100f4eced'), + ('97b71898-ab5a-4143-a4e2-aa21009c34de'), + ('4f9ba2ec-cfd6-4026-9dfc-a86c0083d392'), + ('be037379-16bf-4d00-b7dc-ab2b00fc1f2b'), + ('076a9689-3458-462f-a815-ab45006ceeb9'), + ('b3a4a265-bcc0-4ba1-9064-ab3b0066cdf5'), + ('2adaa463-12de-49e6-bc5b-a9cc013b1edf'), + ('57a391a2-fcfd-4a55-a368-a9f4018084f1'), + ('ba5e7dc8-ffad-4e1d-bf86-a9dd00db663f'), + ('aec81da6-b3a3-47fa-a4f0-aa4b017282dd'), + ('784a4ae0-7146-4c99-bfb8-aafb00ee96c2'), + ('27cd6a36-4a57-44f2-8563-aa3200dcf192'), + ('3eaf4fbf-b0b1-4721-a162-ab1501095f5c'), + ('801bfc2e-3897-41fa-aa2e-ab7001710542'), + ('d9e23223-e684-477e-9949-abcd0139c0a9'), + ('12fe7de2-8307-4766-99e6-a93300bcf099'), + ('7568f7ba-895a-4c05-8e64-aa6c00ea4235'), + ('6dd393b7-361f-400b-9a80-ab9a00714ed6'), + ('63fbe2c1-91cd-4a61-adb3-aaec00f36aed'), + ('4d77c08c-c0e5-40e5-8a31-abf5018251c2'), + ('122f82ea-7d70-4f59-80a7-ab78000ee706'), + ('9f9f6ddc-ac72-4a69-a485-abcc0040847e'), + ('e99dbfe8-f076-400f-ae39-aafe00646378'), + ('32f6c959-c6de-4544-846c-ab9801072d91'), + ('948598be-1aa5-4667-ace8-aa65001d9ff8'), + ('d40cb526-c481-4f46-9679-aad50110c9f8'), + ('8ee54097-bfd3-46f0-ab3a-abbd010b2cd8'), + ('d112f3e4-ed83-4ebb-8dcf-ab9e003c0945'), + ('ca7496bd-f3c7-49f4-8cbf-aa80011382d6'), + ('5243d4d7-274b-4d7d-b5a0-ab2f00338f60'), + ('1fa29add-b653-467f-b517-ab960083b799'), + ('bdf49b46-d7d7-42f5-9b5f-ab790125bdf3'), + ('11671684-b6a5-403e-93f1-aaac000a6cfe'), + ('59982841-8b15-439f-a105-ab2a0169d736'), + ('fc4d85f7-5d76-4cbb-855d-aa600054c37f'), + ('8eee78ce-e632-4430-aa04-a9d300f97f97'), + ('2cdc37fe-61b9-46ac-b12e-ab7401421789'), + ('9a391088-4dd9-4738-b5e9-ab7a01174e00'), + ('8f0f69e0-d578-48bf-8234-ab6d00f671c4'), + ('12314ee1-c386-434e-b116-ac0700ec705e'), + ('9dc2e193-cf50-4f5c-ab27-aa6b01356aaa'), + ('de57fdc7-ea93-459f-aa8d-aa420103fb24'), + ('ec4f6871-3b2e-4c82-b075-aa1501516892'), + ('05cfc1ce-4c86-4417-ac00-ac2b0080b915'), + ('c58b3f75-4538-4383-8182-a9c8014f28bf'), + ('a22a1fd4-30ee-4b7d-ab25-aa3e00e2025b'), + ('db0595d1-3324-443f-b5e8-abee0093aef0'), + ('dd96260f-d6e7-4231-a4f3-abdb003eda43'), + ('9ce5c9e4-0fb3-451b-a419-aa7700527945'), + ('366ae645-74f0-4105-9ce9-abc500b25b7f'), + ('19e26466-2c02-4ee3-b25f-ac0e0160c9fc'), + ('49666734-d5be-4d2b-8281-a9f700792a9e'), + ('8109068e-7ca6-4e53-9d61-aa66011a45b9'), + ('ba3810d3-c270-4dac-9e5f-ab66000c6317'), + ('37ad9eee-026f-4c0b-a5ba-abe60168fffb'), + ('f53ee7b2-e39a-4ddc-9194-aa1e010ab904'), + ('2458cb30-09b4-44b9-b2f8-aa3501779846'), + ('e32ad579-240e-4513-986e-aa4801340a90'), + ('30ff7813-f4e3-4da4-8a8a-ab86014f982b'), + ('06302a61-8ce7-4c66-bc9a-ab17016ca41e'), + ('ff8dcbe1-bbc5-4013-9acc-aa13004d0e40'), + ('e0eaa125-62f1-4dd2-baf5-aa2b0149b99b'), + ('703d1977-705a-458d-b5c4-aa780051591c'), + ('c49acc11-b581-410d-ba6a-ac2b01845320'), + ('81084b94-1864-49a7-b877-abf30075264f'), + ('ca41609f-0ef2-4268-94ba-aa9e00e0560e'), + ('878ed95a-97e2-484e-9df9-ac230174b114'), + ('2d58037d-4316-419e-b27c-aac00110c143'), + ('22e7f61b-fee0-4e82-9fa2-ab7c00b577a0'), + ('f24923f6-c3dc-4ce4-a3df-a9cf0089e0a1'), + ('e48376fc-fcaf-40f7-aeb3-abea002c4617'), + ('c1e3762e-f924-4649-bfed-abc500e77037'), + ('f120a27d-07fc-4728-a359-abcd01258ae1'), + ('07b961d2-6504-492d-afdb-a9f1013a848f'), + ('d997745b-d826-4033-94e1-aaf10139c310'), + ('0b772d98-4bdf-464e-9f4b-aba300430074'), + ('1dfefb50-a730-4cc0-962b-ab7f01482a5b'), + ('d4f5ae17-c1d7-4365-872a-abe700eed375'), + ('da21de5a-1102-40a7-bbd4-aba60031a252'), + ('e600b97f-e88d-4bb5-9095-aa6e004d147c'), + ('d7317618-7c3d-4cad-bc08-ab2e005c3e1a'), + ('45d45b24-f2c9-450b-a6fd-abe6011a6086'), + ('0f2006bc-cd44-438f-8f9a-a9f301611824'), + ('17677f01-e186-42a8-8bbd-ab30005d298f'), + ('71c08801-8485-459e-8893-ab9e0010e6c7'), + ('026a23b8-6130-4011-bfa1-ab190053b4a0'), + ('6a2bd5b7-5b7c-4e31-b44e-abe3018b1811'), + ('bbc6bebb-2dba-4b38-9289-abdf0148f0ca'), + ('b9013ae4-eaf9-40f3-8fb9-ab80012abcc2'), + ('3c7c92f6-6554-43bb-a711-ac21005f8db9'), + ('455d535d-d68f-4146-89b1-ab3b017be189'), + ('bc5dbd3c-b595-473a-a79a-ac1b00209e3f'), + ('b538c147-2e69-4107-a555-ab4c01167177'), + ('73832978-6ad4-4d0e-865e-ab39017cce9f'), + ('ed26a566-ea31-4861-8d1f-ab3b012e621f'), + ('08b0e0a9-ba20-4e58-8660-ab6c0162bf75'), + ('cb5d18de-6e5e-4a7e-83c0-a9be0034e30e'), + ('52515b20-8b77-48e7-b88a-abca015f6a3a'), + ('f15b6c1d-bb2d-4851-8e36-ab1a014618bf'), + ('a0df784e-6e0f-46ad-af70-aa170091958a'), + ('2cab64a2-8322-46e4-9e20-ab22010c5fc2'), + ('8e60660c-7e7d-4f2a-b049-abf000045450'), + ('099fd470-a789-437f-8645-aaab01432218'), + ('7693b8de-e778-44b7-84e9-aaaf0119db35'), + ('9ae61ef1-ffc6-4ea2-99e3-abe8011785e2'), + ('0204e23e-196a-4a70-9184-ab7f00145931'), + ('ac4a9a5b-7545-4a45-ab2e-abe800205f5a'), + ('af9ba60f-026c-47df-8bcd-aa120148a1d0'), + ('d9fabc70-b404-4054-b674-ab7d0121f7b1'), + ('09fa21ae-94b9-4a60-a3cc-a9e6015b7a9b'), + ('c48b072a-3406-484a-86e0-ac0f00440b2d'), + ('bd5f0301-46b0-4839-a6e2-ac0a01485b1d'), + ('511741ca-4196-410e-a1aa-ab31014eb5d6'), + ('6467ac4b-eeb0-4254-86e1-ab4d0180dea8'), + ('945982f2-96c6-4f5a-9a10-ac09004c863d'), + ('25440cae-5006-4230-b99c-aa73014ad0ae'), + ('14653120-4391-407e-8fb7-abb200f89271'), + ('387ab0f4-ec9c-47ea-9123-ab7a01047e31'), + ('1fbdf873-49ec-4d07-9c97-aa680121b7af'), + ('aea59245-403c-4387-b992-aae00116db12'), + ('4d9a2c12-0d2a-442c-929f-aa6100005803'), + ('4aa72634-dd58-4a93-837d-ab7b00b1c5bb'), + ('e215be2d-d26b-484e-b907-ab870008712b'), + ('84928852-71b4-4cfe-a07d-aaca0119357c'), + ('c06cfde6-0396-4efe-b816-ab740043a155'), + ('44071b57-7d58-419a-9020-aa070124916f'), + ('017ad965-3fad-4016-9a20-aed0011c6de5'), + ('c1dfb0f6-da6c-4e5f-9044-aa40001d6090'), + ('3344b929-68db-4822-abcf-aabd01442fa3'), + ('ecc3287d-b258-4c87-87d5-ab08015847fe'), + ('20e9e399-53bd-49a7-a9d6-ab4d017a463d'), + ('719ba2b6-9d00-4b87-a21b-ab9100376c90'), + ('cea86f88-38e9-40df-ad08-aaeb014561f8'), + ('325501f9-c3a0-45ae-8122-aadf00611651'), + ('1109258c-3aef-4c15-9da2-abef014da457'), + ('c3f4b2c5-c102-4fce-abda-ab0100dca585'), + ('4109f60f-29a2-4073-93e6-aa9c0161dce4'), + ('8fa02b36-4bbd-4d23-b5ed-ab5b002e7f0d'), + ('32b3fbf5-4064-4ebe-baa7-aaa10162d934'), + ('d60ac752-52e4-43d8-9b07-abda00bf6d0a'), + ('a630205c-3ef9-4e54-94ac-aa7500ffd21d'), + ('28bfc80e-070d-4d67-be39-ab78017a08b4'), + ('d8c575b4-e4b1-43f7-8b7c-abeb001e073e'), + ('8b2dc254-4a96-44f6-b84e-aa9401488c1c'), + ('142bc8e5-b78b-4239-bd3d-aa0000263c41'), + ('2556e04a-5ce9-41c6-8495-ab3e0146aa75'), + ('61cc3d0b-5f60-4ee8-8218-a9ca016e64cd'), + ('e44d3c3e-c750-48ef-beac-abe30158ae78'), + ('9b4d719c-ee4b-41ee-9f01-ab6200c68782'), + ('2680b593-5040-4d2a-ab61-aa6400a085d5'), + ('6a5b05ec-580c-4fc3-b786-aaf500ee50a4'), + ('e2cc24d8-bdff-406f-b8aa-ab51009710b2'), + ('4d73092d-f5f3-4862-bf30-ab9e002d246f'), + ('31124285-f18c-463d-896d-ab3801897e2a'), + ('9b760a25-497f-4720-a136-aa12010654d9'), + ('a5a8f5ba-17da-486e-b927-ac1a00c167de'), + ('c332ecbd-3110-4344-bb94-aafc0176748f'), + ('945beef5-f722-417e-b9af-aa920106c659'), + ('13b0301d-09f3-4e9e-affe-abf500d660a9'), + ('2b0b510b-17c5-4ac9-9a9f-ac1b0061936e'), + ('75d3f88c-b16e-480c-832e-aaf0010adcdd'), + ('675ea811-d203-4fa9-b94d-abe800713a28'), + ('7c93777c-8be6-47dd-add5-ab6e0019d2b1'), + ('deb7c7e7-dcba-49df-b047-aa5b01240c2f'), + ('fb3b0dd9-dad9-4c78-a5cb-ab4f009d6c1f'), + ('920b2e34-9a52-4ad1-9ac8-aa7c01490016'), + ('3652c135-e6be-4bbb-ae18-aa130137f504'), + ('b835940f-cab6-4224-9b23-ab260178dd9c'), + ('b81d7501-6e41-4304-b4b3-abb9000066b2'), + ('9e6cb7fe-352b-4a16-8560-abf5017368c9'), + ('c625cf22-4c96-43ea-a433-a98c012db602'), + ('07faa9ee-0577-408b-ae10-abca00862b2b'), + ('799c8e15-c9bd-4e7e-9b1e-aba3011b6ff5'), + ('849f5413-5b95-4976-b046-abac01597398'), + ('28bea5ac-518d-46af-a9ad-ac77013792c7'), + ('a4ccc9f3-da48-43c3-92c0-abe401329e23'), + ('b5f5475c-5a8b-42ea-a33c-aabe004b57a6'), + ('4e09c899-23af-4a13-b34b-aa1000bf5840'), + ('b17cc0dd-6af0-40de-99de-aa3900f5b481'), + ('940ff4d2-92a8-4ac5-9e93-ab8b01186109'), + ('8a7358ed-9e34-4f33-9e54-abc00084e8ae'), + ('ef529c37-25cd-4299-9bef-a9f700ef2834'), + ('d3c92366-4e93-482b-b31e-aa48011781d2'), + ('8c032a55-842b-4418-8582-aaa301399df6'), + ('4b050547-c46c-4ca7-9051-abb40034b6ed'), + ('aa72125a-d081-45e0-a106-ab4f016813d6'), + ('e438b101-b88b-4446-aba5-aacc01840144'), + ('4c312a51-119a-46af-a04c-ab790184dc14'), + ('66de69da-c82b-493d-9e1b-ab25015316c9'), + ('b28bf58e-675e-49f7-89ef-ab0e01755296'), + ('3d1398a6-af73-4f79-b9b7-abe900647c6e'), + ('733c96c3-b8b8-49f9-b745-ab3c00d75e9c'), + ('8fcfd6cc-59bc-4b7a-ab6a-ab77002342e9'), + ('a71df7d2-22d0-41ae-9fab-ab57001f4c43'), + ('8d16f977-b6b9-4b8a-86d4-aa89007d3453'), + ('029f2e3d-0332-4a66-96e1-ac0800a24084'), + ('4e78b2d8-91c5-4ca1-b0c0-aad801044233'), + ('0c2417f2-a5b8-4b84-878b-ac0b00c0461d'), + ('f9a0714d-9901-4d64-b08f-abdb00f9453a'), + ('3d2452bb-d376-485c-b3c4-ab470090afe4'), + ('317f9615-ac24-4b53-baf0-ab69018330f2'), + ('557aed8a-edb4-4600-9539-ab410165b4a6'), + ('1f0d35ea-a585-41f5-b258-ab99003cd4cb'), + ('cecf9e04-4ff8-41b1-88c8-aab50096e57a'), + ('891b35c0-7af5-4bcc-9a03-abd200a48723'), + ('7937ae0a-4f38-48b0-b39e-aa93015d681c'), + ('69829207-9194-47e0-a012-ac07004e2302'), + ('70f3068c-2db6-409c-b831-ac110103bf26'), + ('9f72a10b-377a-4381-8b9e-abd3005a650f'), + ('f935bdae-3147-46f3-a5b7-aba60106fad6'), + ('4e234f3e-a0f5-4f17-9740-aa5500115b73'), + ('605483a8-dc42-43ac-8a53-abe30133858c'); + +UPDATE + [org] +SET + [UsersGetPremium] = 0 +FROM + [dbo].[Organization] AS [org] + LEFT JOIN [#ExcludedOrganizationIds] AS [ex] + ON [org].[Id] = [ex].[ExcludedId] +WHERE + [org].[PlanType] = 1 -- Families 2019 Annual + AND [ex].[ExcludedId] IS NULL; + +DROP TABLE #ExcludedOrganizationIds; From b062ab804313cd0546ab389a5e771805a46a3b06 Mon Sep 17 00:00:00 2001 From: Shane Melton Date: Mon, 27 Nov 2023 11:44:07 -0800 Subject: [PATCH 04/11] [AC-1122] Add AllowAdminAccessToAllCollectionItems setting to Organizations (#3379) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [AC-1117] Add manage permission (#3126) * Update sql files to add Manage permission * Add migration script * Rename collection manage migration file to remove duplicate migration date * Migrations * Add manage to models * Add manage to repository * Add constraint to Manage columns * Migration lint fixes * Add manage to OrganizationUserUserDetails_ReadWithCollectionsById * Add missing manage fields * Add 'Manage' to UserCollectionDetails * Use CREATE OR ALTER where possible * [AC-1374] Limit collection creation/deletion to Owner/Admin (#3145) * feat: update org table with new column, write migration, refs AC-1374 * feat: update views with new column, refs AC-1374 * feat: Alter sprocs (org create/update) to include new column, refs AC-1374 * feat: update entity/data/request/response models to handle new column, refs AC-1374 * feat: update necessary Provider related views during migration, refs AC-1374 * fix: update org create to default new column to false, refs AC-1374 * feat: added new API/request model for collection management and removed property from update request model, refs AC-1374 * fix: renamed migration script to be after secrets manage beta column changes, refs AC-1374 * fix: dotnet format, refs AC-1374 * feat: add ef migrations to reflect mssql changes, refs AC-1374 * fix: dotnet format, refs AC-1374 * feat: update API signature to accept Guid and explain Cd verbiage, refs AC-1374 * fix: merge conflict resolution * [AC-1174] CollectionUser and CollectionGroup authorization handlers (#3194) * [AC-1174] Introduce BulkAuthorizationHandler.cs * [AC-1174] Introduce CollectionUserAuthorizationHandler * [AC-1174] Add CreateForNewCollection CollectionUser requirement * [AC-1174] Add some more details to CollectionCustomization * [AC-1174] Formatting * [AC-1174] Add CollectionGroupOperation.cs * [AC-1174] Introduce CollectionGroupAuthorizationHandler.cs * [AC-1174] Cleanup CollectionFixture customization Implement and use re-usable extension method to support seeded Guids * [AC-1174] Introduce WithValueFromList AutoFixtureExtensions Modify CollectionCustomization to use multiple organization Ids for auto generated test data * [AC-1174] Simplify CollectionUserAuthorizationHandler.cs Modify the authorization handler to only perform authorization logic. Validation logic will need to be handled by any calling commands/controllers instead. * [AC-1174] Introduce shared CollectionAccessAuthorizationHandlerBase A shared base authorization handler was created for both CollectionUser and CollectionGroup resources, as they share the same underlying management authorization logic. * [AC-1174] Update CollectionUserAuthorizationHandler and CollectionGroupAuthorizationHandler to use the new CollectionAccessAuthorizationHandlerBase class * [AC-1174] Formatting * [AC-1174] Cleanup typo and redundant ToList() call * [AC-1174] Add check for provider users * [AC-1174] Reduce nested loops * [AC-1174] Introduce ICollectionAccess.cs * [AC-1174] Remove individual CollectionGroup and CollectionUser auth handlers and use base class instead * [AC-1174] Tweak unit test to fail minimally * [AC-1174] Reorganize authorization handlers in Core project * [AC-1174] Introduce new AddCoreAuthorizationHandlers() extension method * [AC-1174] Move CollectionAccessAuthorizationHandler into Api project * [AC-1174] Move CollectionFixture to Vault folder * [AC-1174] Rename operation to CreateUpdateDelete * [AC-1174] Require single organization for collection access authorization handler - Add requirement that all target collections must belong to the same organization - Simplify logic related to multiple organizations - Update tests and helpers - Use ToHashSet to improve lookup time * [AC-1174] Fix null reference exception * [AC-1174] Throw bad request exception when collections belong to different organizations * [AC-1174] Switch to CollectionAuthorizationHandler instead of CollectionAccessAuthorizationHandler to reduce complexity * Fix improper merge conflict resolution * fix: add permission check for collection management api, refs AC-1647 (#3252) * [AC-1125] Enforce org setting for creating/deleting collections (#3241) * [AC-1117] Add manage permission (#3126) * Update sql files to add Manage permission * Add migration script * Rename collection manage migration file to remove duplicate migration date * Migrations * Add manage to models * Add manage to repository * Add constraint to Manage columns * Migration lint fixes * Add manage to OrganizationUserUserDetails_ReadWithCollectionsById * Add missing manage fields * Add 'Manage' to UserCollectionDetails * Use CREATE OR ALTER where possible * [AC-1374] Limit collection creation/deletion to Owner/Admin (#3145) * feat: update org table with new column, write migration, refs AC-1374 * feat: update views with new column, refs AC-1374 * feat: Alter sprocs (org create/update) to include new column, refs AC-1374 * feat: update entity/data/request/response models to handle new column, refs AC-1374 * feat: update necessary Provider related views during migration, refs AC-1374 * fix: update org create to default new column to false, refs AC-1374 * feat: added new API/request model for collection management and removed property from update request model, refs AC-1374 * fix: renamed migration script to be after secrets manage beta column changes, refs AC-1374 * fix: dotnet format, refs AC-1374 * feat: add ef migrations to reflect mssql changes, refs AC-1374 * fix: dotnet format, refs AC-1374 * feat: update API signature to accept Guid and explain Cd verbiage, refs AC-1374 * feat: created collection auth handler/operations, added LimitCollectionCdOwnerAdmin to CurrentContentOrganization, refs AC-1125 * feat: create vault service collection extensions and register with base services, refs AC-1125 * feat: deprecated CurrentContext.CreateNewCollections, refs AC-1125 * feat: deprecate DeleteAnyCollection for single resource usages, refs AC-1125 * feat: move service registration to api, update references, refs AC-1125 * feat: add bulk delete authorization handler, refs AC-1125 * feat: always assign user and give manage access on create, refs AC-1125 * fix: updated CurrentContextOrganization type, refs AC-1125 * feat: combined existing collection authorization handlers/operations, refs AC-1125 * fix: OrganizationServiceTests -> CurrentContentOrganization typo, refs AC-1125 * fix: format, refs AC-1125 * fix: update collection controller tests, refs AC-1125 * fix: dotnet format, refs AC-1125 * feat: removed extra BulkAuthorizationHandler, refs AC-1125 * fix: dotnet format, refs AC-1125 * fix: change string to guid for org id, update bulk delete request model, refs AC-1125 * fix: remove delete many collection check, refs AC-1125 * fix: clean up collection auth handler, refs AC-1125 * fix: format fix for CollectionOperations, refs AC-1125 * fix: removed unnecessary owner check, add org null check to custom permission validation, refs AC-1125 * fix: remove unused methods in CurrentContext, refs AC-1125 * fix: removed obsolete test, fixed failling delete many test, refs AC-1125 * fix: CollectionAuthorizationHandlerTests fixes, refs AC-1125 * fix: OrganizationServiceTests fix broken test by mocking GetOrganization, refs AC-1125 * fix: CollectionAuthorizationHandler - remove unused repository, refs AC-1125 * feat: moved UserId null check to common method, refs AC-1125 * fix: updated auth handler tests to remove dependency on requirement for common code checks, refs AC-1125 * feat: updated conditionals/comments for create/delete methods within colleciton auth handler, refs AC-1125 * feat: added create/delete collection auth handler success methods, refs AC-1125 * fix: new up permissions to prevent excessive null checks, refs AC-1125 * fix: remove old reference to CreateNewCollections, refs AC-1125 * fix: typo within ViewAssignedCollections method, refs AC-1125 --------- Co-authored-by: Robyn MacCallum * refactor: remove organizationId from CollectionBulkDeleteRequestModel, refs AC-1649 (#3282) * [AC-1174] Bulk Collection Management (#3229) * [AC-1174] Update SelectionReadOnlyRequestModel to use Guid for Id property * [AC-1174] Introduce initial bulk-access collection endpoint * [AC-1174] Introduce BulkAddCollectionAccessCommand and validation logic/tests * [AC-1174] Add CreateOrUpdateAccessMany method to CollectionRepository * [AC-1174] Add event logs for bulk add collection access command * [AC-1174] Add User_BumpAccountRevisionDateByCollectionIds and database migration script * [AC-1174] Implement EF repository method * [AC-1174] Improve null checks * [AC-1174] Remove unnecessary BulkCollectionAccessRequestModel helpers * [AC-1174] Add unit tests for new controller endpoint * [AC-1174] Fix formatting * [AC-1174] Remove comment * [AC-1174] Remove redundant organizationId parameter * [AC-1174] Ensure user and group Ids are distinct * [AC-1174] Cleanup tests based on PR feedback * [AC-1174] Formatting * [AC-1174] Update CollectionGroup alias in the sproc * [AC-1174] Add some additional comments to SQL sproc * [AC-1174] Add comment explaining additional SaveChangesAsync call --------- Co-authored-by: Thomas Rittson * [AC-1646] Rename LimitCollectionCdOwnerAdmin column (#3300) * Rename LimitCollectionCdOwnerAdmin -> LimitCollectionCreationDeletion * Rename and bump migration script * [AC-1666] Removed EditAnyCollection from Create/Delete permission checks (#3301) * fix: remove EditAnyCollection from Create/Delete permission check, refs AC-1666 * fix: updated comment, refs AC-1666 * [AC-1669] Bug - Remove obsolete assignUserId from CollectionService.SaveAsync(...) (#3312) * fix: remove AssignUserId from CollectionService.SaveAsync, refs AC-1669 * fix: add manage access conditional before creating collection, refs AC-1669 * fix: move access logic for create/update, fix all tests, refs AC-1669 * fix: add CollectionAccessSelection fixture, update tests, update bad reqeuest message, refs AC-1669 * fix: format, refs AC-1669 * fix: update null params with specific arg.is null checks, refs Ac-1669 * fix: update attribute class name, refs AC-1669 * [AC-1713] [Flexible collections] Add feature flags to server (#3334) * Add feature flags for FlexibleCollections and BulkCollectionAccess * Flag new routes and behaviour --------- Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com> * Add joint codeownership for auth handlers (#3346) * [AC-1717] Update default values for LimitCollectionCreationDeletion (#3365) * Change default value in organization create sproc to 1 * Drop old column name still present in some QA instances * Set LimitCollectionCreationDeletion value in code based on feature flag * Fix: add missing namespace after merging in master * Fix: add missing namespace after merging in master * [AC-1683] Fix DB migrations for new Manage permission (#3307) * [AC-1683] Update migration script and introduce V2 procedures and types * [AC-1683] Update repository calls to use new V2 procedures / types * [AC-1684] Update bulk add collection migration script to use new V2 type * [AC-1683] Undo Manage changes to more original procedures * [AC-1683] Restore whitespace changes * [AC-1683] Clarify comments regarding explicit column lists * [AC-1683] Update migration script dates * [AC-1683] Split the migration script for readability * [AC-1683] Re-name SelectReadOnlyArray_V2 to CollectionAccessSelectionType * [AC-1648] [Flexible Collections] Bump migration scripts before feature branch merge (#3371) * Bump dates on sql migration scripts * Bump date on ef migrations * [AC-1727] Add AllowAdminAccessToAllCollectionItems column to Organization table * [AC-1720] Update stored procedures and views that query the organization table and new column * [AC-1727] Add EF migrations for new DB column * [AC-1729] Update API request/response models * [AC-1122] Add new setting to CurrentContextOrganization.cs * [AC-1122] Ensure new setting is disabled for new orgs when the feature flag is enabled * [AC-1122] Use V1 feature flag for new setting * [AC-1122] Formatting * [AC-1122] Update migration script date --------- Co-authored-by: Robyn MacCallum Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> Co-authored-by: Vincent Salucci Co-authored-by: Thomas Rittson Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com> --- .../Controllers/OrganizationsController.cs | 8 + .../OrganizationResponseModel.cs | 2 + .../ProfileOrganizationResponseModel.cs | 2 + ...nCollectionManagementUpdateRequestModel.cs | 2 + src/Core/Constants.cs | 1 + .../Context/CurrentContextOrganization.cs | 2 + src/Core/Entities/Organization.cs | 8 + .../OrganizationUserOrganizationDetails.cs | 1 + .../SelfHostedOrganizationDetails.cs | 1 + .../Implementations/OrganizationService.cs | 5 +- .../Repositories/DatabaseContext.cs | 3 + .../Stored Procedures/Organization_Create.sql | 9 +- .../Stored Procedures/Organization_Update.sql | 6 +- src/Sql/dbo/Tables/Organization.sql | 1 + ...rganizationUserOrganizationDetailsView.sql | 3 +- ...023-11-27_00_AdminCollectionItemAccess.sql | 407 +++ ...5542_AdminCollectionItemAccess.Designer.cs | 2253 ++++++++++++++++ ...0231025225542_AdminCollectionItemAccess.cs | 28 + .../DatabaseContextModelSnapshot.cs | 6 +- ...5548_AdminCollectionItemAccess.Designer.cs | 2264 +++++++++++++++++ ...0231025225548_AdminCollectionItemAccess.cs | 28 + .../DatabaseContextModelSnapshot.cs | 6 +- ...5553_AdminCollectionItemAccess.Designer.cs | 2251 ++++++++++++++++ ...0231025225553_AdminCollectionItemAccess.cs | 28 + .../DatabaseContextModelSnapshot.cs | 6 +- 25 files changed, 7321 insertions(+), 10 deletions(-) create mode 100644 util/Migrator/DbScripts/2023-11-27_00_AdminCollectionItemAccess.sql create mode 100644 util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.Designer.cs create mode 100644 util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.cs create mode 100644 util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.Designer.cs create mode 100644 util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.cs create mode 100644 util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.Designer.cs create mode 100644 util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.cs diff --git a/src/Api/AdminConsole/Controllers/OrganizationsController.cs b/src/Api/AdminConsole/Controllers/OrganizationsController.cs index db02097421..130f286ec7 100644 --- a/src/Api/AdminConsole/Controllers/OrganizationsController.cs +++ b/src/Api/AdminConsole/Controllers/OrganizationsController.cs @@ -795,6 +795,14 @@ public class OrganizationsController : Controller throw new NotFoundException(); } + var v1Enabled = _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollectionsV1, _currentContext); + + if (!v1Enabled) + { + // V1 is disabled, ensure V1 setting doesn't change + model.AllowAdminAccessToAllCollectionItems = organization.AllowAdminAccessToAllCollectionItems; + } + await _organizationService.UpdateAsync(model.ToOrganization(organization), eventType: EventType.Organization_CollectionManagement_Updated); return new OrganizationResponseModel(organization); } diff --git a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs index 82b17c0328..65b217865f 100644 --- a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs +++ b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs @@ -55,6 +55,7 @@ public class OrganizationResponseModel : ResponseModel MaxAutoscaleSmSeats = organization.MaxAutoscaleSmSeats; MaxAutoscaleSmServiceAccounts = organization.MaxAutoscaleSmServiceAccounts; LimitCollectionCreationDeletion = organization.LimitCollectionCreationDeletion; + AllowAdminAccessToAllCollectionItems = organization.AllowAdminAccessToAllCollectionItems; } public Guid Id { get; set; } @@ -95,6 +96,7 @@ public class OrganizationResponseModel : ResponseModel public int? MaxAutoscaleSmSeats { get; set; } public int? MaxAutoscaleSmServiceAccounts { get; set; } public bool LimitCollectionCreationDeletion { get; set; } + public bool AllowAdminAccessToAllCollectionItems { get; set; } } public class OrganizationSubscriptionResponseModel : OrganizationResponseModel diff --git a/src/Api/AdminConsole/Models/Response/ProfileOrganizationResponseModel.cs b/src/Api/AdminConsole/Models/Response/ProfileOrganizationResponseModel.cs index e0d1433c15..be4f76da16 100644 --- a/src/Api/AdminConsole/Models/Response/ProfileOrganizationResponseModel.cs +++ b/src/Api/AdminConsole/Models/Response/ProfileOrganizationResponseModel.cs @@ -60,6 +60,7 @@ public class ProfileOrganizationResponseModel : ResponseModel FamilySponsorshipValidUntil = organization.FamilySponsorshipValidUntil; AccessSecretsManager = organization.AccessSecretsManager; LimitCollectionCreationDeletion = organization.LimitCollectionCreationDeletion; + AllowAdminAccessToAllCollectionItems = organization.AllowAdminAccessToAllCollectionItems; if (organization.SsoConfig != null) { @@ -114,4 +115,5 @@ public class ProfileOrganizationResponseModel : ResponseModel public bool? FamilySponsorshipToDelete { get; set; } public bool AccessSecretsManager { get; set; } public bool LimitCollectionCreationDeletion { get; set; } + public bool AllowAdminAccessToAllCollectionItems { get; set; } } diff --git a/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs b/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs index de370f714d..904a2d1921 100644 --- a/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs +++ b/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs @@ -5,10 +5,12 @@ namespace Bit.Api.Models.Request.Organizations; public class OrganizationCollectionManagementUpdateRequestModel { public bool LimitCreateDeleteOwnerAdmin { get; set; } + public bool AllowAdminAccessToAllCollectionItems { get; set; } public virtual Organization ToOrganization(Organization existingOrganization) { existingOrganization.LimitCollectionCreationDeletion = LimitCreateDeleteOwnerAdmin; + existingOrganization.AllowAdminAccessToAllCollectionItems = AllowAdminAccessToAllCollectionItems; return existingOrganization; } } diff --git a/src/Core/Constants.cs b/src/Core/Constants.cs index 258c67b7f2..e038372373 100644 --- a/src/Core/Constants.cs +++ b/src/Core/Constants.cs @@ -52,6 +52,7 @@ public static class FeatureFlagKeys public const string AutofillV2 = "autofill-v2"; public const string BrowserFilelessImport = "browser-fileless-import"; public const string FlexibleCollections = "flexible-collections"; + public const string FlexibleCollectionsV1 = "flexible-collections-v-1"; // v-1 is intentional public const string BulkCollectionAccess = "bulk-collection-access"; public const string AutofillOverlay = "autofill-overlay"; public const string ItemShare = "item-share"; diff --git a/src/Core/Context/CurrentContextOrganization.cs b/src/Core/Context/CurrentContextOrganization.cs index b812143e2f..a1806137eb 100644 --- a/src/Core/Context/CurrentContextOrganization.cs +++ b/src/Core/Context/CurrentContextOrganization.cs @@ -16,6 +16,7 @@ public class CurrentContextOrganization Permissions = CoreHelpers.LoadClassFromJsonData(orgUser.Permissions); AccessSecretsManager = orgUser.AccessSecretsManager && orgUser.UseSecretsManager && orgUser.Enabled; LimitCollectionCreationDeletion = orgUser.LimitCollectionCreationDeletion; + AllowAdminAccessToAllCollectionItems = orgUser.AllowAdminAccessToAllCollectionItems; } public Guid Id { get; set; } @@ -23,4 +24,5 @@ public class CurrentContextOrganization public Permissions Permissions { get; set; } = new(); public bool AccessSecretsManager { get; set; } public bool LimitCollectionCreationDeletion { get; set; } + public bool AllowAdminAccessToAllCollectionItems { get; set; } } diff --git a/src/Core/Entities/Organization.cs b/src/Core/Entities/Organization.cs index a909a64376..56387b58fd 100644 --- a/src/Core/Entities/Organization.cs +++ b/src/Core/Entities/Organization.cs @@ -82,6 +82,14 @@ public class Organization : ITableObject, ISubscriber, IStorable, IStorabl /// Refers to the ability for an organization to limit collection creation and deletion to owners and admins only /// public bool LimitCollectionCreationDeletion { get; set; } + /// + /// Refers to the ability for an organization to limit owner/admin access to all collection items + /// + /// True: Owner/admins can access all items belonging to any collections + /// False: Owner/admins can only access items for collections they are assigned + /// + /// + public bool AllowAdminAccessToAllCollectionItems { get; set; } public void SetNewId() { diff --git a/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserOrganizationDetails.cs b/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserOrganizationDetails.cs index 6566568c17..52a1904929 100644 --- a/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserOrganizationDetails.cs +++ b/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserOrganizationDetails.cs @@ -49,4 +49,5 @@ public class OrganizationUserOrganizationDetails public int? SmSeats { get; set; } public int? SmServiceAccounts { get; set; } public bool LimitCollectionCreationDeletion { get; set; } + public bool AllowAdminAccessToAllCollectionItems { get; set; } } diff --git a/src/Core/Models/Data/Organizations/SelfHostedOrganizationDetails.cs b/src/Core/Models/Data/Organizations/SelfHostedOrganizationDetails.cs index b0498e6c89..ddca0d3c8a 100644 --- a/src/Core/Models/Data/Organizations/SelfHostedOrganizationDetails.cs +++ b/src/Core/Models/Data/Organizations/SelfHostedOrganizationDetails.cs @@ -145,6 +145,7 @@ public class SelfHostedOrganizationDetails : Organization MaxAutoscaleSeats = MaxAutoscaleSeats, OwnersNotifiedOfAutoscaling = OwnersNotifiedOfAutoscaling, LimitCollectionCreationDeletion = LimitCollectionCreationDeletion, + AllowAdminAccessToAllCollectionItems = AllowAdminAccessToAllCollectionItems }; } } diff --git a/src/Core/Services/Implementations/OrganizationService.cs b/src/Core/Services/Implementations/OrganizationService.cs index 51caf4c316..2b3dece37c 100644 --- a/src/Core/Services/Implementations/OrganizationService.cs +++ b/src/Core/Services/Implementations/OrganizationService.cs @@ -439,6 +439,8 @@ public class OrganizationService : IOrganizationService var flexibleCollectionsIsEnabled = _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); + var flexibleCollectionsV1IsEnabled = + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollectionsV1, _currentContext); var organization = new Organization { @@ -477,7 +479,8 @@ public class OrganizationService : IOrganizationService Status = OrganizationStatusType.Created, UsePasswordManager = true, UseSecretsManager = signup.UseSecretsManager, - LimitCollectionCreationDeletion = !flexibleCollectionsIsEnabled + LimitCollectionCreationDeletion = !flexibleCollectionsIsEnabled, + AllowAdminAccessToAllCollectionItems = !flexibleCollectionsV1IsEnabled }; if (signup.UseSecretsManager) diff --git a/src/Infrastructure.EntityFramework/Repositories/DatabaseContext.cs b/src/Infrastructure.EntityFramework/Repositories/DatabaseContext.cs index f89f9dd8fb..2a47545179 100644 --- a/src/Infrastructure.EntityFramework/Repositories/DatabaseContext.cs +++ b/src/Infrastructure.EntityFramework/Repositories/DatabaseContext.cs @@ -114,6 +114,9 @@ public class DatabaseContext : DbContext eOrganization.Property(c => c.LimitCollectionCreationDeletion) .ValueGeneratedNever() .HasDefaultValue(true); + eOrganization.Property(c => c.AllowAdminAccessToAllCollectionItems) + .ValueGeneratedNever() + .HasDefaultValue(true); eOrganizationSponsorship.Property(c => c.Id).ValueGeneratedNever(); eOrganizationUser.Property(c => c.Id).ValueGeneratedNever(); ePolicy.Property(c => c.Id).ValueGeneratedNever(); diff --git a/src/Sql/dbo/Stored Procedures/Organization_Create.sql b/src/Sql/dbo/Stored Procedures/Organization_Create.sql index 1291e8c0a1..8e16c38f7f 100644 --- a/src/Sql/dbo/Stored Procedures/Organization_Create.sql +++ b/src/Sql/dbo/Stored Procedures/Organization_Create.sql @@ -51,7 +51,8 @@ @MaxAutoscaleSmSeats INT= null, @MaxAutoscaleSmServiceAccounts INT = null, @SecretsManagerBeta BIT = 0, - @LimitCollectionCreationDeletion BIT = 1 + @LimitCollectionCreationDeletion BIT = 1, + @AllowAdminAccessToAllCollectionItems BIT = 1 AS BEGIN SET NOCOUNT ON @@ -110,7 +111,8 @@ BEGIN [MaxAutoscaleSmSeats], [MaxAutoscaleSmServiceAccounts], [SecretsManagerBeta], - [LimitCollectionCreationDeletion] + [LimitCollectionCreationDeletion], + [AllowAdminAccessToAllCollectionItems] ) VALUES ( @@ -166,6 +168,7 @@ BEGIN @MaxAutoscaleSmSeats, @MaxAutoscaleSmServiceAccounts, @SecretsManagerBeta, - @LimitCollectionCreationDeletion + @LimitCollectionCreationDeletion, + @AllowAdminAccessToAllCollectionItems ) END diff --git a/src/Sql/dbo/Stored Procedures/Organization_Update.sql b/src/Sql/dbo/Stored Procedures/Organization_Update.sql index 35412c02cf..ebd1e9f0c0 100644 --- a/src/Sql/dbo/Stored Procedures/Organization_Update.sql +++ b/src/Sql/dbo/Stored Procedures/Organization_Update.sql @@ -51,7 +51,8 @@ @MaxAutoscaleSmSeats INT = null, @MaxAutoscaleSmServiceAccounts INT = null, @SecretsManagerBeta BIT = 0, - @LimitCollectionCreationDeletion BIT = 1 + @LimitCollectionCreationDeletion BIT = 1, + @AllowAdminAccessToAllCollectionItems BIT = 1 AS BEGIN SET NOCOUNT ON @@ -110,7 +111,8 @@ BEGIN [MaxAutoscaleSmSeats] = @MaxAutoscaleSmSeats, [MaxAutoscaleSmServiceAccounts] = @MaxAutoscaleSmServiceAccounts, [SecretsManagerBeta] = @SecretsManagerBeta, - [LimitCollectionCreationDeletion] = @LimitCollectionCreationDeletion + [LimitCollectionCreationDeletion] = @LimitCollectionCreationDeletion, + [AllowAdminAccessToAllCollectionItems] = @AllowAdminAccessToAllCollectionItems WHERE [Id] = @Id END diff --git a/src/Sql/dbo/Tables/Organization.sql b/src/Sql/dbo/Tables/Organization.sql index b3907f6a61..e4827d2982 100644 --- a/src/Sql/dbo/Tables/Organization.sql +++ b/src/Sql/dbo/Tables/Organization.sql @@ -52,6 +52,7 @@ [MaxAutoscaleSmServiceAccounts] INT NULL, [SecretsManagerBeta] BIT NOT NULL CONSTRAINT [DF_Organization_SecretsManagerBeta] DEFAULT (0), [LimitCollectionCreationDeletion] BIT NOT NULL CONSTRAINT [DF_Organization_LimitCollectionCreationDeletion] DEFAULT (1), + [AllowAdminAccessToAllCollectionItems] BIT NOT NULL CONSTRAINT [DF_Organization_AllowAdminAccessToAllCollectionItems] DEFAULT (1), CONSTRAINT [PK_Organization] PRIMARY KEY CLUSTERED ([Id] ASC) ); diff --git a/src/Sql/dbo/Views/OrganizationUserOrganizationDetailsView.sql b/src/Sql/dbo/Views/OrganizationUserOrganizationDetailsView.sql index fdddc0cdb5..7ec5361ca8 100644 --- a/src/Sql/dbo/Views/OrganizationUserOrganizationDetailsView.sql +++ b/src/Sql/dbo/Views/OrganizationUserOrganizationDetailsView.sql @@ -45,7 +45,8 @@ SELECT O.[UsePasswordManager], O.[SmSeats], O.[SmServiceAccounts], - O.[LimitCollectionCreationDeletion] + O.[LimitCollectionCreationDeletion], + O.[AllowAdminAccessToAllCollectionItems] FROM [dbo].[OrganizationUser] OU LEFT JOIN diff --git a/util/Migrator/DbScripts/2023-11-27_00_AdminCollectionItemAccess.sql b/util/Migrator/DbScripts/2023-11-27_00_AdminCollectionItemAccess.sql new file mode 100644 index 0000000000..775617cdae --- /dev/null +++ b/util/Migrator/DbScripts/2023-11-27_00_AdminCollectionItemAccess.sql @@ -0,0 +1,407 @@ +--Add column 'AllowAdminAccessToAllCollectionItems' to 'Organization' table +IF COL_LENGTH('[dbo].[Organization]', 'AllowAdminAccessToAllCollectionItems') IS NULL +BEGIN +ALTER TABLE + [dbo].[Organization] + ADD + [AllowAdminAccessToAllCollectionItems] BIT NOT NULL CONSTRAINT [DF_Organization_AllowAdminAccessToAllCollectionItems] DEFAULT (1) +END +GO + +/** + ORGANIZATION STORED PROCEDURES + */ + +--Alter `Organization_Create` sproc to include `AllowAdminAccessToAllCollectionItems` column and default value +CREATE OR ALTER PROCEDURE [dbo].[Organization_Create] + @Id UNIQUEIDENTIFIER OUTPUT, + @Identifier NVARCHAR(50), + @Name NVARCHAR(50), + @BusinessName NVARCHAR(50), + @BusinessAddress1 NVARCHAR(50), + @BusinessAddress2 NVARCHAR(50), + @BusinessAddress3 NVARCHAR(50), + @BusinessCountry VARCHAR(2), + @BusinessTaxNumber NVARCHAR(30), + @BillingEmail NVARCHAR(256), + @Plan NVARCHAR(50), + @PlanType TINYINT, + @Seats INT, + @MaxCollections SMALLINT, + @UsePolicies BIT, + @UseSso BIT, + @UseGroups BIT, + @UseDirectory BIT, + @UseEvents BIT, + @UseTotp BIT, + @Use2fa BIT, + @UseApi BIT, + @UseResetPassword BIT, + @SelfHost BIT, + @UsersGetPremium BIT, + @Storage BIGINT, + @MaxStorageGb SMALLINT, + @Gateway TINYINT, + @GatewayCustomerId VARCHAR(50), + @GatewaySubscriptionId VARCHAR(50), + @ReferenceData VARCHAR(MAX), + @Enabled BIT, + @LicenseKey VARCHAR(100), + @PublicKey VARCHAR(MAX), + @PrivateKey VARCHAR(MAX), + @TwoFactorProviders NVARCHAR(MAX), + @ExpirationDate DATETIME2(7), + @CreationDate DATETIME2(7), + @RevisionDate DATETIME2(7), + @OwnersNotifiedOfAutoscaling DATETIME2(7), + @MaxAutoscaleSeats INT, + @UseKeyConnector BIT = 0, + @UseScim BIT = 0, + @UseCustomPermissions BIT = 0, + @UseSecretsManager BIT = 0, + @Status TINYINT = 0, + @UsePasswordManager BIT = 1, + @SmSeats INT = null, + @SmServiceAccounts INT = null, + @MaxAutoscaleSmSeats INT= null, + @MaxAutoscaleSmServiceAccounts INT = null, + @SecretsManagerBeta BIT = 0, + @LimitCollectionCreationDeletion BIT = 1, + @AllowAdminAccessToAllCollectionItems BIT = 1 +AS +BEGIN + SET NOCOUNT ON + + INSERT INTO [dbo].[Organization] + ( + [Id], + [Identifier], + [Name], + [BusinessName], + [BusinessAddress1], + [BusinessAddress2], + [BusinessAddress3], + [BusinessCountry], + [BusinessTaxNumber], + [BillingEmail], + [Plan], + [PlanType], + [Seats], + [MaxCollections], + [UsePolicies], + [UseSso], + [UseGroups], + [UseDirectory], + [UseEvents], + [UseTotp], + [Use2fa], + [UseApi], + [UseResetPassword], + [SelfHost], + [UsersGetPremium], + [Storage], + [MaxStorageGb], + [Gateway], + [GatewayCustomerId], + [GatewaySubscriptionId], + [ReferenceData], + [Enabled], + [LicenseKey], + [PublicKey], + [PrivateKey], + [TwoFactorProviders], + [ExpirationDate], + [CreationDate], + [RevisionDate], + [OwnersNotifiedOfAutoscaling], + [MaxAutoscaleSeats], + [UseKeyConnector], + [UseScim], + [UseCustomPermissions], + [UseSecretsManager], + [Status], + [UsePasswordManager], + [SmSeats], + [SmServiceAccounts], + [MaxAutoscaleSmSeats], + [MaxAutoscaleSmServiceAccounts], + [SecretsManagerBeta], + [LimitCollectionCreationDeletion], + [AllowAdminAccessToAllCollectionItems] + ) + VALUES + ( + @Id, + @Identifier, + @Name, + @BusinessName, + @BusinessAddress1, + @BusinessAddress2, + @BusinessAddress3, + @BusinessCountry, + @BusinessTaxNumber, + @BillingEmail, + @Plan, + @PlanType, + @Seats, + @MaxCollections, + @UsePolicies, + @UseSso, + @UseGroups, + @UseDirectory, + @UseEvents, + @UseTotp, + @Use2fa, + @UseApi, + @UseResetPassword, + @SelfHost, + @UsersGetPremium, + @Storage, + @MaxStorageGb, + @Gateway, + @GatewayCustomerId, + @GatewaySubscriptionId, + @ReferenceData, + @Enabled, + @LicenseKey, + @PublicKey, + @PrivateKey, + @TwoFactorProviders, + @ExpirationDate, + @CreationDate, + @RevisionDate, + @OwnersNotifiedOfAutoscaling, + @MaxAutoscaleSeats, + @UseKeyConnector, + @UseScim, + @UseCustomPermissions, + @UseSecretsManager, + @Status, + @UsePasswordManager, + @SmSeats, + @SmServiceAccounts, + @MaxAutoscaleSmSeats, + @MaxAutoscaleSmServiceAccounts, + @SecretsManagerBeta, + @LimitCollectionCreationDeletion, + @AllowAdminAccessToAllCollectionItems + ) +END +GO + + +--Alter `Organization_Update` sproc to include `AllowAdminAccessToAllCollectionItems` column +CREATE OR ALTER PROCEDURE [dbo].[Organization_Update] + @Id UNIQUEIDENTIFIER, + @Identifier NVARCHAR(50), + @Name NVARCHAR(50), + @BusinessName NVARCHAR(50), + @BusinessAddress1 NVARCHAR(50), + @BusinessAddress2 NVARCHAR(50), + @BusinessAddress3 NVARCHAR(50), + @BusinessCountry VARCHAR(2), + @BusinessTaxNumber NVARCHAR(30), + @BillingEmail NVARCHAR(256), + @Plan NVARCHAR(50), + @PlanType TINYINT, + @Seats INT, + @MaxCollections SMALLINT, + @UsePolicies BIT, + @UseSso BIT, + @UseGroups BIT, + @UseDirectory BIT, + @UseEvents BIT, + @UseTotp BIT, + @Use2fa BIT, + @UseApi BIT, + @UseResetPassword BIT, + @SelfHost BIT, + @UsersGetPremium BIT, + @Storage BIGINT, + @MaxStorageGb SMALLINT, + @Gateway TINYINT, + @GatewayCustomerId VARCHAR(50), + @GatewaySubscriptionId VARCHAR(50), + @ReferenceData VARCHAR(MAX), + @Enabled BIT, + @LicenseKey VARCHAR(100), + @PublicKey VARCHAR(MAX), + @PrivateKey VARCHAR(MAX), + @TwoFactorProviders NVARCHAR(MAX), + @ExpirationDate DATETIME2(7), + @CreationDate DATETIME2(7), + @RevisionDate DATETIME2(7), + @OwnersNotifiedOfAutoscaling DATETIME2(7), + @MaxAutoscaleSeats INT, + @UseKeyConnector BIT = 0, + @UseScim BIT = 0, + @UseCustomPermissions BIT = 0, + @UseSecretsManager BIT = 0, + @Status TINYINT = 0, + @UsePasswordManager BIT = 1, + @SmSeats INT = null, + @SmServiceAccounts INT = null, + @MaxAutoscaleSmSeats INT = null, + @MaxAutoscaleSmServiceAccounts INT = null, + @SecretsManagerBeta BIT = 0, + @LimitCollectionCreationDeletion BIT = 1, + @AllowAdminAccessToAllCollectionItems BIT = 1 +AS +BEGIN + SET NOCOUNT ON + +UPDATE + [dbo].[Organization] +SET + [Identifier] = @Identifier, + [Name] = @Name, + [BusinessName] = @BusinessName, + [BusinessAddress1] = @BusinessAddress1, + [BusinessAddress2] = @BusinessAddress2, + [BusinessAddress3] = @BusinessAddress3, + [BusinessCountry] = @BusinessCountry, + [BusinessTaxNumber] = @BusinessTaxNumber, + [BillingEmail] = @BillingEmail, + [Plan] = @Plan, + [PlanType] = @PlanType, + [Seats] = @Seats, + [MaxCollections] = @MaxCollections, + [UsePolicies] = @UsePolicies, + [UseSso] = @UseSso, + [UseGroups] = @UseGroups, + [UseDirectory] = @UseDirectory, + [UseEvents] = @UseEvents, + [UseTotp] = @UseTotp, + [Use2fa] = @Use2fa, + [UseApi] = @UseApi, + [UseResetPassword] = @UseResetPassword, + [SelfHost] = @SelfHost, + [UsersGetPremium] = @UsersGetPremium, + [Storage] = @Storage, + [MaxStorageGb] = @MaxStorageGb, + [Gateway] = @Gateway, + [GatewayCustomerId] = @GatewayCustomerId, + [GatewaySubscriptionId] = @GatewaySubscriptionId, + [ReferenceData] = @ReferenceData, + [Enabled] = @Enabled, + [LicenseKey] = @LicenseKey, + [PublicKey] = @PublicKey, + [PrivateKey] = @PrivateKey, + [TwoFactorProviders] = @TwoFactorProviders, + [ExpirationDate] = @ExpirationDate, + [CreationDate] = @CreationDate, + [RevisionDate] = @RevisionDate, + [OwnersNotifiedOfAutoscaling] = @OwnersNotifiedOfAutoscaling, + [MaxAutoscaleSeats] = @MaxAutoscaleSeats, + [UseKeyConnector] = @UseKeyConnector, + [UseScim] = @UseScim, + [UseCustomPermissions] = @UseCustomPermissions, + [UseSecretsManager] = @UseSecretsManager, + [Status] = @Status, + [UsePasswordManager] = @UsePasswordManager, + [SmSeats] = @SmSeats, + [SmServiceAccounts] = @SmServiceAccounts, + [MaxAutoscaleSmSeats] = @MaxAutoscaleSmSeats, + [MaxAutoscaleSmServiceAccounts] = @MaxAutoscaleSmServiceAccounts, + [SecretsManagerBeta] = @SecretsManagerBeta, + [LimitCollectionCreationDeletion] = @LimitCollectionCreationDeletion, + [AllowAdminAccessToAllCollectionItems] = @AllowAdminAccessToAllCollectionItems +WHERE + [Id] = @Id +END +GO + +/** + ORGANIZATION VIEWS + */ + +--Add 'AllowAdminAccessToAllCollectionItems` to OrganizationUserOrganizationDetailsView +CREATE OR ALTER VIEW [dbo].[OrganizationUserOrganizationDetailsView] +AS +SELECT + OU.[UserId], + OU.[OrganizationId], + O.[Name], + O.[Enabled], + O.[PlanType], + O.[UsePolicies], + O.[UseSso], + O.[UseKeyConnector], + O.[UseScim], + O.[UseGroups], + O.[UseDirectory], + O.[UseEvents], + O.[UseTotp], + O.[Use2fa], + O.[UseApi], + O.[UseResetPassword], + O.[SelfHost], + O.[UsersGetPremium], + O.[UseCustomPermissions], + O.[UseSecretsManager], + O.[Seats], + O.[MaxCollections], + O.[MaxStorageGb], + O.[Identifier], + OU.[Key], + OU.[ResetPasswordKey], + O.[PublicKey], + O.[PrivateKey], + OU.[Status], + OU.[Type], + SU.[ExternalId] SsoExternalId, + OU.[Permissions], + PO.[ProviderId], + P.[Name] ProviderName, + P.[Type] ProviderType, + SS.[Data] SsoConfig, + OS.[FriendlyName] FamilySponsorshipFriendlyName, + OS.[LastSyncDate] FamilySponsorshipLastSyncDate, + OS.[ToDelete] FamilySponsorshipToDelete, + OS.[ValidUntil] FamilySponsorshipValidUntil, + OU.[AccessSecretsManager], + O.[UsePasswordManager], + O.[SmSeats], + O.[SmServiceAccounts], + O.[LimitCollectionCreationDeletion], + O.[AllowAdminAccessToAllCollectionItems] +FROM + [dbo].[OrganizationUser] OU +LEFT JOIN + [dbo].[Organization] O ON O.[Id] = OU.[OrganizationId] +LEFT JOIN + [dbo].[SsoUser] SU ON SU.[UserId] = OU.[UserId] AND SU.[OrganizationId] = OU.[OrganizationId] +LEFT JOIN + [dbo].[ProviderOrganization] PO ON PO.[OrganizationId] = O.[Id] +LEFT JOIN + [dbo].[Provider] P ON P.[Id] = PO.[ProviderId] +LEFT JOIN + [dbo].[SsoConfig] SS ON SS.[OrganizationId] = OU.[OrganizationId] +LEFT JOIN + [dbo].[OrganizationSponsorship] OS ON OS.[SponsoringOrganizationUserID] = OU.[Id] +GO + +--Manually refresh OrganizationView +IF OBJECT_ID('[dbo].[OrganizationView]') IS NOT NULL + BEGIN + EXECUTE sp_refreshsqlmodule N'[dbo].[OrganizationView]'; + END +GO + +/** + PROVIDER VIEWS - not directly modified, but access Organization table + */ + +--Manually refresh ProviderOrganizationOrganizationDetailsView +IF OBJECT_ID('[dbo].[ProviderOrganizationOrganizationDetailsView]') IS NOT NULL + BEGIN + EXECUTE sp_refreshsqlmodule N'[dbo].[ProviderOrganizationOrganizationDetailsView]'; + END +GO + +--Manually refresh ProviderUserProviderOrganizationDetailsView +IF OBJECT_ID('[dbo].[ProviderUserProviderOrganizationDetailsView]') IS NOT NULL + BEGIN + EXECUTE sp_refreshsqlmodule N'[dbo].[ProviderUserProviderOrganizationDetailsView]'; + END +GO diff --git a/util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.Designer.cs b/util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.Designer.cs new file mode 100644 index 0000000000..8dcf9357a4 --- /dev/null +++ b/util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.Designer.cs @@ -0,0 +1,2253 @@ +// +using System; +using Bit.Infrastructure.EntityFramework.Repositories; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Bit.MySqlMigrations.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20231025225542_AdminCollectionItemAccess")] + partial class AdminCollectionItemAccess + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AccessCode") + .HasMaxLength(25) + .HasColumnType("varchar(25)"); + + b.Property("Approved") + .HasColumnType("tinyint(1)"); + + b.Property("AuthenticationDate") + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("MasterPasswordHash") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("PublicKey") + .HasColumnType("longtext"); + + b.Property("RequestDeviceIdentifier") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("RequestDeviceType") + .HasColumnType("tinyint unsigned"); + + b.Property("RequestIpAddress") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ResponseDate") + .HasColumnType("datetime(6)"); + + b.Property("ResponseDeviceId") + .HasColumnType("char(36)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("ResponseDeviceId"); + + b.HasIndex("UserId"); + + b.ToTable("AuthRequest", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("GranteeId") + .HasColumnType("char(36)"); + + b.Property("GrantorId") + .HasColumnType("char(36)"); + + b.Property("KeyEncrypted") + .HasColumnType("longtext"); + + b.Property("LastNotificationDate") + .HasColumnType("datetime(6)"); + + b.Property("RecoveryInitiatedDate") + .HasColumnType("datetime(6)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Status") + .HasColumnType("tinyint unsigned"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("WaitTimeDays") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("GranteeId"); + + b.HasIndex("GrantorId"); + + b.ToTable("EmergencyAccess", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.Grant", b => + { + b.Property("Key") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("ClientId") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("ConsumedDate") + .HasColumnType("datetime(6)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Data") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("ExpirationDate") + .HasColumnType("datetime(6)"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Key"); + + b.ToTable("Grant", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Data") + .HasColumnType("longtext"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("SsoConfig", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("ExternalId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("SsoUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("varchar(300)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Collection", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => + { + b.Property("CollectionId") + .HasColumnType("char(36)"); + + b.Property("CipherId") + .HasColumnType("char(36)"); + + b.HasKey("CollectionId", "CipherId"); + + b.HasIndex("CipherId"); + + b.ToTable("CollectionCipher", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => + { + b.Property("CollectionId") + .HasColumnType("char(36)"); + + b.Property("GroupId") + .HasColumnType("char(36)"); + + b.Property("HidePasswords") + .HasColumnType("tinyint(1)"); + + b.Property("Manage") + .HasColumnType("tinyint(1)"); + + b.Property("ReadOnly") + .HasColumnType("tinyint(1)"); + + b.HasKey("CollectionId", "GroupId"); + + b.HasIndex("GroupId"); + + b.ToTable("CollectionGroups"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => + { + b.Property("CollectionId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserId") + .HasColumnType("char(36)"); + + b.Property("HidePasswords") + .HasColumnType("tinyint(1)"); + + b.Property("Manage") + .HasColumnType("tinyint(1)"); + + b.Property("ReadOnly") + .HasColumnType("tinyint(1)"); + + b.HasKey("CollectionId", "OrganizationUserId"); + + b.HasIndex("OrganizationUserId"); + + b.ToTable("CollectionUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("EncryptedPrivateKey") + .HasColumnType("longtext"); + + b.Property("EncryptedPublicKey") + .HasColumnType("longtext"); + + b.Property("EncryptedUserKey") + .HasColumnType("longtext"); + + b.Property("Identifier") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PushToken") + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Device", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Event", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActingUserId") + .HasColumnType("char(36)"); + + b.Property("CipherId") + .HasColumnType("char(36)"); + + b.Property("CollectionId") + .HasColumnType("char(36)"); + + b.Property("Date") + .HasColumnType("datetime(6)"); + + b.Property("DeviceType") + .HasColumnType("tinyint unsigned"); + + b.Property("DomainName") + .HasColumnType("longtext"); + + b.Property("GroupId") + .HasColumnType("char(36)"); + + b.Property("InstallationId") + .HasColumnType("char(36)"); + + b.Property("IpAddress") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserId") + .HasColumnType("char(36)"); + + b.Property("PolicyId") + .HasColumnType("char(36)"); + + b.Property("ProviderId") + .HasColumnType("char(36)"); + + b.Property("ProviderOrganizationId") + .HasColumnType("char(36)"); + + b.Property("ProviderUserId") + .HasColumnType("char(36)"); + + b.Property("SecretId") + .HasColumnType("char(36)"); + + b.Property("ServiceAccountId") + .HasColumnType("char(36)"); + + b.Property("SystemUser") + .HasColumnType("tinyint unsigned"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Event", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AccessAll") + .HasColumnType("tinyint(1)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("varchar(300)"); + + b.Property("Name") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Group", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => + { + b.Property("GroupId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserId") + .HasColumnType("char(36)"); + + b.HasKey("GroupId", "OrganizationUserId"); + + b.HasIndex("OrganizationUserId"); + + b.ToTable("GroupUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Installation", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)"); + + b.Property("Key") + .HasMaxLength(150) + .HasColumnType("varchar(150)"); + + b.HasKey("Id"); + + b.ToTable("Installation", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AllowAdminAccessToAllCollectionItems") + .HasColumnType("tinyint(1)") + .HasDefaultValue(true); + + b.Property("BillingEmail") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("BusinessAddress1") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("BusinessAddress2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("BusinessAddress3") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("BusinessCountry") + .HasMaxLength(2) + .HasColumnType("varchar(2)"); + + b.Property("BusinessName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("BusinessTaxNumber") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)"); + + b.Property("ExpirationDate") + .HasColumnType("datetime(6)"); + + b.Property("Gateway") + .HasColumnType("tinyint unsigned"); + + b.Property("GatewayCustomerId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("GatewaySubscriptionId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Identifier") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LicenseKey") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LimitCollectionCreationDeletion") + .HasColumnType("tinyint(1)") + .HasDefaultValue(true); + + b.Property("MaxAutoscaleSeats") + .HasColumnType("int"); + + b.Property("MaxAutoscaleSmSeats") + .HasColumnType("int"); + + b.Property("MaxAutoscaleSmServiceAccounts") + .HasColumnType("int"); + + b.Property("MaxCollections") + .HasColumnType("smallint"); + + b.Property("MaxStorageGb") + .HasColumnType("smallint"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("OwnersNotifiedOfAutoscaling") + .HasColumnType("datetime(6)"); + + b.Property("Plan") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PlanType") + .HasColumnType("tinyint unsigned"); + + b.Property("PrivateKey") + .HasColumnType("longtext"); + + b.Property("PublicKey") + .HasColumnType("longtext"); + + b.Property("ReferenceData") + .HasColumnType("longtext"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Seats") + .HasColumnType("int"); + + b.Property("SecretsManagerBeta") + .HasColumnType("tinyint(1)"); + + b.Property("SelfHost") + .HasColumnType("tinyint(1)"); + + b.Property("SmSeats") + .HasColumnType("int"); + + b.Property("SmServiceAccounts") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("tinyint unsigned"); + + b.Property("Storage") + .HasColumnType("bigint"); + + b.Property("TwoFactorProviders") + .HasColumnType("longtext"); + + b.Property("Use2fa") + .HasColumnType("tinyint(1)"); + + b.Property("UseApi") + .HasColumnType("tinyint(1)"); + + b.Property("UseCustomPermissions") + .HasColumnType("tinyint(1)"); + + b.Property("UseDirectory") + .HasColumnType("tinyint(1)"); + + b.Property("UseEvents") + .HasColumnType("tinyint(1)"); + + b.Property("UseGroups") + .HasColumnType("tinyint(1)"); + + b.Property("UseKeyConnector") + .HasColumnType("tinyint(1)"); + + b.Property("UsePasswordManager") + .HasColumnType("tinyint(1)"); + + b.Property("UsePolicies") + .HasColumnType("tinyint(1)"); + + b.Property("UseResetPassword") + .HasColumnType("tinyint(1)"); + + b.Property("UseScim") + .HasColumnType("tinyint(1)"); + + b.Property("UseSecretsManager") + .HasColumnType("tinyint(1)"); + + b.Property("UseSso") + .HasColumnType("tinyint(1)"); + + b.Property("UseTotp") + .HasColumnType("tinyint(1)"); + + b.Property("UsersGetPremium") + .HasColumnType("tinyint(1)"); + + b.HasKey("Id"); + + b.ToTable("Organization", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ApiKey") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationApiKey", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Config") + .HasColumnType("longtext"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationConnection", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DomainName") + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("JobRunCount") + .HasColumnType("int"); + + b.Property("LastCheckedDate") + .HasColumnType("datetime(6)"); + + b.Property("NextRunDate") + .HasColumnType("datetime(6)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("Txt") + .HasColumnType("longtext"); + + b.Property("VerifiedDate") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationDomain", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("FriendlyName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("LastSyncDate") + .HasColumnType("datetime(6)"); + + b.Property("OfferedToEmail") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("PlanSponsorshipType") + .HasColumnType("tinyint unsigned"); + + b.Property("SponsoredOrganizationId") + .HasColumnType("char(36)"); + + b.Property("SponsoringOrganizationId") + .HasColumnType("char(36)"); + + b.Property("SponsoringOrganizationUserId") + .HasColumnType("char(36)"); + + b.Property("ToDelete") + .HasColumnType("tinyint(1)"); + + b.Property("ValidUntil") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("SponsoredOrganizationId"); + + b.HasIndex("SponsoringOrganizationId"); + + b.ToTable("OrganizationSponsorship", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AccessAll") + .HasColumnType("tinyint(1)"); + + b.Property("AccessSecretsManager") + .HasColumnType("tinyint(1)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("varchar(300)"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("Permissions") + .HasColumnType("longtext"); + + b.Property("ResetPasswordKey") + .HasColumnType("longtext"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("OrganizationUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Policy", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Data") + .HasColumnType("longtext"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Policy", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Provider", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("BillingEmail") + .HasColumnType("longtext"); + + b.Property("BillingPhone") + .HasColumnType("longtext"); + + b.Property("BusinessAddress1") + .HasColumnType("longtext"); + + b.Property("BusinessAddress2") + .HasColumnType("longtext"); + + b.Property("BusinessAddress3") + .HasColumnType("longtext"); + + b.Property("BusinessCountry") + .HasColumnType("longtext"); + + b.Property("BusinessName") + .HasColumnType("longtext"); + + b.Property("BusinessTaxNumber") + .HasColumnType("longtext"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Status") + .HasColumnType("tinyint unsigned"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UseEvents") + .HasColumnType("tinyint(1)"); + + b.HasKey("Id"); + + b.ToTable("Provider", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("ProviderId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Settings") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("ProviderId"); + + b.ToTable("ProviderOrganization", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Email") + .HasColumnType("longtext"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("Permissions") + .HasColumnType("longtext"); + + b.Property("ProviderId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Status") + .HasColumnType("tinyint unsigned"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProviderId"); + + b.HasIndex("UserId"); + + b.ToTable("ProviderUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AccessCount") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Data") + .HasColumnType("longtext"); + + b.Property("DeletionDate") + .HasColumnType("datetime(6)"); + + b.Property("Disabled") + .HasColumnType("tinyint(1)"); + + b.Property("ExpirationDate") + .HasColumnType("datetime(6)"); + + b.Property("HideEmail") + .HasColumnType("tinyint(1)"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("MaxAccessCount") + .HasColumnType("int"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("Password") + .HasMaxLength(300) + .HasColumnType("varchar(300)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Send", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.TaxRate", b => + { + b.Property("Id") + .HasMaxLength(40) + .HasColumnType("varchar(40)"); + + b.Property("Active") + .HasColumnType("tinyint(1)"); + + b.Property("Country") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PostalCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)"); + + b.Property("Rate") + .HasColumnType("decimal(65,30)"); + + b.Property("State") + .HasMaxLength(2) + .HasColumnType("varchar(2)"); + + b.HasKey("Id"); + + b.ToTable("TaxRate", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Amount") + .HasColumnType("decimal(65,30)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Details") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Gateway") + .HasColumnType("tinyint unsigned"); + + b.Property("GatewayId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("PaymentMethodType") + .HasColumnType("tinyint unsigned"); + + b.Property("Refunded") + .HasColumnType("tinyint(1)"); + + b.Property("RefundedAmount") + .HasColumnType("decimal(65,30)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Transaction", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AccountRevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("ApiKey") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("AvatarColor") + .HasMaxLength(7) + .HasColumnType("varchar(7)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Culture") + .HasMaxLength(10) + .HasColumnType("varchar(10)"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("EmailVerified") + .HasColumnType("tinyint(1)"); + + b.Property("EquivalentDomains") + .HasColumnType("longtext"); + + b.Property("ExcludedGlobalEquivalentDomains") + .HasColumnType("longtext"); + + b.Property("FailedLoginCount") + .HasColumnType("int"); + + b.Property("ForcePasswordReset") + .HasColumnType("tinyint(1)"); + + b.Property("Gateway") + .HasColumnType("tinyint unsigned"); + + b.Property("GatewayCustomerId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("GatewaySubscriptionId") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Kdf") + .HasColumnType("tinyint unsigned"); + + b.Property("KdfIterations") + .HasColumnType("int"); + + b.Property("KdfMemory") + .HasColumnType("int"); + + b.Property("KdfParallelism") + .HasColumnType("int"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("LastEmailChangeDate") + .HasColumnType("datetime(6)"); + + b.Property("LastFailedLoginDate") + .HasColumnType("datetime(6)"); + + b.Property("LastKdfChangeDate") + .HasColumnType("datetime(6)"); + + b.Property("LastKeyRotationDate") + .HasColumnType("datetime(6)"); + + b.Property("LastPasswordChangeDate") + .HasColumnType("datetime(6)"); + + b.Property("LicenseKey") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("MasterPassword") + .HasMaxLength(300) + .HasColumnType("varchar(300)"); + + b.Property("MasterPasswordHint") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("MaxStorageGb") + .HasColumnType("smallint"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Premium") + .HasColumnType("tinyint(1)"); + + b.Property("PremiumExpirationDate") + .HasColumnType("datetime(6)"); + + b.Property("PrivateKey") + .HasColumnType("longtext"); + + b.Property("PublicKey") + .HasColumnType("longtext"); + + b.Property("ReferenceData") + .HasColumnType("longtext"); + + b.Property("RenewalReminderDate") + .HasColumnType("datetime(6)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Storage") + .HasColumnType("bigint"); + + b.Property("TwoFactorProviders") + .HasColumnType("longtext"); + + b.Property("TwoFactorRecoveryCode") + .HasMaxLength(32) + .HasColumnType("varchar(32)"); + + b.Property("UsesKeyConnector") + .HasColumnType("tinyint(1)"); + + b.HasKey("Id"); + + b.ToTable("User", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Discriminator") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Read") + .HasColumnType("tinyint(1)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Write") + .HasColumnType("tinyint(1)"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.ToTable("AccessPolicy", (string)null); + + b.HasDiscriminator("Discriminator").HasValue("AccessPolicy"); + + b.UseTphMappingStrategy(); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ClientSecretHash") + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("EncryptedPayload") + .HasMaxLength(4000) + .HasColumnType("varchar(4000)"); + + b.Property("ExpireAt") + .HasColumnType("datetime(6)"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Scope") + .HasMaxLength(4000) + .HasColumnType("varchar(4000)"); + + b.Property("ServiceAccountId") + .HasColumnType("char(36)"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("ServiceAccountId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("ApiKey", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DeletedDate") + .HasColumnType("datetime(6)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("DeletedDate") + .HasAnnotation("SqlServer:Clustered", false); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("Project", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("DeletedDate") + .HasColumnType("datetime(6)"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("Note") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Value") + .HasColumnType("longtext"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("DeletedDate") + .HasAnnotation("SqlServer:Clustered", false); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("Secret", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("ServiceAccount", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Attachments") + .HasColumnType("longtext"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Data") + .HasColumnType("longtext"); + + b.Property("DeletedDate") + .HasColumnType("datetime(6)"); + + b.Property("Favorites") + .HasColumnType("longtext"); + + b.Property("Folders") + .HasColumnType("longtext"); + + b.Property("Key") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("Reprompt") + .HasColumnType("tinyint unsigned"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("Type") + .HasColumnType("tinyint unsigned"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Cipher", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreationDate") + .HasColumnType("datetime(6)"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("RevisionDate") + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Folder", (string)null); + }); + + modelBuilder.Entity("ProjectSecret", b => + { + b.Property("ProjectsId") + .HasColumnType("char(36)"); + + b.Property("SecretsId") + .HasColumnType("char(36)"); + + b.HasKey("ProjectsId", "SecretsId"); + + b.HasIndex("SecretsId"); + + b.ToTable("ProjectSecret"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GrantedProjectId"); + + b.Property("GroupId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GroupId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("GroupId"); + + b.HasDiscriminator().HasValue("group_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedServiceAccountId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GrantedServiceAccountId"); + + b.Property("GroupId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GroupId"); + + b.HasIndex("GrantedServiceAccountId"); + + b.HasIndex("GroupId"); + + b.HasDiscriminator().HasValue("group_service_account"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GrantedProjectId"); + + b.Property("ServiceAccountId") + .HasColumnType("char(36)") + .HasColumnName("ServiceAccountId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("ServiceAccountId"); + + b.HasDiscriminator().HasValue("service_account_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GrantedProjectId"); + + b.Property("OrganizationUserId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("OrganizationUserId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("OrganizationUserId"); + + b.HasDiscriminator().HasValue("user_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedServiceAccountId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("GrantedServiceAccountId"); + + b.Property("OrganizationUserId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("char(36)") + .HasColumnName("OrganizationUserId"); + + b.HasIndex("GrantedServiceAccountId"); + + b.HasIndex("OrganizationUserId"); + + b.HasDiscriminator().HasValue("user_service_account"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Device", "ResponseDevice") + .WithMany() + .HasForeignKey("ResponseDeviceId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("ResponseDevice"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantee") + .WithMany() + .HasForeignKey("GranteeId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantor") + .WithMany() + .HasForeignKey("GrantorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Grantee"); + + b.Navigation("Grantor"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("SsoConfigs") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("SsoUsers") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("SsoUsers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Collections") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", "Cipher") + .WithMany("CollectionCiphers") + .HasForeignKey("CipherId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionCiphers") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Cipher"); + + b.Navigation("Collection"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionGroups") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Collection"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionUsers") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany("CollectionUsers") + .HasForeignKey("OrganizationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Collection"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Groups") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany("GroupUsers") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany("GroupUsers") + .HasForeignKey("OrganizationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Group"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("ApiKeys") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Connections") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Domains") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoredOrganization") + .WithMany() + .HasForeignKey("SponsoredOrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoringOrganization") + .WithMany() + .HasForeignKey("SponsoringOrganizationId"); + + b.Navigation("SponsoredOrganization"); + + b.Navigation("SponsoringOrganization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("OrganizationUsers") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("OrganizationUsers") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Policy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Policies") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Provider"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Transactions") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Transactions") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") + .WithMany() + .HasForeignKey("ServiceAccountId"); + + b.Navigation("ServiceAccount"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Ciphers") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Ciphers") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Folders") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("ProjectSecret", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", null) + .WithMany() + .HasForeignKey("ProjectsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", null) + .WithMany() + .HasForeignKey("SecretsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("GroupAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GrantedProject"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") + .WithMany("GroupAccessPolicies") + .HasForeignKey("GrantedServiceAccountId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GrantedServiceAccount"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("ServiceAccountAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") + .WithMany() + .HasForeignKey("ServiceAccountId"); + + b.Navigation("GrantedProject"); + + b.Navigation("ServiceAccount"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("UserAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany() + .HasForeignKey("OrganizationUserId"); + + b.Navigation("GrantedProject"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") + .WithMany("UserAccessPolicies") + .HasForeignKey("GrantedServiceAccountId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany() + .HasForeignKey("OrganizationUserId"); + + b.Navigation("GrantedServiceAccount"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.Navigation("CollectionCiphers"); + + b.Navigation("CollectionGroups"); + + b.Navigation("CollectionUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b => + { + b.Navigation("ApiKeys"); + + b.Navigation("Ciphers"); + + b.Navigation("Collections"); + + b.Navigation("Connections"); + + b.Navigation("Domains"); + + b.Navigation("Groups"); + + b.Navigation("OrganizationUsers"); + + b.Navigation("Policies"); + + b.Navigation("SsoConfigs"); + + b.Navigation("SsoUsers"); + + b.Navigation("Transactions"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.Navigation("CollectionUsers"); + + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => + { + b.Navigation("Ciphers"); + + b.Navigation("Folders"); + + b.Navigation("OrganizationUsers"); + + b.Navigation("SsoUsers"); + + b.Navigation("Transactions"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.Navigation("GroupAccessPolicies"); + + b.Navigation("ServiceAccountAccessPolicies"); + + b.Navigation("UserAccessPolicies"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.Navigation("GroupAccessPolicies"); + + b.Navigation("UserAccessPolicies"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.Navigation("CollectionCiphers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.cs b/util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.cs new file mode 100644 index 0000000000..0af8d86538 --- /dev/null +++ b/util/MySqlMigrations/Migrations/20231025225542_AdminCollectionItemAccess.cs @@ -0,0 +1,28 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Bit.MySqlMigrations.Migrations; + +/// +public partial class AdminCollectionItemAccess : Migration +{ + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "AllowAdminAccessToAllCollectionItems", + table: "Organization", + type: "tinyint(1)", + nullable: false, + defaultValue: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "AllowAdminAccessToAllCollectionItems", + table: "Organization"); + } +} diff --git a/util/MySqlMigrations/Migrations/DatabaseContextModelSnapshot.cs b/util/MySqlMigrations/Migrations/DatabaseContextModelSnapshot.cs index c52ca0c0b9..107924e958 100644 --- a/util/MySqlMigrations/Migrations/DatabaseContextModelSnapshot.cs +++ b/util/MySqlMigrations/Migrations/DatabaseContextModelSnapshot.cs @@ -514,6 +514,10 @@ namespace Bit.MySqlMigrations.Migrations b.Property("Id") .HasColumnType("char(36)"); + b.Property("AllowAdminAccessToAllCollectionItems") + .HasColumnType("tinyint(1)") + .HasDefaultValue(true); + b.Property("BillingEmail") .HasMaxLength(256) .HasColumnType("varchar(256)"); @@ -1508,7 +1512,7 @@ namespace Bit.MySqlMigrations.Migrations b.Property("Folders") .HasColumnType("longtext"); - + b.Property("Key") .HasColumnType("longtext"); diff --git a/util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.Designer.cs b/util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.Designer.cs new file mode 100644 index 0000000000..02fe6a02ff --- /dev/null +++ b/util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.Designer.cs @@ -0,0 +1,2264 @@ +// +using System; +using Bit.Infrastructure.EntityFramework.Repositories; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Bit.PostgresMigrations.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20231025225548_AdminCollectionItemAccess")] + partial class AdminCollectionItemAccess + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:CollationDefinition:postgresIndetermanisticCollation", "en-u-ks-primary,en-u-ks-primary,icu,False") + .HasAnnotation("ProductVersion", "7.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AccessCode") + .HasMaxLength(25) + .HasColumnType("character varying(25)"); + + b.Property("Approved") + .HasColumnType("boolean"); + + b.Property("AuthenticationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("MasterPasswordHash") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("PublicKey") + .HasColumnType("text"); + + b.Property("RequestDeviceIdentifier") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("RequestDeviceType") + .HasColumnType("smallint"); + + b.Property("RequestIpAddress") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("ResponseDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ResponseDeviceId") + .HasColumnType("uuid"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("ResponseDeviceId"); + + b.HasIndex("UserId"); + + b.ToTable("AuthRequest", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("GranteeId") + .HasColumnType("uuid"); + + b.Property("GrantorId") + .HasColumnType("uuid"); + + b.Property("KeyEncrypted") + .HasColumnType("text"); + + b.Property("LastNotificationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("RecoveryInitiatedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("WaitTimeDays") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GranteeId"); + + b.HasIndex("GrantorId"); + + b.ToTable("EmergencyAccess", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.Grant", b => + { + b.Property("Key") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("ClientId") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("ConsumedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Data") + .HasColumnType("text"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("ExpirationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("character varying(100)"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.HasKey("Key"); + + b.ToTable("Grant", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Data") + .HasColumnType("text"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("SsoConfig", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ExternalId") + .HasMaxLength(50) + .HasColumnType("character varying(50)") + .UseCollation("postgresIndetermanisticCollation"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("SsoUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("character varying(300)"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Collection", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => + { + b.Property("CollectionId") + .HasColumnType("uuid"); + + b.Property("CipherId") + .HasColumnType("uuid"); + + b.HasKey("CollectionId", "CipherId"); + + b.HasIndex("CipherId"); + + b.ToTable("CollectionCipher", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => + { + b.Property("CollectionId") + .HasColumnType("uuid"); + + b.Property("GroupId") + .HasColumnType("uuid"); + + b.Property("HidePasswords") + .HasColumnType("boolean"); + + b.Property("Manage") + .HasColumnType("boolean"); + + b.Property("ReadOnly") + .HasColumnType("boolean"); + + b.HasKey("CollectionId", "GroupId"); + + b.HasIndex("GroupId"); + + b.ToTable("CollectionGroups"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => + { + b.Property("CollectionId") + .HasColumnType("uuid"); + + b.Property("OrganizationUserId") + .HasColumnType("uuid"); + + b.Property("HidePasswords") + .HasColumnType("boolean"); + + b.Property("Manage") + .HasColumnType("boolean"); + + b.Property("ReadOnly") + .HasColumnType("boolean"); + + b.HasKey("CollectionId", "OrganizationUserId"); + + b.HasIndex("OrganizationUserId"); + + b.ToTable("CollectionUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("EncryptedPrivateKey") + .HasColumnType("text"); + + b.Property("EncryptedPublicKey") + .HasColumnType("text"); + + b.Property("EncryptedUserKey") + .HasColumnType("text"); + + b.Property("Identifier") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("PushToken") + .HasMaxLength(255) + .HasColumnType("character varying(255)"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Device", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Event", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ActingUserId") + .HasColumnType("uuid"); + + b.Property("CipherId") + .HasColumnType("uuid"); + + b.Property("CollectionId") + .HasColumnType("uuid"); + + b.Property("Date") + .HasColumnType("timestamp with time zone"); + + b.Property("DeviceType") + .HasColumnType("smallint"); + + b.Property("DomainName") + .HasColumnType("text"); + + b.Property("GroupId") + .HasColumnType("uuid"); + + b.Property("InstallationId") + .HasColumnType("uuid"); + + b.Property("IpAddress") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("OrganizationUserId") + .HasColumnType("uuid"); + + b.Property("PolicyId") + .HasColumnType("uuid"); + + b.Property("ProviderId") + .HasColumnType("uuid"); + + b.Property("ProviderOrganizationId") + .HasColumnType("uuid"); + + b.Property("ProviderUserId") + .HasColumnType("uuid"); + + b.Property("SecretId") + .HasColumnType("uuid"); + + b.Property("ServiceAccountId") + .HasColumnType("uuid"); + + b.Property("SystemUser") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("integer"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("Event", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AccessAll") + .HasColumnType("boolean"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("character varying(300)"); + + b.Property("Name") + .HasMaxLength(100) + .HasColumnType("character varying(100)"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Group", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => + { + b.Property("GroupId") + .HasColumnType("uuid"); + + b.Property("OrganizationUserId") + .HasColumnType("uuid"); + + b.HasKey("GroupId", "OrganizationUserId"); + + b.HasIndex("OrganizationUserId"); + + b.ToTable("GroupUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Installation", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("Key") + .HasMaxLength(150) + .HasColumnType("character varying(150)"); + + b.HasKey("Id"); + + b.ToTable("Installation", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AllowAdminAccessToAllCollectionItems") + .HasColumnType("boolean") + .HasDefaultValue(true); + + b.Property("BillingEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("BusinessAddress1") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("BusinessAddress2") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("BusinessAddress3") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("BusinessCountry") + .HasMaxLength(2) + .HasColumnType("character varying(2)"); + + b.Property("BusinessName") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("BusinessTaxNumber") + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("ExpirationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Gateway") + .HasColumnType("smallint"); + + b.Property("GatewayCustomerId") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("GatewaySubscriptionId") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("Identifier") + .HasMaxLength(50) + .HasColumnType("character varying(50)") + .UseCollation("postgresIndetermanisticCollation"); + + b.Property("LicenseKey") + .HasMaxLength(100) + .HasColumnType("character varying(100)"); + + b.Property("LimitCollectionCreationDeletion") + .HasColumnType("boolean") + .HasDefaultValue(true); + + b.Property("MaxAutoscaleSeats") + .HasColumnType("integer"); + + b.Property("MaxAutoscaleSmSeats") + .HasColumnType("integer"); + + b.Property("MaxAutoscaleSmServiceAccounts") + .HasColumnType("integer"); + + b.Property("MaxCollections") + .HasColumnType("smallint"); + + b.Property("MaxStorageGb") + .HasColumnType("smallint"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("OwnersNotifiedOfAutoscaling") + .HasColumnType("timestamp with time zone"); + + b.Property("Plan") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("PlanType") + .HasColumnType("smallint"); + + b.Property("PrivateKey") + .HasColumnType("text"); + + b.Property("PublicKey") + .HasColumnType("text"); + + b.Property("ReferenceData") + .HasColumnType("text"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Seats") + .HasColumnType("integer"); + + b.Property("SecretsManagerBeta") + .HasColumnType("boolean"); + + b.Property("SelfHost") + .HasColumnType("boolean"); + + b.Property("SmSeats") + .HasColumnType("integer"); + + b.Property("SmServiceAccounts") + .HasColumnType("integer"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.Property("Storage") + .HasColumnType("bigint"); + + b.Property("TwoFactorProviders") + .HasColumnType("text"); + + b.Property("Use2fa") + .HasColumnType("boolean"); + + b.Property("UseApi") + .HasColumnType("boolean"); + + b.Property("UseCustomPermissions") + .HasColumnType("boolean"); + + b.Property("UseDirectory") + .HasColumnType("boolean"); + + b.Property("UseEvents") + .HasColumnType("boolean"); + + b.Property("UseGroups") + .HasColumnType("boolean"); + + b.Property("UseKeyConnector") + .HasColumnType("boolean"); + + b.Property("UsePasswordManager") + .HasColumnType("boolean"); + + b.Property("UsePolicies") + .HasColumnType("boolean"); + + b.Property("UseResetPassword") + .HasColumnType("boolean"); + + b.Property("UseScim") + .HasColumnType("boolean"); + + b.Property("UseSecretsManager") + .HasColumnType("boolean"); + + b.Property("UseSso") + .HasColumnType("boolean"); + + b.Property("UseTotp") + .HasColumnType("boolean"); + + b.Property("UsersGetPremium") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.ToTable("Organization", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ApiKey") + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationApiKey", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("Config") + .HasColumnType("text"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationConnection", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("DomainName") + .HasMaxLength(255) + .HasColumnType("character varying(255)"); + + b.Property("JobRunCount") + .HasColumnType("integer"); + + b.Property("LastCheckedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("NextRunDate") + .HasColumnType("timestamp with time zone"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("Txt") + .HasColumnType("text"); + + b.Property("VerifiedDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationDomain", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("FriendlyName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("LastSyncDate") + .HasColumnType("timestamp with time zone"); + + b.Property("OfferedToEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PlanSponsorshipType") + .HasColumnType("smallint"); + + b.Property("SponsoredOrganizationId") + .HasColumnType("uuid"); + + b.Property("SponsoringOrganizationId") + .HasColumnType("uuid"); + + b.Property("SponsoringOrganizationUserId") + .HasColumnType("uuid"); + + b.Property("ToDelete") + .HasColumnType("boolean"); + + b.Property("ValidUntil") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("SponsoredOrganizationId"); + + b.HasIndex("SponsoringOrganizationId"); + + b.ToTable("OrganizationSponsorship", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AccessAll") + .HasColumnType("boolean"); + + b.Property("AccessSecretsManager") + .HasColumnType("boolean"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("character varying(300)"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("Permissions") + .HasColumnType("text"); + + b.Property("ResetPasswordKey") + .HasColumnType("text"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("OrganizationUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Policy", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Data") + .HasColumnType("text"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Policy", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Provider", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("BillingEmail") + .HasColumnType("text"); + + b.Property("BillingPhone") + .HasColumnType("text"); + + b.Property("BusinessAddress1") + .HasColumnType("text"); + + b.Property("BusinessAddress2") + .HasColumnType("text"); + + b.Property("BusinessAddress3") + .HasColumnType("text"); + + b.Property("BusinessCountry") + .HasColumnType("text"); + + b.Property("BusinessName") + .HasColumnType("text"); + + b.Property("BusinessTaxNumber") + .HasColumnType("text"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UseEvents") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.ToTable("Provider", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("ProviderId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Settings") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("ProviderId"); + + b.ToTable("ProviderOrganization", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("Permissions") + .HasColumnType("text"); + + b.Property("ProviderId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("ProviderId"); + + b.HasIndex("UserId"); + + b.ToTable("ProviderUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AccessCount") + .HasColumnType("integer"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Data") + .HasColumnType("text"); + + b.Property("DeletionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Disabled") + .HasColumnType("boolean"); + + b.Property("ExpirationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("HideEmail") + .HasColumnType("boolean"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("MaxAccessCount") + .HasColumnType("integer"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("Password") + .HasMaxLength(300) + .HasColumnType("character varying(300)"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Send", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.TaxRate", b => + { + b.Property("Id") + .HasMaxLength(40) + .HasColumnType("character varying(40)"); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("Country") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("PostalCode") + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("Rate") + .HasColumnType("numeric"); + + b.Property("State") + .HasMaxLength(2) + .HasColumnType("character varying(2)"); + + b.HasKey("Id"); + + b.ToTable("TaxRate", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("Amount") + .HasColumnType("numeric"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Details") + .HasMaxLength(100) + .HasColumnType("character varying(100)"); + + b.Property("Gateway") + .HasColumnType("smallint"); + + b.Property("GatewayId") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("PaymentMethodType") + .HasColumnType("smallint"); + + b.Property("Refunded") + .HasColumnType("boolean"); + + b.Property("RefundedAmount") + .HasColumnType("numeric"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Transaction", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AccountRevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ApiKey") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("character varying(30)"); + + b.Property("AvatarColor") + .HasMaxLength(7) + .HasColumnType("character varying(7)"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Culture") + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .UseCollation("postgresIndetermanisticCollation"); + + b.Property("EmailVerified") + .HasColumnType("boolean"); + + b.Property("EquivalentDomains") + .HasColumnType("text"); + + b.Property("ExcludedGlobalEquivalentDomains") + .HasColumnType("text"); + + b.Property("FailedLoginCount") + .HasColumnType("integer"); + + b.Property("ForcePasswordReset") + .HasColumnType("boolean"); + + b.Property("Gateway") + .HasColumnType("smallint"); + + b.Property("GatewayCustomerId") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("GatewaySubscriptionId") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("Kdf") + .HasColumnType("smallint"); + + b.Property("KdfIterations") + .HasColumnType("integer"); + + b.Property("KdfMemory") + .HasColumnType("integer"); + + b.Property("KdfParallelism") + .HasColumnType("integer"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("LastEmailChangeDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LastFailedLoginDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LastKdfChangeDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LastKeyRotationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LastPasswordChangeDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LicenseKey") + .HasMaxLength(100) + .HasColumnType("character varying(100)"); + + b.Property("MasterPassword") + .HasMaxLength(300) + .HasColumnType("character varying(300)"); + + b.Property("MasterPasswordHint") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("MaxStorageGb") + .HasColumnType("smallint"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("Premium") + .HasColumnType("boolean"); + + b.Property("PremiumExpirationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("PrivateKey") + .HasColumnType("text"); + + b.Property("PublicKey") + .HasColumnType("text"); + + b.Property("ReferenceData") + .HasColumnType("text"); + + b.Property("RenewalReminderDate") + .HasColumnType("timestamp with time zone"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("Storage") + .HasColumnType("bigint"); + + b.Property("TwoFactorProviders") + .HasColumnType("text"); + + b.Property("TwoFactorRecoveryCode") + .HasMaxLength(32) + .HasColumnType("character varying(32)"); + + b.Property("UsesKeyConnector") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.ToTable("User", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Discriminator") + .IsRequired() + .HasColumnType("text"); + + b.Property("Read") + .HasColumnType("boolean"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Write") + .HasColumnType("boolean"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.ToTable("AccessPolicy", (string)null); + + b.HasDiscriminator("Discriminator").HasValue("AccessPolicy"); + + b.UseTphMappingStrategy(); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ClientSecretHash") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("EncryptedPayload") + .HasMaxLength(4000) + .HasColumnType("character varying(4000)"); + + b.Property("ExpireAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("character varying(200)"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Scope") + .HasMaxLength(4000) + .HasColumnType("character varying(4000)"); + + b.Property("ServiceAccountId") + .HasColumnType("uuid"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("ServiceAccountId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("ApiKey", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("DeletedDate") + .HasAnnotation("SqlServer:Clustered", false); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("Project", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("Note") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("DeletedDate") + .HasAnnotation("SqlServer:Clustered", false); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("Secret", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("ServiceAccount", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("Attachments") + .HasColumnType("text"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Data") + .HasColumnType("text"); + + b.Property("DeletedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Favorites") + .HasColumnType("text"); + + b.Property("Folders") + .HasColumnType("text"); + + b.Property("Key") + .HasColumnType("text"); + + b.Property("OrganizationId") + .HasColumnType("uuid"); + + b.Property("Reprompt") + .HasColumnType("smallint"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Type") + .HasColumnType("smallint"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Cipher", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("RevisionDate") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Folder", (string)null); + }); + + modelBuilder.Entity("ProjectSecret", b => + { + b.Property("ProjectsId") + .HasColumnType("uuid"); + + b.Property("SecretsId") + .HasColumnType("uuid"); + + b.HasKey("ProjectsId", "SecretsId"); + + b.HasIndex("SecretsId"); + + b.ToTable("ProjectSecret"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GrantedProjectId"); + + b.Property("GroupId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GroupId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("GroupId"); + + b.HasDiscriminator().HasValue("group_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedServiceAccountId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GrantedServiceAccountId"); + + b.Property("GroupId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GroupId"); + + b.HasIndex("GrantedServiceAccountId"); + + b.HasIndex("GroupId"); + + b.HasDiscriminator().HasValue("group_service_account"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GrantedProjectId"); + + b.Property("ServiceAccountId") + .HasColumnType("uuid") + .HasColumnName("ServiceAccountId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("ServiceAccountId"); + + b.HasDiscriminator().HasValue("service_account_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GrantedProjectId"); + + b.Property("OrganizationUserId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("OrganizationUserId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("OrganizationUserId"); + + b.HasDiscriminator().HasValue("user_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedServiceAccountId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("GrantedServiceAccountId"); + + b.Property("OrganizationUserId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("uuid") + .HasColumnName("OrganizationUserId"); + + b.HasIndex("GrantedServiceAccountId"); + + b.HasIndex("OrganizationUserId"); + + b.HasDiscriminator().HasValue("user_service_account"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Device", "ResponseDevice") + .WithMany() + .HasForeignKey("ResponseDeviceId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("ResponseDevice"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantee") + .WithMany() + .HasForeignKey("GranteeId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantor") + .WithMany() + .HasForeignKey("GrantorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Grantee"); + + b.Navigation("Grantor"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("SsoConfigs") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("SsoUsers") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("SsoUsers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Collections") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", "Cipher") + .WithMany("CollectionCiphers") + .HasForeignKey("CipherId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionCiphers") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Cipher"); + + b.Navigation("Collection"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionGroups") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Collection"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionUsers") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany("CollectionUsers") + .HasForeignKey("OrganizationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Collection"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Groups") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany("GroupUsers") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany("GroupUsers") + .HasForeignKey("OrganizationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Group"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("ApiKeys") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Connections") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Domains") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoredOrganization") + .WithMany() + .HasForeignKey("SponsoredOrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoringOrganization") + .WithMany() + .HasForeignKey("SponsoringOrganizationId"); + + b.Navigation("SponsoredOrganization"); + + b.Navigation("SponsoringOrganization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("OrganizationUsers") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("OrganizationUsers") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Policy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Policies") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Provider"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Transactions") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Transactions") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") + .WithMany() + .HasForeignKey("ServiceAccountId"); + + b.Navigation("ServiceAccount"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Ciphers") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Ciphers") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Folders") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("ProjectSecret", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", null) + .WithMany() + .HasForeignKey("ProjectsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", null) + .WithMany() + .HasForeignKey("SecretsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("GroupAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GrantedProject"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") + .WithMany("GroupAccessPolicies") + .HasForeignKey("GrantedServiceAccountId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GrantedServiceAccount"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("ServiceAccountAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") + .WithMany() + .HasForeignKey("ServiceAccountId"); + + b.Navigation("GrantedProject"); + + b.Navigation("ServiceAccount"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("UserAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany() + .HasForeignKey("OrganizationUserId"); + + b.Navigation("GrantedProject"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") + .WithMany("UserAccessPolicies") + .HasForeignKey("GrantedServiceAccountId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany() + .HasForeignKey("OrganizationUserId"); + + b.Navigation("GrantedServiceAccount"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.Navigation("CollectionCiphers"); + + b.Navigation("CollectionGroups"); + + b.Navigation("CollectionUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b => + { + b.Navigation("ApiKeys"); + + b.Navigation("Ciphers"); + + b.Navigation("Collections"); + + b.Navigation("Connections"); + + b.Navigation("Domains"); + + b.Navigation("Groups"); + + b.Navigation("OrganizationUsers"); + + b.Navigation("Policies"); + + b.Navigation("SsoConfigs"); + + b.Navigation("SsoUsers"); + + b.Navigation("Transactions"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.Navigation("CollectionUsers"); + + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => + { + b.Navigation("Ciphers"); + + b.Navigation("Folders"); + + b.Navigation("OrganizationUsers"); + + b.Navigation("SsoUsers"); + + b.Navigation("Transactions"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.Navigation("GroupAccessPolicies"); + + b.Navigation("ServiceAccountAccessPolicies"); + + b.Navigation("UserAccessPolicies"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.Navigation("GroupAccessPolicies"); + + b.Navigation("UserAccessPolicies"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.Navigation("CollectionCiphers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.cs b/util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.cs new file mode 100644 index 0000000000..0ccfef3801 --- /dev/null +++ b/util/PostgresMigrations/Migrations/20231025225548_AdminCollectionItemAccess.cs @@ -0,0 +1,28 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Bit.PostgresMigrations.Migrations; + +/// +public partial class AdminCollectionItemAccess : Migration +{ + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "AllowAdminAccessToAllCollectionItems", + table: "Organization", + type: "boolean", + nullable: false, + defaultValue: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "AllowAdminAccessToAllCollectionItems", + table: "Organization"); + } +} diff --git a/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs b/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs index c13b44da60..badab4b0cb 100644 --- a/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs +++ b/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs @@ -523,6 +523,10 @@ namespace Bit.PostgresMigrations.Migrations b.Property("Id") .HasColumnType("uuid"); + b.Property("AllowAdminAccessToAllCollectionItems") + .HasColumnType("boolean") + .HasDefaultValue(true); + b.Property("BillingEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); @@ -1519,7 +1523,7 @@ namespace Bit.PostgresMigrations.Migrations b.Property("Folders") .HasColumnType("text"); - + b.Property("Key") .HasColumnType("text"); diff --git a/util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.Designer.cs b/util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.Designer.cs new file mode 100644 index 0000000000..a1434fefda --- /dev/null +++ b/util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.Designer.cs @@ -0,0 +1,2251 @@ +// +using System; +using Bit.Infrastructure.EntityFramework.Repositories; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Bit.SqliteMigrations.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20231025225553_AdminCollectionItemAccess")] + partial class AdminCollectionItemAccess + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "7.0.5"); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccessCode") + .HasMaxLength(25) + .HasColumnType("TEXT"); + + b.Property("Approved") + .HasColumnType("INTEGER"); + + b.Property("AuthenticationDate") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("MasterPasswordHash") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("PublicKey") + .HasColumnType("TEXT"); + + b.Property("RequestDeviceIdentifier") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("RequestDeviceType") + .HasColumnType("INTEGER"); + + b.Property("RequestIpAddress") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("ResponseDate") + .HasColumnType("TEXT"); + + b.Property("ResponseDeviceId") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("ResponseDeviceId"); + + b.HasIndex("UserId"); + + b.ToTable("AuthRequest", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("GranteeId") + .HasColumnType("TEXT"); + + b.Property("GrantorId") + .HasColumnType("TEXT"); + + b.Property("KeyEncrypted") + .HasColumnType("TEXT"); + + b.Property("LastNotificationDate") + .HasColumnType("TEXT"); + + b.Property("RecoveryInitiatedDate") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Status") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("WaitTimeDays") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GranteeId"); + + b.HasIndex("GrantorId"); + + b.ToTable("EmergencyAccess", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.Grant", b => + { + b.Property("Key") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("ClientId") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("ConsumedDate") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Data") + .HasColumnType("TEXT"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("ExpirationDate") + .HasColumnType("TEXT"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.HasKey("Key"); + + b.ToTable("Grant", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Data") + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("SsoConfig", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("ExternalId") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("SsoUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Collection", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => + { + b.Property("CollectionId") + .HasColumnType("TEXT"); + + b.Property("CipherId") + .HasColumnType("TEXT"); + + b.HasKey("CollectionId", "CipherId"); + + b.HasIndex("CipherId"); + + b.ToTable("CollectionCipher", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => + { + b.Property("CollectionId") + .HasColumnType("TEXT"); + + b.Property("GroupId") + .HasColumnType("TEXT"); + + b.Property("HidePasswords") + .HasColumnType("INTEGER"); + + b.Property("Manage") + .HasColumnType("INTEGER"); + + b.Property("ReadOnly") + .HasColumnType("INTEGER"); + + b.HasKey("CollectionId", "GroupId"); + + b.HasIndex("GroupId"); + + b.ToTable("CollectionGroups"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => + { + b.Property("CollectionId") + .HasColumnType("TEXT"); + + b.Property("OrganizationUserId") + .HasColumnType("TEXT"); + + b.Property("HidePasswords") + .HasColumnType("INTEGER"); + + b.Property("Manage") + .HasColumnType("INTEGER"); + + b.Property("ReadOnly") + .HasColumnType("INTEGER"); + + b.HasKey("CollectionId", "OrganizationUserId"); + + b.HasIndex("OrganizationUserId"); + + b.ToTable("CollectionUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("EncryptedPrivateKey") + .HasColumnType("TEXT"); + + b.Property("EncryptedPublicKey") + .HasColumnType("TEXT"); + + b.Property("EncryptedUserKey") + .HasColumnType("TEXT"); + + b.Property("Identifier") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("PushToken") + .HasMaxLength(255) + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Device", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Event", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("ActingUserId") + .HasColumnType("TEXT"); + + b.Property("CipherId") + .HasColumnType("TEXT"); + + b.Property("CollectionId") + .HasColumnType("TEXT"); + + b.Property("Date") + .HasColumnType("TEXT"); + + b.Property("DeviceType") + .HasColumnType("INTEGER"); + + b.Property("DomainName") + .HasColumnType("TEXT"); + + b.Property("GroupId") + .HasColumnType("TEXT"); + + b.Property("InstallationId") + .HasColumnType("TEXT"); + + b.Property("IpAddress") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("OrganizationUserId") + .HasColumnType("TEXT"); + + b.Property("PolicyId") + .HasColumnType("TEXT"); + + b.Property("ProviderId") + .HasColumnType("TEXT"); + + b.Property("ProviderOrganizationId") + .HasColumnType("TEXT"); + + b.Property("ProviderUserId") + .HasColumnType("TEXT"); + + b.Property("SecretId") + .HasColumnType("TEXT"); + + b.Property("ServiceAccountId") + .HasColumnType("TEXT"); + + b.Property("SystemUser") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Event", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccessAll") + .HasColumnType("INTEGER"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("TEXT"); + + b.Property("Name") + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Group", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => + { + b.Property("GroupId") + .HasColumnType("TEXT"); + + b.Property("OrganizationUserId") + .HasColumnType("TEXT"); + + b.HasKey("GroupId", "OrganizationUserId"); + + b.HasIndex("OrganizationUserId"); + + b.ToTable("GroupUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Installation", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("Key") + .HasMaxLength(150) + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Installation", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AllowAdminAccessToAllCollectionItems") + .HasColumnType("INTEGER") + .HasDefaultValue(true); + + b.Property("BillingEmail") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("BusinessAddress1") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("BusinessAddress2") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("BusinessAddress3") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("BusinessCountry") + .HasMaxLength(2) + .HasColumnType("TEXT"); + + b.Property("BusinessName") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("BusinessTaxNumber") + .HasMaxLength(30) + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("ExpirationDate") + .HasColumnType("TEXT"); + + b.Property("Gateway") + .HasColumnType("INTEGER"); + + b.Property("GatewayCustomerId") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("GatewaySubscriptionId") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Identifier") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("LicenseKey") + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("LimitCollectionCreationDeletion") + .HasColumnType("INTEGER") + .HasDefaultValue(true); + + b.Property("MaxAutoscaleSeats") + .HasColumnType("INTEGER"); + + b.Property("MaxAutoscaleSmSeats") + .HasColumnType("INTEGER"); + + b.Property("MaxAutoscaleSmServiceAccounts") + .HasColumnType("INTEGER"); + + b.Property("MaxCollections") + .HasColumnType("INTEGER"); + + b.Property("MaxStorageGb") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("OwnersNotifiedOfAutoscaling") + .HasColumnType("TEXT"); + + b.Property("Plan") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("PlanType") + .HasColumnType("INTEGER"); + + b.Property("PrivateKey") + .HasColumnType("TEXT"); + + b.Property("PublicKey") + .HasColumnType("TEXT"); + + b.Property("ReferenceData") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Seats") + .HasColumnType("INTEGER"); + + b.Property("SecretsManagerBeta") + .HasColumnType("INTEGER"); + + b.Property("SelfHost") + .HasColumnType("INTEGER"); + + b.Property("SmSeats") + .HasColumnType("INTEGER"); + + b.Property("SmServiceAccounts") + .HasColumnType("INTEGER"); + + b.Property("Status") + .HasColumnType("INTEGER"); + + b.Property("Storage") + .HasColumnType("INTEGER"); + + b.Property("TwoFactorProviders") + .HasColumnType("TEXT"); + + b.Property("Use2fa") + .HasColumnType("INTEGER"); + + b.Property("UseApi") + .HasColumnType("INTEGER"); + + b.Property("UseCustomPermissions") + .HasColumnType("INTEGER"); + + b.Property("UseDirectory") + .HasColumnType("INTEGER"); + + b.Property("UseEvents") + .HasColumnType("INTEGER"); + + b.Property("UseGroups") + .HasColumnType("INTEGER"); + + b.Property("UseKeyConnector") + .HasColumnType("INTEGER"); + + b.Property("UsePasswordManager") + .HasColumnType("INTEGER"); + + b.Property("UsePolicies") + .HasColumnType("INTEGER"); + + b.Property("UseResetPassword") + .HasColumnType("INTEGER"); + + b.Property("UseScim") + .HasColumnType("INTEGER"); + + b.Property("UseSecretsManager") + .HasColumnType("INTEGER"); + + b.Property("UseSso") + .HasColumnType("INTEGER"); + + b.Property("UseTotp") + .HasColumnType("INTEGER"); + + b.Property("UsersGetPremium") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("Organization", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("ApiKey") + .HasMaxLength(30) + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationApiKey", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Config") + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationConnection", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("DomainName") + .HasMaxLength(255) + .HasColumnType("TEXT"); + + b.Property("JobRunCount") + .HasColumnType("INTEGER"); + + b.Property("LastCheckedDate") + .HasColumnType("TEXT"); + + b.Property("NextRunDate") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("Txt") + .HasColumnType("TEXT"); + + b.Property("VerifiedDate") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("OrganizationDomain", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("FriendlyName") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("LastSyncDate") + .HasColumnType("TEXT"); + + b.Property("OfferedToEmail") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("PlanSponsorshipType") + .HasColumnType("INTEGER"); + + b.Property("SponsoredOrganizationId") + .HasColumnType("TEXT"); + + b.Property("SponsoringOrganizationId") + .HasColumnType("TEXT"); + + b.Property("SponsoringOrganizationUserId") + .HasColumnType("TEXT"); + + b.Property("ToDelete") + .HasColumnType("INTEGER"); + + b.Property("ValidUntil") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("SponsoredOrganizationId"); + + b.HasIndex("SponsoringOrganizationId"); + + b.ToTable("OrganizationSponsorship", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccessAll") + .HasColumnType("INTEGER"); + + b.Property("AccessSecretsManager") + .HasColumnType("INTEGER"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("ExternalId") + .HasMaxLength(300) + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("Permissions") + .HasColumnType("TEXT"); + + b.Property("ResetPasswordKey") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Status") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("OrganizationUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Policy", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Data") + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.ToTable("Policy", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Provider", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("BillingEmail") + .HasColumnType("TEXT"); + + b.Property("BillingPhone") + .HasColumnType("TEXT"); + + b.Property("BusinessAddress1") + .HasColumnType("TEXT"); + + b.Property("BusinessAddress2") + .HasColumnType("TEXT"); + + b.Property("BusinessAddress3") + .HasColumnType("TEXT"); + + b.Property("BusinessCountry") + .HasColumnType("TEXT"); + + b.Property("BusinessName") + .HasColumnType("TEXT"); + + b.Property("BusinessTaxNumber") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Status") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UseEvents") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("Provider", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("ProviderId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Settings") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("ProviderId"); + + b.ToTable("ProviderOrganization", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("Permissions") + .HasColumnType("TEXT"); + + b.Property("ProviderId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Status") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("ProviderId"); + + b.HasIndex("UserId"); + + b.ToTable("ProviderUser", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccessCount") + .HasColumnType("INTEGER"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Data") + .HasColumnType("TEXT"); + + b.Property("DeletionDate") + .HasColumnType("TEXT"); + + b.Property("Disabled") + .HasColumnType("INTEGER"); + + b.Property("ExpirationDate") + .HasColumnType("TEXT"); + + b.Property("HideEmail") + .HasColumnType("INTEGER"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("MaxAccessCount") + .HasColumnType("INTEGER"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("Password") + .HasMaxLength(300) + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Send", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.TaxRate", b => + { + b.Property("Id") + .HasMaxLength(40) + .HasColumnType("TEXT"); + + b.Property("Active") + .HasColumnType("INTEGER"); + + b.Property("Country") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("PostalCode") + .HasMaxLength(10) + .HasColumnType("TEXT"); + + b.Property("Rate") + .HasColumnType("TEXT"); + + b.Property("State") + .HasMaxLength(2) + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("TaxRate", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Amount") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Details") + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("Gateway") + .HasColumnType("INTEGER"); + + b.Property("GatewayId") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("PaymentMethodType") + .HasColumnType("INTEGER"); + + b.Property("Refunded") + .HasColumnType("INTEGER"); + + b.Property("RefundedAmount") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Transaction", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccountRevisionDate") + .HasColumnType("TEXT"); + + b.Property("ApiKey") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("TEXT"); + + b.Property("AvatarColor") + .HasMaxLength(7) + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Culture") + .HasMaxLength(10) + .HasColumnType("TEXT"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("EmailVerified") + .HasColumnType("INTEGER"); + + b.Property("EquivalentDomains") + .HasColumnType("TEXT"); + + b.Property("ExcludedGlobalEquivalentDomains") + .HasColumnType("TEXT"); + + b.Property("FailedLoginCount") + .HasColumnType("INTEGER"); + + b.Property("ForcePasswordReset") + .HasColumnType("INTEGER"); + + b.Property("Gateway") + .HasColumnType("INTEGER"); + + b.Property("GatewayCustomerId") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("GatewaySubscriptionId") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Kdf") + .HasColumnType("INTEGER"); + + b.Property("KdfIterations") + .HasColumnType("INTEGER"); + + b.Property("KdfMemory") + .HasColumnType("INTEGER"); + + b.Property("KdfParallelism") + .HasColumnType("INTEGER"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("LastEmailChangeDate") + .HasColumnType("TEXT"); + + b.Property("LastFailedLoginDate") + .HasColumnType("TEXT"); + + b.Property("LastKdfChangeDate") + .HasColumnType("TEXT"); + + b.Property("LastKeyRotationDate") + .HasColumnType("TEXT"); + + b.Property("LastPasswordChangeDate") + .HasColumnType("TEXT"); + + b.Property("LicenseKey") + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("MasterPassword") + .HasMaxLength(300) + .HasColumnType("TEXT"); + + b.Property("MasterPasswordHint") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("MaxStorageGb") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Premium") + .HasColumnType("INTEGER"); + + b.Property("PremiumExpirationDate") + .HasColumnType("TEXT"); + + b.Property("PrivateKey") + .HasColumnType("TEXT"); + + b.Property("PublicKey") + .HasColumnType("TEXT"); + + b.Property("ReferenceData") + .HasColumnType("TEXT"); + + b.Property("RenewalReminderDate") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Storage") + .HasColumnType("INTEGER"); + + b.Property("TwoFactorProviders") + .HasColumnType("TEXT"); + + b.Property("TwoFactorRecoveryCode") + .HasMaxLength(32) + .HasColumnType("TEXT"); + + b.Property("UsesKeyConnector") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("User", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Discriminator") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Read") + .HasColumnType("INTEGER"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Write") + .HasColumnType("INTEGER"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.ToTable("AccessPolicy", (string)null); + + b.HasDiscriminator("Discriminator").HasValue("AccessPolicy"); + + b.UseTphMappingStrategy(); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("ClientSecretHash") + .HasMaxLength(128) + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("EncryptedPayload") + .HasMaxLength(4000) + .HasColumnType("TEXT"); + + b.Property("ExpireAt") + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Scope") + .HasMaxLength(4000) + .HasColumnType("TEXT"); + + b.Property("ServiceAccountId") + .HasColumnType("TEXT"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("ServiceAccountId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("ApiKey", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("DeletedDate") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("DeletedDate") + .HasAnnotation("SqlServer:Clustered", false); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("Project", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("DeletedDate") + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("Note") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("DeletedDate") + .HasAnnotation("SqlServer:Clustered", false); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("Secret", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.HasKey("Id") + .HasAnnotation("SqlServer:Clustered", true); + + b.HasIndex("OrganizationId") + .HasAnnotation("SqlServer:Clustered", false); + + b.ToTable("ServiceAccount", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("Attachments") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Data") + .HasColumnType("TEXT"); + + b.Property("DeletedDate") + .HasColumnType("TEXT"); + + b.Property("Favorites") + .HasColumnType("TEXT"); + + b.Property("Folders") + .HasColumnType("TEXT"); + + b.Property("Key") + .HasColumnType("TEXT"); + + b.Property("OrganizationId") + .HasColumnType("TEXT"); + + b.Property("Reprompt") + .HasColumnType("INTEGER"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("UserId"); + + b.ToTable("Cipher", (string)null); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("CreationDate") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("RevisionDate") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Folder", (string)null); + }); + + modelBuilder.Entity("ProjectSecret", b => + { + b.Property("ProjectsId") + .HasColumnType("TEXT"); + + b.Property("SecretsId") + .HasColumnType("TEXT"); + + b.HasKey("ProjectsId", "SecretsId"); + + b.HasIndex("SecretsId"); + + b.ToTable("ProjectSecret"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GrantedProjectId"); + + b.Property("GroupId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GroupId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("GroupId"); + + b.HasDiscriminator().HasValue("group_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedServiceAccountId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GrantedServiceAccountId"); + + b.Property("GroupId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GroupId"); + + b.HasIndex("GrantedServiceAccountId"); + + b.HasIndex("GroupId"); + + b.HasDiscriminator().HasValue("group_service_account"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GrantedProjectId"); + + b.Property("ServiceAccountId") + .HasColumnType("TEXT") + .HasColumnName("ServiceAccountId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("ServiceAccountId"); + + b.HasDiscriminator().HasValue("service_account_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedProjectId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GrantedProjectId"); + + b.Property("OrganizationUserId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("OrganizationUserId"); + + b.HasIndex("GrantedProjectId"); + + b.HasIndex("OrganizationUserId"); + + b.HasDiscriminator().HasValue("user_project"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => + { + b.HasBaseType("Bit.Infrastructure.EntityFramework.SecretsManager.Models.AccessPolicy"); + + b.Property("GrantedServiceAccountId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("GrantedServiceAccountId"); + + b.Property("OrganizationUserId") + .ValueGeneratedOnUpdateSometimes() + .HasColumnType("TEXT") + .HasColumnName("OrganizationUserId"); + + b.HasIndex("GrantedServiceAccountId"); + + b.HasIndex("OrganizationUserId"); + + b.HasDiscriminator().HasValue("user_service_account"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.AuthRequest", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Device", "ResponseDevice") + .WithMany() + .HasForeignKey("ResponseDeviceId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("ResponseDevice"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.EmergencyAccess", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantee") + .WithMany() + .HasForeignKey("GranteeId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "Grantor") + .WithMany() + .HasForeignKey("GrantorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Grantee"); + + b.Navigation("Grantor"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoConfig", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("SsoConfigs") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Auth.Models.SsoUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("SsoUsers") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("SsoUsers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Collections") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionCipher", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", "Cipher") + .WithMany("CollectionCiphers") + .HasForeignKey("CipherId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionCiphers") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Cipher"); + + b.Navigation("Collection"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionGroup", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionGroups") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Collection"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.CollectionUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Collection", "Collection") + .WithMany("CollectionUsers") + .HasForeignKey("CollectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany("CollectionUsers") + .HasForeignKey("OrganizationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Collection"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Device", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Groups") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.GroupUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany("GroupUsers") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany("GroupUsers") + .HasForeignKey("OrganizationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Group"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationApiKey", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("ApiKeys") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationConnection", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Connections") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationDomain", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Domains") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationSponsorship", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoredOrganization") + .WithMany() + .HasForeignKey("SponsoredOrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "SponsoringOrganization") + .WithMany() + .HasForeignKey("SponsoringOrganizationId"); + + b.Navigation("SponsoredOrganization"); + + b.Navigation("SponsoringOrganization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("OrganizationUsers") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("OrganizationUsers") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Policy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Policies") + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderOrganization", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.ProviderUser", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Provider"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Send", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Transaction", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Transactions") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Transactions") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ApiKey", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") + .WithMany() + .HasForeignKey("ServiceAccountId"); + + b.Navigation("ServiceAccount"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany() + .HasForeignKey("OrganizationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organization"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Organization", "Organization") + .WithMany("Ciphers") + .HasForeignKey("OrganizationId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Ciphers") + .HasForeignKey("UserId"); + + b.Navigation("Organization"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Folder", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.Models.User", "User") + .WithMany("Folders") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("ProjectSecret", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", null) + .WithMany() + .HasForeignKey("ProjectsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Secret", null) + .WithMany() + .HasForeignKey("SecretsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("GroupAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GrantedProject"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.GroupServiceAccountAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") + .WithMany("GroupAccessPolicies") + .HasForeignKey("GrantedServiceAccountId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GrantedServiceAccount"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccountProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("ServiceAccountAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "ServiceAccount") + .WithMany() + .HasForeignKey("ServiceAccountId"); + + b.Navigation("GrantedProject"); + + b.Navigation("ServiceAccount"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserProjectAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", "GrantedProject") + .WithMany("UserAccessPolicies") + .HasForeignKey("GrantedProjectId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany() + .HasForeignKey("OrganizationUserId"); + + b.Navigation("GrantedProject"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.UserServiceAccountAccessPolicy", b => + { + b.HasOne("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", "GrantedServiceAccount") + .WithMany("UserAccessPolicies") + .HasForeignKey("GrantedServiceAccountId"); + + b.HasOne("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", "OrganizationUser") + .WithMany() + .HasForeignKey("OrganizationUserId"); + + b.Navigation("GrantedServiceAccount"); + + b.Navigation("OrganizationUser"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Collection", b => + { + b.Navigation("CollectionCiphers"); + + b.Navigation("CollectionGroups"); + + b.Navigation("CollectionUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Group", b => + { + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.Organization", b => + { + b.Navigation("ApiKeys"); + + b.Navigation("Ciphers"); + + b.Navigation("Collections"); + + b.Navigation("Connections"); + + b.Navigation("Domains"); + + b.Navigation("Groups"); + + b.Navigation("OrganizationUsers"); + + b.Navigation("Policies"); + + b.Navigation("SsoConfigs"); + + b.Navigation("SsoUsers"); + + b.Navigation("Transactions"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.OrganizationUser", b => + { + b.Navigation("CollectionUsers"); + + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Models.User", b => + { + b.Navigation("Ciphers"); + + b.Navigation("Folders"); + + b.Navigation("OrganizationUsers"); + + b.Navigation("SsoUsers"); + + b.Navigation("Transactions"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.Project", b => + { + b.Navigation("GroupAccessPolicies"); + + b.Navigation("ServiceAccountAccessPolicies"); + + b.Navigation("UserAccessPolicies"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.SecretsManager.Models.ServiceAccount", b => + { + b.Navigation("GroupAccessPolicies"); + + b.Navigation("UserAccessPolicies"); + }); + + modelBuilder.Entity("Bit.Infrastructure.EntityFramework.Vault.Models.Cipher", b => + { + b.Navigation("CollectionCiphers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.cs b/util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.cs new file mode 100644 index 0000000000..5e36dbdb11 --- /dev/null +++ b/util/SqliteMigrations/Migrations/20231025225553_AdminCollectionItemAccess.cs @@ -0,0 +1,28 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Bit.SqliteMigrations.Migrations; + +/// +public partial class AdminCollectionItemAccess : Migration +{ + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "AllowAdminAccessToAllCollectionItems", + table: "Organization", + type: "INTEGER", + nullable: false, + defaultValue: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "AllowAdminAccessToAllCollectionItems", + table: "Organization"); + } +} diff --git a/util/SqliteMigrations/Migrations/DatabaseContextModelSnapshot.cs b/util/SqliteMigrations/Migrations/DatabaseContextModelSnapshot.cs index 38b79a2856..af2ff8fee6 100644 --- a/util/SqliteMigrations/Migrations/DatabaseContextModelSnapshot.cs +++ b/util/SqliteMigrations/Migrations/DatabaseContextModelSnapshot.cs @@ -512,6 +512,10 @@ namespace Bit.SqliteMigrations.Migrations b.Property("Id") .HasColumnType("TEXT"); + b.Property("AllowAdminAccessToAllCollectionItems") + .HasColumnType("INTEGER") + .HasDefaultValue(true); + b.Property("BillingEmail") .HasMaxLength(256) .HasColumnType("TEXT"); @@ -1506,7 +1510,7 @@ namespace Bit.SqliteMigrations.Migrations b.Property("Folders") .HasColumnType("TEXT"); - + b.Property("Key") .HasColumnType("TEXT"); From 12667dbb3f1820ea37235a730fb0316281c28bc1 Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:14:33 +1000 Subject: [PATCH 05/11] [AC-1330] [AC-1815] [Server] Deprecate access control indicator - UserCipherDetails (#3372) * Create UserCipherDetails_v2 and update logic to remove AccessAll * Create v2 variants of all sprocs that rely on it * Add feature flag logic to call old or new sproc * Make equivalent changes to EF queries --- src/Admin/Controllers/UsersController.cs | 17 +- src/Api/Controllers/AccountsController.cs | 4 +- .../Vault/Controllers/CiphersController.cs | 90 ++--- src/Api/Vault/Controllers/SyncController.cs | 15 +- .../Implementations/EmergencyAccessService.cs | 16 +- .../Vault/Repositories/ICipherRepository.cs | 12 +- .../Services/Implementations/CipherService.cs | 27 +- src/Events/Controllers/CollectController.cs | 14 +- .../Vault/Repositories/CipherRepository.cs | 46 ++- .../Queries/UserCipherDetailsQuery.cs | 77 +++- .../Vault/Repositories/CipherRepository.cs | 28 +- .../dbo/Functions/UserCipherDetails_V2.sql | 53 +++ .../CipherDetails_ReadByIdUserId_V2.sql | 16 + .../Cipher/CipherDetails_ReadByUserId_V2.sql | 11 + .../Cipher/Cipher_Delete_V2.sql | 73 ++++ .../Cipher/Cipher_Move_V2.sql | 36 ++ .../Cipher/Cipher_Restore_V2.sql | 62 ++++ .../Cipher/Cipher_SoftDelete_V2.sql | 60 ++++ .../Controllers/CiphersControllerTests.cs | 4 +- .../Vault/Controllers/SyncControllerTests.cs | 8 +- .../Vault/Services/CipherServiceTests.cs | 8 +- ...precateAccessAll_UserCollectionDetails.sql | 334 ++++++++++++++++++ 22 files changed, 904 insertions(+), 107 deletions(-) create mode 100644 src/Sql/Vault/dbo/Functions/UserCipherDetails_V2.sql create mode 100644 src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByIdUserId_V2.sql create mode 100644 src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByUserId_V2.sql create mode 100644 src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Delete_V2.sql create mode 100644 src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Move_V2.sql create mode 100644 src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Restore_V2.sql create mode 100644 src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_SoftDelete_V2.sql create mode 100644 util/Migrator/DbScripts/2023-11-28_00_DeprecateAccessAll_UserCollectionDetails.sql diff --git a/src/Admin/Controllers/UsersController.cs b/src/Admin/Controllers/UsersController.cs index 30565ca3d9..e4ff88a68e 100644 --- a/src/Admin/Controllers/UsersController.cs +++ b/src/Admin/Controllers/UsersController.cs @@ -2,6 +2,8 @@ using Bit.Admin.Models; using Bit.Admin.Services; using Bit.Admin.Utilities; +using Bit.Core; +using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Repositories; using Bit.Core.Services; @@ -21,19 +23,28 @@ public class UsersController : Controller private readonly IPaymentService _paymentService; private readonly GlobalSettings _globalSettings; private readonly IAccessControlService _accessControlService; + private readonly ICurrentContext _currentContext; + private readonly IFeatureService _featureService; + + private bool UseFlexibleCollections => + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); public UsersController( IUserRepository userRepository, ICipherRepository cipherRepository, IPaymentService paymentService, GlobalSettings globalSettings, - IAccessControlService accessControlService) + IAccessControlService accessControlService, + ICurrentContext currentContext, + IFeatureService featureService) { _userRepository = userRepository; _cipherRepository = cipherRepository; _paymentService = paymentService; _globalSettings = globalSettings; _accessControlService = accessControlService; + _currentContext = currentContext; + _featureService = featureService; } [RequirePermission(Permission.User_List_View)] @@ -69,7 +80,7 @@ public class UsersController : Controller return RedirectToAction("Index"); } - var ciphers = await _cipherRepository.GetManyByUserIdAsync(id); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(id, useFlexibleCollections: UseFlexibleCollections); return View(new UserViewModel(user, ciphers)); } @@ -82,7 +93,7 @@ public class UsersController : Controller return RedirectToAction("Index"); } - var ciphers = await _cipherRepository.GetManyByUserIdAsync(id); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(id, useFlexibleCollections: UseFlexibleCollections); var billingInfo = await _paymentService.GetBillingAsync(user); return View(new UserEditModel(user, ciphers, billingInfo, _globalSettings)); } diff --git a/src/Api/Controllers/AccountsController.cs b/src/Api/Controllers/AccountsController.cs index d699f09ec6..7217afd0bd 100644 --- a/src/Api/Controllers/AccountsController.cs +++ b/src/Api/Controllers/AccountsController.cs @@ -58,6 +58,8 @@ public class AccountsController : Controller private readonly IFeatureService _featureService; private readonly ICurrentContext _currentContext; + private bool UseFlexibleCollections => + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); public AccountsController( GlobalSettings globalSettings, @@ -415,7 +417,7 @@ public class AccountsController : Controller var ciphers = new List(); if (model.Ciphers.Any()) { - var existingCiphers = await _cipherRepository.GetManyByUserIdAsync(user.Id); + var existingCiphers = await _cipherRepository.GetManyByUserIdAsync(user.Id, useFlexibleCollections: UseFlexibleCollections); ciphers.AddRange(existingCiphers .Join(model.Ciphers, c => c.Id, c => c.Id, (existing, c) => c.ToCipher(existing))); } diff --git a/src/Api/Vault/Controllers/CiphersController.cs b/src/Api/Vault/Controllers/CiphersController.cs index ad0db8f6b3..7ce9709885 100644 --- a/src/Api/Vault/Controllers/CiphersController.cs +++ b/src/Api/Vault/Controllers/CiphersController.cs @@ -40,6 +40,10 @@ public class CiphersController : Controller private readonly ILogger _logger; private readonly GlobalSettings _globalSettings; private readonly Version _cipherKeyEncryptionMinimumVersion = new Version(Constants.CipherKeyEncryptionMinimumVersion); + private readonly IFeatureService _featureService; + + private bool UseFlexibleCollections => + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); public CiphersController( ICipherRepository cipherRepository, @@ -50,7 +54,8 @@ public class CiphersController : Controller IProviderService providerService, ICurrentContext currentContext, ILogger logger, - GlobalSettings globalSettings) + GlobalSettings globalSettings, + IFeatureService featureService) { _cipherRepository = cipherRepository; _collectionCipherRepository = collectionCipherRepository; @@ -61,13 +66,14 @@ public class CiphersController : Controller _currentContext = currentContext; _logger = logger; _globalSettings = globalSettings; + _featureService = featureService; } [HttpGet("{id}")] - public async Task Get(string id) + public async Task Get(Guid id) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -91,17 +97,16 @@ public class CiphersController : Controller [HttpGet("{id}/full-details")] [HttpGet("{id}/details")] - public async Task GetDetails(string id) + public async Task GetDetails(Guid id) { var userId = _userService.GetProperUserId(User).Value; - var cipherId = new Guid(id); - var cipher = await _cipherRepository.GetByIdAsync(cipherId, userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); } - var collectionCiphers = await _collectionCipherRepository.GetManyByUserIdCipherIdAsync(userId, cipherId); + var collectionCiphers = await _collectionCipherRepository.GetManyByUserIdCipherIdAsync(userId, id); return new CipherDetailsResponseModel(cipher, _globalSettings, collectionCiphers); } @@ -111,7 +116,7 @@ public class CiphersController : Controller var userId = _userService.GetProperUserId(User).Value; var hasOrgs = _currentContext.Organizations?.Any() ?? false; // TODO: Use hasOrgs proper for cipher listing here? - var ciphers = await _cipherRepository.GetManyByUserIdAsync(userId, true || hasOrgs); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(userId, useFlexibleCollections: UseFlexibleCollections, withOrganizations: true || hasOrgs); Dictionary> collectionCiphersGroupDict = null; if (hasOrgs) { @@ -175,7 +180,7 @@ public class CiphersController : Controller public async Task Put(Guid id, [FromBody] CipherRequestModel model) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(id, userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -247,25 +252,23 @@ public class CiphersController : Controller [HttpPut("{id}/partial")] [HttpPost("{id}/partial")] - public async Task PutPartial(string id, [FromBody] CipherPartialRequestModel model) + public async Task PutPartial(Guid id, [FromBody] CipherPartialRequestModel model) { var userId = _userService.GetProperUserId(User).Value; var folderId = string.IsNullOrWhiteSpace(model.FolderId) ? null : (Guid?)new Guid(model.FolderId); - var cipherId = new Guid(id); - await _cipherRepository.UpdatePartialAsync(cipherId, userId, folderId, model.Favorite); + await _cipherRepository.UpdatePartialAsync(id, userId, folderId, model.Favorite); - var cipher = await _cipherRepository.GetByIdAsync(cipherId, userId); + var cipher = await GetByIdAsync(id, userId); var response = new CipherResponseModel(cipher, _globalSettings); return response; } [HttpPut("{id}/share")] [HttpPost("{id}/share")] - public async Task PutShare(string id, [FromBody] CipherShareRequestModel model) + public async Task PutShare(Guid id, [FromBody] CipherShareRequestModel model) { var userId = _userService.GetProperUserId(User).Value; - var cipherId = new Guid(id); - var cipher = await _cipherRepository.GetByIdAsync(cipherId); + var cipher = await _cipherRepository.GetByIdAsync(id); if (cipher == null || cipher.UserId != userId || !await _currentContext.OrganizationUser(new Guid(model.Cipher.OrganizationId))) { @@ -279,17 +282,17 @@ public class CiphersController : Controller await _cipherService.ShareAsync(original, model.Cipher.ToCipher(cipher), new Guid(model.Cipher.OrganizationId), model.CollectionIds.Select(c => new Guid(c)), userId, model.Cipher.LastKnownRevisionDate); - var sharedCipher = await _cipherRepository.GetByIdAsync(cipherId, userId); + var sharedCipher = await GetByIdAsync(id, userId); var response = new CipherResponseModel(sharedCipher, _globalSettings); return response; } [HttpPut("{id}/collections")] [HttpPost("{id}/collections")] - public async Task PutCollections(string id, [FromBody] CipherCollectionsRequestModel model) + public async Task PutCollections(Guid id, [FromBody] CipherCollectionsRequestModel model) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null || !cipher.OrganizationId.HasValue || !await _currentContext.OrganizationUser(cipher.OrganizationId.Value)) { @@ -318,10 +321,10 @@ public class CiphersController : Controller [HttpDelete("{id}")] [HttpPost("{id}/delete")] - public async Task Delete(string id) + public async Task Delete(Guid id) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -380,10 +383,10 @@ public class CiphersController : Controller } [HttpPut("{id}/delete")] - public async Task PutDelete(string id) + public async Task PutDelete(Guid id) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -436,10 +439,10 @@ public class CiphersController : Controller } [HttpPut("{id}/restore")] - public async Task PutRestore(string id) + public async Task PutRestore(Guid id) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -526,7 +529,7 @@ public class CiphersController : Controller } var userId = _userService.GetProperUserId(User).Value; - var ciphers = await _cipherRepository.GetManyByUserIdAsync(userId, false); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(userId, useFlexibleCollections: UseFlexibleCollections, withOrganizations: false); var ciphersDict = ciphers.ToDictionary(c => c.Id); var shareCiphers = new List<(Cipher, DateTime?)>(); @@ -581,13 +584,12 @@ public class CiphersController : Controller } [HttpPost("{id}/attachment/v2")] - public async Task PostAttachment(string id, [FromBody] AttachmentRequestModel request) + public async Task PostAttachment(Guid id, [FromBody] AttachmentRequestModel request) { - var idGuid = new Guid(id); var userId = _userService.GetProperUserId(User).Value; var cipher = request.AdminRequest ? - await _cipherRepository.GetOrganizationDetailsByIdAsync(idGuid) : - await _cipherRepository.GetByIdAsync(idGuid, userId); + await _cipherRepository.GetOrganizationDetailsByIdAsync(id) : + await GetByIdAsync(id, userId); if (cipher == null || (request.AdminRequest && (!cipher.OrganizationId.HasValue || !await _currentContext.EditAnyCollection(cipher.OrganizationId.Value)))) @@ -615,11 +617,10 @@ public class CiphersController : Controller } [HttpGet("{id}/attachment/{attachmentId}/renew")] - public async Task RenewFileUploadUrl(string id, string attachmentId) + public async Task RenewFileUploadUrl(Guid id, string attachmentId) { var userId = _userService.GetProperUserId(User).Value; - var cipherId = new Guid(id); - var cipher = await _cipherRepository.GetByIdAsync(cipherId, userId); + var cipher = await GetByIdAsync(id, userId); var attachments = cipher?.GetAttachments(); if (attachments == null || !attachments.ContainsKey(attachmentId) || attachments[attachmentId].Validated) @@ -638,7 +639,7 @@ public class CiphersController : Controller [SelfHosted(SelfHostedOnly = true)] [RequestSizeLimit(Constants.FileSize501mb)] [DisableFormValueModelBinding] - public async Task PostFileForExistingAttachment(string id, string attachmentId) + public async Task PostFileForExistingAttachment(Guid id, string attachmentId) { if (!Request?.ContentType.Contains("multipart/") ?? true) { @@ -646,7 +647,7 @@ public class CiphersController : Controller } var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); var attachments = cipher?.GetAttachments(); if (attachments == null || !attachments.ContainsKey(attachmentId)) { @@ -664,13 +665,12 @@ public class CiphersController : Controller [Obsolete("Deprecated Attachments API", false)] [RequestSizeLimit(Constants.FileSize101mb)] [DisableFormValueModelBinding] - public async Task PostAttachment(string id) + public async Task PostAttachment(Guid id) { ValidateAttachment(); - var idGuid = new Guid(id); var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(idGuid, userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -711,10 +711,10 @@ public class CiphersController : Controller } [HttpGet("{id}/attachment/{attachmentId}")] - public async Task GetAttachmentData(string id, string attachmentId) + public async Task GetAttachmentData(Guid id, string attachmentId) { var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), userId); + var cipher = await GetByIdAsync(id, userId); var result = await _cipherService.GetAttachmentDownloadDataAsync(cipher, attachmentId); return new AttachmentResponseModel(result); } @@ -742,11 +742,10 @@ public class CiphersController : Controller [HttpDelete("{id}/attachment/{attachmentId}")] [HttpPost("{id}/attachment/{attachmentId}/delete")] - public async Task DeleteAttachment(string id, string attachmentId) + public async Task DeleteAttachment(Guid id, string attachmentId) { - var idGuid = new Guid(id); var userId = _userService.GetProperUserId(User).Value; - var cipher = await _cipherRepository.GetByIdAsync(idGuid, userId); + var cipher = await GetByIdAsync(id, userId); if (cipher == null) { throw new NotFoundException(); @@ -836,4 +835,9 @@ public class CiphersController : Controller } } } + + private async Task GetByIdAsync(Guid cipherId, Guid userId) + { + return await _cipherRepository.GetByIdAsync(cipherId, userId, UseFlexibleCollections); + } } diff --git a/src/Api/Vault/Controllers/SyncController.cs b/src/Api/Vault/Controllers/SyncController.cs index 0d75235111..9d8cc5d576 100644 --- a/src/Api/Vault/Controllers/SyncController.cs +++ b/src/Api/Vault/Controllers/SyncController.cs @@ -1,7 +1,9 @@ using Bit.Api.Vault.Models.Response; +using Bit.Core; using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Enums.Provider; using Bit.Core.AdminConsole.Repositories; +using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; @@ -30,6 +32,11 @@ public class SyncController : Controller private readonly IPolicyRepository _policyRepository; private readonly ISendRepository _sendRepository; private readonly GlobalSettings _globalSettings; + private readonly ICurrentContext _currentContext; + private readonly IFeatureService _featureService; + + private bool UseFlexibleCollections => + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); public SyncController( IUserService userService, @@ -41,7 +48,9 @@ public class SyncController : Controller IProviderUserRepository providerUserRepository, IPolicyRepository policyRepository, ISendRepository sendRepository, - GlobalSettings globalSettings) + GlobalSettings globalSettings, + ICurrentContext currentContext, + IFeatureService featureService) { _userService = userService; _folderRepository = folderRepository; @@ -53,6 +62,8 @@ public class SyncController : Controller _policyRepository = policyRepository; _sendRepository = sendRepository; _globalSettings = globalSettings; + _currentContext = currentContext; + _featureService = featureService; } [HttpGet("")] @@ -74,7 +85,7 @@ public class SyncController : Controller var hasEnabledOrgs = organizationUserDetails.Any(o => o.Enabled); var folders = await _folderRepository.GetManyByUserIdAsync(user.Id); - var ciphers = await _cipherRepository.GetManyByUserIdAsync(user.Id, hasEnabledOrgs); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(user.Id, useFlexibleCollections: UseFlexibleCollections, withOrganizations: hasEnabledOrgs); var sends = await _sendRepository.GetManyByUserIdAsync(user.Id); IEnumerable collections = null; diff --git a/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs b/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs index 98db32bbdd..34c0e8e0e3 100644 --- a/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs +++ b/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs @@ -5,6 +5,7 @@ using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; using Bit.Core.Auth.Models.Business.Tokenables; using Bit.Core.Auth.Models.Data; +using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; @@ -33,6 +34,11 @@ public class EmergencyAccessService : IEmergencyAccessService private readonly IPasswordHasher _passwordHasher; private readonly IOrganizationService _organizationService; private readonly IDataProtectorTokenFactory _dataProtectorTokenizer; + private readonly ICurrentContext _currentContext; + private readonly IFeatureService _featureService; + + private bool UseFlexibleCollections => + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); public EmergencyAccessService( IEmergencyAccessRepository emergencyAccessRepository, @@ -46,7 +52,9 @@ public class EmergencyAccessService : IEmergencyAccessService IPasswordHasher passwordHasher, GlobalSettings globalSettings, IOrganizationService organizationService, - IDataProtectorTokenFactory dataProtectorTokenizer) + IDataProtectorTokenFactory dataProtectorTokenizer, + ICurrentContext currentContext, + IFeatureService featureService) { _emergencyAccessRepository = emergencyAccessRepository; _organizationUserRepository = organizationUserRepository; @@ -60,6 +68,8 @@ public class EmergencyAccessService : IEmergencyAccessService _globalSettings = globalSettings; _organizationService = organizationService; _dataProtectorTokenizer = dataProtectorTokenizer; + _currentContext = currentContext; + _featureService = featureService; } public async Task InviteAsync(User invitingUser, string email, EmergencyAccessType type, int waitTime) @@ -387,7 +397,7 @@ public class EmergencyAccessService : IEmergencyAccessService throw new BadRequestException("Emergency Access not valid."); } - var ciphers = await _cipherRepository.GetManyByUserIdAsync(emergencyAccess.GrantorId, false); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(emergencyAccess.GrantorId, useFlexibleCollections: UseFlexibleCollections, withOrganizations: false); return new EmergencyAccessViewData { @@ -405,7 +415,7 @@ public class EmergencyAccessService : IEmergencyAccessService throw new BadRequestException("Emergency Access not valid."); } - var cipher = await _cipherRepository.GetByIdAsync(cipherId, emergencyAccess.GrantorId); + var cipher = await _cipherRepository.GetByIdAsync(cipherId, emergencyAccess.GrantorId, UseFlexibleCollections); return await _cipherService.GetAttachmentDownloadDataAsync(cipher, attachmentId); } diff --git a/src/Core/Vault/Repositories/ICipherRepository.cs b/src/Core/Vault/Repositories/ICipherRepository.cs index 0ba80857d6..811e48a17b 100644 --- a/src/Core/Vault/Repositories/ICipherRepository.cs +++ b/src/Core/Vault/Repositories/ICipherRepository.cs @@ -8,11 +8,11 @@ namespace Bit.Core.Vault.Repositories; public interface ICipherRepository : IRepository { - Task GetByIdAsync(Guid id, Guid userId); + Task GetByIdAsync(Guid id, Guid userId, bool useFlexibleCollections); Task GetOrganizationDetailsByIdAsync(Guid id); Task> GetManyOrganizationDetailsByOrganizationIdAsync(Guid organizationId); Task GetCanEditByIdAsync(Guid userId, Guid cipherId); - Task> GetManyByUserIdAsync(Guid userId, bool withOrganizations = true); + Task> GetManyByUserIdAsync(Guid userId, bool useFlexibleCollections, bool withOrganizations = true); Task> GetManyByOrganizationIdAsync(Guid organizationId); Task CreateAsync(Cipher cipher, IEnumerable collectionIds); Task CreateAsync(CipherDetails cipher); @@ -23,9 +23,9 @@ public interface ICipherRepository : IRepository Task UpdatePartialAsync(Guid id, Guid userId, Guid? folderId, bool favorite); Task UpdateAttachmentAsync(CipherAttachment attachment); Task DeleteAttachmentAsync(Guid cipherId, string attachmentId); - Task DeleteAsync(IEnumerable ids, Guid userId); + Task DeleteAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections); Task DeleteByIdsOrganizationIdAsync(IEnumerable ids, Guid organizationId); - Task MoveAsync(IEnumerable ids, Guid? folderId, Guid userId); + Task MoveAsync(IEnumerable ids, Guid? folderId, Guid userId, bool useFlexibleCollections); Task DeleteByUserIdAsync(Guid userId); Task DeleteByOrganizationIdAsync(Guid organizationId); Task UpdateUserKeysAndCiphersAsync(User user, IEnumerable ciphers, IEnumerable folders, IEnumerable sends); @@ -33,9 +33,9 @@ public interface ICipherRepository : IRepository Task CreateAsync(IEnumerable ciphers, IEnumerable folders); Task CreateAsync(IEnumerable ciphers, IEnumerable collections, IEnumerable collectionCiphers, IEnumerable collectionUsers); - Task SoftDeleteAsync(IEnumerable ids, Guid userId); + Task SoftDeleteAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections); Task SoftDeleteByIdsOrganizationIdAsync(IEnumerable ids, Guid organizationId); - Task RestoreAsync(IEnumerable ids, Guid userId); + Task RestoreAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections); Task RestoreByIdsOrganizationIdAsync(IEnumerable ids, Guid organizationId); Task DeleteDeletedAsync(DateTime deletedDateBefore); } diff --git a/src/Core/Vault/Services/Implementations/CipherService.cs b/src/Core/Vault/Services/Implementations/CipherService.cs index 6e5b15de0d..4218910238 100644 --- a/src/Core/Vault/Services/Implementations/CipherService.cs +++ b/src/Core/Vault/Services/Implementations/CipherService.cs @@ -38,6 +38,10 @@ public class CipherService : ICipherService private const long _fileSizeLeeway = 1024L * 1024L; // 1MB private readonly IReferenceEventService _referenceEventService; private readonly ICurrentContext _currentContext; + private readonly IFeatureService _featureService; + + private bool UseFlexibleCollections => + _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); public CipherService( ICipherRepository cipherRepository, @@ -54,7 +58,8 @@ public class CipherService : ICipherService IPolicyService policyService, GlobalSettings globalSettings, IReferenceEventService referenceEventService, - ICurrentContext currentContext) + ICurrentContext currentContext, + IFeatureService featureService) { _cipherRepository = cipherRepository; _folderRepository = folderRepository; @@ -71,6 +76,7 @@ public class CipherService : ICipherService _globalSettings = globalSettings; _referenceEventService = referenceEventService; _currentContext = currentContext; + _featureService = featureService; } public async Task SaveAsync(Cipher cipher, Guid savingUserId, DateTime? lastKnownRevisionDate, @@ -424,9 +430,10 @@ public class CipherService : ICipherService } else { - var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId, useFlexibleCollections: UseFlexibleCollections); deletingCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(x => (Cipher)x).ToList(); - await _cipherRepository.DeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId); + + await _cipherRepository.DeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId, UseFlexibleCollections); } var events = deletingCiphers.Select(c => @@ -478,7 +485,7 @@ public class CipherService : ICipherService } } - await _cipherRepository.MoveAsync(cipherIds, destinationFolderId, movingUserId); + await _cipherRepository.MoveAsync(cipherIds, destinationFolderId, movingUserId, UseFlexibleCollections); // push await _pushService.PushSyncCiphersAsync(movingUserId); } @@ -865,9 +872,10 @@ public class CipherService : ICipherService } else { - var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId, useFlexibleCollections: UseFlexibleCollections); deletingCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(x => (Cipher)x).ToList(); - await _cipherRepository.SoftDeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId); + + await _cipherRepository.SoftDeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId, UseFlexibleCollections); } var events = deletingCiphers.Select(c => @@ -930,9 +938,10 @@ public class CipherService : ICipherService } else { - var ciphers = await _cipherRepository.GetManyByUserIdAsync(restoringUserId); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(restoringUserId, useFlexibleCollections: UseFlexibleCollections); restoringCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(c => (CipherOrganizationDetails)c).ToList(); - revisionDate = await _cipherRepository.RestoreAsync(restoringCiphers.Select(c => c.Id), restoringUserId); + + revisionDate = await _cipherRepository.RestoreAsync(restoringCiphers.Select(c => c.Id), restoringUserId, UseFlexibleCollections); } var events = restoringCiphers.Select(c => @@ -967,7 +976,7 @@ public class CipherService : ICipherService } else { - var ciphers = await _cipherRepository.GetManyByUserIdAsync(userId, true); + var ciphers = await _cipherRepository.GetManyByUserIdAsync(userId, useFlexibleCollections: UseFlexibleCollections, withOrganizations: true); orgCiphers = ciphers.Where(c => c.OrganizationId == organizationId); } diff --git a/src/Events/Controllers/CollectController.cs b/src/Events/Controllers/CollectController.cs index a2bef7a7df..7c7962309c 100644 --- a/src/Events/Controllers/CollectController.cs +++ b/src/Events/Controllers/CollectController.cs @@ -1,4 +1,5 @@ -using Bit.Core.Context; +using Bit.Core; +using Bit.Core.Context; using Bit.Core.Enums; using Bit.Core.Repositories; using Bit.Core.Services; @@ -18,19 +19,24 @@ public class CollectController : Controller private readonly IEventService _eventService; private readonly ICipherRepository _cipherRepository; private readonly IOrganizationRepository _organizationRepository; + private readonly IFeatureService _featureService; public CollectController( ICurrentContext currentContext, IEventService eventService, ICipherRepository cipherRepository, - IOrganizationRepository organizationRepository) + IOrganizationRepository organizationRepository, + IFeatureService featureService) { _currentContext = currentContext; _eventService = eventService; _cipherRepository = cipherRepository; _organizationRepository = organizationRepository; + _featureService = featureService; } + bool UseFlexibleCollections => _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); + [HttpPost] public async Task Post([FromBody] IEnumerable model) { @@ -69,8 +75,10 @@ public class CollectController : Controller } else { + var useFlexibleCollections = _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections, _currentContext); cipher = await _cipherRepository.GetByIdAsync(eventModel.CipherId.Value, - _currentContext.UserId.Value); + _currentContext.UserId.Value, + useFlexibleCollections); } if (cipher == null) { diff --git a/src/Infrastructure.Dapper/Vault/Repositories/CipherRepository.cs b/src/Infrastructure.Dapper/Vault/Repositories/CipherRepository.cs index 4f6c8e25f7..b1e4043a99 100644 --- a/src/Infrastructure.Dapper/Vault/Repositories/CipherRepository.cs +++ b/src/Infrastructure.Dapper/Vault/Repositories/CipherRepository.cs @@ -22,12 +22,16 @@ public class CipherRepository : Repository, ICipherRepository : base(connectionString, readOnlyConnectionString) { } - public async Task GetByIdAsync(Guid id, Guid userId) + public async Task GetByIdAsync(Guid id, Guid userId, bool useFlexibleCollections) { + var sprocName = useFlexibleCollections + ? $"[{Schema}].[CipherDetails_ReadByIdUserId_V2]" + : $"[{Schema}].[CipherDetails_ReadByIdUserId]"; + using (var connection = new SqlConnection(ConnectionString)) { var results = await connection.QueryAsync( - $"[{Schema}].[CipherDetails_ReadByIdUserId]", + sprocName, new { Id = id, UserId = userId }, commandType: CommandType.StoredProcedure); @@ -75,12 +79,14 @@ public class CipherRepository : Repository, ICipherRepository } } - public async Task> GetManyByUserIdAsync(Guid userId, bool withOrganizations = true) + public async Task> GetManyByUserIdAsync(Guid userId, bool useFlexibleCollections, bool withOrganizations = true) { string sprocName = null; if (withOrganizations) { - sprocName = $"[{Schema}].[CipherDetails_ReadByUserId]"; + sprocName = useFlexibleCollections + ? $"[{Schema}].[CipherDetails_ReadByUserId_V2]" + : $"[{Schema}].[CipherDetails_ReadByUserId]"; } else { @@ -228,12 +234,16 @@ public class CipherRepository : Repository, ICipherRepository } } - public async Task DeleteAsync(IEnumerable ids, Guid userId) + public async Task DeleteAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections) { + var sprocName = useFlexibleCollections + ? $"[{Schema}].[Cipher_Delete_V2]" + : $"[{Schema}].[Cipher_Delete]"; + using (var connection = new SqlConnection(ConnectionString)) { var results = await connection.ExecuteAsync( - $"[{Schema}].[Cipher_Delete]", + sprocName, new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId }, commandType: CommandType.StoredProcedure); } @@ -261,12 +271,16 @@ public class CipherRepository : Repository, ICipherRepository } } - public async Task MoveAsync(IEnumerable ids, Guid? folderId, Guid userId) + public async Task MoveAsync(IEnumerable ids, Guid? folderId, Guid userId, bool useFlexibleCollections) { + var sprocName = useFlexibleCollections + ? $"[{Schema}].[Cipher_Move_V2]" + : $"[{Schema}].[Cipher_Move]"; + using (var connection = new SqlConnection(ConnectionString)) { var results = await connection.ExecuteAsync( - $"[{Schema}].[Cipher_Move]", + sprocName, new { Ids = ids.ToGuidIdArrayTVP(), FolderId = folderId, UserId = userId }, commandType: CommandType.StoredProcedure); } @@ -657,23 +671,31 @@ public class CipherRepository : Repository, ICipherRepository } } - public async Task SoftDeleteAsync(IEnumerable ids, Guid userId) + public async Task SoftDeleteAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections) { + var sprocName = useFlexibleCollections + ? $"[{Schema}].[Cipher_SoftDelete_V2]" + : $"[{Schema}].[Cipher_SoftDelete]"; + using (var connection = new SqlConnection(ConnectionString)) { var results = await connection.ExecuteAsync( - $"[{Schema}].[Cipher_SoftDelete]", + sprocName, new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId }, commandType: CommandType.StoredProcedure); } } - public async Task RestoreAsync(IEnumerable ids, Guid userId) + public async Task RestoreAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections) { + var sprocName = useFlexibleCollections + ? $"[{Schema}].[Cipher_Restore_V2]" + : $"[{Schema}].[Cipher_Restore]"; + using (var connection = new SqlConnection(ConnectionString)) { var results = await connection.ExecuteScalarAsync( - $"[{Schema}].[Cipher_Restore]", + sprocName, new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId }, commandType: CommandType.StoredProcedure); diff --git a/src/Infrastructure.EntityFramework/Repositories/Queries/UserCipherDetailsQuery.cs b/src/Infrastructure.EntityFramework/Repositories/Queries/UserCipherDetailsQuery.cs index d1f8b0adf7..a5f06fb61c 100644 --- a/src/Infrastructure.EntityFramework/Repositories/Queries/UserCipherDetailsQuery.cs +++ b/src/Infrastructure.EntityFramework/Repositories/Queries/UserCipherDetailsQuery.cs @@ -8,11 +8,21 @@ namespace Bit.Infrastructure.EntityFramework.Repositories.Queries; public class UserCipherDetailsQuery : IQuery { private readonly Guid? _userId; - public UserCipherDetailsQuery(Guid? userId) + private readonly bool _useFlexibleCollections; + public UserCipherDetailsQuery(Guid? userId, bool useFlexibleCollections) { _userId = userId; + _useFlexibleCollections = useFlexibleCollections; } + public virtual IQueryable Run(DatabaseContext dbContext) + { + return _useFlexibleCollections + ? Run_VNext(dbContext) + : Run_VCurrent(dbContext); + } + + private IQueryable Run_VCurrent(DatabaseContext dbContext) { var query = from c in dbContext.Ciphers @@ -78,6 +88,71 @@ public class UserCipherDetailsQuery : IQuery return union; } + private IQueryable Run_VNext(DatabaseContext dbContext) + { + var query = from c in dbContext.Ciphers + + join ou in dbContext.OrganizationUsers + on new { CipherUserId = c.UserId, c.OrganizationId, UserId = _userId, Status = OrganizationUserStatusType.Confirmed } equals + new { CipherUserId = (Guid?)null, OrganizationId = (Guid?)ou.OrganizationId, ou.UserId, ou.Status } + + join o in dbContext.Organizations + on new { c.OrganizationId, OuOrganizationId = ou.OrganizationId, Enabled = true } equals + new { OrganizationId = (Guid?)o.Id, OuOrganizationId = o.Id, o.Enabled } + + join cc in dbContext.CollectionCiphers + on c.Id equals cc.CipherId into cc_g + from cc in cc_g.DefaultIfEmpty() + + join cu in dbContext.CollectionUsers + on new { cc.CollectionId, OrganizationUserId = ou.Id } equals + new { cu.CollectionId, cu.OrganizationUserId } into cu_g + from cu in cu_g.DefaultIfEmpty() + + join gu in dbContext.GroupUsers + on new { CollectionId = (Guid?)cu.CollectionId, OrganizationUserId = ou.Id } equals + new { CollectionId = (Guid?)null, gu.OrganizationUserId } into gu_g + from gu in gu_g.DefaultIfEmpty() + + join g in dbContext.Groups + on gu.GroupId equals g.Id into g_g + from g in g_g.DefaultIfEmpty() + + join cg in dbContext.CollectionGroups + on new { cc.CollectionId, gu.GroupId } equals + new { cg.CollectionId, cg.GroupId } into cg_g + from cg in cg_g.DefaultIfEmpty() + + where cu.CollectionId != null || cg.CollectionId != null + + select c; + + var query2 = from c in dbContext.Ciphers + where c.UserId == _userId + select c; + + var union = query.Union(query2).Select(c => new CipherDetails + { + Id = c.Id, + UserId = c.UserId, + OrganizationId = c.OrganizationId, + Type = c.Type, + Data = c.Data, + Attachments = c.Attachments, + CreationDate = c.CreationDate, + RevisionDate = c.RevisionDate, + DeletedDate = c.DeletedDate, + Favorite = _userId.HasValue && c.Favorites != null && c.Favorites.ToLowerInvariant().Contains($"\"{_userId}\":true"), + FolderId = GetFolderId(_userId, c), + Edit = true, + Reprompt = c.Reprompt, + ViewPassword = true, + OrganizationUseTotp = false, + Key = c.Key + }); + return union; + } + private static Guid? GetFolderId(Guid? userId, Cipher cipher) { try diff --git a/src/Infrastructure.EntityFramework/Vault/Repositories/CipherRepository.cs b/src/Infrastructure.EntityFramework/Vault/Repositories/CipherRepository.cs index 573e4fc3bd..418938aab9 100644 --- a/src/Infrastructure.EntityFramework/Vault/Repositories/CipherRepository.cs +++ b/src/Infrastructure.EntityFramework/Vault/Repositories/CipherRepository.cs @@ -199,9 +199,9 @@ public class CipherRepository : Repository ids, Guid userId) + public async Task DeleteAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections) { - await ToggleCipherStates(ids, userId, CipherStateAction.HardDelete); + await ToggleCipherStates(ids, userId, CipherStateAction.HardDelete, useFlexibleCollections); } public async Task DeleteAttachmentAsync(Guid cipherId, string attachmentId) @@ -302,12 +302,12 @@ public class CipherRepository : Repository GetByIdAsync(Guid id, Guid userId) + public async Task GetByIdAsync(Guid id, Guid userId, bool useFlexibleCollections) { using (var scope = ServiceScopeFactory.CreateScope()) { var dbContext = GetDatabaseContext(scope); - var userCipherDetails = new UserCipherDetailsQuery(userId); + var userCipherDetails = new UserCipherDetailsQuery(userId, useFlexibleCollections); var data = await userCipherDetails.Run(dbContext).FirstOrDefaultAsync(c => c.Id == id); return data; } @@ -347,13 +347,13 @@ public class CipherRepository : Repository> GetManyByUserIdAsync(Guid userId, bool withOrganizations = true) + public async Task> GetManyByUserIdAsync(Guid userId, bool useFlexibleCollections, bool withOrganizations = true) { using (var scope = ServiceScopeFactory.CreateScope()) { var dbContext = GetDatabaseContext(scope); IQueryable cipherDetailsView = withOrganizations ? - new UserCipherDetailsQuery(userId).Run(dbContext) : + new UserCipherDetailsQuery(userId, useFlexibleCollections).Run(dbContext) : new CipherDetailsQuery(userId).Run(dbContext); if (!withOrganizations) { @@ -395,13 +395,13 @@ public class CipherRepository : Repository ids, Guid? folderId, Guid userId) + public async Task MoveAsync(IEnumerable ids, Guid? folderId, Guid userId, bool useFlexibleCollections) { using (var scope = ServiceScopeFactory.CreateScope()) { var dbContext = GetDatabaseContext(scope); var cipherEntities = dbContext.Ciphers.Where(c => ids.Contains(c.Id)); - var userCipherDetails = new UserCipherDetailsQuery(userId).Run(dbContext); + var userCipherDetails = new UserCipherDetailsQuery(userId, useFlexibleCollections).Run(dbContext); var idsToMove = from ucd in userCipherDetails join c in cipherEntities on ucd.Id equals c.Id @@ -632,9 +632,9 @@ public class CipherRepository : Repository RestoreAsync(IEnumerable ids, Guid userId) + public async Task RestoreAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections) { - return await ToggleCipherStates(ids, userId, CipherStateAction.Restore); + return await ToggleCipherStates(ids, userId, CipherStateAction.Restore, useFlexibleCollections); } public async Task RestoreByIdsOrganizationIdAsync(IEnumerable ids, Guid organizationId) @@ -662,12 +662,12 @@ public class CipherRepository : Repository ids, Guid userId) + public async Task SoftDeleteAsync(IEnumerable ids, Guid userId, bool useFlexibleCollections) { - await ToggleCipherStates(ids, userId, CipherStateAction.SoftDelete); + await ToggleCipherStates(ids, userId, CipherStateAction.SoftDelete, useFlexibleCollections); } - private async Task ToggleCipherStates(IEnumerable ids, Guid userId, CipherStateAction action) + private async Task ToggleCipherStates(IEnumerable ids, Guid userId, CipherStateAction action, bool useFlexibleCollections) { static bool FilterDeletedDate(CipherStateAction action, CipherDetails ucd) { @@ -682,7 +682,7 @@ public class CipherRepository : Repository ids.Contains(c.Id))).ToListAsync(); var query = from ucd in await (userCipherDetailsQuery.Run(dbContext)).ToListAsync() join c in cipherEntitiesToCheck diff --git a/src/Sql/Vault/dbo/Functions/UserCipherDetails_V2.sql b/src/Sql/Vault/dbo/Functions/UserCipherDetails_V2.sql new file mode 100644 index 0000000000..1b22bb3de0 --- /dev/null +++ b/src/Sql/Vault/dbo/Functions/UserCipherDetails_V2.sql @@ -0,0 +1,53 @@ +CREATE FUNCTION [dbo].[UserCipherDetails_V2](@UserId UNIQUEIDENTIFIER) +RETURNS TABLE +AS RETURN +WITH [CTE] AS ( + SELECT + [Id], + [OrganizationId] + FROM + [OrganizationUser] + WHERE + [UserId] = @UserId + AND [Status] = 2 -- Confirmed +) +SELECT + C.*, + COALESCE(CU.[ReadOnly], CG.[ReadOnly], 0) AS [Edit], + COALESCE(CU.[HidePasswords], CG.[HidePasswords], 0) AS [ViewPassword], + CASE + WHEN O.[UseTotp] = 1 + THEN 1 + ELSE 0 + END [OrganizationUseTotp] +FROM + [dbo].[CipherDetails](@UserId) C +INNER JOIN + [CTE] OU ON C.[UserId] IS NULL AND C.[OrganizationId] IN (SELECT [OrganizationId] FROM [CTE]) +INNER JOIN + [dbo].[Organization] O ON O.[Id] = OU.[OrganizationId] AND O.[Id] = C.[OrganizationId] AND O.[Enabled] = 1 +LEFT JOIN + [dbo].[CollectionCipher] CC ON CC.[CipherId] = C.[Id] +LEFT JOIN + [dbo].[CollectionUser] CU ON CU.[CollectionId] = CC.[CollectionId] AND CU.[OrganizationUserId] = OU.[Id] +LEFT JOIN + [dbo].[GroupUser] GU ON CU.[CollectionId] IS NULL AND GU.[OrganizationUserId] = OU.[Id] +LEFT JOIN + [dbo].[Group] G ON G.[Id] = GU.[GroupId] +LEFT JOIN + [dbo].[CollectionGroup] CG ON CG.[CollectionId] = CC.[CollectionId] AND CG.[GroupId] = GU.[GroupId] +WHERE + CU.[CollectionId] IS NOT NULL + OR CG.[CollectionId] IS NOT NULL + +UNION ALL + +SELECT + *, + 1 [Edit], + 1 [ViewPassword], + 0 [OrganizationUseTotp] +FROM + [dbo].[CipherDetails](@UserId) +WHERE + [UserId] = @UserId diff --git a/src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByIdUserId_V2.sql b/src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByIdUserId_V2.sql new file mode 100644 index 0000000000..0b2c8515af --- /dev/null +++ b/src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByIdUserId_V2.sql @@ -0,0 +1,16 @@ +CREATE PROCEDURE [dbo].[CipherDetails_ReadByIdUserId_V2] + @Id UNIQUEIDENTIFIER, + @UserId UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT TOP 1 + * + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Id] = @Id + ORDER BY + [Edit] DESC +END diff --git a/src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByUserId_V2.sql b/src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByUserId_V2.sql new file mode 100644 index 0000000000..ab021a4f69 --- /dev/null +++ b/src/Sql/Vault/dbo/Stored Procedures/Cipher/CipherDetails_ReadByUserId_V2.sql @@ -0,0 +1,11 @@ +CREATE PROCEDURE [dbo].[CipherDetails_ReadByUserId_V2] + @UserId UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT + * + FROM + [dbo].[UserCipherDetails_V2](@UserId) +END diff --git a/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Delete_V2.sql b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Delete_V2.sql new file mode 100644 index 0000000000..b57c799347 --- /dev/null +++ b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Delete_V2.sql @@ -0,0 +1,73 @@ +CREATE PROCEDURE [dbo].[Cipher_Delete_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + CREATE TABLE #Temp + ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [OrganizationId] UNIQUEIDENTIFIER NULL, + [Attachments] BIT NOT NULL + ) + + INSERT INTO #Temp + SELECT + [Id], + [UserId], + [OrganizationId], + CASE WHEN [Attachments] IS NULL THEN 0 ELSE 1 END + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Edit] = 1 + AND [Id] IN (SELECT * FROM @Ids) + + -- Delete ciphers + DELETE + FROM + [dbo].[Cipher] + WHERE + [Id] IN (SELECT [Id] FROM #Temp) + + -- Cleanup orgs + DECLARE @OrgId UNIQUEIDENTIFIER + DECLARE [OrgCursor] CURSOR FORWARD_ONLY FOR + SELECT + [OrganizationId] + FROM + #Temp + WHERE + [OrganizationId] IS NOT NULL + GROUP BY + [OrganizationId] + OPEN [OrgCursor] + FETCH NEXT FROM [OrgCursor] INTO @OrgId + WHILE @@FETCH_STATUS = 0 BEGIN + EXEC [dbo].[Organization_UpdateStorage] @OrgId + EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrgId + FETCH NEXT FROM [OrgCursor] INTO @OrgId + END + CLOSE [OrgCursor] + DEALLOCATE [OrgCursor] + + -- Cleanup user + DECLARE @UserCiphersWithStorageCount INT + SELECT + @UserCiphersWithStorageCount = COUNT(1) + FROM + #Temp + WHERE + [UserId] IS NOT NULL + AND [Attachments] = 1 + + IF @UserCiphersWithStorageCount > 0 + BEGIN + EXEC [dbo].[User_UpdateStorage] @UserId + END + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId + + DROP TABLE #Temp +END diff --git a/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Move_V2.sql b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Move_V2.sql new file mode 100644 index 0000000000..c495c3a260 --- /dev/null +++ b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Move_V2.sql @@ -0,0 +1,36 @@ +CREATE PROCEDURE [dbo].[Cipher_Move_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @FolderId AS UNIQUEIDENTIFIER, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + DECLARE @UserIdKey VARCHAR(50) = CONCAT('"', @UserId, '"') + DECLARE @UserIdPath VARCHAR(50) = CONCAT('$.', @UserIdKey) + + ;WITH [IdsToMoveCTE] AS ( + SELECT + [Id] + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Id] IN (SELECT * FROM @Ids) + ) + UPDATE + [dbo].[Cipher] + SET + [Folders] = + CASE + WHEN @FolderId IS NOT NULL AND [Folders] IS NULL THEN + CONCAT('{', @UserIdKey, ':"', @FolderId, '"', '}') + WHEN @FolderId IS NOT NULL THEN + JSON_MODIFY([Folders], @UserIdPath, CAST(@FolderId AS VARCHAR(50))) + ELSE + JSON_MODIFY([Folders], @UserIdPath, NULL) + END + WHERE + [Id] IN (SELECT * FROM [IdsToMoveCTE]) + + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId +END diff --git a/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Restore_V2.sql b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Restore_V2.sql new file mode 100644 index 0000000000..13b5c1c16f --- /dev/null +++ b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_Restore_V2.sql @@ -0,0 +1,62 @@ +CREATE PROCEDURE [dbo].[Cipher_Restore_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + CREATE TABLE #Temp + ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [OrganizationId] UNIQUEIDENTIFIER NULL + ) + + INSERT INTO #Temp + SELECT + [Id], + [UserId], + [OrganizationId] + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Edit] = 1 + AND [DeletedDate] IS NOT NULL + AND [Id] IN (SELECT * FROM @Ids) + + DECLARE @UtcNow DATETIME2(7) = GETUTCDATE(); + UPDATE + [dbo].[Cipher] + SET + [DeletedDate] = NULL, + [RevisionDate] = @UtcNow + WHERE + [Id] IN (SELECT [Id] FROM #Temp) + + -- Bump orgs + DECLARE @OrgId UNIQUEIDENTIFIER + DECLARE [OrgCursor] CURSOR FORWARD_ONLY FOR + SELECT + [OrganizationId] + FROM + #Temp + WHERE + [OrganizationId] IS NOT NULL + GROUP BY + [OrganizationId] + OPEN [OrgCursor] + FETCH NEXT FROM [OrgCursor] INTO @OrgId + WHILE @@FETCH_STATUS = 0 BEGIN + EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrgId + FETCH NEXT FROM [OrgCursor] INTO @OrgId + END + CLOSE [OrgCursor] + DEALLOCATE [OrgCursor] + + -- Bump user + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId + + DROP TABLE #Temp + + SELECT @UtcNow +END diff --git a/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_SoftDelete_V2.sql b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_SoftDelete_V2.sql new file mode 100644 index 0000000000..9a9424767b --- /dev/null +++ b/src/Sql/Vault/dbo/Stored Procedures/Cipher/Cipher_SoftDelete_V2.sql @@ -0,0 +1,60 @@ +CREATE PROCEDURE [dbo].[Cipher_SoftDelete_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + CREATE TABLE #Temp + ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [OrganizationId] UNIQUEIDENTIFIER NULL + ) + + INSERT INTO #Temp + SELECT + [Id], + [UserId], + [OrganizationId] + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Edit] = 1 + AND [DeletedDate] IS NULL + AND [Id] IN (SELECT * FROM @Ids) + + -- Delete ciphers + DECLARE @UtcNow DATETIME2(7) = GETUTCDATE(); + UPDATE + [dbo].[Cipher] + SET + [DeletedDate] = @UtcNow, + [RevisionDate] = @UtcNow + WHERE + [Id] IN (SELECT [Id] FROM #Temp) + + -- Cleanup orgs + DECLARE @OrgId UNIQUEIDENTIFIER + DECLARE [OrgCursor] CURSOR FORWARD_ONLY FOR + SELECT + [OrganizationId] + FROM + #Temp + WHERE + [OrganizationId] IS NOT NULL + GROUP BY + [OrganizationId] + OPEN [OrgCursor] + FETCH NEXT FROM [OrgCursor] INTO @OrgId + WHILE @@FETCH_STATUS = 0 BEGIN + EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrgId + FETCH NEXT FROM [OrgCursor] INTO @OrgId + END + CLOSE [OrgCursor] + DEALLOCATE [OrgCursor] + + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId + + DROP TABLE #Temp +END diff --git a/test/Api.Test/Vault/Controllers/CiphersControllerTests.cs b/test/Api.Test/Vault/Controllers/CiphersControllerTests.cs index 8839f43f16..78e3d04ef5 100644 --- a/test/Api.Test/Vault/Controllers/CiphersControllerTests.cs +++ b/test/Api.Test/Vault/Controllers/CiphersControllerTests.cs @@ -34,10 +34,10 @@ public class CiphersControllerTests }; sutProvider.GetDependency() - .GetByIdAsync(cipherId, userId) + .GetByIdAsync(cipherId, userId, Arg.Any()) .Returns(Task.FromResult(cipherDetails)); - var result = await sutProvider.Sut.PutPartial(cipherId.ToString(), new CipherPartialRequestModel { Favorite = isFavorite, FolderId = folderId.ToString() }); + var result = await sutProvider.Sut.PutPartial(cipherId, new CipherPartialRequestModel { Favorite = isFavorite, FolderId = folderId.ToString() }); Assert.Equal(folderId, result.FolderId); Assert.Equal(isFavorite, result.Favorite); diff --git a/test/Api.Test/Vault/Controllers/SyncControllerTests.cs b/test/Api.Test/Vault/Controllers/SyncControllerTests.cs index 2f29ba6109..c46dcd73af 100644 --- a/test/Api.Test/Vault/Controllers/SyncControllerTests.cs +++ b/test/Api.Test/Vault/Controllers/SyncControllerTests.cs @@ -107,7 +107,7 @@ public class SyncControllerTests .Returns(providerUserOrganizationDetails); folderRepository.GetManyByUserIdAsync(user.Id).Returns(folders); - cipherRepository.GetManyByUserIdAsync(user.Id).Returns(ciphers); + cipherRepository.GetManyByUserIdAsync(user.Id, useFlexibleCollections: Arg.Any()).Returns(ciphers); sendRepository .GetManyByUserIdAsync(user.Id).Returns(sends); @@ -198,7 +198,7 @@ public class SyncControllerTests .Returns(providerUserOrganizationDetails); folderRepository.GetManyByUserIdAsync(user.Id).Returns(folders); - cipherRepository.GetManyByUserIdAsync(user.Id).Returns(ciphers); + cipherRepository.GetManyByUserIdAsync(user.Id, useFlexibleCollections: Arg.Any()).Returns(ciphers); sendRepository .GetManyByUserIdAsync(user.Id).Returns(sends); @@ -272,7 +272,7 @@ public class SyncControllerTests .Returns(providerUserOrganizationDetails); folderRepository.GetManyByUserIdAsync(user.Id).Returns(folders); - cipherRepository.GetManyByUserIdAsync(user.Id).Returns(ciphers); + cipherRepository.GetManyByUserIdAsync(user.Id, useFlexibleCollections: Arg.Any()).Returns(ciphers); sendRepository .GetManyByUserIdAsync(user.Id).Returns(sends); @@ -335,7 +335,7 @@ public class SyncControllerTests .GetManyByUserIdAsync(default); await cipherRepository.ReceivedWithAnyArgs(1) - .GetManyByUserIdAsync(default); + .GetManyByUserIdAsync(default, useFlexibleCollections: default); await sendRepository.ReceivedWithAnyArgs(1) .GetManyByUserIdAsync(default); diff --git a/test/Core.Test/Vault/Services/CipherServiceTests.cs b/test/Core.Test/Vault/Services/CipherServiceTests.cs index d299084c9c..d22b26ea18 100644 --- a/test/Core.Test/Vault/Services/CipherServiceTests.cs +++ b/test/Core.Test/Vault/Services/CipherServiceTests.cs @@ -675,9 +675,9 @@ public class CipherServiceTests cipher.RevisionDate = previousRevisionDate; } - sutProvider.GetDependency().GetManyByUserIdAsync(restoringUserId).Returns(ciphers); + sutProvider.GetDependency().GetManyByUserIdAsync(restoringUserId, useFlexibleCollections: Arg.Any()).Returns(ciphers); var revisionDate = previousRevisionDate + TimeSpan.FromMinutes(1); - sutProvider.GetDependency().RestoreAsync(Arg.Any>(), restoringUserId).Returns(revisionDate); + sutProvider.GetDependency().RestoreAsync(Arg.Any>(), restoringUserId, Arg.Any()).Returns(revisionDate); await sutProvider.Sut.RestoreManyAsync(cipherIds, restoringUserId); @@ -789,8 +789,8 @@ public class CipherServiceTests await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyOrganizationDetailsByOrganizationIdAsync(default); await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().RestoreByIdsOrganizationIdAsync(default, default); await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().RestoreByIdsOrganizationIdAsync(default, default); - await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyByUserIdAsync(default); - await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().RestoreAsync(default, default); + await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().GetManyByUserIdAsync(default, useFlexibleCollections: default); + await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().RestoreAsync(default, default, default); await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().LogCipherEventsAsync(default); await sutProvider.GetDependency().DidNotReceiveWithAnyArgs().PushSyncCiphersAsync(default); } diff --git a/util/Migrator/DbScripts/2023-11-28_00_DeprecateAccessAll_UserCollectionDetails.sql b/util/Migrator/DbScripts/2023-11-28_00_DeprecateAccessAll_UserCollectionDetails.sql new file mode 100644 index 0000000000..7b026c4b49 --- /dev/null +++ b/util/Migrator/DbScripts/2023-11-28_00_DeprecateAccessAll_UserCollectionDetails.sql @@ -0,0 +1,334 @@ +-- Flexible Collections: create new UserCipherDetails sproc that doesn't use AccessAll logic + +CREATE OR ALTER FUNCTION [dbo].[UserCipherDetails_V2](@UserId UNIQUEIDENTIFIER) +RETURNS TABLE +AS RETURN +WITH [CTE] AS ( + SELECT + [Id], + [OrganizationId] + FROM + [OrganizationUser] + WHERE + [UserId] = @UserId + AND [Status] = 2 -- Confirmed +) +SELECT + C.*, + COALESCE(CU.[ReadOnly], CG.[ReadOnly], 0) AS [Edit], + COALESCE(CU.[HidePasswords], CG.[HidePasswords], 0) AS [ViewPassword], + CASE + WHEN O.[UseTotp] = 1 + THEN 1 + ELSE 0 + END [OrganizationUseTotp] +FROM + [dbo].[CipherDetails](@UserId) C +INNER JOIN + [CTE] OU ON C.[UserId] IS NULL AND C.[OrganizationId] IN (SELECT [OrganizationId] FROM [CTE]) +INNER JOIN + [dbo].[Organization] O ON O.[Id] = OU.[OrganizationId] AND O.[Id] = C.[OrganizationId] AND O.[Enabled] = 1 +LEFT JOIN + [dbo].[CollectionCipher] CC ON CC.[CipherId] = C.[Id] +LEFT JOIN + [dbo].[CollectionUser] CU ON CU.[CollectionId] = CC.[CollectionId] AND CU.[OrganizationUserId] = OU.[Id] +LEFT JOIN + [dbo].[GroupUser] GU ON CU.[CollectionId] IS NULL AND GU.[OrganizationUserId] = OU.[Id] +LEFT JOIN + [dbo].[Group] G ON G.[Id] = GU.[GroupId] +LEFT JOIN + [dbo].[CollectionGroup] CG ON CG.[CollectionId] = CC.[CollectionId] AND CG.[GroupId] = GU.[GroupId] +WHERE + CU.[CollectionId] IS NOT NULL + OR CG.[CollectionId] IS NOT NULL + +UNION ALL + +SELECT + *, + 1 [Edit], + 1 [ViewPassword], + 0 [OrganizationUseTotp] +FROM + [dbo].[CipherDetails](@UserId) +WHERE + [UserId] = @UserId +GO + +-- Create v2 sprocs for all sprocs that call UserCipherDetails + +-- CipherDetails_ReadByIdUserId_V2 +CREATE OR ALTER PROCEDURE [dbo].[CipherDetails_ReadByIdUserId_V2] + @Id UNIQUEIDENTIFIER, + @UserId UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT TOP 1 + * + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Id] = @Id + ORDER BY + [Edit] DESC +END +GO + +-- CipherDetails_ReadByUserId_V2 +CREATE OR ALTER PROCEDURE [dbo].[CipherDetails_ReadByUserId_V2] + @UserId UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT + * + FROM + [dbo].[UserCipherDetails_V2](@UserId) +END +GO + +-- Cipher_Delete_V2 +CREATE OR ALTER PROCEDURE [dbo].[Cipher_Delete_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + CREATE TABLE #Temp + ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [OrganizationId] UNIQUEIDENTIFIER NULL, + [Attachments] BIT NOT NULL + ) + + INSERT INTO #Temp + SELECT + [Id], + [UserId], + [OrganizationId], + CASE WHEN [Attachments] IS NULL THEN 0 ELSE 1 END + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Edit] = 1 + AND [Id] IN (SELECT * FROM @Ids) + + -- Delete ciphers + DELETE + FROM + [dbo].[Cipher] + WHERE + [Id] IN (SELECT [Id] FROM #Temp) + + -- Cleanup orgs + DECLARE @OrgId UNIQUEIDENTIFIER + DECLARE [OrgCursor] CURSOR FORWARD_ONLY FOR + SELECT + [OrganizationId] + FROM + #Temp + WHERE + [OrganizationId] IS NOT NULL + GROUP BY + [OrganizationId] + OPEN [OrgCursor] + FETCH NEXT FROM [OrgCursor] INTO @OrgId + WHILE @@FETCH_STATUS = 0 BEGIN + EXEC [dbo].[Organization_UpdateStorage] @OrgId + EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrgId + FETCH NEXT FROM [OrgCursor] INTO @OrgId + END + CLOSE [OrgCursor] + DEALLOCATE [OrgCursor] + + -- Cleanup user + DECLARE @UserCiphersWithStorageCount INT + SELECT + @UserCiphersWithStorageCount = COUNT(1) + FROM + #Temp + WHERE + [UserId] IS NOT NULL + AND [Attachments] = 1 + + IF @UserCiphersWithStorageCount > 0 + BEGIN + EXEC [dbo].[User_UpdateStorage] @UserId + END + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId + + DROP TABLE #Temp +END +GO + +-- Cipher_Move_V2 +CREATE OR ALTER PROCEDURE [dbo].[Cipher_Move_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @FolderId AS UNIQUEIDENTIFIER, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + DECLARE @UserIdKey VARCHAR(50) = CONCAT('"', @UserId, '"') + DECLARE @UserIdPath VARCHAR(50) = CONCAT('$.', @UserIdKey) + + ;WITH [IdsToMoveCTE] AS ( + SELECT + [Id] + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Id] IN (SELECT * FROM @Ids) + ) + UPDATE + [dbo].[Cipher] + SET + [Folders] = + CASE + WHEN @FolderId IS NOT NULL AND [Folders] IS NULL THEN + CONCAT('{', @UserIdKey, ':"', @FolderId, '"', '}') + WHEN @FolderId IS NOT NULL THEN + JSON_MODIFY([Folders], @UserIdPath, CAST(@FolderId AS VARCHAR(50))) + ELSE + JSON_MODIFY([Folders], @UserIdPath, NULL) + END + WHERE + [Id] IN (SELECT * FROM [IdsToMoveCTE]) + + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId +END +GO + +-- Cipher_Restore_V2 +CREATE OR ALTER PROCEDURE [dbo].[Cipher_Restore_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + CREATE TABLE #Temp + ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [OrganizationId] UNIQUEIDENTIFIER NULL + ) + + INSERT INTO #Temp + SELECT + [Id], + [UserId], + [OrganizationId] + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Edit] = 1 + AND [DeletedDate] IS NOT NULL + AND [Id] IN (SELECT * FROM @Ids) + + DECLARE @UtcNow DATETIME2(7) = GETUTCDATE(); + UPDATE + [dbo].[Cipher] + SET + [DeletedDate] = NULL, + [RevisionDate] = @UtcNow + WHERE + [Id] IN (SELECT [Id] FROM #Temp) + + -- Bump orgs + DECLARE @OrgId UNIQUEIDENTIFIER + DECLARE [OrgCursor] CURSOR FORWARD_ONLY FOR + SELECT + [OrganizationId] + FROM + #Temp + WHERE + [OrganizationId] IS NOT NULL + GROUP BY + [OrganizationId] + OPEN [OrgCursor] + FETCH NEXT FROM [OrgCursor] INTO @OrgId + WHILE @@FETCH_STATUS = 0 BEGIN + EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrgId + FETCH NEXT FROM [OrgCursor] INTO @OrgId + END + CLOSE [OrgCursor] + DEALLOCATE [OrgCursor] + + -- Bump user + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId + + DROP TABLE #Temp + + SELECT @UtcNow +END +GO + +-- Cipher_SoftDelete_V2 +CREATE OR ALTER PROCEDURE [dbo].[Cipher_SoftDelete_V2] + @Ids AS [dbo].[GuidIdArray] READONLY, + @UserId AS UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + CREATE TABLE #Temp + ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [OrganizationId] UNIQUEIDENTIFIER NULL + ) + + INSERT INTO #Temp + SELECT + [Id], + [UserId], + [OrganizationId] + FROM + [dbo].[UserCipherDetails_V2](@UserId) + WHERE + [Edit] = 1 + AND [DeletedDate] IS NULL + AND [Id] IN (SELECT * FROM @Ids) + + -- Delete ciphers + DECLARE @UtcNow DATETIME2(7) = GETUTCDATE(); + UPDATE + [dbo].[Cipher] + SET + [DeletedDate] = @UtcNow, + [RevisionDate] = @UtcNow + WHERE + [Id] IN (SELECT [Id] FROM #Temp) + + -- Cleanup orgs + DECLARE @OrgId UNIQUEIDENTIFIER + DECLARE [OrgCursor] CURSOR FORWARD_ONLY FOR + SELECT + [OrganizationId] + FROM + #Temp + WHERE + [OrganizationId] IS NOT NULL + GROUP BY + [OrganizationId] + OPEN [OrgCursor] + FETCH NEXT FROM [OrgCursor] INTO @OrgId + WHILE @@FETCH_STATUS = 0 BEGIN + EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrgId + FETCH NEXT FROM [OrgCursor] INTO @OrgId + END + CLOSE [OrgCursor] + DEALLOCATE [OrgCursor] + + EXEC [dbo].[User_BumpAccountRevisionDate] @UserId + + DROP TABLE #Temp +END +GO From 959b2393b33453710664f834b251ed7d22c7086f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:41:44 -0500 Subject: [PATCH 06/11] [deps] Billing: Update Serilog.Sinks.SyslogMessages to v2.0.9 (#3456) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .../src/Commercial.Core/packages.lock.json | 78 ++++---- .../packages.lock.json | 94 +++++----- bitwarden_license/src/Scim/packages.lock.json | 104 +++++------ bitwarden_license/src/Sso/packages.lock.json | 104 +++++------ .../Commercial.Core.Test/packages.lock.json | 110 ++++++------ .../Scim.IntegrationTest/packages.lock.json | 136 +++++++------- .../test/Scim.Test/packages.lock.json | 122 ++++++------- perf/MicroBenchmarks/packages.lock.json | 78 ++++---- src/Admin/packages.lock.json | 130 +++++++------- src/Api/packages.lock.json | 112 ++++++------ src/Billing/packages.lock.json | 104 +++++------ src/Core/Core.csproj | 2 +- src/Core/packages.lock.json | 6 +- src/Events/packages.lock.json | 104 +++++------ src/EventsProcessor/packages.lock.json | 104 +++++------ src/Icons/packages.lock.json | 104 +++++------ src/Identity/packages.lock.json | 104 +++++------ src/Infrastructure.Dapper/packages.lock.json | 78 ++++---- .../packages.lock.json | 78 ++++---- src/Notifications/packages.lock.json | 104 +++++------ src/SharedWeb/packages.lock.json | 98 +++++----- test/Api.IntegrationTest/packages.lock.json | 166 ++++++++--------- test/Api.Test/packages.lock.json | 168 +++++++++--------- test/Billing.Test/packages.lock.json | 122 ++++++------- test/Common/packages.lock.json | 78 ++++---- test/Core.Test/packages.lock.json | 92 +++++----- test/Icons.Test/packages.lock.json | 124 ++++++------- .../packages.lock.json | 132 +++++++------- test/Identity.Test/packages.lock.json | 124 ++++++------- .../packages.lock.json | 128 ++++++------- .../packages.lock.json | 98 +++++----- test/IntegrationTestCommon/packages.lock.json | 124 ++++++------- util/Migrator/packages.lock.json | 78 ++++---- util/MsSqlMigratorUtility/packages.lock.json | 84 ++++----- util/MySqlMigrations/packages.lock.json | 94 +++++----- util/PostgresMigrations/packages.lock.json | 94 +++++----- util/Setup/packages.lock.json | 84 ++++----- util/SqlServerEFScaffold/packages.lock.json | 138 +++++++------- util/SqliteMigrations/packages.lock.json | 94 +++++----- 39 files changed, 1988 insertions(+), 1988 deletions(-) diff --git a/bitwarden_license/src/Commercial.Core/packages.lock.json b/bitwarden_license/src/Commercial.Core/packages.lock.json index a432e7ac38..57768d2bb3 100644 --- a/bitwarden_license/src/Commercial.Core/packages.lock.json +++ b/bitwarden_license/src/Commercial.Core/packages.lock.json @@ -1177,8 +1177,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2415,43 +2415,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json index ad8c027175..a9d4252abd 100644 --- a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json +++ b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json @@ -1310,8 +1310,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2578,56 +2578,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json index 8db5c0eb8e..4f2b338188 100644 --- a/bitwarden_license/src/Scim/packages.lock.json +++ b/bitwarden_license/src/Scim/packages.lock.json @@ -1314,8 +1314,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2582,71 +2582,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json index 3d1dd5ff0d..50a85d6e7c 100644 --- a/bitwarden_license/src/Sso/packages.lock.json +++ b/bitwarden_license/src/Sso/packages.lock.json @@ -1461,8 +1461,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2742,71 +2742,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json index aeb2ea4dde..667f10cf3e 100644 --- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json +++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json @@ -1312,8 +1312,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2657,74 +2657,74 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )" + "Core": "2023.10.3" } }, "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "core.test": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.10.3, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Common": "2023.10.3", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } } } diff --git a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json index 4b680747e5..ed69ab305c 100644 --- a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json +++ b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json @@ -1576,8 +1576,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2972,107 +2972,107 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.10.3, )", - "Identity": "[2023.10.3, )", - "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )" + "Common": "2023.10.3", + "Identity": "2023.10.3", + "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", + "Microsoft.Extensions.Configuration": "6.0.1" } }, "scim": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/bitwarden_license/test/Scim.Test/packages.lock.json b/bitwarden_license/test/Scim.Test/packages.lock.json index 7710a7aa60..e182f9ef3b 100644 --- a/bitwarden_license/test/Scim.Test/packages.lock.json +++ b/bitwarden_license/test/Scim.Test/packages.lock.json @@ -1450,8 +1450,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2825,90 +2825,90 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "scim": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json index f8fabd2ea6..5ed77f5b86 100644 --- a/perf/MicroBenchmarks/packages.lock.json +++ b/perf/MicroBenchmarks/packages.lock.json @@ -1279,8 +1279,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2522,43 +2522,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json index b50a7f9dbf..cc95b5c331 100644 --- a/src/Admin/packages.lock.json +++ b/src/Admin/packages.lock.json @@ -1363,8 +1363,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2785,114 +2785,114 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )" + "Core": "2023.10.3" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "migrator": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "dbup-sqlserver": "[5.0.8, )" + "Core": "2023.10.3", + "Microsoft.Extensions.Logging": "6.0.0", + "dbup-sqlserver": "5.0.8" } }, "mysqlmigrations": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "postgresmigrations": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "sqlitemigrations": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index b24c4205f9..269e587f1f 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -1462,8 +1462,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2765,85 +2765,85 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )" + "Core": "2023.10.3" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json index 8db5c0eb8e..4f2b338188 100644 --- a/src/Billing/packages.lock.json +++ b/src/Billing/packages.lock.json @@ -1314,8 +1314,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2582,71 +2582,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 1b06babb7c..8c86ec4ea2 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -50,7 +50,7 @@ - + diff --git a/src/Core/packages.lock.json b/src/Core/packages.lock.json index a716238631..47a95baca6 100644 --- a/src/Core/packages.lock.json +++ b/src/Core/packages.lock.json @@ -382,9 +382,9 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Direct", - "requested": "[2.0.6, )", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "requested": "[2.0.9, )", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json index 8db5c0eb8e..4f2b338188 100644 --- a/src/Events/packages.lock.json +++ b/src/Events/packages.lock.json @@ -1314,8 +1314,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2582,71 +2582,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json index 8db5c0eb8e..4f2b338188 100644 --- a/src/EventsProcessor/packages.lock.json +++ b/src/EventsProcessor/packages.lock.json @@ -1314,8 +1314,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2582,71 +2582,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json index 8a2fda13e5..accdf60c0f 100644 --- a/src/Icons/packages.lock.json +++ b/src/Icons/packages.lock.json @@ -1323,8 +1323,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2591,71 +2591,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json index 97e4f820c5..613f808b99 100644 --- a/src/Identity/packages.lock.json +++ b/src/Identity/packages.lock.json @@ -1328,8 +1328,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2604,71 +2604,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/Infrastructure.Dapper/packages.lock.json b/src/Infrastructure.Dapper/packages.lock.json index a1e930670e..a7ebccb8e0 100644 --- a/src/Infrastructure.Dapper/packages.lock.json +++ b/src/Infrastructure.Dapper/packages.lock.json @@ -1183,8 +1183,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2421,43 +2421,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/src/Infrastructure.EntityFramework/packages.lock.json b/src/Infrastructure.EntityFramework/packages.lock.json index 11b1e49bcb..371517b906 100644 --- a/src/Infrastructure.EntityFramework/packages.lock.json +++ b/src/Infrastructure.EntityFramework/packages.lock.json @@ -1316,8 +1316,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2584,43 +2584,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json index 38c5b97637..c970e6eff7 100644 --- a/src/Notifications/packages.lock.json +++ b/src/Notifications/packages.lock.json @@ -1377,8 +1377,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2632,71 +2632,71 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json index da8cacb2d1..09d79c1d95 100644 --- a/src/SharedWeb/packages.lock.json +++ b/src/SharedWeb/packages.lock.json @@ -1314,8 +1314,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2582,63 +2582,63 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/test/Api.IntegrationTest/packages.lock.json b/test/Api.IntegrationTest/packages.lock.json index e02aac6c5e..78b13db8f8 100644 --- a/test/Api.IntegrationTest/packages.lock.json +++ b/test/Api.IntegrationTest/packages.lock.json @@ -1697,8 +1697,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -3123,132 +3123,132 @@ "api": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.AzureServiceBus": "[6.1.0, )", - "AspNetCore.HealthChecks.AzureStorage": "[6.1.2, )", - "AspNetCore.HealthChecks.Network": "[6.0.4, )", - "AspNetCore.HealthChecks.Redis": "[6.0.4, )", - "AspNetCore.HealthChecks.SendGrid": "[6.0.2, )", - "AspNetCore.HealthChecks.SqlServer": "[6.0.2, )", - "AspNetCore.HealthChecks.Uris": "[6.0.3, )", - "Azure.Messaging.EventGrid": "[4.10.0, )", - "Commercial.Core": "[2023.10.3, )", - "Commercial.Infrastructure.EntityFramework": "[2023.10.3, )", - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore": "[6.5.0, )" + "AspNetCore.HealthChecks.AzureServiceBus": "6.1.0", + "AspNetCore.HealthChecks.AzureStorage": "6.1.2", + "AspNetCore.HealthChecks.Network": "6.0.4", + "AspNetCore.HealthChecks.Redis": "6.0.4", + "AspNetCore.HealthChecks.SendGrid": "6.0.2", + "AspNetCore.HealthChecks.SqlServer": "6.0.2", + "AspNetCore.HealthChecks.Uris": "6.0.3", + "Azure.Messaging.EventGrid": "4.10.0", + "Commercial.Core": "2023.10.3", + "Commercial.Infrastructure.EntityFramework": "2023.10.3", + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore": "6.5.0" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )" + "Core": "2023.10.3" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.10.3, )", - "Identity": "[2023.10.3, )", - "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )" + "Common": "2023.10.3", + "Identity": "2023.10.3", + "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", + "Microsoft.Extensions.Configuration": "6.0.1" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json index a94a8a92f0..e4d6d8e7ad 100644 --- a/test/Api.Test/packages.lock.json +++ b/test/Api.Test/packages.lock.json @@ -1579,8 +1579,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -3000,128 +3000,128 @@ "api": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.AzureServiceBus": "[6.1.0, )", - "AspNetCore.HealthChecks.AzureStorage": "[6.1.2, )", - "AspNetCore.HealthChecks.Network": "[6.0.4, )", - "AspNetCore.HealthChecks.Redis": "[6.0.4, )", - "AspNetCore.HealthChecks.SendGrid": "[6.0.2, )", - "AspNetCore.HealthChecks.SqlServer": "[6.0.2, )", - "AspNetCore.HealthChecks.Uris": "[6.0.3, )", - "Azure.Messaging.EventGrid": "[4.10.0, )", - "Commercial.Core": "[2023.10.3, )", - "Commercial.Infrastructure.EntityFramework": "[2023.10.3, )", - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore": "[6.5.0, )" + "AspNetCore.HealthChecks.AzureServiceBus": "6.1.0", + "AspNetCore.HealthChecks.AzureStorage": "6.1.2", + "AspNetCore.HealthChecks.Network": "6.0.4", + "AspNetCore.HealthChecks.Redis": "6.0.4", + "AspNetCore.HealthChecks.SendGrid": "6.0.2", + "AspNetCore.HealthChecks.SqlServer": "6.0.2", + "AspNetCore.HealthChecks.Uris": "6.0.3", + "Azure.Messaging.EventGrid": "4.10.0", + "Commercial.Core": "2023.10.3", + "Commercial.Infrastructure.EntityFramework": "2023.10.3", + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore": "6.5.0" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )" + "Core": "2023.10.3" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "core.test": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.10.3, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Common": "2023.10.3", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json index b0240161c9..b1b7888de5 100644 --- a/test/Billing.Test/packages.lock.json +++ b/test/Billing.Test/packages.lock.json @@ -1460,8 +1460,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2835,90 +2835,90 @@ "billing": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3" } }, "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json index 4884fdbc15..c3f4a0e545 100644 --- a/test/Common/packages.lock.json +++ b/test/Common/packages.lock.json @@ -1310,8 +1310,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2655,43 +2655,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json index f81e5fe8d2..22177bbbfb 100644 --- a/test/Core.Test/packages.lock.json +++ b/test/Core.Test/packages.lock.json @@ -1316,8 +1316,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2661,55 +2661,55 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json index 0c6ba2e685..7942c6d4f4 100644 --- a/test/Icons.Test/packages.lock.json +++ b/test/Icons.Test/packages.lock.json @@ -1458,8 +1458,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2833,91 +2833,91 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "icons": { "type": "Project", "dependencies": { - "AngleSharp": "[1.0.4, )", - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )" + "AngleSharp": "1.0.4", + "Core": "2023.10.3", + "SharedWeb": "2023.10.3" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json index a509210826..76e8cceb15 100644 --- a/test/Identity.IntegrationTest/packages.lock.json +++ b/test/Identity.IntegrationTest/packages.lock.json @@ -1576,8 +1576,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2972,100 +2972,100 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "[2023.10.3, )", - "Identity": "[2023.10.3, )", - "Microsoft.AspNetCore.Mvc.Testing": "[6.0.5, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )" + "Common": "2023.10.3", + "Identity": "2023.10.3", + "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", + "Microsoft.Extensions.Configuration": "6.0.1" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json index ef3fa76ef6..5d3b2932b6 100644 --- a/test/Identity.Test/packages.lock.json +++ b/test/Identity.Test/packages.lock.json @@ -1456,8 +1456,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2847,91 +2847,91 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json index 4d4e99dc14..fce8fdf55a 100644 --- a/test/Infrastructure.EFIntegration.Test/packages.lock.json +++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json @@ -1452,8 +1452,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2827,88 +2827,88 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "core.test": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Common": "[2023.10.3, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Common": "2023.10.3", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/test/Infrastructure.IntegrationTest/packages.lock.json b/test/Infrastructure.IntegrationTest/packages.lock.json index e865ff92ec..f8d4434445 100644 --- a/test/Infrastructure.IntegrationTest/packages.lock.json +++ b/test/Infrastructure.IntegrationTest/packages.lock.json @@ -1379,8 +1379,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2697,63 +2697,63 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json index f510727702..5938a05a2b 100644 --- a/test/IntegrationTestCommon/packages.lock.json +++ b/test/IntegrationTestCommon/packages.lock.json @@ -1551,8 +1551,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2957,91 +2957,91 @@ "common": { "type": "Project", "dependencies": { - "AutoFixture.AutoNSubstitute": "[4.17.0, )", - "AutoFixture.Xunit2": "[4.17.0, )", - "Core": "[2023.10.3, )", - "Kralizek.AutoFixture.Extensions.MockHttp": "[1.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.1.0, )", - "NSubstitute": "[4.3.0, )", - "xunit": "[2.4.1, )" + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2023.10.3", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "identity": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore.SwaggerGen": "[6.5.0, )" + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore.SwaggerGen": "6.5.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/util/Migrator/packages.lock.json b/util/Migrator/packages.lock.json index af385f825f..5958d1b60a 100644 --- a/util/Migrator/packages.lock.json +++ b/util/Migrator/packages.lock.json @@ -1227,8 +1227,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2619,43 +2619,43 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } } } diff --git a/util/MsSqlMigratorUtility/packages.lock.json b/util/MsSqlMigratorUtility/packages.lock.json index 04efaa157c..e608249227 100644 --- a/util/MsSqlMigratorUtility/packages.lock.json +++ b/util/MsSqlMigratorUtility/packages.lock.json @@ -1265,8 +1265,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2657,51 +2657,51 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "migrator": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "dbup-sqlserver": "[5.0.8, )" + "Core": "2023.10.3", + "Microsoft.Extensions.Logging": "6.0.0", + "dbup-sqlserver": "5.0.8" } } } diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json index 6645715d9b..396d2e9161 100644 --- a/util/MySqlMigrations/packages.lock.json +++ b/util/MySqlMigrations/packages.lock.json @@ -1334,8 +1334,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2607,56 +2607,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json index 6645715d9b..396d2e9161 100644 --- a/util/PostgresMigrations/packages.lock.json +++ b/util/PostgresMigrations/packages.lock.json @@ -1334,8 +1334,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2607,56 +2607,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json index b298124e64..0f07b2ee27 100644 --- a/util/Setup/packages.lock.json +++ b/util/Setup/packages.lock.json @@ -1233,8 +1233,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2625,51 +2625,51 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "migrator": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "dbup-sqlserver": "[5.0.8, )" + "Core": "2023.10.3", + "Microsoft.Extensions.Logging": "6.0.0", + "dbup-sqlserver": "5.0.8" } } } diff --git a/util/SqlServerEFScaffold/packages.lock.json b/util/SqlServerEFScaffold/packages.lock.json index 8df3275387..1e024f8167 100644 --- a/util/SqlServerEFScaffold/packages.lock.json +++ b/util/SqlServerEFScaffold/packages.lock.json @@ -1467,8 +1467,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2786,103 +2786,103 @@ "api": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.AzureServiceBus": "[6.1.0, )", - "AspNetCore.HealthChecks.AzureStorage": "[6.1.2, )", - "AspNetCore.HealthChecks.Network": "[6.0.4, )", - "AspNetCore.HealthChecks.Redis": "[6.0.4, )", - "AspNetCore.HealthChecks.SendGrid": "[6.0.2, )", - "AspNetCore.HealthChecks.SqlServer": "[6.0.2, )", - "AspNetCore.HealthChecks.Uris": "[6.0.3, )", - "Azure.Messaging.EventGrid": "[4.10.0, )", - "Commercial.Core": "[2023.10.3, )", - "Commercial.Infrastructure.EntityFramework": "[2023.10.3, )", - "Core": "[2023.10.3, )", - "SharedWeb": "[2023.10.3, )", - "Swashbuckle.AspNetCore": "[6.5.0, )" + "AspNetCore.HealthChecks.AzureServiceBus": "6.1.0", + "AspNetCore.HealthChecks.AzureStorage": "6.1.2", + "AspNetCore.HealthChecks.Network": "6.0.4", + "AspNetCore.HealthChecks.Redis": "6.0.4", + "AspNetCore.HealthChecks.SendGrid": "6.0.2", + "AspNetCore.HealthChecks.SqlServer": "6.0.2", + "AspNetCore.HealthChecks.Uris": "6.0.3", + "Azure.Messaging.EventGrid": "4.10.0", + "Commercial.Core": "2023.10.3", + "Commercial.Infrastructure.EntityFramework": "2023.10.3", + "Core": "2023.10.3", + "SharedWeb": "2023.10.3", + "Swashbuckle.AspNetCore": "6.5.0" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )" + "Core": "2023.10.3" } }, "commercial.infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } }, "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Dapper": "[2.0.123, )" + "Core": "2023.10.3", + "Dapper": "2.0.123" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } }, "sharedweb": { "type": "Project", "dependencies": { - "Core": "[2023.10.3, )", - "Infrastructure.Dapper": "[2023.10.3, )", - "Infrastructure.EntityFramework": "[2023.10.3, )" + "Core": "2023.10.3", + "Infrastructure.Dapper": "2023.10.3", + "Infrastructure.EntityFramework": "2023.10.3" } } } diff --git a/util/SqliteMigrations/packages.lock.json b/util/SqliteMigrations/packages.lock.json index 6645715d9b..396d2e9161 100644 --- a/util/SqliteMigrations/packages.lock.json +++ b/util/SqliteMigrations/packages.lock.json @@ -1334,8 +1334,8 @@ }, "Serilog.Sinks.SyslogMessages": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "resolved": "2.0.9", + "contentHash": "y7J+/h/Nf5EAtbpa6lC1nDhK/F9kC5oxuVYmQivv242Oh4hAVMeoAk5Gv6bgb/KbmqufGPXUFkX/AlcrvZ8Ywg==", "dependencies": { "Serilog": "2.5.0", "Serilog.Sinks.PeriodicBatching": "2.3.0" @@ -2607,56 +2607,56 @@ "core": { "type": "Project", "dependencies": { - "AWSSDK.SQS": "[3.7.2.47, )", - "AWSSDK.SimpleEmail": "[3.7.0.150, )", - "AspNetCoreRateLimit": "[4.0.2, )", - "AspNetCoreRateLimit.Redis": "[1.0.1, )", - "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.2, )", - "Azure.Identity": "[1.10.2, )", - "Azure.Messaging.ServiceBus": "[7.15.0, )", - "Azure.Storage.Blobs": "[12.14.1, )", - "Azure.Storage.Queues": "[12.12.0, )", - "BitPay.Light": "[1.0.1907, )", - "Braintree": "[5.19.0, )", - "DnsClient": "[1.7.0, )", - "Duende.IdentityServer": "[6.0.4, )", - "Fido2.AspNet": "[3.0.1, )", - "Handlebars.Net": "[2.1.2, )", - "LaunchDarkly.ServerSdk": "[8.0.0, )", - "MailKit": "[4.2.0, )", - "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", - "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", - "Microsoft.Azure.NotificationHubs": "[4.1.0, )", - "Microsoft.Data.SqlClient": "[5.0.1, )", - "Microsoft.Extensions.Caching.StackExchangeRedis": "[6.0.6, )", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "[6.0.1, )", - "Microsoft.Extensions.Configuration.UserSecrets": "[6.0.1, )", - "Microsoft.Extensions.Identity.Stores": "[6.0.4, )", - "Newtonsoft.Json": "[13.0.1, )", - "Otp.NET": "[1.2.2, )", - "Quartz": "[3.4.0, )", - "SendGrid": "[9.27.0, )", - "Sentry.Serilog": "[3.16.0, )", - "Serilog.AspNetCore": "[5.0.0, )", - "Serilog.Extensions.Logging": "[3.1.0, )", - "Serilog.Extensions.Logging.File": "[2.0.0, )", - "Serilog.Sinks.AzureCosmosDB": "[2.0.0, )", - "Serilog.Sinks.SyslogMessages": "[2.0.6, )", - "Stripe.net": "[40.0.0, )", - "YubicoDotNetClient": "[1.2.0, )" + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.3.2", + "Azure.Identity": "1.10.2", + "Azure.Messaging.ServiceBus": "7.15.0", + "Azure.Storage.Blobs": "12.14.1", + "Azure.Storage.Queues": "12.12.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.19.0", + "DnsClient": "1.7.0", + "Duende.IdentityServer": "6.0.4", + "Fido2.AspNet": "3.0.1", + "Handlebars.Net": "2.1.2", + "LaunchDarkly.ServerSdk": "8.0.0", + "MailKit": "4.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Data.SqlClient": "5.0.1", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.9", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" } }, "infrastructure.entityframework": { "type": "Project", "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "[12.0.1, )", - "Core": "[2023.10.3, )", - "Microsoft.EntityFrameworkCore.Relational": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.SqlServer": "[7.0.5, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[7.0.5, )", - "Npgsql.EntityFrameworkCore.PostgreSQL": "[7.0.4, )", - "Pomelo.EntityFrameworkCore.MySql": "[7.0.0, )", - "linq2db.EntityFrameworkCore": "[7.5.0, )" + "AutoMapper.Extensions.Microsoft.DependencyInjection": "12.0.1", + "Core": "2023.10.3", + "Microsoft.EntityFrameworkCore.Relational": "7.0.5", + "Microsoft.EntityFrameworkCore.SqlServer": "7.0.5", + "Microsoft.EntityFrameworkCore.Sqlite": "7.0.5", + "Npgsql.EntityFrameworkCore.PostgreSQL": "7.0.4", + "Pomelo.EntityFrameworkCore.MySql": "7.0.0", + "linq2db.EntityFrameworkCore": "7.5.0" } } } From 14bd7d14152146ea69b8fe4ba05f6139e0604902 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:47:04 -0500 Subject: [PATCH 07/11] [deps] Billing: Update Newtonsoft.Json to v13.0.3 (#3439) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bitwarden_license/src/Commercial.Core/packages.lock.json | 6 +++--- .../packages.lock.json | 6 +++--- bitwarden_license/src/Scim/packages.lock.json | 6 +++--- bitwarden_license/src/Sso/packages.lock.json | 6 +++--- .../test/Commercial.Core.Test/packages.lock.json | 6 +++--- .../test/Scim.IntegrationTest/packages.lock.json | 6 +++--- bitwarden_license/test/Scim.Test/packages.lock.json | 6 +++--- perf/MicroBenchmarks/packages.lock.json | 6 +++--- src/Admin/packages.lock.json | 6 +++--- src/Api/packages.lock.json | 6 +++--- src/Billing/packages.lock.json | 6 +++--- src/Core/Core.csproj | 2 +- src/Core/packages.lock.json | 6 +++--- src/Events/packages.lock.json | 6 +++--- src/EventsProcessor/packages.lock.json | 6 +++--- src/Icons/packages.lock.json | 6 +++--- src/Identity/packages.lock.json | 6 +++--- src/Infrastructure.Dapper/packages.lock.json | 6 +++--- src/Infrastructure.EntityFramework/packages.lock.json | 6 +++--- src/Notifications/packages.lock.json | 6 +++--- src/SharedWeb/packages.lock.json | 6 +++--- test/Api.IntegrationTest/packages.lock.json | 6 +++--- test/Api.Test/packages.lock.json | 6 +++--- test/Billing.Test/packages.lock.json | 6 +++--- test/Common/packages.lock.json | 6 +++--- test/Core.Test/packages.lock.json | 6 +++--- test/Icons.Test/packages.lock.json | 6 +++--- test/Identity.IntegrationTest/packages.lock.json | 6 +++--- test/Identity.Test/packages.lock.json | 6 +++--- test/Infrastructure.EFIntegration.Test/packages.lock.json | 6 +++--- test/Infrastructure.IntegrationTest/packages.lock.json | 6 +++--- test/IntegrationTestCommon/packages.lock.json | 6 +++--- util/Migrator/packages.lock.json | 6 +++--- util/MsSqlMigratorUtility/packages.lock.json | 6 +++--- util/MySqlMigrations/packages.lock.json | 6 +++--- util/PostgresMigrations/packages.lock.json | 6 +++--- util/Setup/packages.lock.json | 6 +++--- util/SqlServerEFScaffold/packages.lock.json | 6 +++--- util/SqliteMigrations/packages.lock.json | 6 +++--- 39 files changed, 115 insertions(+), 115 deletions(-) diff --git a/bitwarden_license/src/Commercial.Core/packages.lock.json b/bitwarden_license/src/Commercial.Core/packages.lock.json index 57768d2bb3..052d274474 100644 --- a/bitwarden_license/src/Commercial.Core/packages.lock.json +++ b/bitwarden_license/src/Commercial.Core/packages.lock.json @@ -863,8 +863,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2440,7 +2440,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json index a9d4252abd..1d1d50024c 100644 --- a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json +++ b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json @@ -967,8 +967,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2603,7 +2603,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json index 4f2b338188..d0babbd956 100644 --- a/bitwarden_license/src/Scim/packages.lock.json +++ b/bitwarden_license/src/Scim/packages.lock.json @@ -971,8 +971,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2607,7 +2607,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json index 50a85d6e7c..ebff240d81 100644 --- a/bitwarden_license/src/Sso/packages.lock.json +++ b/bitwarden_license/src/Sso/packages.lock.json @@ -1118,8 +1118,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2767,7 +2767,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json index 667f10cf3e..6d511f0fe1 100644 --- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json +++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json @@ -980,8 +980,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2700,7 +2700,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json index ed69ab305c..13216154b5 100644 --- a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json +++ b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json @@ -1223,8 +1223,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -3009,7 +3009,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/bitwarden_license/test/Scim.Test/packages.lock.json b/bitwarden_license/test/Scim.Test/packages.lock.json index e182f9ef3b..28da5320e9 100644 --- a/bitwarden_license/test/Scim.Test/packages.lock.json +++ b/bitwarden_license/test/Scim.Test/packages.lock.json @@ -1097,8 +1097,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2862,7 +2862,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json index 5ed77f5b86..e542d9810e 100644 --- a/perf/MicroBenchmarks/packages.lock.json +++ b/perf/MicroBenchmarks/packages.lock.json @@ -957,8 +957,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2547,7 +2547,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json index cc95b5c331..1a7c347e84 100644 --- a/src/Admin/packages.lock.json +++ b/src/Admin/packages.lock.json @@ -1020,8 +1020,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2824,7 +2824,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index 269e587f1f..317d9412c0 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -1119,8 +1119,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2804,7 +2804,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json index 4f2b338188..d0babbd956 100644 --- a/src/Billing/packages.lock.json +++ b/src/Billing/packages.lock.json @@ -971,8 +971,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2607,7 +2607,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 8c86ec4ea2..468521ae7f 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -48,7 +48,7 @@ - + diff --git a/src/Core/packages.lock.json b/src/Core/packages.lock.json index 47a95baca6..205395a811 100644 --- a/src/Core/packages.lock.json +++ b/src/Core/packages.lock.json @@ -284,9 +284,9 @@ }, "Newtonsoft.Json": { "type": "Direct", - "requested": "[13.0.1, )", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "requested": "[13.0.3, )", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Otp.NET": { "type": "Direct", diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json index 4f2b338188..d0babbd956 100644 --- a/src/Events/packages.lock.json +++ b/src/Events/packages.lock.json @@ -971,8 +971,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2607,7 +2607,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json index 4f2b338188..d0babbd956 100644 --- a/src/EventsProcessor/packages.lock.json +++ b/src/EventsProcessor/packages.lock.json @@ -971,8 +971,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2607,7 +2607,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json index accdf60c0f..36e200daa5 100644 --- a/src/Icons/packages.lock.json +++ b/src/Icons/packages.lock.json @@ -980,8 +980,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2616,7 +2616,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json index 613f808b99..0daaf12168 100644 --- a/src/Identity/packages.lock.json +++ b/src/Identity/packages.lock.json @@ -985,8 +985,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2629,7 +2629,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Infrastructure.Dapper/packages.lock.json b/src/Infrastructure.Dapper/packages.lock.json index a7ebccb8e0..73cd1592b1 100644 --- a/src/Infrastructure.Dapper/packages.lock.json +++ b/src/Infrastructure.Dapper/packages.lock.json @@ -869,8 +869,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2446,7 +2446,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Infrastructure.EntityFramework/packages.lock.json b/src/Infrastructure.EntityFramework/packages.lock.json index 371517b906..ef2eea66aa 100644 --- a/src/Infrastructure.EntityFramework/packages.lock.json +++ b/src/Infrastructure.EntityFramework/packages.lock.json @@ -993,8 +993,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2609,7 +2609,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json index c970e6eff7..a960d62e59 100644 --- a/src/Notifications/packages.lock.json +++ b/src/Notifications/packages.lock.json @@ -1034,8 +1034,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2657,7 +2657,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json index 09d79c1d95..d82cfa1d34 100644 --- a/src/SharedWeb/packages.lock.json +++ b/src/SharedWeb/packages.lock.json @@ -971,8 +971,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2607,7 +2607,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Api.IntegrationTest/packages.lock.json b/test/Api.IntegrationTest/packages.lock.json index 78b13db8f8..28dc78b4cd 100644 --- a/test/Api.IntegrationTest/packages.lock.json +++ b/test/Api.IntegrationTest/packages.lock.json @@ -1336,8 +1336,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -3192,7 +3192,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json index e4d6d8e7ad..4f868a9923 100644 --- a/test/Api.Test/packages.lock.json +++ b/test/Api.Test/packages.lock.json @@ -1226,8 +1226,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -3069,7 +3069,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json index b1b7888de5..0e89bd4e0f 100644 --- a/test/Billing.Test/packages.lock.json +++ b/test/Billing.Test/packages.lock.json @@ -1107,8 +1107,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2879,7 +2879,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json index c3f4a0e545..7b0335a2f8 100644 --- a/test/Common/packages.lock.json +++ b/test/Common/packages.lock.json @@ -986,8 +986,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2680,7 +2680,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json index 22177bbbfb..2b8e8bc2bf 100644 --- a/test/Core.Test/packages.lock.json +++ b/test/Core.Test/packages.lock.json @@ -992,8 +992,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2698,7 +2698,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json index 7942c6d4f4..ae58ba8121 100644 --- a/test/Icons.Test/packages.lock.json +++ b/test/Icons.Test/packages.lock.json @@ -1105,8 +1105,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2870,7 +2870,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json index 76e8cceb15..1e97eddbfb 100644 --- a/test/Identity.IntegrationTest/packages.lock.json +++ b/test/Identity.IntegrationTest/packages.lock.json @@ -1223,8 +1223,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -3009,7 +3009,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json index 5d3b2932b6..e76cfb82c2 100644 --- a/test/Identity.Test/packages.lock.json +++ b/test/Identity.Test/packages.lock.json @@ -1103,8 +1103,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2884,7 +2884,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json index fce8fdf55a..7ae3e88120 100644 --- a/test/Infrastructure.EFIntegration.Test/packages.lock.json +++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json @@ -1099,8 +1099,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2864,7 +2864,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/Infrastructure.IntegrationTest/packages.lock.json b/test/Infrastructure.IntegrationTest/packages.lock.json index f8d4434445..ccf826378f 100644 --- a/test/Infrastructure.IntegrationTest/packages.lock.json +++ b/test/Infrastructure.IntegrationTest/packages.lock.json @@ -1031,8 +1031,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2722,7 +2722,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json index 5938a05a2b..421b923fbc 100644 --- a/test/IntegrationTestCommon/packages.lock.json +++ b/test/IntegrationTestCommon/packages.lock.json @@ -1190,8 +1190,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2994,7 +2994,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/Migrator/packages.lock.json b/util/Migrator/packages.lock.json index 5958d1b60a..3d76c771b5 100644 --- a/util/Migrator/packages.lock.json +++ b/util/Migrator/packages.lock.json @@ -913,8 +913,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2644,7 +2644,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/MsSqlMigratorUtility/packages.lock.json b/util/MsSqlMigratorUtility/packages.lock.json index e608249227..765e88d284 100644 --- a/util/MsSqlMigratorUtility/packages.lock.json +++ b/util/MsSqlMigratorUtility/packages.lock.json @@ -951,8 +951,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2682,7 +2682,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json index 396d2e9161..b0ee4d17ad 100644 --- a/util/MySqlMigrations/packages.lock.json +++ b/util/MySqlMigrations/packages.lock.json @@ -991,8 +991,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2632,7 +2632,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json index 396d2e9161..b0ee4d17ad 100644 --- a/util/PostgresMigrations/packages.lock.json +++ b/util/PostgresMigrations/packages.lock.json @@ -991,8 +991,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2632,7 +2632,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json index 0f07b2ee27..b54860318a 100644 --- a/util/Setup/packages.lock.json +++ b/util/Setup/packages.lock.json @@ -919,8 +919,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "NSec.Cryptography": { "type": "Transitive", @@ -2650,7 +2650,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/SqlServerEFScaffold/packages.lock.json b/util/SqlServerEFScaffold/packages.lock.json index 1e024f8167..99a72b77d9 100644 --- a/util/SqlServerEFScaffold/packages.lock.json +++ b/util/SqlServerEFScaffold/packages.lock.json @@ -1124,8 +1124,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2843,7 +2843,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", diff --git a/util/SqliteMigrations/packages.lock.json b/util/SqliteMigrations/packages.lock.json index 396d2e9161..b0ee4d17ad 100644 --- a/util/SqliteMigrations/packages.lock.json +++ b/util/SqliteMigrations/packages.lock.json @@ -991,8 +991,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Npgsql": { "type": "Transitive", @@ -2632,7 +2632,7 @@ "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", "Microsoft.Extensions.Identity.Stores": "6.0.4", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.3", "Otp.NET": "1.2.2", "Quartz": "3.4.0", "SendGrid": "9.27.0", From 492298442de3237c70933b04ddd661a038e15f79 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:47:36 -0500 Subject: [PATCH 08/11] [deps] Billing: Update BenchmarkDotNet to v0.13.10 (#3438) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- perf/MicroBenchmarks/MicroBenchmarks.csproj | 2 +- perf/MicroBenchmarks/packages.lock.json | 98 ++++++++++++--------- 2 files changed, 59 insertions(+), 41 deletions(-) diff --git a/perf/MicroBenchmarks/MicroBenchmarks.csproj b/perf/MicroBenchmarks/MicroBenchmarks.csproj index b29687af46..f33beb4551 100644 --- a/perf/MicroBenchmarks/MicroBenchmarks.csproj +++ b/perf/MicroBenchmarks/MicroBenchmarks.csproj @@ -8,7 +8,7 @@ - + diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json index e542d9810e..f7edbd2d98 100644 --- a/perf/MicroBenchmarks/packages.lock.json +++ b/perf/MicroBenchmarks/packages.lock.json @@ -4,22 +4,20 @@ "net6.0": { "BenchmarkDotNet": { "type": "Direct", - "requested": "[0.13.2, )", - "resolved": "0.13.2", - "contentHash": "82IflYxY8qnQXEA3kXtqC9pntrkJYJZbQ9PV7hEV/XcfCtOdwLz84ilyO8tLRVbiliWttvmt/v44P+visN+fPQ==", + "requested": "[0.13.10, )", + "resolved": "0.13.10", + "contentHash": "p/LrTtR5TlwhZIvy2hG9VzTFWEDPS90r3QP9Q9pL4/B1iXzC/JNrpYyCWW3Xeg4vuiq/qV8hvJkJmT1sj+5LSw==", "dependencies": { - "BenchmarkDotNet.Annotations": "0.13.2", - "CommandLineParser": "2.4.3", + "BenchmarkDotNet.Annotations": "0.13.10", + "CommandLineParser": "2.9.1", + "Gee.External.Capstone": "2.3.0", "Iced": "1.17.0", - "Microsoft.CodeAnalysis.CSharp": "3.0.0", + "Microsoft.CodeAnalysis.CSharp": "4.1.0", "Microsoft.Diagnostics.Runtime": "2.2.332302", "Microsoft.Diagnostics.Tracing.TraceEvent": "3.0.2", "Microsoft.DotNet.PlatformAbstractions": "3.1.6", - "Perfolizer": "0.2.1", - "System.Management": "6.0.0", - "System.Reflection.Emit": "4.7.0", - "System.Reflection.Emit.Lightweight": "4.7.0", - "System.Threading.Tasks.Extensions": "4.5.4" + "Perfolizer": "[0.2.1]", + "System.Management": "5.0.0" } }, "AspNetCoreRateLimit": { @@ -153,8 +151,8 @@ }, "BenchmarkDotNet.Annotations": { "type": "Transitive", - "resolved": "0.13.2", - "contentHash": "+SGOYyXT6fiagbtrni38B8BqBgjruYKU3PfROI0lDIYo8jQ+APUmLKMEswK7zwR5fEOCrDmoAHSH6oykBkqPgA==" + "resolved": "0.13.10", + "contentHash": "abYKp+P5NBuam7q0w7AFgOYF3nqAvKBw6MLq96Kjk1WdaRDNpgBc6uCgOP4pVIH/g0IF9d4ubnFLBwiJuIAHMw==" }, "BitPay.Light": { "type": "Transitive", @@ -181,8 +179,8 @@ }, "CommandLineParser": { "type": "Transitive", - "resolved": "2.4.3", - "contentHash": "U2FC9Y8NyIxxU6MpFFdWWu1xwiqz/61v/Doou7kmVjpeIEMLWyiNNkzNlSE84kyJ0O1LKApuEj5z48Ow0Hi4OQ==" + "resolved": "2.9.1", + "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==" }, "DnsClient": { "type": "Transitive", @@ -236,6 +234,11 @@ "resolved": "3.0.1", "contentHash": "mgjcuGETuYSCUEaZG+jQeeuuEMkDLc4GDJHBvKDdOz6oSOWp5adPdWP4btZx7Pi+9fu4szN3JIjJmby67MaILw==" }, + "Gee.External.Capstone": { + "type": "Transitive", + "resolved": "2.3.0", + "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw==" + }, "Handlebars.Net": { "type": "Transitive", "resolved": "2.1.2", @@ -447,29 +450,29 @@ }, "Microsoft.CodeAnalysis.Analyzers": { "type": "Transitive", - "resolved": "2.6.2-beta2", - "contentHash": "rg5Ql73AmGCMG5Q40Kzbndq7C7S4XvsJA+2QXfZBCy2dRqD+a7BSbx/3942EoRUJ/8Wh9+kLg2G2qC46o3f1Aw==" + "resolved": "3.3.3", + "contentHash": "j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==" }, "Microsoft.CodeAnalysis.Common": { "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "HEnLZ9Op5IoXeuokhfSLIXstXfEyPzXhQ/xsnvUmxzb+7YpwuLk57txArzGs/Wne5bWmU7Uey4Q1jUZ3++heqg==", + "resolved": "4.1.0", + "contentHash": "bNzTyxP3iD5FPFHfVDl15Y6/wSoI7e3MeV0lOaj9igbIKTjgrmuw6LoVJ06jUNFA7+KaDC/OIsStWl/FQJz6sQ==", "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "2.6.2-beta2", - "System.Collections.Immutable": "1.5.0", - "System.Memory": "4.5.1", - "System.Reflection.Metadata": "1.6.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.0", - "System.Text.Encoding.CodePages": "4.5.0", - "System.Threading.Tasks.Extensions": "4.5.0" + "Microsoft.CodeAnalysis.Analyzers": "3.3.3", + "System.Collections.Immutable": "5.0.0", + "System.Memory": "4.5.4", + "System.Reflection.Metadata": "5.0.0", + "System.Runtime.CompilerServices.Unsafe": "5.0.0", + "System.Text.Encoding.CodePages": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.4" } }, "Microsoft.CodeAnalysis.CSharp": { "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "hWFUxc0iUbVvIKWJODErOeOa5GiqZuEcetxaCfHqZ04zHy0ZCLx3v4/TdF/6Erx1mXPHfoT2Tiz5rZCQZ6OyxQ==", + "resolved": "4.1.0", + "contentHash": "sbu6kDGzo9bfQxuqWpeEE7I9P30bSuZEnpDz9/qz20OU6pm79Z63+/BsAzO2e/R/Q97kBrpj647wokZnEVr97w==", "dependencies": { - "Microsoft.CodeAnalysis.Common": "[3.0.0]" + "Microsoft.CodeAnalysis.Common": "[4.1.0]" } }, "Microsoft.CSharp": { @@ -1324,8 +1327,8 @@ }, "System.CodeDom": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==" + "resolved": "5.0.0", + "contentHash": "JPJArwA1kdj8qDAkY2XGjSWoYnqiM7q/3yRNkt6n28Mnn95MuEGkZXUbPBf7qc3IjwrGY5ttQon7yqHZyQJmOQ==" }, "System.Collections": { "type": "Transitive", @@ -1700,10 +1703,12 @@ }, "System.Management": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "sHsESYMmPDhQuOC66h6AEOs/XowzKsbT9srMbX71TCXP58hkpn1BqBjdmKj1+DCA/WlBETX1K5WjQHwmV0Txrg==", + "resolved": "5.0.0", + "contentHash": "MF1CHaRcC+MLFdnDthv4/bKWBZnlnSpkGqa87pKukQefgEdwtb9zFW6zs0GjPp73qtpYYg4q6PEKbzJbxCpKfw==", "dependencies": { - "System.CodeDom": "6.0.0" + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.Win32.Registry": "5.0.0", + "System.CodeDom": "5.0.0" } }, "System.Memory": { @@ -1925,8 +1930,15 @@ }, "System.Reflection.Emit": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==" + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } }, "System.Reflection.Emit.ILGeneration": { "type": "Transitive", @@ -1940,8 +1952,14 @@ }, "System.Reflection.Emit.Lightweight": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "a4OLB4IITxAXJeV74MDx49Oq2+PsF6Sml54XAFv+2RyWwtDBcabzoxiiJRhdhx+gaohLh4hEGCLQyBozXoQPqA==" + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } }, "System.Reflection.Extensions": { "type": "Transitive", @@ -1956,8 +1974,8 @@ }, "System.Reflection.Metadata": { "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + "resolved": "5.0.0", + "contentHash": "5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ==" }, "System.Reflection.Primitives": { "type": "Transitive", From 9021236d61b0190cd8a5004d26e00dc18bbdbbca Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:18:08 +1000 Subject: [PATCH 09/11] AC Team code ownership moves: Organization pt. 1 (#3472) * move Organization.cs files to AC Team code ownership --- .../src/Scim/Context/IScimContext.cs | 4 ++-- .../src/Scim/Context/ScimContext.cs | 4 ++-- .../Groups/Interfaces/IPatchGroupCommand.cs | 2 +- .../Groups/Interfaces/IPostGroupCommand.cs | 1 - .../Groups/Interfaces/IPutGroupCommand.cs | 1 - .../src/Scim/Groups/PatchGroupCommand.cs | 2 +- .../src/Scim/Groups/PostGroupCommand.cs | 1 - .../src/Scim/Groups/PutGroupCommand.cs | 1 - .../Services/ProviderServiceTests.cs | 1 + .../Queries/Projects/MaxProjectsQueryTests.cs | 2 +- ...ewServiceAccountSlotsRequiredQueryTests.cs | 2 +- .../Factories/ScimApplicationFactory.cs | 7 +++--- .../Groups/PatchGroupCommandTests.cs | 1 - .../Scim.Test/Groups/PostGroupCommandTests.cs | 1 - .../Scim.Test/Groups/PutGroupCommandTests.cs | 1 - .../Controllers/OrganizationsController.cs | 1 - src/Admin/Controllers/ToolsController.cs | 1 + .../Models/OrganizationSelectableViewModel.cs | 2 +- src/Admin/Models/OrganizationsModel.cs | 2 +- .../OrganizationKeysRequestModel.cs | 2 +- .../OrganizationUpdateRequestModel.cs | 2 +- .../OrganizationKeysResponseModel.cs | 2 +- .../OrganizationPublicKeyResponseModel.cs | 2 +- .../OrganizationResponseModel.cs | 2 +- .../Models/Request/TwoFactorRequestModels.cs | 3 ++- .../Response/OrganizationSsoResponseModel.cs | 4 ++-- .../TwoFactor/TwoFactorDuoResponseModel.cs | 3 ++- .../TwoFactorProviderResponseModel.cs | 3 ++- ...nCollectionManagementUpdateRequestModel.cs | 2 +- ...tsManagerSubscriptionUpdateRequestModel.cs | 2 +- src/Billing/Controllers/StripeController.cs | 2 +- .../Entities/Organization.cs | 3 ++- .../Groups/CreateGroupCommand.cs | 1 - .../Groups/Interfaces/ICreateGroupCommand.cs | 1 - .../Groups/Interfaces/IUpdateGroupCommand.cs | 1 - .../Groups/UpdateGroupCommand.cs | 1 - .../IValidateBillingSyncKeyCommand.cs | 2 +- .../ValidateBillingSyncKeyCommand.cs | 4 ++-- .../IOrganizationTwoFactorTokenProvider.cs | 3 ++- .../OrganizationDuoWebTokenProvider.cs | 3 ++- .../Business/Tokenables/SsoTokenable.cs | 4 ++-- src/Core/Auth/Services/ISsoConfigService.cs | 4 ++-- .../Implementations/SsoConfigService.cs | 1 - .../Models/Business/OrganizationLicense.cs | 2 +- .../Models/Business/SeatSubscriptionUpdate.cs | 2 +- .../Business/SecretsManagerSubscribeUpdate.cs | 2 +- .../SecretsManagerSubscriptionUpdate.cs | 2 +- .../ServiceAccountSubscriptionUpdate.cs | 2 +- .../Business/SmSeatSubscriptionUpdate.cs | 2 +- .../Business/SubscriptionCreateOptions.cs | 2 +- .../Data/Organizations/OrganizationAbility.cs | 2 +- .../OrganizationUserResetPasswordDetails.cs | 3 ++- .../Cloud/CloudGetOrganizationLicenseQuery.cs | 2 +- .../IGetOrganizationLicenseQuery.cs | 3 ++- .../IUpdateOrganizationLicenseCommand.cs | 2 +- .../SelfHostedGetOrganizationLicenseQuery.cs | 3 ++- .../UpdateOrganizationLicenseCommand.cs | 2 +- .../Cloud/CloudSyncSponsorshipsCommand.cs | 3 ++- .../Cloud/SendSponsorshipOfferCommand.cs | 3 ++- .../Cloud/SetUpSponsorshipCommand.cs | 3 ++- .../Cloud/ValidateSponsorshipCommand.cs | 3 ++- .../CreateSponsorshipCommand.cs | 3 ++- .../Interfaces/ICreateSponsorshipCommand.cs | 3 ++- .../ISendSponsorshipOfferCommand.cs | 3 ++- .../Interfaces/ISetUpSponsorshipCommand.cs | 3 ++- .../ISyncOrganizationSponsorshipsCommand.cs | 3 ++- .../AddSecretsManagerSubscriptionCommand.cs | 4 ++-- .../IAddSecretsManagerSubscriptionCommand.cs | 2 +- ...UpdateSecretsManagerSubscriptionCommand.cs | 2 +- .../UpgradeOrganizationPlanCommand.cs | 4 ++-- .../Repositories/IOrganizationRepository.cs | 2 +- src/Core/Services/IApplicationCacheService.cs | 4 ++-- src/Core/Services/ILicensingService.cs | 3 ++- src/Core/Services/IMailService.cs | 3 ++- src/Core/Services/IOrganizationService.cs | 1 + src/Core/Services/IPaymentService.cs | 3 ++- .../Implementations/HandlebarsMailService.cs | 1 + .../InMemoryApplicationCacheService.cs | 4 ++-- ...MemoryServiceBusApplicationCacheService.cs | 2 +- .../Implementations/LicensingService.cs | 1 + .../Implementations/StripePaymentService.cs | 1 + .../NoopLicensingService.cs | 3 ++- .../NoopImplementations/NoopMailService.cs | 3 ++- .../IdentityServer/BaseRequestValidator.cs | 1 + .../IdentityServer/WebAuthnGrantValidator.cs | 1 + .../{ => AdminConsole}/Models/Organization.cs | 8 +++---- .../AdminConsole/Models/Policy.cs | 1 - .../Models/Provider/ProviderOrganization.cs | 1 - .../Auth/Models/AuthRequest.cs | 1 + .../Auth/Models/SsoConfig.cs | 2 +- .../Auth/Models/SsoUser.cs | 1 + .../Models/Collection.cs | 1 + .../Models/Group.cs | 1 + .../Models/OrganizationApiKey.cs | 1 + .../Models/OrganizationConnection.cs | 1 + .../Models/OrganizationDomain.cs | 1 + .../Models/OrganizationSponsorship.cs | 1 + .../Models/OrganizationUser.cs | 1 + .../Models/Transaction.cs | 1 + .../BaseEntityFrameworkRepository.cs | 2 +- .../Repositories/OrganizationRepository.cs | 24 +++++++++---------- .../SecretsManager/Models/Project.cs | 2 +- .../SecretsManager/Models/Secret.cs | 2 +- .../SecretsManager/Models/ServiceAccount.cs | 2 +- .../Tools/Models/Send.cs | 1 + .../Vault/Models/Cipher.cs | 1 + .../Controllers/ConfigControllerTests.cs | 2 +- .../Helpers/OrganizationTestHelpers.cs | 3 ++- .../Controllers/ProjectsControllerTests.cs | 2 +- .../ServiceAccountsControllerTests.cs | 2 +- .../SecretsManagerOrganizationHelper.cs | 1 + .../Controllers/GroupsControllerTests.cs | 1 - .../OrganizationDomainControllerTests.cs | 1 + ...OrganizationSponsorshipsControllerTests.cs | 1 + .../OrganizationsControllerTests.cs | 1 + .../Controllers/GroupsControllerTests.cs | 1 - .../Controllers/CollectionsControllerTests.cs | 1 + .../LegacyCollectionsControllerTests.cs | 1 + .../ServiceAccountsControllerTests.cs | 2 +- .../Controllers/FreshdeskControllerTests.cs | 1 + .../Controllers/FreshsalesControllerTests.cs | 1 + .../Groups/CreateGroupCommandTests.cs | 1 - .../Groups/UpdateGroupCommandTests.cs | 1 - .../ValidateBillingSyncKeyCommandTests.cs | 3 ++- .../CountNewSmSeatsRequiredQueryTests.cs | 4 ++-- .../Services/PolicyServiceTests.cs | 1 - .../Business/Tokenables/SsoTokenableTests.cs | 2 +- .../Auth/Services/SsoConfigServiceTests.cs | 1 - .../SetInitialMasterPasswordCommandTests.cs | 3 ++- test/Core.Test/Entities/OrganizationTests.cs | 2 +- .../SecretsManagerSubscriptionUpdateTests.cs | 2 +- .../CloudGetOrganizationLicenseQueryTests.cs | 3 ++- ...fHostedGetOrganizationLicenseQueryTests.cs | 1 + .../CancelSponsorshipCommandTestsBase.cs | 3 ++- .../CloudSyncSponsorshipsCommandTests.cs | 3 ++- .../Cloud/SendSponsorshipOfferCommandTests.cs | 3 ++- .../Cloud/SetUpSponsorshipCommandTests.cs | 3 ++- .../Cloud/ValidateSponsorshipCommandTests.cs | 3 ++- .../CreateSponsorshipCommandTests.cs | 3 ++- ...dSecretsManagerSubscriptionCommandTests.cs | 4 ++-- ...eSecretsManagerSubscriptionCommandTests.cs | 2 +- .../UpgradeOrganizationPlanCommandTests.cs | 2 +- .../AcceptOrgUserCommandTests.cs | 3 ++- .../Services/CollectionServiceTests.cs | 3 ++- .../Services/HandlebarsMailServiceTests.cs | 1 + .../Services/LicensingServiceTests.cs | 2 +- .../Services/OrganizationServiceTests.cs | 2 +- .../Services/StripePaymentServiceTests.cs | 2 +- test/Core.Test/Services/UserServiceTests.cs | 1 + .../Vault/Services/CipherServiceTests.cs | 3 ++- .../Endpoints/IdentityServerSsoTests.cs | 1 + .../Endpoints/IdentityServerTests.cs | 4 ++-- .../Repositories/PolicyRepositoryTests.cs | 2 +- .../AuthRequestRepositoryTests.cs | 3 ++- .../Repositories/SsoConfigRepositoryTests.cs | 4 ++-- .../Repositories/SsoUserRepositoryTests.cs | 3 ++- .../AutoFixture/OrganizationFixtures.cs | 2 +- .../Repositories/CollectionRepository.cs | 3 ++- .../EqualityComparers/OrganizationCompare.cs | 2 +- .../OrganizationRepositoryTests.cs | 2 +- .../OrganizationSponsorshipRepositoryTests.cs | 3 ++- .../TransactionRepositoryTests.cs | 3 ++- .../Repositories/UserRepositoryTests.cs | 3 ++- .../Tools/Repositories/SendRepositoryTests.cs | 3 ++- .../Repositories/CipherRepositoryTests.cs | 3 ++- .../OrganizationUserRepositoryTests.cs | 3 ++- .../Repositories/CipherRepositoryTests.cs | 1 + 167 files changed, 222 insertions(+), 164 deletions(-) rename src/Core/{ => AdminConsole}/Entities/Organization.cs (99%) rename src/Infrastructure.EntityFramework/{ => AdminConsole}/Models/Organization.cs (86%) diff --git a/bitwarden_license/src/Scim/Context/IScimContext.cs b/bitwarden_license/src/Scim/Context/IScimContext.cs index 79bc387b47..b3a6444eb3 100644 --- a/bitwarden_license/src/Scim/Context/IScimContext.cs +++ b/bitwarden_license/src/Scim/Context/IScimContext.cs @@ -1,6 +1,6 @@ -using Bit.Core.AdminConsole.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.Models.OrganizationConnectionConfigs; -using Bit.Core.Entities; using Bit.Core.Repositories; using Bit.Core.Settings; diff --git a/bitwarden_license/src/Scim/Context/ScimContext.cs b/bitwarden_license/src/Scim/Context/ScimContext.cs index e22d461f89..71ea27df4c 100644 --- a/bitwarden_license/src/Scim/Context/ScimContext.cs +++ b/bitwarden_license/src/Scim/Context/ScimContext.cs @@ -1,6 +1,6 @@ -using Bit.Core.AdminConsole.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.Models.OrganizationConnectionConfigs; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Repositories; using Bit.Core.Settings; diff --git a/bitwarden_license/src/Scim/Groups/Interfaces/IPatchGroupCommand.cs b/bitwarden_license/src/Scim/Groups/Interfaces/IPatchGroupCommand.cs index 181f0c70ae..b9516cf706 100644 --- a/bitwarden_license/src/Scim/Groups/Interfaces/IPatchGroupCommand.cs +++ b/bitwarden_license/src/Scim/Groups/Interfaces/IPatchGroupCommand.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Scim.Models; namespace Bit.Scim.Groups.Interfaces; diff --git a/bitwarden_license/src/Scim/Groups/Interfaces/IPostGroupCommand.cs b/bitwarden_license/src/Scim/Groups/Interfaces/IPostGroupCommand.cs index 011199f033..8aa975f710 100644 --- a/bitwarden_license/src/Scim/Groups/Interfaces/IPostGroupCommand.cs +++ b/bitwarden_license/src/Scim/Groups/Interfaces/IPostGroupCommand.cs @@ -1,5 +1,4 @@ using Bit.Core.AdminConsole.Entities; -using Bit.Core.Entities; using Bit.Scim.Models; namespace Bit.Scim.Groups.Interfaces; diff --git a/bitwarden_license/src/Scim/Groups/Interfaces/IPutGroupCommand.cs b/bitwarden_license/src/Scim/Groups/Interfaces/IPutGroupCommand.cs index 8c0b9108c0..3c54f5ead4 100644 --- a/bitwarden_license/src/Scim/Groups/Interfaces/IPutGroupCommand.cs +++ b/bitwarden_license/src/Scim/Groups/Interfaces/IPutGroupCommand.cs @@ -1,5 +1,4 @@ using Bit.Core.AdminConsole.Entities; -using Bit.Core.Entities; using Bit.Scim.Models; namespace Bit.Scim.Groups.Interfaces; diff --git a/bitwarden_license/src/Scim/Groups/PatchGroupCommand.cs b/bitwarden_license/src/Scim/Groups/PatchGroupCommand.cs index f31225754f..94d9b7a4c2 100644 --- a/bitwarden_license/src/Scim/Groups/PatchGroupCommand.cs +++ b/bitwarden_license/src/Scim/Groups/PatchGroupCommand.cs @@ -1,8 +1,8 @@ using System.Text.Json; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; using Bit.Core.AdminConsole.Services; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Scim.Groups.Interfaces; diff --git a/bitwarden_license/src/Scim/Groups/PostGroupCommand.cs b/bitwarden_license/src/Scim/Groups/PostGroupCommand.cs index 80ec5c5e3e..9cc8c8d13c 100644 --- a/bitwarden_license/src/Scim/Groups/PostGroupCommand.cs +++ b/bitwarden_license/src/Scim/Groups/PostGroupCommand.cs @@ -2,7 +2,6 @@ using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Repositories; diff --git a/bitwarden_license/src/Scim/Groups/PutGroupCommand.cs b/bitwarden_license/src/Scim/Groups/PutGroupCommand.cs index 96c67be918..d9cfc0d86f 100644 --- a/bitwarden_license/src/Scim/Groups/PutGroupCommand.cs +++ b/bitwarden_license/src/Scim/Groups/PutGroupCommand.cs @@ -2,7 +2,6 @@ using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Scim.Context; diff --git a/bitwarden_license/test/Commercial.Core.Test/AdminConsole/Services/ProviderServiceTests.cs b/bitwarden_license/test/Commercial.Core.Test/AdminConsole/Services/ProviderServiceTests.cs index 01538003c6..b7ee76da1a 100644 --- a/bitwarden_license/test/Commercial.Core.Test/AdminConsole/Services/ProviderServiceTests.cs +++ b/bitwarden_license/test/Commercial.Core.Test/AdminConsole/Services/ProviderServiceTests.cs @@ -1,5 +1,6 @@ using Bit.Commercial.Core.AdminConsole.Services; using Bit.Commercial.Core.Test.AdminConsole.AutoFixture; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.AdminConsole.Enums.Provider; using Bit.Core.AdminConsole.Models.Business.Provider; diff --git a/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/Projects/MaxProjectsQueryTests.cs b/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/Projects/MaxProjectsQueryTests.cs index 030e31d249..e1fa7bf9fc 100644 --- a/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/Projects/MaxProjectsQueryTests.cs +++ b/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/Projects/MaxProjectsQueryTests.cs @@ -1,5 +1,5 @@ using Bit.Commercial.Core.SecretsManager.Queries.Projects; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Repositories; diff --git a/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/ServiceAccounts/CountNewServiceAccountSlotsRequiredQueryTests.cs b/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/ServiceAccounts/CountNewServiceAccountSlotsRequiredQueryTests.cs index 21c91920a9..659e72729a 100644 --- a/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/ServiceAccounts/CountNewServiceAccountSlotsRequiredQueryTests.cs +++ b/bitwarden_license/test/Commercial.Core.Test/SecretsManager/Queries/ServiceAccounts/CountNewServiceAccountSlotsRequiredQueryTests.cs @@ -1,5 +1,5 @@ using Bit.Commercial.Core.SecretsManager.Queries.ServiceAccounts; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Exceptions; using Bit.Core.Repositories; using Bit.Core.SecretsManager.Repositories; diff --git a/bitwarden_license/test/Scim.IntegrationTest/Factories/ScimApplicationFactory.cs b/bitwarden_license/test/Scim.IntegrationTest/Factories/ScimApplicationFactory.cs index d88dc728d5..6ebd59283d 100644 --- a/bitwarden_license/test/Scim.IntegrationTest/Factories/ScimApplicationFactory.cs +++ b/bitwarden_license/test/Scim.IntegrationTest/Factories/ScimApplicationFactory.cs @@ -4,6 +4,7 @@ using System.Text; using System.Text.Encodings.Web; using System.Text.Json; using Bit.Core.Services; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.IntegrationTestCommon.Factories; using Bit.Scim.Models; @@ -196,11 +197,11 @@ public class ScimApplicationFactory : WebApplicationFactoryBase }; } - private List GetSeedingOrganizations() + private List GetSeedingOrganizations() { - return new List() + return new List() { - new Infrastructure.EntityFramework.Models.Organization { Id = TestOrganizationId1, Name = "Test Organization 1", UseGroups = true } + new Organization { Id = TestOrganizationId1, Name = "Test Organization 1", UseGroups = true } }; } diff --git a/bitwarden_license/test/Scim.Test/Groups/PatchGroupCommandTests.cs b/bitwarden_license/test/Scim.Test/Groups/PatchGroupCommandTests.cs index 066887fe7a..ff8cb3b546 100644 --- a/bitwarden_license/test/Scim.Test/Groups/PatchGroupCommandTests.cs +++ b/bitwarden_license/test/Scim.Test/Groups/PatchGroupCommandTests.cs @@ -3,7 +3,6 @@ using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; using Bit.Core.AdminConsole.Services; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Scim.Groups; diff --git a/bitwarden_license/test/Scim.Test/Groups/PostGroupCommandTests.cs b/bitwarden_license/test/Scim.Test/Groups/PostGroupCommandTests.cs index 2d06f23a29..acf1c6c782 100644 --- a/bitwarden_license/test/Scim.Test/Groups/PostGroupCommandTests.cs +++ b/bitwarden_license/test/Scim.Test/Groups/PostGroupCommandTests.cs @@ -2,7 +2,6 @@ using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Scim.Context; diff --git a/bitwarden_license/test/Scim.Test/Groups/PutGroupCommandTests.cs b/bitwarden_license/test/Scim.Test/Groups/PutGroupCommandTests.cs index 05f6672779..1a906d58a9 100644 --- a/bitwarden_license/test/Scim.Test/Groups/PutGroupCommandTests.cs +++ b/bitwarden_license/test/Scim.Test/Groups/PutGroupCommandTests.cs @@ -2,7 +2,6 @@ using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Scim.Context; diff --git a/src/Admin/Controllers/OrganizationsController.cs b/src/Admin/Controllers/OrganizationsController.cs index 67fa26aaca..aebdcefe4f 100644 --- a/src/Admin/Controllers/OrganizationsController.cs +++ b/src/Admin/Controllers/OrganizationsController.cs @@ -5,7 +5,6 @@ using Bit.Admin.Utilities; using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.OrganizationConnectionConfigs; diff --git a/src/Admin/Controllers/ToolsController.cs b/src/Admin/Controllers/ToolsController.cs index d3d5b1783c..2b59441a54 100644 --- a/src/Admin/Controllers/ToolsController.cs +++ b/src/Admin/Controllers/ToolsController.cs @@ -3,6 +3,7 @@ using System.Text.Json; using Bit.Admin.Enums; using Bit.Admin.Models; using Bit.Admin.Utilities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Models.BitStripe; using Bit.Core.OrganizationFeatures.OrganizationLicenses.Interfaces; diff --git a/src/Admin/Models/OrganizationSelectableViewModel.cs b/src/Admin/Models/OrganizationSelectableViewModel.cs index 0daa5fda88..e43bb19723 100644 --- a/src/Admin/Models/OrganizationSelectableViewModel.cs +++ b/src/Admin/Models/OrganizationSelectableViewModel.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Admin.Models; diff --git a/src/Admin/Models/OrganizationsModel.cs b/src/Admin/Models/OrganizationsModel.cs index 706377f8e2..ea2a370d51 100644 --- a/src/Admin/Models/OrganizationsModel.cs +++ b/src/Admin/Models/OrganizationsModel.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Admin.Models; diff --git a/src/Api/AdminConsole/Models/Request/Organizations/OrganizationKeysRequestModel.cs b/src/Api/AdminConsole/Models/Request/Organizations/OrganizationKeysRequestModel.cs index 3a343caa21..4afa5b54ea 100644 --- a/src/Api/AdminConsole/Models/Request/Organizations/OrganizationKeysRequestModel.cs +++ b/src/Api/AdminConsole/Models/Request/Organizations/OrganizationKeysRequestModel.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Business; namespace Bit.Api.AdminConsole.Models.Request.Organizations; diff --git a/src/Api/AdminConsole/Models/Request/Organizations/OrganizationUpdateRequestModel.cs b/src/Api/AdminConsole/Models/Request/Organizations/OrganizationUpdateRequestModel.cs index be526ee6cc..10c36cd116 100644 --- a/src/Api/AdminConsole/Models/Request/Organizations/OrganizationUpdateRequestModel.cs +++ b/src/Api/AdminConsole/Models/Request/Organizations/OrganizationUpdateRequestModel.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Data; using Bit.Core.Settings; diff --git a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationKeysResponseModel.cs b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationKeysResponseModel.cs index a2e4fe058d..15dbb18102 100644 --- a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationKeysResponseModel.cs +++ b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationKeysResponseModel.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Api; namespace Bit.Api.AdminConsole.Models.Response.Organizations; diff --git a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs index dc12479618..defae9ba4d 100644 --- a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs +++ b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationPublicKeyResponseModel.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Api; namespace Bit.Api.AdminConsole.Models.Response.Organizations; diff --git a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs index 65b217865f..b1a5bb1cff 100644 --- a/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs +++ b/src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs @@ -1,5 +1,5 @@ using Bit.Api.Models.Response; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Models.Api; using Bit.Core.Models.Business; diff --git a/src/Api/Auth/Models/Request/TwoFactorRequestModels.cs b/src/Api/Auth/Models/Request/TwoFactorRequestModels.cs index d946f09840..3bd8c5506f 100644 --- a/src/Api/Auth/Models/Request/TwoFactorRequestModels.cs +++ b/src/Api/Auth/Models/Request/TwoFactorRequestModels.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using Bit.Api.Auth.Models.Request.Accounts; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; using Bit.Core.Auth.Utilities; @@ -203,7 +204,7 @@ public class TwoFactorEmailRequestModel : SecretVerificationRequestModel [StringLength(256)] public string Email { get; set; } public string AuthRequestId { get; set; } - // An auth session token used for obtaining email and as an authN factor for the sending of emailed 2FA OTPs. + // An auth session token used for obtaining email and as an authN factor for the sending of emailed 2FA OTPs. public string SsoEmail2FaSessionToken { get; set; } public User ToUser(User existingUser) { diff --git a/src/Api/Auth/Models/Response/OrganizationSsoResponseModel.cs b/src/Api/Auth/Models/Response/OrganizationSsoResponseModel.cs index b2643a2f5f..bbf9d57c79 100644 --- a/src/Api/Auth/Models/Response/OrganizationSsoResponseModel.cs +++ b/src/Api/Auth/Models/Response/OrganizationSsoResponseModel.cs @@ -1,6 +1,6 @@ -using Bit.Core.Auth.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Entities; using Bit.Core.Auth.Models.Data; -using Bit.Core.Entities; using Bit.Core.Models.Api; using Bit.Core.Settings; diff --git a/src/Api/Auth/Models/Response/TwoFactor/TwoFactorDuoResponseModel.cs b/src/Api/Auth/Models/Response/TwoFactor/TwoFactorDuoResponseModel.cs index 775c367a28..1537c1b93e 100644 --- a/src/Api/Auth/Models/Response/TwoFactor/TwoFactorDuoResponseModel.cs +++ b/src/Api/Auth/Models/Response/TwoFactor/TwoFactorDuoResponseModel.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; using Bit.Core.Entities; using Bit.Core.Models.Api; diff --git a/src/Api/Auth/Models/Response/TwoFactor/TwoFactorProviderResponseModel.cs b/src/Api/Auth/Models/Response/TwoFactor/TwoFactorProviderResponseModel.cs index 66e41e80e1..760fddc1fb 100644 --- a/src/Api/Auth/Models/Response/TwoFactor/TwoFactorProviderResponseModel.cs +++ b/src/Api/Auth/Models/Response/TwoFactor/TwoFactorProviderResponseModel.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; using Bit.Core.Entities; using Bit.Core.Models.Api; diff --git a/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs b/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs index 904a2d1921..68e87b522b 100644 --- a/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs +++ b/src/Api/Models/Request/Organizations/OrganizationCollectionManagementUpdateRequestModel.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Api.Models.Request.Organizations; diff --git a/src/Api/Models/Request/Organizations/SecretsManagerSubscriptionUpdateRequestModel.cs b/src/Api/Models/Request/Organizations/SecretsManagerSubscriptionUpdateRequestModel.cs index 96e9603fc3..18bc66a0b6 100644 --- a/src/Api/Models/Request/Organizations/SecretsManagerSubscriptionUpdateRequestModel.cs +++ b/src/Api/Models/Request/Organizations/SecretsManagerSubscriptionUpdateRequestModel.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Business; namespace Bit.Api.Models.Request.Organizations; diff --git a/src/Billing/Controllers/StripeController.cs b/src/Billing/Controllers/StripeController.cs index de8b9a6239..e0adcd042a 100644 --- a/src/Billing/Controllers/StripeController.cs +++ b/src/Billing/Controllers/StripeController.cs @@ -1,7 +1,7 @@ using Bit.Billing.Constants; using Bit.Billing.Services; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; using Bit.Core.Repositories; diff --git a/src/Core/Entities/Organization.cs b/src/Core/AdminConsole/Entities/Organization.cs similarity index 99% rename from src/Core/Entities/Organization.cs rename to src/Core/AdminConsole/Entities/Organization.cs index 56387b58fd..0f1edb8de8 100644 --- a/src/Core/Entities/Organization.cs +++ b/src/Core/AdminConsole/Entities/Organization.cs @@ -2,12 +2,13 @@ using System.Text.Json; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Business; using Bit.Core.Tools.Entities; using Bit.Core.Utilities; -namespace Bit.Core.Entities; +namespace Bit.Core.AdminConsole.Entities; public class Organization : ITableObject, ISubscriber, IStorable, IStorableSubscriber, IRevisable, IReferenceable { diff --git a/src/Core/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommand.cs index 94e03afd8c..6c2dfd6b58 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommand.cs @@ -2,7 +2,6 @@ using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data; diff --git a/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/ICreateGroupCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/ICreateGroupCommand.cs index 54f5bc2ec2..428bd13462 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/ICreateGroupCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/ICreateGroupCommand.cs @@ -1,5 +1,4 @@ using Bit.Core.AdminConsole.Entities; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Data; diff --git a/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/IUpdateGroupCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/IUpdateGroupCommand.cs index 97b32fd950..fae217aad1 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/IUpdateGroupCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/Groups/Interfaces/IUpdateGroupCommand.cs @@ -1,5 +1,4 @@ using Bit.Core.AdminConsole.Entities; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Data; diff --git a/src/Core/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommand.cs index 3deb6994ac..3bc241221c 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommand.cs @@ -1,7 +1,6 @@ using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data; diff --git a/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/Interfaces/IValidateBillingSyncKeyCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/Interfaces/IValidateBillingSyncKeyCommand.cs index 78a28d3ec3..33b6f48b60 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/Interfaces/IValidateBillingSyncKeyCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/Interfaces/IValidateBillingSyncKeyCommand.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections.Interfaces; diff --git a/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommand.cs index 11360f2fa1..3e19c773ef 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommand.cs @@ -1,5 +1,5 @@ -using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections.Interfaces; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections.Interfaces; using Bit.Core.Exceptions; using Bit.Core.Repositories; diff --git a/src/Core/Auth/Identity/IOrganizationTwoFactorTokenProvider.cs b/src/Core/Auth/Identity/IOrganizationTwoFactorTokenProvider.cs index 81ce2adae9..4226cd0361 100644 --- a/src/Core/Auth/Identity/IOrganizationTwoFactorTokenProvider.cs +++ b/src/Core/Auth/Identity/IOrganizationTwoFactorTokenProvider.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; namespace Bit.Core.Auth.Identity; diff --git a/src/Core/Auth/Identity/OrganizationDuoWebTokenProvider.cs b/src/Core/Auth/Identity/OrganizationDuoWebTokenProvider.cs index 2b66e550c7..58bcf5efd8 100644 --- a/src/Core/Auth/Identity/OrganizationDuoWebTokenProvider.cs +++ b/src/Core/Auth/Identity/OrganizationDuoWebTokenProvider.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; using Bit.Core.Auth.Utilities.Duo; using Bit.Core.Entities; diff --git a/src/Core/Auth/Models/Business/Tokenables/SsoTokenable.cs b/src/Core/Auth/Models/Business/Tokenables/SsoTokenable.cs index 1f7bdfbc0f..48386c5439 100644 --- a/src/Core/Auth/Models/Business/Tokenables/SsoTokenable.cs +++ b/src/Core/Auth/Models/Business/Tokenables/SsoTokenable.cs @@ -1,5 +1,5 @@ using System.Text.Json.Serialization; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Tokens; namespace Bit.Core.Auth.Models.Business.Tokenables; @@ -35,7 +35,7 @@ public class SsoTokenable : ExpiringTokenable && organization.Id.Equals(OrganizationId); } - // Validates deserialized + // Validates deserialized protected override bool TokenIsValid() => Identifier == TokenIdentifier && OrganizationId != default diff --git a/src/Core/Auth/Services/ISsoConfigService.cs b/src/Core/Auth/Services/ISsoConfigService.cs index 1f1ec55fda..6cad992ddd 100644 --- a/src/Core/Auth/Services/ISsoConfigService.cs +++ b/src/Core/Auth/Services/ISsoConfigService.cs @@ -1,5 +1,5 @@ -using Bit.Core.Auth.Entities; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Entities; namespace Bit.Core.Auth.Services; diff --git a/src/Core/Auth/Services/Implementations/SsoConfigService.cs b/src/Core/Auth/Services/Implementations/SsoConfigService.cs index aac77613f6..62c8284953 100644 --- a/src/Core/Auth/Services/Implementations/SsoConfigService.cs +++ b/src/Core/Auth/Services/Implementations/SsoConfigService.cs @@ -6,7 +6,6 @@ using Bit.Core.AdminConsole.Services; using Bit.Core.Auth.Entities; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Repositories; diff --git a/src/Core/Models/Business/OrganizationLicense.cs b/src/Core/Models/Business/OrganizationLicense.cs index c9d6724184..a58f34e81f 100644 --- a/src/Core/Models/Business/OrganizationLicense.cs +++ b/src/Core/Models/Business/OrganizationLicense.cs @@ -3,7 +3,7 @@ using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Text.Json.Serialization; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Services; using Bit.Core.Settings; diff --git a/src/Core/Models/Business/SeatSubscriptionUpdate.cs b/src/Core/Models/Business/SeatSubscriptionUpdate.cs index 8b4c613d61..c5ea1a7474 100644 --- a/src/Core/Models/Business/SeatSubscriptionUpdate.cs +++ b/src/Core/Models/Business/SeatSubscriptionUpdate.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Stripe; namespace Bit.Core.Models.Business; diff --git a/src/Core/Models/Business/SecretsManagerSubscribeUpdate.cs b/src/Core/Models/Business/SecretsManagerSubscribeUpdate.cs index 8f3fb89349..857c98fb8e 100644 --- a/src/Core/Models/Business/SecretsManagerSubscribeUpdate.cs +++ b/src/Core/Models/Business/SecretsManagerSubscribeUpdate.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Stripe; namespace Bit.Core.Models.Business; diff --git a/src/Core/Models/Business/SecretsManagerSubscriptionUpdate.cs b/src/Core/Models/Business/SecretsManagerSubscriptionUpdate.cs index 3787470588..e731377b7b 100644 --- a/src/Core/Models/Business/SecretsManagerSubscriptionUpdate.cs +++ b/src/Core/Models/Business/SecretsManagerSubscriptionUpdate.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Exceptions; using Bit.Core.Models.StaticStore; diff --git a/src/Core/Models/Business/ServiceAccountSubscriptionUpdate.cs b/src/Core/Models/Business/ServiceAccountSubscriptionUpdate.cs index b49c9cd6c5..c93212eac8 100644 --- a/src/Core/Models/Business/ServiceAccountSubscriptionUpdate.cs +++ b/src/Core/Models/Business/ServiceAccountSubscriptionUpdate.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Stripe; namespace Bit.Core.Models.Business; diff --git a/src/Core/Models/Business/SmSeatSubscriptionUpdate.cs b/src/Core/Models/Business/SmSeatSubscriptionUpdate.cs index ddc126a261..ff6bb55011 100644 --- a/src/Core/Models/Business/SmSeatSubscriptionUpdate.cs +++ b/src/Core/Models/Business/SmSeatSubscriptionUpdate.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Stripe; namespace Bit.Core.Models.Business; diff --git a/src/Core/Models/Business/SubscriptionCreateOptions.cs b/src/Core/Models/Business/SubscriptionCreateOptions.cs index 17faef40a4..64626780ef 100644 --- a/src/Core/Models/Business/SubscriptionCreateOptions.cs +++ b/src/Core/Models/Business/SubscriptionCreateOptions.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Stripe; using Plan = Bit.Core.Models.StaticStore.Plan; diff --git a/src/Core/Models/Data/Organizations/OrganizationAbility.cs b/src/Core/Models/Data/Organizations/OrganizationAbility.cs index 22bf4008eb..e4506a82d3 100644 --- a/src/Core/Models/Data/Organizations/OrganizationAbility.cs +++ b/src/Core/Models/Data/Organizations/OrganizationAbility.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Core.Models.Data.Organizations; diff --git a/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserResetPasswordDetails.cs b/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserResetPasswordDetails.cs index 6edba19d99..ba3c821b2a 100644 --- a/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserResetPasswordDetails.cs +++ b/src/Core/Models/Data/Organizations/OrganizationUsers/OrganizationUserResetPasswordDetails.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; namespace Bit.Core.Models.Data.Organizations.OrganizationUsers; diff --git a/src/Core/OrganizationFeatures/OrganizationLicenses/Cloud/CloudGetOrganizationLicenseQuery.cs b/src/Core/OrganizationFeatures/OrganizationLicenses/Cloud/CloudGetOrganizationLicenseQuery.cs index a8d3a1638f..b8fad451e2 100644 --- a/src/Core/OrganizationFeatures/OrganizationLicenses/Cloud/CloudGetOrganizationLicenseQuery.cs +++ b/src/Core/OrganizationFeatures/OrganizationLicenses/Cloud/CloudGetOrganizationLicenseQuery.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Exceptions; using Bit.Core.Models.Business; using Bit.Core.OrganizationFeatures.OrganizationLicenses.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IGetOrganizationLicenseQuery.cs b/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IGetOrganizationLicenseQuery.cs index 2c66833e63..312b80a466 100644 --- a/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IGetOrganizationLicenseQuery.cs +++ b/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IGetOrganizationLicenseQuery.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Models.Business; namespace Bit.Core.OrganizationFeatures.OrganizationLicenses.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IUpdateOrganizationLicenseCommand.cs b/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IUpdateOrganizationLicenseCommand.cs index 2ba82c1c62..78f590e59f 100644 --- a/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IUpdateOrganizationLicenseCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationLicenses/Interfaces/IUpdateOrganizationLicenseCommand.cs @@ -1,6 +1,6 @@ #nullable enable -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Business; using Bit.Core.Models.Data.Organizations; diff --git a/src/Core/OrganizationFeatures/OrganizationLicenses/SelfHosted/SelfHostedGetOrganizationLicenseQuery.cs b/src/Core/OrganizationFeatures/OrganizationLicenses/SelfHosted/SelfHostedGetOrganizationLicenseQuery.cs index 84ae0a27db..89ea53fc20 100644 --- a/src/Core/OrganizationFeatures/OrganizationLicenses/SelfHosted/SelfHostedGetOrganizationLicenseQuery.cs +++ b/src/Core/OrganizationFeatures/OrganizationLicenses/SelfHosted/SelfHostedGetOrganizationLicenseQuery.cs @@ -1,4 +1,5 @@ -using Bit.Core.Context; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Exceptions; using Bit.Core.Models.Api.OrganizationLicenses; diff --git a/src/Core/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommand.cs b/src/Core/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommand.cs index 583f521434..62c46460aa 100644 --- a/src/Core/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommand.cs @@ -1,7 +1,7 @@ #nullable enable using System.Text.Json; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Exceptions; using Bit.Core.Models.Business; using Bit.Core.Models.Data.Organizations; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommand.cs index d0569278bb..29ff748772 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data.Organizations.OrganizationSponsorships; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommand.cs index 5f9a62d25f..0af62b10ff 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business.Tokenables; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommand.cs index 9230e7d13d..c43e64f69b 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Exceptions; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; using Bit.Core.Repositories; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommand.cs index 3f2d7af5eb..83a0249e80 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; using Bit.Core.Repositories; using Bit.Core.Services; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommand.cs index 69e6c3232c..f6373c3dcb 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ICreateSponsorshipCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ICreateSponsorshipCommand.cs index 1ba4b36628..8e3d055a79 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ICreateSponsorshipCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ICreateSponsorshipCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; namespace Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISendSponsorshipOfferCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISendSponsorshipOfferCommand.cs index 9795ed00f2..2f7f2ba1f1 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISendSponsorshipOfferCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISendSponsorshipOfferCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; namespace Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISetUpSponsorshipCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISetUpSponsorshipCommand.cs index 4c57c90728..45976b82ea 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISetUpSponsorshipCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISetUpSponsorshipCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; namespace Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISyncOrganizationSponsorshipsCommand.cs b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISyncOrganizationSponsorshipsCommand.cs index 0b8bb6444d..a4351625a6 100644 --- a/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISyncOrganizationSponsorshipsCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Interfaces/ISyncOrganizationSponsorshipsCommand.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Models.Data.Organizations.OrganizationSponsorships; namespace Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Interfaces; diff --git a/src/Core/OrganizationFeatures/OrganizationSubscriptions/AddSecretsManagerSubscriptionCommand.cs b/src/Core/OrganizationFeatures/OrganizationSubscriptions/AddSecretsManagerSubscriptionCommand.cs index 951246bd25..4187bd7be5 100644 --- a/src/Core/OrganizationFeatures/OrganizationSubscriptions/AddSecretsManagerSubscriptionCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSubscriptions/AddSecretsManagerSubscriptionCommand.cs @@ -1,6 +1,6 @@ -using Bit.Core.AdminConsole.Enums.Provider; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Enums.Provider; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/src/Core/OrganizationFeatures/OrganizationSubscriptions/Interface/IAddSecretsManagerSubscriptionCommand.cs b/src/Core/OrganizationFeatures/OrganizationSubscriptions/Interface/IAddSecretsManagerSubscriptionCommand.cs index 79adc740a5..7ae2bd92cb 100644 --- a/src/Core/OrganizationFeatures/OrganizationSubscriptions/Interface/IAddSecretsManagerSubscriptionCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSubscriptions/Interface/IAddSecretsManagerSubscriptionCommand.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Core.OrganizationFeatures.OrganizationSubscriptions.Interface; diff --git a/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpdateSecretsManagerSubscriptionCommand.cs b/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpdateSecretsManagerSubscriptionCommand.cs index ddfdee3f62..16c4682ad2 100644 --- a/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpdateSecretsManagerSubscriptionCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpdateSecretsManagerSubscriptionCommand.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpgradeOrganizationPlanCommand.cs b/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpgradeOrganizationPlanCommand.cs index 8486807c46..08b33e6664 100644 --- a/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpgradeOrganizationPlanCommand.cs +++ b/src/Core/OrganizationFeatures/OrganizationSubscriptions/UpgradeOrganizationPlanCommand.cs @@ -1,10 +1,10 @@ -using Bit.Core.AdminConsole.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.Models.OrganizationConnectionConfigs; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Repositories; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/src/Core/Repositories/IOrganizationRepository.cs b/src/Core/Repositories/IOrganizationRepository.cs index 4ac518489b..4598a11fb9 100644 --- a/src/Core/Repositories/IOrganizationRepository.cs +++ b/src/Core/Repositories/IOrganizationRepository.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Data.Organizations; namespace Bit.Core.Repositories; diff --git a/src/Core/Services/IApplicationCacheService.cs b/src/Core/Services/IApplicationCacheService.cs index 0537251af2..9c9b8ca550 100644 --- a/src/Core/Services/IApplicationCacheService.cs +++ b/src/Core/Services/IApplicationCacheService.cs @@ -1,6 +1,6 @@ -using Bit.Core.AdminConsole.Entities.Provider; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.AdminConsole.Models.Data.Provider; -using Bit.Core.Entities; using Bit.Core.Models.Data.Organizations; namespace Bit.Core.Services; diff --git a/src/Core/Services/ILicensingService.cs b/src/Core/Services/ILicensingService.cs index bf3b5ee425..e92fa87fd6 100644 --- a/src/Core/Services/ILicensingService.cs +++ b/src/Core/Services/ILicensingService.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Models.Business; namespace Bit.Core.Services; diff --git a/src/Core/Services/IMailService.cs b/src/Core/Services/IMailService.cs index 1b673c9fae..2920175d06 100644 --- a/src/Core/Services/IMailService.cs +++ b/src/Core/Services/IMailService.cs @@ -1,4 +1,5 @@ -using Bit.Core.AdminConsole.Entities.Provider; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.Auth.Entities; using Bit.Core.Auth.Models.Business; using Bit.Core.Entities; diff --git a/src/Core/Services/IOrganizationService.cs b/src/Core/Services/IOrganizationService.cs index a2e23e48d5..e03ac4936f 100644 --- a/src/Core/Services/IOrganizationService.cs +++ b/src/Core/Services/IOrganizationService.cs @@ -1,4 +1,5 @@ using System.Security.Claims; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Models.Business; using Bit.Core.Auth.Enums; using Bit.Core.Entities; diff --git a/src/Core/Services/IPaymentService.cs b/src/Core/Services/IPaymentService.cs index 82386a1cf2..2385155d3f 100644 --- a/src/Core/Services/IPaymentService.cs +++ b/src/Core/Services/IPaymentService.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Business; using Bit.Core.Models.StaticStore; diff --git a/src/Core/Services/Implementations/HandlebarsMailService.cs b/src/Core/Services/Implementations/HandlebarsMailService.cs index 0e55407da7..601fc292b8 100644 --- a/src/Core/Services/Implementations/HandlebarsMailService.cs +++ b/src/Core/Services/Implementations/HandlebarsMailService.cs @@ -1,5 +1,6 @@ using System.Net; using System.Reflection; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.Auth.Entities; using Bit.Core.Auth.Models.Business; diff --git a/src/Core/Services/Implementations/InMemoryApplicationCacheService.cs b/src/Core/Services/Implementations/InMemoryApplicationCacheService.cs index 140392ba2b..63db4a88b6 100644 --- a/src/Core/Services/Implementations/InMemoryApplicationCacheService.cs +++ b/src/Core/Services/Implementations/InMemoryApplicationCacheService.cs @@ -1,7 +1,7 @@ -using Bit.Core.AdminConsole.Entities.Provider; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.AdminConsole.Models.Data.Provider; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Models.Data.Organizations; using Bit.Core.Repositories; diff --git a/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs b/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs index e4ae033169..677a18bc21 100644 --- a/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs +++ b/src/Core/Services/Implementations/InMemoryServiceBusApplicationCacheService.cs @@ -1,6 +1,6 @@ using Azure.Messaging.ServiceBus; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Repositories; using Bit.Core.Settings; diff --git a/src/Core/Services/Implementations/LicensingService.cs b/src/Core/Services/Implementations/LicensingService.cs index fc8cfe5737..f84e68c256 100644 --- a/src/Core/Services/Implementations/LicensingService.cs +++ b/src/Core/Services/Implementations/LicensingService.cs @@ -1,6 +1,7 @@ using System.Security.Cryptography.X509Certificates; using System.Text; using System.Text.Json; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Models.Business; using Bit.Core.Repositories; diff --git a/src/Core/Services/Implementations/StripePaymentService.cs b/src/Core/Services/Implementations/StripePaymentService.cs index 320145ecd4..4de12c6afd 100644 --- a/src/Core/Services/Implementations/StripePaymentService.cs +++ b/src/Core/Services/Implementations/StripePaymentService.cs @@ -1,4 +1,5 @@ using Bit.Billing.Models; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; diff --git a/src/Core/Services/NoopImplementations/NoopLicensingService.cs b/src/Core/Services/NoopImplementations/NoopLicensingService.cs index c79be8009e..8eb42a318c 100644 --- a/src/Core/Services/NoopImplementations/NoopLicensingService.cs +++ b/src/Core/Services/NoopImplementations/NoopLicensingService.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Models.Business; using Bit.Core.Settings; using Microsoft.AspNetCore.Hosting; diff --git a/src/Core/Services/NoopImplementations/NoopMailService.cs b/src/Core/Services/NoopImplementations/NoopMailService.cs index e098d7051e..e404346666 100644 --- a/src/Core/Services/NoopImplementations/NoopMailService.cs +++ b/src/Core/Services/NoopImplementations/NoopMailService.cs @@ -1,4 +1,5 @@ -using Bit.Core.AdminConsole.Entities.Provider; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.Auth.Entities; using Bit.Core.Auth.Models.Business; using Bit.Core.Entities; diff --git a/src/Identity/IdentityServer/BaseRequestValidator.cs b/src/Identity/IdentityServer/BaseRequestValidator.cs index 0f319fbc84..f638783a56 100644 --- a/src/Identity/IdentityServer/BaseRequestValidator.cs +++ b/src/Identity/IdentityServer/BaseRequestValidator.cs @@ -3,6 +3,7 @@ using System.Reflection; using System.Security.Claims; using System.Text.Json; using Bit.Core; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.Services; using Bit.Core.Auth.Entities; diff --git a/src/Identity/IdentityServer/WebAuthnGrantValidator.cs b/src/Identity/IdentityServer/WebAuthnGrantValidator.cs index f11ebea111..6168ac22b1 100644 --- a/src/Identity/IdentityServer/WebAuthnGrantValidator.cs +++ b/src/Identity/IdentityServer/WebAuthnGrantValidator.cs @@ -1,6 +1,7 @@ using System.Security.Claims; using System.Text.Json; using Bit.Core; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Services; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Identity; diff --git a/src/Infrastructure.EntityFramework/Models/Organization.cs b/src/Infrastructure.EntityFramework/AdminConsole/Models/Organization.cs similarity index 86% rename from src/Infrastructure.EntityFramework/Models/Organization.cs rename to src/Infrastructure.EntityFramework/AdminConsole/Models/Organization.cs index b8d13e273e..3da462a09b 100644 --- a/src/Infrastructure.EntityFramework/Models/Organization.cs +++ b/src/Infrastructure.EntityFramework/AdminConsole/Models/Organization.cs @@ -1,13 +1,13 @@ using AutoMapper; using Bit.Core.Enums; using Bit.Core.Models.Data.Organizations; -using Bit.Infrastructure.EntityFramework.AdminConsole.Models; using Bit.Infrastructure.EntityFramework.Auth.Models; +using Bit.Infrastructure.EntityFramework.Models; using Bit.Infrastructure.EntityFramework.Vault.Models; -namespace Bit.Infrastructure.EntityFramework.Models; +namespace Bit.Infrastructure.EntityFramework.AdminConsole.Models; -public class Organization : Core.Entities.Organization +public class Organization : Core.AdminConsole.Entities.Organization { public virtual ICollection Ciphers { get; set; } public virtual ICollection OrganizationUsers { get; set; } @@ -26,7 +26,7 @@ public class OrganizationMapperProfile : Profile { public OrganizationMapperProfile() { - CreateMap().ReverseMap(); + CreateMap().ReverseMap(); CreateProjection() .ForMember(sd => sd.CollectionCount, opt => opt.MapFrom(o => o.Collections.Count)) .ForMember(sd => sd.GroupCount, opt => opt.MapFrom(o => o.Groups.Count)) diff --git a/src/Infrastructure.EntityFramework/AdminConsole/Models/Policy.cs b/src/Infrastructure.EntityFramework/AdminConsole/Models/Policy.cs index ac06416a49..0685789e2b 100644 --- a/src/Infrastructure.EntityFramework/AdminConsole/Models/Policy.cs +++ b/src/Infrastructure.EntityFramework/AdminConsole/Models/Policy.cs @@ -1,5 +1,4 @@ using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; namespace Bit.Infrastructure.EntityFramework.AdminConsole.Models; diff --git a/src/Infrastructure.EntityFramework/AdminConsole/Models/Provider/ProviderOrganization.cs b/src/Infrastructure.EntityFramework/AdminConsole/Models/Provider/ProviderOrganization.cs index 82bc26c5d5..e02dfbefec 100644 --- a/src/Infrastructure.EntityFramework/AdminConsole/Models/Provider/ProviderOrganization.cs +++ b/src/Infrastructure.EntityFramework/AdminConsole/Models/Provider/ProviderOrganization.cs @@ -1,5 +1,4 @@ using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; namespace Bit.Infrastructure.EntityFramework.AdminConsole.Models.Provider; diff --git a/src/Infrastructure.EntityFramework/Auth/Models/AuthRequest.cs b/src/Infrastructure.EntityFramework/Auth/Models/AuthRequest.cs index ecb9dc126f..0ceccd9f38 100644 --- a/src/Infrastructure.EntityFramework/Auth/Models/AuthRequest.cs +++ b/src/Infrastructure.EntityFramework/Auth/Models/AuthRequest.cs @@ -1,5 +1,6 @@ using AutoMapper; using Bit.Core.Auth.Models.Data; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; using Bit.Infrastructure.EntityFramework.Models; namespace Bit.Infrastructure.EntityFramework.Auth.Models; diff --git a/src/Infrastructure.EntityFramework/Auth/Models/SsoConfig.cs b/src/Infrastructure.EntityFramework/Auth/Models/SsoConfig.cs index bba641d510..d4fd0c8d36 100644 --- a/src/Infrastructure.EntityFramework/Auth/Models/SsoConfig.cs +++ b/src/Infrastructure.EntityFramework/Auth/Models/SsoConfig.cs @@ -1,5 +1,5 @@ using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Auth.Models; diff --git a/src/Infrastructure.EntityFramework/Auth/Models/SsoUser.cs b/src/Infrastructure.EntityFramework/Auth/Models/SsoUser.cs index 8d8dd8cafe..f8251e9db9 100644 --- a/src/Infrastructure.EntityFramework/Auth/Models/SsoUser.cs +++ b/src/Infrastructure.EntityFramework/Auth/Models/SsoUser.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; using Bit.Infrastructure.EntityFramework.Models; namespace Bit.Infrastructure.EntityFramework.Auth.Models; diff --git a/src/Infrastructure.EntityFramework/Models/Collection.cs b/src/Infrastructure.EntityFramework/Models/Collection.cs index 29495081d4..8418c33703 100644 --- a/src/Infrastructure.EntityFramework/Models/Collection.cs +++ b/src/Infrastructure.EntityFramework/Models/Collection.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/Group.cs b/src/Infrastructure.EntityFramework/Models/Group.cs index 8df9dbd7b5..7a537cfcf4 100644 --- a/src/Infrastructure.EntityFramework/Models/Group.cs +++ b/src/Infrastructure.EntityFramework/Models/Group.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/OrganizationApiKey.cs b/src/Infrastructure.EntityFramework/Models/OrganizationApiKey.cs index b8a4f4e746..e13bde5fb3 100644 --- a/src/Infrastructure.EntityFramework/Models/OrganizationApiKey.cs +++ b/src/Infrastructure.EntityFramework/Models/OrganizationApiKey.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/OrganizationConnection.cs b/src/Infrastructure.EntityFramework/Models/OrganizationConnection.cs index 5c41d5f6c1..5635bbba7e 100644 --- a/src/Infrastructure.EntityFramework/Models/OrganizationConnection.cs +++ b/src/Infrastructure.EntityFramework/Models/OrganizationConnection.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/OrganizationDomain.cs b/src/Infrastructure.EntityFramework/Models/OrganizationDomain.cs index bef7ba2af6..0d9ccefca0 100644 --- a/src/Infrastructure.EntityFramework/Models/OrganizationDomain.cs +++ b/src/Infrastructure.EntityFramework/Models/OrganizationDomain.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/OrganizationSponsorship.cs b/src/Infrastructure.EntityFramework/Models/OrganizationSponsorship.cs index 3d8b8acf77..4780346a1f 100644 --- a/src/Infrastructure.EntityFramework/Models/OrganizationSponsorship.cs +++ b/src/Infrastructure.EntityFramework/Models/OrganizationSponsorship.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/OrganizationUser.cs b/src/Infrastructure.EntityFramework/Models/OrganizationUser.cs index f3e11835f0..805dec49f7 100644 --- a/src/Infrastructure.EntityFramework/Models/OrganizationUser.cs +++ b/src/Infrastructure.EntityFramework/Models/OrganizationUser.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Models/Transaction.cs b/src/Infrastructure.EntityFramework/Models/Transaction.cs index 4eb63646c3..61bfbaeb59 100644 --- a/src/Infrastructure.EntityFramework/Models/Transaction.cs +++ b/src/Infrastructure.EntityFramework/Models/Transaction.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Repositories/BaseEntityFrameworkRepository.cs b/src/Infrastructure.EntityFramework/Repositories/BaseEntityFrameworkRepository.cs index ec3e1f27dc..6cf7cbb46e 100644 --- a/src/Infrastructure.EntityFramework/Repositories/BaseEntityFrameworkRepository.cs +++ b/src/Infrastructure.EntityFramework/Repositories/BaseEntityFrameworkRepository.cs @@ -1,6 +1,6 @@ using System.Text.Json; using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; using Bit.Infrastructure.EntityFramework.Repositories.Queries; using LinqToDB.Data; using Microsoft.EntityFrameworkCore; diff --git a/src/Infrastructure.EntityFramework/Repositories/OrganizationRepository.cs b/src/Infrastructure.EntityFramework/Repositories/OrganizationRepository.cs index b7ee85543f..000d3d0659 100644 --- a/src/Infrastructure.EntityFramework/Repositories/OrganizationRepository.cs +++ b/src/Infrastructure.EntityFramework/Repositories/OrganizationRepository.cs @@ -5,17 +5,17 @@ using Bit.Core.Models.Data.Organizations; using Bit.Core.Repositories; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; -using Organization = Bit.Infrastructure.EntityFramework.Models.Organization; +using Organization = Bit.Infrastructure.EntityFramework.AdminConsole.Models.Organization; namespace Bit.Infrastructure.EntityFramework.Repositories; -public class OrganizationRepository : Repository, IOrganizationRepository +public class OrganizationRepository : Repository, IOrganizationRepository { public OrganizationRepository(IServiceScopeFactory serviceScopeFactory, IMapper mapper) : base(serviceScopeFactory, mapper, (DatabaseContext context) => context.Organizations) { } - public async Task GetByIdentifierAsync(string identifier) + public async Task GetByIdentifierAsync(string identifier) { using (var scope = ServiceScopeFactory.CreateScope()) { @@ -26,17 +26,17 @@ public class OrganizationRepository : Repository> GetManyByEnabledAsync() + public async Task> GetManyByEnabledAsync() { using (var scope = ServiceScopeFactory.CreateScope()) { var dbContext = GetDatabaseContext(scope); var organizations = await GetDbSet(dbContext).Where(e => e.Enabled).ToListAsync(); - return Mapper.Map>(organizations); + return Mapper.Map>(organizations); } } - public async Task> GetManyByUserIdAsync(Guid userId) + public async Task> GetManyByUserIdAsync(Guid userId) { using (var scope = ServiceScopeFactory.CreateScope()) { @@ -46,11 +46,11 @@ public class OrganizationRepository : Repository ou.UserId == userId) .Select(ou => ou.Organization)) .ToListAsync(); - return Mapper.Map>(organizations); + return Mapper.Map>(organizations); } } - public async Task> SearchAsync(string name, string userEmail, + public async Task> SearchAsync(string name, string userEmail, bool? paid, int skip, int take) { using (var scope = ServiceScopeFactory.CreateScope()) @@ -65,7 +65,7 @@ public class OrganizationRepository : Repository e.CreationDate) .Skip(skip).Take(take) .ToListAsync(); - return Mapper.Map>(organizations); + return Mapper.Map>(organizations); } } @@ -93,7 +93,7 @@ public class OrganizationRepository : Repository> SearchUnassignedToProviderAsync(string name, string ownerEmail, int skip, int take) + public async Task> SearchUnassignedToProviderAsync(string name, string ownerEmail, int skip, int take) { using var scope = ServiceScopeFactory.CreateScope(); @@ -145,7 +145,7 @@ public class OrganizationRepository : Repository GetByLicenseKeyAsync(string licenseKey) + public async Task GetByLicenseKeyAsync(string licenseKey) { using (var scope = ServiceScopeFactory.CreateScope()) { diff --git a/src/Infrastructure.EntityFramework/SecretsManager/Models/Project.cs b/src/Infrastructure.EntityFramework/SecretsManager/Models/Project.cs index 8dde669428..77ca602841 100644 --- a/src/Infrastructure.EntityFramework/SecretsManager/Models/Project.cs +++ b/src/Infrastructure.EntityFramework/SecretsManager/Models/Project.cs @@ -1,5 +1,5 @@ using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.SecretsManager.Models; diff --git a/src/Infrastructure.EntityFramework/SecretsManager/Models/Secret.cs b/src/Infrastructure.EntityFramework/SecretsManager/Models/Secret.cs index abbc3620a0..a414c8864c 100644 --- a/src/Infrastructure.EntityFramework/SecretsManager/Models/Secret.cs +++ b/src/Infrastructure.EntityFramework/SecretsManager/Models/Secret.cs @@ -1,5 +1,5 @@ using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.SecretsManager.Models; diff --git a/src/Infrastructure.EntityFramework/SecretsManager/Models/ServiceAccount.cs b/src/Infrastructure.EntityFramework/SecretsManager/Models/ServiceAccount.cs index 87e6892f3d..2587160792 100644 --- a/src/Infrastructure.EntityFramework/SecretsManager/Models/ServiceAccount.cs +++ b/src/Infrastructure.EntityFramework/SecretsManager/Models/ServiceAccount.cs @@ -1,5 +1,5 @@ using AutoMapper; -using Bit.Infrastructure.EntityFramework.Models; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.SecretsManager.Models; diff --git a/src/Infrastructure.EntityFramework/Tools/Models/Send.cs b/src/Infrastructure.EntityFramework/Tools/Models/Send.cs index dbb55cd9ca..1d9c8ae181 100644 --- a/src/Infrastructure.EntityFramework/Tools/Models/Send.cs +++ b/src/Infrastructure.EntityFramework/Tools/Models/Send.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; namespace Bit.Infrastructure.EntityFramework.Models; diff --git a/src/Infrastructure.EntityFramework/Vault/Models/Cipher.cs b/src/Infrastructure.EntityFramework/Vault/Models/Cipher.cs index 6a316911ab..6655f98912 100644 --- a/src/Infrastructure.EntityFramework/Vault/Models/Cipher.cs +++ b/src/Infrastructure.EntityFramework/Vault/Models/Cipher.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Infrastructure.EntityFramework.AdminConsole.Models; using Bit.Infrastructure.EntityFramework.Models; namespace Bit.Infrastructure.EntityFramework.Vault.Models; diff --git a/test/Api.IntegrationTest/Controllers/ConfigControllerTests.cs b/test/Api.IntegrationTest/Controllers/ConfigControllerTests.cs index 22c7398398..32db96dd17 100644 --- a/test/Api.IntegrationTest/Controllers/ConfigControllerTests.cs +++ b/test/Api.IntegrationTest/Controllers/ConfigControllerTests.cs @@ -2,7 +2,7 @@ using Bit.Api.IntegrationTest.Factories; using Bit.Api.IntegrationTest.Helpers; using Bit.Api.Models.Response; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Xunit; namespace Bit.Api.IntegrationTest.Controllers; diff --git a/test/Api.IntegrationTest/Helpers/OrganizationTestHelpers.cs b/test/Api.IntegrationTest/Helpers/OrganizationTestHelpers.cs index e84d89713e..39fe8a99d0 100644 --- a/test/Api.IntegrationTest/Helpers/OrganizationTestHelpers.cs +++ b/test/Api.IntegrationTest/Helpers/OrganizationTestHelpers.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Business; using Bit.Core.Repositories; diff --git a/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs b/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs index 65ec123a20..523998ee28 100644 --- a/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs +++ b/test/Api.IntegrationTest/SecretsManager/Controllers/ProjectsControllerTests.cs @@ -5,7 +5,7 @@ using Bit.Api.IntegrationTest.SecretsManager.Enums; using Bit.Api.Models.Response; using Bit.Api.SecretsManager.Models.Request; using Bit.Api.SecretsManager.Models.Response; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.SecretsManager.Entities; using Bit.Core.SecretsManager.Repositories; diff --git a/test/Api.IntegrationTest/SecretsManager/Controllers/ServiceAccountsControllerTests.cs b/test/Api.IntegrationTest/SecretsManager/Controllers/ServiceAccountsControllerTests.cs index 86e8c81b13..bfda63adf8 100644 --- a/test/Api.IntegrationTest/SecretsManager/Controllers/ServiceAccountsControllerTests.cs +++ b/test/Api.IntegrationTest/SecretsManager/Controllers/ServiceAccountsControllerTests.cs @@ -5,7 +5,7 @@ using Bit.Api.IntegrationTest.SecretsManager.Enums; using Bit.Api.Models.Response; using Bit.Api.SecretsManager.Models.Request; using Bit.Api.SecretsManager.Models.Response; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.SecretsManager.Entities; using Bit.Core.SecretsManager.Repositories; diff --git a/test/Api.IntegrationTest/SecretsManager/SecretsManagerOrganizationHelper.cs b/test/Api.IntegrationTest/SecretsManager/SecretsManagerOrganizationHelper.cs index fdb14e8cc6..fea05de311 100644 --- a/test/Api.IntegrationTest/SecretsManager/SecretsManagerOrganizationHelper.cs +++ b/test/Api.IntegrationTest/SecretsManager/SecretsManagerOrganizationHelper.cs @@ -1,5 +1,6 @@ using Bit.Api.IntegrationTest.Factories; using Bit.Api.IntegrationTest.Helpers; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Repositories; diff --git a/test/Api.Test/AdminConsole/Controllers/GroupsControllerTests.cs b/test/Api.Test/AdminConsole/Controllers/GroupsControllerTests.cs index 9777cb9e66..4ddfeff646 100644 --- a/test/Api.Test/AdminConsole/Controllers/GroupsControllerTests.cs +++ b/test/Api.Test/AdminConsole/Controllers/GroupsControllerTests.cs @@ -4,7 +4,6 @@ using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Repositories; using Bit.Test.Common.AutoFixture; diff --git a/test/Api.Test/AdminConsole/Controllers/OrganizationDomainControllerTests.cs b/test/Api.Test/AdminConsole/Controllers/OrganizationDomainControllerTests.cs index 90a977157b..2f74303415 100644 --- a/test/Api.Test/AdminConsole/Controllers/OrganizationDomainControllerTests.cs +++ b/test/Api.Test/AdminConsole/Controllers/OrganizationDomainControllerTests.cs @@ -3,6 +3,7 @@ using Bit.Api.AdminConsole.Models.Request; using Bit.Api.AdminConsole.Models.Request.Organizations; using Bit.Api.AdminConsole.Models.Response.Organizations; using Bit.Api.Models.Response; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationDomains.Interfaces; using Bit.Core.Context; using Bit.Core.Entities; diff --git a/test/Api.Test/AdminConsole/Controllers/OrganizationSponsorshipsControllerTests.cs b/test/Api.Test/AdminConsole/Controllers/OrganizationSponsorshipsControllerTests.cs index e54a896885..8d9b10fded 100644 --- a/test/Api.Test/AdminConsole/Controllers/OrganizationSponsorshipsControllerTests.cs +++ b/test/Api.Test/AdminConsole/Controllers/OrganizationSponsorshipsControllerTests.cs @@ -1,5 +1,6 @@ using Bit.Api.Controllers; using Bit.Api.Models.Request.Organizations; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Enums; diff --git a/test/Api.Test/AdminConsole/Controllers/OrganizationsControllerTests.cs b/test/Api.Test/AdminConsole/Controllers/OrganizationsControllerTests.cs index 7a3f4437ca..fd24c47af2 100644 --- a/test/Api.Test/AdminConsole/Controllers/OrganizationsControllerTests.cs +++ b/test/Api.Test/AdminConsole/Controllers/OrganizationsControllerTests.cs @@ -3,6 +3,7 @@ using AutoFixture.Xunit2; using Bit.Api.AdminConsole.Controllers; using Bit.Api.AdminConsole.Models.Request.Organizations; using Bit.Api.Models.Request.Organizations; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationApiKeys.Interfaces; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Auth.Entities; diff --git a/test/Api.Test/AdminConsole/Public/Controllers/GroupsControllerTests.cs b/test/Api.Test/AdminConsole/Public/Controllers/GroupsControllerTests.cs index 37351b3255..a3d5294fe2 100644 --- a/test/Api.Test/AdminConsole/Public/Controllers/GroupsControllerTests.cs +++ b/test/Api.Test/AdminConsole/Public/Controllers/GroupsControllerTests.cs @@ -5,7 +5,6 @@ using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups.Interfaces; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Repositories; using Bit.Test.Common.AutoFixture; diff --git a/test/Api.Test/Controllers/CollectionsControllerTests.cs b/test/Api.Test/Controllers/CollectionsControllerTests.cs index 5bd5bfcb4c..3919e6f4ee 100644 --- a/test/Api.Test/Controllers/CollectionsControllerTests.cs +++ b/test/Api.Test/Controllers/CollectionsControllerTests.cs @@ -3,6 +3,7 @@ using Bit.Api.Controllers; using Bit.Api.Models.Request; using Bit.Api.Vault.AuthorizationHandlers.Collections; using Bit.Core; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Exceptions; diff --git a/test/Api.Test/Controllers/LegacyCollectionsControllerTests.cs b/test/Api.Test/Controllers/LegacyCollectionsControllerTests.cs index 68683837d1..c07ead63fe 100644 --- a/test/Api.Test/Controllers/LegacyCollectionsControllerTests.cs +++ b/test/Api.Test/Controllers/LegacyCollectionsControllerTests.cs @@ -1,5 +1,6 @@ using Bit.Api.Controllers; using Bit.Api.Models.Request; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Exceptions; diff --git a/test/Api.Test/SecretsManager/Controllers/ServiceAccountsControllerTests.cs b/test/Api.Test/SecretsManager/Controllers/ServiceAccountsControllerTests.cs index 29dcd117c1..6e23a4dfe0 100644 --- a/test/Api.Test/SecretsManager/Controllers/ServiceAccountsControllerTests.cs +++ b/test/Api.Test/SecretsManager/Controllers/ServiceAccountsControllerTests.cs @@ -1,8 +1,8 @@ using System.Security.Claims; using Bit.Api.SecretsManager.Controllers; using Bit.Api.SecretsManager.Models.Request; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Context; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Billing.Test/Controllers/FreshdeskControllerTests.cs b/test/Billing.Test/Controllers/FreshdeskControllerTests.cs index 97c7434ea6..f07c64dad9 100644 --- a/test/Billing.Test/Controllers/FreshdeskControllerTests.cs +++ b/test/Billing.Test/Controllers/FreshdeskControllerTests.cs @@ -1,5 +1,6 @@ using Bit.Billing.Controllers; using Bit.Billing.Models; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Repositories; using Bit.Test.Common.AutoFixture; diff --git a/test/Billing.Test/Controllers/FreshsalesControllerTests.cs b/test/Billing.Test/Controllers/FreshsalesControllerTests.cs index 3a5cf3bf17..c9ae6efb1a 100644 --- a/test/Billing.Test/Controllers/FreshsalesControllerTests.cs +++ b/test/Billing.Test/Controllers/FreshsalesControllerTests.cs @@ -1,4 +1,5 @@ using Bit.Billing.Controllers; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Repositories; using Bit.Core.Settings; diff --git a/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommandTests.cs b/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommandTests.cs index 6d521887a0..9d28705e10 100644 --- a/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommandTests.cs +++ b/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/CreateGroupCommandTests.cs @@ -1,7 +1,6 @@ using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data; diff --git a/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommandTests.cs b/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommandTests.cs index 67ca9ffada..82ac484e72 100644 --- a/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommandTests.cs +++ b/test/Core.Test/AdminConsole/OrganizationFeatures/Groups/UpdateGroupCommandTests.cs @@ -1,7 +1,6 @@ using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.OrganizationFeatures.Groups; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data; diff --git a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommandTests.cs b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommandTests.cs index e3be8ef200..aed8d13e80 100644 --- a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommandTests.cs +++ b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationConnections/ValidateBillingSyncKeyCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; diff --git a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/CountNewSmSeatsRequiredQueryTests.cs b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/CountNewSmSeatsRequiredQueryTests.cs index 14615eb126..407dc700e8 100644 --- a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/CountNewSmSeatsRequiredQueryTests.cs +++ b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/CountNewSmSeatsRequiredQueryTests.cs @@ -1,5 +1,5 @@ -using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationUsers; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationUsers; using Bit.Core.Exceptions; using Bit.Core.Repositories; using Bit.Test.Common.AutoFixture; diff --git a/test/Core.Test/AdminConsole/Services/PolicyServiceTests.cs b/test/Core.Test/AdminConsole/Services/PolicyServiceTests.cs index 65e0815cc9..24ca0f76d9 100644 --- a/test/Core.Test/AdminConsole/Services/PolicyServiceTests.cs +++ b/test/Core.Test/AdminConsole/Services/PolicyServiceTests.cs @@ -7,7 +7,6 @@ using Bit.Core.Auth.Entities; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models.Data; using Bit.Core.Auth.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data.Organizations.OrganizationUsers; diff --git a/test/Core.Test/Auth/Models/Business/Tokenables/SsoTokenableTests.cs b/test/Core.Test/Auth/Models/Business/Tokenables/SsoTokenableTests.cs index 3cc85b97e0..4d95a1c196 100644 --- a/test/Core.Test/Auth/Models/Business/Tokenables/SsoTokenableTests.cs +++ b/test/Core.Test/Auth/Models/Business/Tokenables/SsoTokenableTests.cs @@ -1,6 +1,6 @@ using AutoFixture.Xunit2; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Auth.Models.Business.Tokenables; -using Bit.Core.Entities; using Bit.Core.Tokens; using Bit.Test.Common.AutoFixture.Attributes; using Xunit; diff --git a/test/Core.Test/Auth/Services/SsoConfigServiceTests.cs b/test/Core.Test/Auth/Services/SsoConfigServiceTests.cs index c4324ff227..9c63c6b013 100644 --- a/test/Core.Test/Auth/Services/SsoConfigServiceTests.cs +++ b/test/Core.Test/Auth/Services/SsoConfigServiceTests.cs @@ -8,7 +8,6 @@ using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models.Data; using Bit.Core.Auth.Repositories; using Bit.Core.Auth.Services; -using Bit.Core.Entities; using Bit.Core.Exceptions; using Bit.Core.Models.Data.Organizations.OrganizationUsers; using Bit.Core.Repositories; diff --git a/test/Core.Test/Auth/UserFeatures/UserMasterPassword/SetInitialMasterPasswordCommandTests.cs b/test/Core.Test/Auth/UserFeatures/UserMasterPassword/SetInitialMasterPasswordCommandTests.cs index a352976438..1605d279a2 100644 --- a/test/Core.Test/Auth/UserFeatures/UserMasterPassword/SetInitialMasterPasswordCommandTests.cs +++ b/test/Core.Test/Auth/UserFeatures/UserMasterPassword/SetInitialMasterPasswordCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.UserFeatures.UserMasterPassword; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.UserFeatures.UserMasterPassword; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; diff --git a/test/Core.Test/Entities/OrganizationTests.cs b/test/Core.Test/Entities/OrganizationTests.cs index 996dde4588..fed38fb182 100644 --- a/test/Core.Test/Entities/OrganizationTests.cs +++ b/test/Core.Test/Entities/OrganizationTests.cs @@ -1,7 +1,7 @@ using System.Text.Json; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; -using Bit.Core.Entities; using Bit.Test.Common.Helpers; using Xunit; diff --git a/test/Core.Test/Models/Business/SecretsManagerSubscriptionUpdateTests.cs b/test/Core.Test/Models/Business/SecretsManagerSubscriptionUpdateTests.cs index ce08065aba..7328e365f2 100644 --- a/test/Core.Test/Models/Business/SecretsManagerSubscriptionUpdateTests.cs +++ b/test/Core.Test/Models/Business/SecretsManagerSubscriptionUpdateTests.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationLicenses/CloudGetOrganizationLicenseQueryTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationLicenses/CloudGetOrganizationLicenseQueryTests.cs index cb896ed717..00a4b12b2e 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationLicenses/CloudGetOrganizationLicenseQueryTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationLicenses/CloudGetOrganizationLicenseQueryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationLicenses/SelfHostedGetOrganizationLicenseQueryTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationLicenses/SelfHostedGetOrganizationLicenseQueryTests.cs index df4a93305c..f57fc8c349 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationLicenses/SelfHostedGetOrganizationLicenseQueryTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationLicenses/SelfHostedGetOrganizationLicenseQueryTests.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CancelSponsorshipCommandTestsBase.cs b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CancelSponsorshipCommandTestsBase.cs index ca684a30ce..786a6f6c0d 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CancelSponsorshipCommandTestsBase.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CancelSponsorshipCommandTestsBase.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Repositories; using Bit.Core.Services; using Bit.Test.Common.AutoFixture; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommandTests.cs index f7534d8a73..9743bdccf2 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/CloudSyncSponsorshipsCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Data.Organizations.OrganizationSponsorships; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommandTests.cs index f4f8a2cf4a..f440c7d8d1 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SendSponsorshipOfferCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Cloud; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommandTests.cs index 07920d2c88..4ae0e6e78d 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/SetUpSponsorshipCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Cloud; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommandTests.cs index a187f5b296..0378680738 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/Cloud/ValidateSponsorshipCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise.Cloud; using Bit.Core.Repositories; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommandTests.cs index 4eb2779d92..186214b43a 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSponsorships/FamiliesForEnterprise/CreateSponsorshipCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.OrganizationFeatures.OrganizationSponsorships.FamiliesForEnterprise; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/AddSecretsManagerSubscriptionCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/AddSecretsManagerSubscriptionCommandTests.cs index 46987d6fca..77dd1e0005 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/AddSecretsManagerSubscriptionCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/AddSecretsManagerSubscriptionCommandTests.cs @@ -1,7 +1,7 @@ -using Bit.Core.AdminConsole.Entities.Provider; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.AdminConsole.Enums.Provider; using Bit.Core.AdminConsole.Repositories; -using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs index c17ab2b834..70241ab3a7 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpgradeOrganizationPlanCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpgradeOrganizationPlanCommandTests.cs index b7f7d32cb9..44f07a7c94 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpgradeOrganizationPlanCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpgradeOrganizationPlanCommandTests.cs @@ -11,7 +11,7 @@ using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; using NSubstitute; using Xunit; -using Organization = Bit.Core.Entities.Organization; +using Organization = Bit.Core.AdminConsole.Entities.Organization; namespace Bit.Core.Test.OrganizationFeatures.OrganizationSubscriptionUpdate; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs index 0d2d7b56e8..eca4f449b0 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.AdminConsole.Enums; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.Services; using Bit.Core.Auth.Models.Business.Tokenables; using Bit.Core.Entities; diff --git a/test/Core.Test/Services/CollectionServiceTests.cs b/test/Core.Test/Services/CollectionServiceTests.cs index 97565bba4b..34384c631c 100644 --- a/test/Core.Test/Services/CollectionServiceTests.cs +++ b/test/Core.Test/Services/CollectionServiceTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Context; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; diff --git a/test/Core.Test/Services/HandlebarsMailServiceTests.cs b/test/Core.Test/Services/HandlebarsMailServiceTests.cs index 266fbc0159..89d9a211e0 100644 --- a/test/Core.Test/Services/HandlebarsMailServiceTests.cs +++ b/test/Core.Test/Services/HandlebarsMailServiceTests.cs @@ -1,4 +1,5 @@ using System.Reflection; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Entities.Provider; using Bit.Core.Auth.Entities; using Bit.Core.Auth.Models.Business; diff --git a/test/Core.Test/Services/LicensingServiceTests.cs b/test/Core.Test/Services/LicensingServiceTests.cs index 4a8ba0255f..3e8b1735e2 100644 --- a/test/Core.Test/Services/LicensingServiceTests.cs +++ b/test/Core.Test/Services/LicensingServiceTests.cs @@ -1,6 +1,6 @@ using System.Text.Json; using AutoFixture; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Models.Business; using Bit.Core.Services; using Bit.Core.Settings; diff --git a/test/Core.Test/Services/OrganizationServiceTests.cs b/test/Core.Test/Services/OrganizationServiceTests.cs index 9e25a2bcbe..147ecac1c8 100644 --- a/test/Core.Test/Services/OrganizationServiceTests.cs +++ b/test/Core.Test/Services/OrganizationServiceTests.cs @@ -37,7 +37,7 @@ using NSubstitute; using NSubstitute.ExceptionExtensions; using NSubstitute.ReturnsExtensions; using Xunit; -using Organization = Bit.Core.Entities.Organization; +using Organization = Bit.Core.AdminConsole.Entities.Organization; using OrganizationUser = Bit.Core.Entities.OrganizationUser; using Policy = Bit.Core.AdminConsole.Entities.Policy; diff --git a/test/Core.Test/Services/StripePaymentServiceTests.cs b/test/Core.Test/Services/StripePaymentServiceTests.cs index 2133a14a97..f46ac2dcd9 100644 --- a/test/Core.Test/Services/StripePaymentServiceTests.cs +++ b/test/Core.Test/Services/StripePaymentServiceTests.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Business; diff --git a/test/Core.Test/Services/UserServiceTests.cs b/test/Core.Test/Services/UserServiceTests.cs index e95aa9d28a..c77b0bf7f7 100644 --- a/test/Core.Test/Services/UserServiceTests.cs +++ b/test/Core.Test/Services/UserServiceTests.cs @@ -1,6 +1,7 @@ using System.Text; using System.Text.Json; using AutoFixture; +using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Repositories; using Bit.Core.AdminConsole.Services; using Bit.Core.Auth.Entities; diff --git a/test/Core.Test/Vault/Services/CipherServiceTests.cs b/test/Core.Test/Vault/Services/CipherServiceTests.cs index d22b26ea18..ed4a82ced4 100644 --- a/test/Core.Test/Vault/Services/CipherServiceTests.cs +++ b/test/Core.Test/Vault/Services/CipherServiceTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Repositories; diff --git a/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs b/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs index d9d8d17886..6821f4a1d3 100644 --- a/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs +++ b/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs @@ -1,6 +1,7 @@ using System.Security.Claims; using System.Text.Json; using Bit.Core; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Auth.Entities; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models.Api.Request.Accounts; diff --git a/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs b/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs index 6a8a5db361..e742a5d27b 100644 --- a/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs +++ b/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs @@ -331,7 +331,7 @@ public class IdentityServerTests : IClassFixture } [Theory, BitAutoData] - public async Task TokenEndpoint_GrantTypeClientCredentials_AsOrganization_Success(Bit.Core.Entities.Organization organization, Bit.Core.Entities.OrganizationApiKey organizationApiKey) + public async Task TokenEndpoint_GrantTypeClientCredentials_AsOrganization_Success(Organization organization, Bit.Core.Entities.OrganizationApiKey organizationApiKey) { var orgRepo = _factory.Services.GetRequiredService(); organization.Enabled = true; @@ -559,7 +559,7 @@ public class IdentityServerTests : IClassFixture var organizationUserRepository = _factory.Services.GetService(); var policyRepository = _factory.Services.GetService(); - var organization = new Bit.Core.Entities.Organization { Id = organizationId, Enabled = true, UseSso = ssoPolicyEnabled, UsePolicies = true }; + var organization = new Organization { Id = organizationId, Enabled = true, UseSso = ssoPolicyEnabled, UsePolicies = true }; await organizationRepository.CreateAsync(organization); var user = await userRepository.GetByEmailAsync(username); diff --git a/test/Infrastructure.EFIntegration.Test/AdminConsole/Repositories/PolicyRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/AdminConsole/Repositories/PolicyRepositoryTests.cs index d398284c28..e7ae7c50ba 100644 --- a/test/Infrastructure.EFIntegration.Test/AdminConsole/Repositories/PolicyRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/AdminConsole/Repositories/PolicyRepositoryTests.cs @@ -1,4 +1,4 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.AutoFixture; using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; diff --git a/test/Infrastructure.EFIntegration.Test/Auth/Repositories/AuthRequestRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Auth/Repositories/AuthRequestRepositoryTests.cs index 18c3cd2ef5..64025b1068 100644 --- a/test/Infrastructure.EFIntegration.Test/Auth/Repositories/AuthRequestRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Auth/Repositories/AuthRequestRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Entities; using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.Auth.AutoFixture; diff --git a/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoConfigRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoConfigRepositoryTests.cs index f1eafba977..e3d1f68ac2 100644 --- a/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoConfigRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoConfigRepositoryTests.cs @@ -1,5 +1,5 @@ -using Bit.Core.Auth.Entities; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.Auth.AutoFixture; using Bit.Infrastructure.EFIntegration.Test.Auth.Repositories.EqualityComparers; diff --git a/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoUserRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoUserRepositoryTests.cs index 7e6a7173f1..b8d00d0744 100644 --- a/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoUserRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Auth/Repositories/SsoUserRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Entities; using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.Auth.AutoFixture; diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs index 8946099442..c7ea6f9049 100644 --- a/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs @@ -1,8 +1,8 @@ using AutoFixture; using AutoFixture.Kernel; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Auth.Enums; using Bit.Core.Auth.Models; -using Bit.Core.Entities; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs b/test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs index eb3b269467..f8eee19f2b 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.AutoFixture; using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs index b2abe5fde1..d9caf0a07d 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs @@ -1,5 +1,5 @@ using System.Diagnostics.CodeAnalysis; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs index 40732709b4..3af387475d 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs @@ -6,7 +6,7 @@ using Bit.Infrastructure.EFIntegration.Test.AutoFixture; using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; -using Organization = Bit.Core.Entities.Organization; +using Organization = Bit.Core.AdminConsole.Entities.Organization; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; namespace Bit.Infrastructure.EFIntegration.Test.Repositories; diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs index ee7d0d271c..b7179ec5a7 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.AutoFixture; using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs index 2f0d2cd8aa..e43ff98cbf 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Infrastructure.EFIntegration.Test.AutoFixture; using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; diff --git a/test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs index e888826ded..a7d97d1c75 100644 --- a/test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Auth.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Auth.Entities; using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Test.AutoFixture.Attributes; diff --git a/test/Infrastructure.EFIntegration.Test/Tools/Repositories/SendRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Tools/Repositories/SendRepositoryTests.cs index c9e276d45c..a14892b9b6 100644 --- a/test/Infrastructure.EFIntegration.Test/Tools/Repositories/SendRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Tools/Repositories/SendRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Core.Tools.Entities; using Bit.Infrastructure.EFIntegration.Test.Tools.AutoFixture; diff --git a/test/Infrastructure.EFIntegration.Test/Vault/Repositories/CipherRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Vault/Repositories/CipherRepositoryTests.cs index 8af82bdd81..2197df1cdb 100644 --- a/test/Infrastructure.EFIntegration.Test/Vault/Repositories/CipherRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Vault/Repositories/CipherRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Test.AutoFixture.Attributes; using Bit.Core.Vault.Entities; diff --git a/test/Infrastructure.IntegrationTest/Repositories/OrganizationUserRepositoryTests.cs b/test/Infrastructure.IntegrationTest/Repositories/OrganizationUserRepositoryTests.cs index e07b3ba720..631d5a1b81 100644 --- a/test/Infrastructure.IntegrationTest/Repositories/OrganizationUserRepositoryTests.cs +++ b/test/Infrastructure.IntegrationTest/Repositories/OrganizationUserRepositoryTests.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Repositories; using Xunit; diff --git a/test/Infrastructure.IntegrationTest/Vault/Repositories/CipherRepositoryTests.cs b/test/Infrastructure.IntegrationTest/Vault/Repositories/CipherRepositoryTests.cs index 8cb074eda6..aeb1583c67 100644 --- a/test/Infrastructure.IntegrationTest/Vault/Repositories/CipherRepositoryTests.cs +++ b/test/Infrastructure.IntegrationTest/Vault/Repositories/CipherRepositoryTests.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Data; From 951201892e0413ee87e0d1e036708cdad3a5c578 Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:13:46 +1000 Subject: [PATCH 10/11] [AC-1839] Add OrganizationLicense unit tests (#3474) --- .../Models/Business/OrganizationLicense.cs | 28 ++--- .../OrganizationLicenseFileFixtures.cs | 110 ++++++++++++++++++ .../Business/OrganizationLicenseTests.cs | 68 +++++++++++ 3 files changed, 193 insertions(+), 13 deletions(-) create mode 100644 test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs create mode 100644 test/Core.Test/Models/Business/OrganizationLicenseTests.cs diff --git a/src/Core/Models/Business/OrganizationLicense.cs b/src/Core/Models/Business/OrganizationLicense.cs index a58f34e81f..73605bd9b0 100644 --- a/src/Core/Models/Business/OrganizationLicense.cs +++ b/src/Core/Models/Business/OrganizationLicense.cs @@ -13,12 +13,13 @@ namespace Bit.Core.Models.Business; public class OrganizationLicense : ILicense { public OrganizationLicense() - { } + { + } public OrganizationLicense(Organization org, SubscriptionInfo subscriptionInfo, Guid installationId, ILicensingService licenseService, int? version = null) { - Version = version.GetValueOrDefault(CURRENT_LICENSE_FILE_VERSION); // TODO: Remember to change the constant + Version = version.GetValueOrDefault(CurrentLicenseFileVersion); // TODO: Remember to change the constant LicenseType = Enums.LicenseType.Organization; LicenseKey = org.LicenseKey; InstallationId = installationId; @@ -66,7 +67,7 @@ public class OrganizationLicense : ILicense } } else if (subscriptionInfo.Subscription.TrialEndDate.HasValue && - subscriptionInfo.Subscription.TrialEndDate.Value > DateTime.UtcNow) + subscriptionInfo.Subscription.TrialEndDate.Value > DateTime.UtcNow) { Expires = Refresh = subscriptionInfo.Subscription.TrialEndDate.Value; Trial = true; @@ -79,10 +80,11 @@ public class OrganizationLicense : ILicense Expires = Refresh = org.ExpirationDate.Value; } else if (subscriptionInfo?.Subscription?.PeriodDuration != null && - subscriptionInfo.Subscription.PeriodDuration > TimeSpan.FromDays(180)) + subscriptionInfo.Subscription.PeriodDuration > TimeSpan.FromDays(180)) { Refresh = DateTime.UtcNow.AddDays(30); - Expires = subscriptionInfo.Subscription.PeriodEndDate?.AddDays(Constants.OrganizationSelfHostSubscriptionGracePeriodDays); + Expires = subscriptionInfo.Subscription.PeriodEndDate?.AddDays(Constants + .OrganizationSelfHostSubscriptionGracePeriodDays); ExpirationWithoutGracePeriod = subscriptionInfo.Subscription.PeriodEndDate; } else @@ -137,15 +139,15 @@ public class OrganizationLicense : ILicense public LicenseType? LicenseType { get; set; } public string Hash { get; set; } public string Signature { get; set; } - [JsonIgnore] - public byte[] SignatureBytes => Convert.FromBase64String(Signature); + [JsonIgnore] public byte[] SignatureBytes => Convert.FromBase64String(Signature); /// /// Represents the current version of the license format. Should be updated whenever new fields are added. /// /// Intentionally set one version behind to allow self hosted users some time to update before /// getting out of date license errors - private const int CURRENT_LICENSE_FILE_VERSION = 12; + public const int CurrentLicenseFileVersion = 12; + private bool ValidLicenseVersion { get => Version is >= 1 and <= 13; @@ -235,14 +237,14 @@ public class OrganizationLicense : ILicense if (InstallationId != globalSettings.Installation.Id || !SelfHost) { exception = "Invalid license. Make sure your license allows for on-premise " + - "hosting of organizations and that the installation id matches your current installation."; + "hosting of organizations and that the installation id matches your current installation."; return false; } if (LicenseType != null && LicenseType != Enums.LicenseType.Organization) { exception = "Premium licenses cannot be applied to an organization. " - + "Upload this license from your personal account settings page."; + + "Upload this license from your personal account settings page."; return false; } @@ -331,9 +333,9 @@ public class OrganizationLicense : ILicense if (valid && Version >= 13) { valid = organization.UseSecretsManager == UseSecretsManager && - organization.UsePasswordManager == UsePasswordManager && - organization.SmSeats == SmSeats && - organization.SmServiceAccounts == SmServiceAccounts; + organization.UsePasswordManager == UsePasswordManager && + organization.SmSeats == SmSeats && + organization.SmServiceAccounts == SmServiceAccounts; } return valid; diff --git a/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs b/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs new file mode 100644 index 0000000000..16ad92774d --- /dev/null +++ b/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs @@ -0,0 +1,110 @@ +using System.Text.Json; +using Bit.Core.Entities; +using Bit.Core.Enums; +using Bit.Core.Models.Business; + +namespace Bit.Core.Test.Models.Business; + +/// +/// Contains test data for OrganizationLicense tests, including json strings for each OrganizationLicense version. +/// If you increment the OrganizationLicense version (e.g. because you've added a property to it), you must add the +/// json string for your new version to the LicenseVersions dictionary in this class. +/// See OrganizationLicenseTests.GenerateLicenseFileJsonString to help you do this. +/// +public static class OrganizationLicenseFileFixtures +{ + public const string InstallationId = "78900000-0000-0000-0000-000000000123"; + + private const string Version12 = + "{\n 'LicenseKey': 'myLicenseKey',\n 'InstallationId': '78900000-0000-0000-0000-000000000123',\n 'Id': '12300000-0000-0000-0000-000000000456',\n 'Name': 'myOrg',\n 'BillingEmail': 'myBillingEmail',\n 'BusinessName': 'myBusinessName',\n 'Enabled': true,\n 'Plan': 'myPlan',\n 'PlanType': 11,\n 'Seats': 10,\n 'MaxCollections': 2,\n 'UsePolicies': true,\n 'UseSso': true,\n 'UseKeyConnector': true,\n 'UseScim': true,\n 'UseGroups': true,\n 'UseEvents': true,\n 'UseDirectory': true,\n 'UseTotp': true,\n 'Use2fa': true,\n 'UseApi': true,\n 'UseResetPassword': true,\n 'MaxStorageGb': 100,\n 'SelfHost': true,\n 'UsersGetPremium': true,\n 'UseCustomPermissions': true,\n 'Version': 11,\n 'Issued': '2023-11-23T03:15:41.632267Z',\n 'Refresh': '2023-11-30T03:15:41.632267Z',\n 'Expires': '2023-11-30T03:15:41.632267Z',\n 'ExpirationWithoutGracePeriod': null,\n 'Trial': true,\n 'LicenseType': 1,\n 'Hash': 'eMSljdMAlFiiVYP/DI8LwNtSZZy6cJaC\\u002BAdmYGd1RTs=',\n 'Signature': ''\n}"; + + private const string Version13 = + "{\n 'LicenseKey': 'myLicenseKey',\n 'InstallationId': '78900000-0000-0000-0000-000000000123',\n 'Id': '12300000-0000-0000-0000-000000000456',\n 'Name': 'myOrg',\n 'BillingEmail': 'myBillingEmail',\n 'BusinessName': 'myBusinessName',\n 'Enabled': true,\n 'Plan': 'myPlan',\n 'PlanType': 11,\n 'Seats': 10,\n 'MaxCollections': 2,\n 'UsePolicies': true,\n 'UseSso': true,\n 'UseKeyConnector': true,\n 'UseScim': true,\n 'UseGroups': true,\n 'UseEvents': true,\n 'UseDirectory': true,\n 'UseTotp': true,\n 'Use2fa': true,\n 'UseApi': true,\n 'UseResetPassword': true,\n 'MaxStorageGb': 100,\n 'SelfHost': true,\n 'UsersGetPremium': true,\n 'UseCustomPermissions': true,\n 'Version': 12,\n 'Issued': '2023-11-23T03:25:24.265409Z',\n 'Refresh': '2023-11-30T03:25:24.265409Z',\n 'Expires': '2023-11-30T03:25:24.265409Z',\n 'ExpirationWithoutGracePeriod': null,\n 'UsePasswordManager': true,\n 'UseSecretsManager': true,\n 'SmSeats': 5,\n 'SmServiceAccounts': 8,\n 'Trial': true,\n 'LicenseType': 1,\n 'Hash': 'hZ4WcSX/7ooRZ6asDRMJ/t0K5hZkQdvkgEyy6wY\\u002BwQk=',\n 'Signature': ''\n}"; + + private static readonly Dictionary LicenseVersions = new() { { 12, Version12 }, { 13, Version13 } }; + + public static OrganizationLicense GetVersion(int licenseVersion) + { + if (!LicenseVersions.ContainsKey(licenseVersion)) + { + throw new Exception( + $"Cannot find serialized license version {licenseVersion}. You must add this to OrganizationLicenseFileFixtures when adding a new license version."); + } + + var json = LicenseVersions.GetValueOrDefault(licenseVersion).Replace("'", "\""); + var license = JsonSerializer.Deserialize(json); + + if (license.Version != licenseVersion - 1) + { + // license.Version is 1 behind. e.g. if we requested version 13, then license.Version == 12. If not, + // the json string is probably for a different version and won't give us accurate test results. + throw new Exception( + $"License version {licenseVersion} in OrganizationLicenseFileFixtures did not match the expected version number. Make sure the json string is correct."); + } + + return license; + } + + /// + /// The organization used to generate the license file json strings in this class. + /// All its properties should be initialized with literal, non-default values. + /// If you add an Organization property value, please add a value here as well. + /// + public static Organization OrganizationFactory() => + new() + { + Id = new Guid("12300000-0000-0000-0000-000000000456"), + Identifier = "myIdentifier", + Name = "myOrg", + BusinessName = "myBusinessName", + BusinessAddress1 = "myBusinessAddress1", + BusinessAddress2 = "myBusinessAddress2", + BusinessAddress3 = "myBusinessAddress3", + BusinessCountry = "myBusinessCountry", + BusinessTaxNumber = "myBusinessTaxNumber", + BillingEmail = "myBillingEmail", + Plan = "myPlan", + PlanType = PlanType.EnterpriseAnnually2020, + Seats = 10, + MaxCollections = 2, + UsePolicies = true, + UseSso = true, + UseKeyConnector = true, + UseScim = true, + UseGroups = true, + UseDirectory = true, + UseEvents = true, + UseTotp = true, + Use2fa = true, + UseApi = true, + UseResetPassword = true, + UseSecretsManager = true, + SelfHost = true, + UsersGetPremium = true, + UseCustomPermissions = true, + Storage = 100000, + MaxStorageGb = 100, + Gateway = GatewayType.Stripe, + GatewayCustomerId = "myGatewayCustomerId", + GatewaySubscriptionId = "myGatewaySubscriptionId", + ReferenceData = "myReferenceData", + Enabled = true, + LicenseKey = "myLicenseKey", + PublicKey = "myPublicKey", + PrivateKey = "myPrivateKey", + TwoFactorProviders = "myTwoFactorProviders", + ExpirationDate = new DateTime(2024, 12, 24), + CreationDate = new DateTime(2022, 10, 22), + RevisionDate = new DateTime(2023, 11, 23), + MaxAutoscaleSeats = 100, + OwnersNotifiedOfAutoscaling = new DateTime(2020, 5, 10), + Status = OrganizationStatusType.Created, + UsePasswordManager = true, + SmSeats = 5, + SmServiceAccounts = 8, + MaxAutoscaleSmSeats = 101, + MaxAutoscaleSmServiceAccounts = 102, + SecretsManagerBeta = true, + LimitCollectionCreationDeletion = true + }; +} diff --git a/test/Core.Test/Models/Business/OrganizationLicenseTests.cs b/test/Core.Test/Models/Business/OrganizationLicenseTests.cs new file mode 100644 index 0000000000..d5067a2e57 --- /dev/null +++ b/test/Core.Test/Models/Business/OrganizationLicenseTests.cs @@ -0,0 +1,68 @@ +using System.Text.Json; +using Bit.Core.Models.Business; +using Bit.Core.Services; +using Bit.Core.Settings; +using Bit.Core.Utilities; +using Bit.Test.Common.AutoFixture.Attributes; +using NSubstitute; +using Xunit; + +namespace Bit.Core.Test.Models.Business; + +public class OrganizationLicenseTests +{ + /// + /// Verifies that when the license file is loaded from disk using the current OrganizationLicense class, + /// its hash does not change. + /// This guards against the risk that properties added in later versions are accidentally included in the hash, + /// or that a property is added without incrementing the version number. + /// + [Theory] + [BitAutoData(OrganizationLicense.CurrentLicenseFileVersion)] // Previous version (this property is 1 behind) + [BitAutoData(OrganizationLicense.CurrentLicenseFileVersion + 1)] // Current version + public void OrganizationLicense_LoadFromDisk_HashDoesNotChange(int licenseVersion) + { + var license = OrganizationLicenseFileFixtures.GetVersion(licenseVersion); + + // Compare the hash loaded from the json to the hash generated by the current class + Assert.Equal(Convert.FromBase64String(license.Hash), license.ComputeHash()); + } + + /// + /// Verifies that when the license file is loaded from disk using the current OrganizationLicense class, + /// it matches the Organization it was generated for. + /// This guards against the risk that properties added in later versions are accidentally included in the validation + /// + [Theory] + [BitAutoData(OrganizationLicense.CurrentLicenseFileVersion)] // Previous version (this property is 1 behind) + [BitAutoData(OrganizationLicense.CurrentLicenseFileVersion + 1)] // Current version + public void OrganizationLicense_LoadedFromDisk_VerifyData_Passes(int licenseVersion) + { + var license = OrganizationLicenseFileFixtures.GetVersion(licenseVersion); + var organization = OrganizationLicenseFileFixtures.OrganizationFactory(); + var globalSettings = Substitute.For(); + globalSettings.Installation.Returns(new GlobalSettings.InstallationSettings + { + Id = new Guid(OrganizationLicenseFileFixtures.InstallationId) + }); + Assert.True(license.VerifyData(organization, globalSettings)); + } + + /// + /// Helper used to generate a new json string to be added in OrganizationLicenseFileFixtures. + /// Uncomment [Fact], run the test and copy the value of the `result` variable into OrganizationLicenseFileFixtures, + /// following the instructions in that class. + /// + // [Fact] + private void GenerateLicenseFileJsonString() + { + var organization = OrganizationLicenseFileFixtures.OrganizationFactory(); + var licensingService = Substitute.For(); + var installationId = new Guid(OrganizationLicenseFileFixtures.InstallationId); + + var license = new OrganizationLicense(organization, null, installationId, licensingService); + + var result = JsonSerializer.Serialize(license, JsonHelpers.Indented).Replace("\"", "'"); + // Put a break after this line, then copy and paste the value of `result` into OrganizationLicenseFileFixtures + } +} From 2a7ad95147cab37933d1caf910d11fb26577514a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rui=20Tom=C3=A9?= <108268980+r-tome@users.noreply.github.com> Date: Wed, 29 Nov 2023 14:57:56 +0000 Subject: [PATCH 11/11] [AC-1839] Fixed missing reference on OrganizationLicenseFileFixtures. Fixed flaky unit test on UpdateSecretsManagerSubscriptionCommandTests (#3489) --- .../Models/Business/OrganizationLicenseFileFixtures.cs | 2 +- .../UpdateSecretsManagerSubscriptionCommandTests.cs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs b/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs index 16ad92774d..55c4da5bdc 100644 --- a/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs +++ b/test/Core.Test/Models/Business/OrganizationLicenseFileFixtures.cs @@ -1,5 +1,5 @@ using System.Text.Json; -using Bit.Core.Entities; +using Bit.Core.AdminConsole.Entities; using Bit.Core.Enums; using Bit.Core.Models.Business; diff --git a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs index 70241ab3a7..9e7ee94343 100644 --- a/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs +++ b/test/Core.Test/OrganizationFeatures/OrganizationSubscriptionUpdate/UpdateSecretsManagerSubscriptionCommandTests.cs @@ -94,6 +94,7 @@ public class UpdateSecretsManagerSubscriptionCommandTests SutProvider sutProvider) { organization.PlanType = planType; + organization.Seats = 20; const int updateSmSeats = 15; const int updateSmServiceAccounts = 450;