1
0
mirror of https://github.com/bitwarden/server.git synced 2024-12-26 17:37:36 +01:00
Commit Graph

3624 Commits

Author SHA1 Message Date
Justin Baur
85e75c43b5
[PS-1928] Fix User Delete (#2463)
* Fix User Delete

* Formatting
2022-12-02 19:35:26 -05:00
Justin Baur
1652669667
[PS-1928] Cipher Collections Fix (#2462)
* Simplify UpdateCollectionsAsync

* Make final JOIN a LEFT JOIN
2022-12-02 17:04:01 -05:00
Justin Baur
efe91fd0d8
[PS-1928] Add BumpAccountRevisionDate methods (#2458)
* Move RevisionDate Bumps to Extension Class

* Add Tests against live databases

* Run Formatting

* Fix Typo

* Fix Test Solution Typo

* Await ReplaceAsync
2022-12-02 14:24:30 -05:00
Kyle Spearrin
41db511872
cast Min function values to int (#2459) 2022-12-02 13:55:51 -05:00
github-actions[bot]
a0ab60f984
Bumped version to 2022.11.1 (#2457)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-01 14:33:03 -08:00
Vince Grassia
a26e9a168e
Change rc-2022.12 tag to beta (#2456) 2022-12-01 16:23:43 -05:00
Vince Grassia
c8b5f0a905
Fix PostgreSQL compatible version and MSSQL data volume path (#2454) 2022-12-01 14:01:18 -05:00
Justin Baur
8718f22ab2
[PS-1909] Make LicenseKey check null safe (#2444)
* Make LicenseKey check null safe

* Catch Exception during Organization Validation

* Use null-safe check in UpdateLicense

* Formatting
2022-11-30 08:40:12 -05:00
André Bispo
297f0c8b38
[SG-856] Remove nullable from RequestApproved property (#2448) 2022-11-29 12:49:42 +00:00
Vince Grassia
447066e417
Enable DCT (#2446) 2022-11-28 22:02:33 -05:00
Gbubemi Smith
f74730dd2f
[SG-841] Refactor GetOrganizationApiKeyCommand (#2436)
* Renamed and split up class to only query for an organization key

* Added a command class to create an organization api key

* Updated service registration and controller to include new changes

* Updated test cases to reflect refactor

* fixed lint issues

* Fixed PR comment
2022-11-28 19:39:09 -05:00
github-actions[bot]
5bcacf785f
Bumped version to 2022.11.0 (#2445)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-28 11:19:27 -05:00
Kyle Spearrin
4c5b773387
proper alpine binaries for hbs tool (#2441) 2022-11-24 13:16:18 -05:00
Matt Gibson
0bcd8d0b41
Ps 1904 (#2439)
* Add self host notification launch settings

* Exclude current context from push for password updates

This is needed to allow the current context to process a key
rotation if one is being done.

Does not change any other call to `PushLogOut`.

* Revert inverted exclude logic

This exclude is referring to exempting the requesting client
from the notification push.
2022-11-24 17:25:16 +01:00
Joseph Flinn
691c5a9e98
Enable publishing self-host rc-2022.12 (#2440) 2022-11-23 19:04:19 -06:00
Joseph Flinn
2277625e74
Update self host release branches (#2438)
* Abstract the publishing branch logic (to make it easier to add/remove custom branches)

* Fix the conditional syntax

* Another try to fix the conditional syntax

* Updating the publish branch logic

* Wow...it's been a while since I've written Actions

* test the reverse of the publish branch check

* Trying again

* Another test

* Actions uses single quotes...

* retest the publish check if the branch actually is correct

* Switching to using the ENV instead of outputs

* test no publish branch

* Switch all of the publish conditionals and remove the testing code

* Remove more test code
2022-11-23 15:47:57 -07:00
Vince Grassia
52144c5bf9
Fix Build Self-Host workflow (#2437) 2022-11-23 10:48:09 -08:00
Kyle Spearrin
93afa93b85
change confd to hbs for unified docker templates (#2434)
* change confd to hbs tool

* use new repo owner
2022-11-23 12:48:34 -05:00
Vince Grassia
0795545fb8
Update Unified Self-Host Build Workflow (#2432) 2022-11-23 07:21:22 -08:00
Kyle Spearrin
41ee3d4c69
CSA-29: Time safe comparison for access code (#2431)
* time safe comparison for access code

* remove whitespace
2022-11-22 15:32:21 -05:00
Rui Tomé
d8834793b5
Revert change on EF CipherRepository (#2426) 2022-11-21 14:25:28 +00:00
Kyle Spearrin
68bb545353
PS-1806 fix boolean logic with UserCollectionDetailsQuery query (#2424)
* fix logic in user collection details query

* remove pragma

* remove pragma
2022-11-18 14:44:59 -05:00
Vince Grassia
194dfe7e14
Bitwarden Unified Self-Host project (#2410) 2022-11-18 14:39:01 -05:00
Kyle Spearrin
3481fd76c1
add null check logic from ea view (#2423) 2022-11-18 14:37:05 -05:00
Kyle Spearrin
47c8f043e1
PS-1806 - fix joins on some ef queries (#2421)
* fix joins on some ef queries

* fix formatting
2022-11-18 11:17:46 -05:00
Todd Martin
02e4b10ae8
Set Id property on existing devices so we don't try to create a new one instead of updating existing. (#2420) 2022-11-18 10:22:07 -05:00
Vince Grassia
3bece3c3ad
Add Build Self-Host workflow stub (#2417) 2022-11-16 13:47:25 -05:00
André Bispo
7eb7457b58
[SG-816] Fix sp call (#2416) 2022-11-16 17:15:20 +00:00
Todd Martin
24469e2267
Update push token on login to allow multiple users on mobile devices (#2404)
* Changed query for device to include userId

(cherry picked from commit 5e3f6db64b)

* Refactored push registration to allow notification on multiple clients

(cherry picked from commit 75d299ae269eeb8ac272c96458815a359ea6d085)

* Linting

(cherry picked from commit f1cf54ebef2019743834f667861f9b34c1661e11)

* Fixed compile error.

* Removed class that I created when refactoring.

* Removed references to PushNotification from DeviceService tests.

* Refactored to not pass back a result on Save

* Refactored to send requestDevice to push notifications.

* Fixed whitespace.

* Added missing Noop services.

(cherry picked from commit bdad6cfadaf2779c2e672027122c95ea64e3cf0b)

* Linting.

* Refactored to put the push token back in SaveAsync.

* Removed constructor parameter.

* Added back in ClearTokenAsync to reduce risk.

* Updated tab for linting.
2022-11-16 15:30:28 +00:00
Todd Martin
aa952e11df
Changed query for device to include userId (#2415)
(cherry picked from commit 5e3f6db64b)
(cherry picked from commit 19916a0dcf)
2022-11-16 10:29:09 -05:00
Rui Tomé
c377a50b9d
[EC-756] Add missing EF scripts to add new 'Events' table 'SystemUser' column (#2414)
* [EC-756] Add missing Postgres migration script

* [EC-756] Add missing MySQL migration script
2022-11-16 07:59:30 +00:00
André Bispo
abaa084d01
[SG-778] Add ResponseDate and make nullables (#2412) 2022-11-15 14:17:42 +00:00
Todd Martin
30efd80684
Updated environment for Prod Github Deployment to not specify service name (#2392)
* Updated environment for deployments to not specify service name.

* Fixed linting errors.

(cherry picked from commit b40b0f57cc)

* Undid changes to QA deployment.  This will be moved to the devops repo so no changes here are necessary.
2022-11-14 20:21:06 -05:00
Todd Martin
dd75642aa3
Changed Github deployments not to run on Dry Run. (#2406) 2022-11-14 13:43:08 -05:00
Justin Baur
668f363ce3
Don't log response details when it's null (#2407) 2022-11-14 11:41:17 -05:00
Justin Baur
b24ce17193
[PS-1806] Fix EF CollectionRepository GetManyByUserId (#2409)
* Rewrite ReadOnly and HidePasswords

* Rewrote them to generate a CASE statement similar to T-SQL

* Rewrite Grouping Expression

* Use multiple groups just like T-SQL
* Run it all on the database instead of in memory

* Fix linter
2022-11-14 10:18:09 -05:00
Rui Tomé
9ecf69d9ca
[EC-736] Update build to run SCIM tests and fix failing test (#2402)
* [EC-736] Revert change on OrganizationUserUserViewQuery

Revert a change that was causing the query to not return results when the OrganizationUser did not have a corresponding row on the Users table

* [EC-736] Update build to run bitwarden_license test projects
2022-11-10 14:19:28 +00:00
Rui Tomé
37ed4f43b2
[EC-449] Event log user for SCIM events (#2306)
* [EC-449] Added new Enum EventSystemUser

* [EC-449] Added SystemUser property to Event model

* [EC-449] Added SQL migration to add new column 'SystemUserType' to Event

* [EC-449] EF migrations

* [EC-449] Added EventSystemUser to EventResponseModel

* [EC-449] Saving EventSystemUser.SCIM on SCIM controller actions

* [EC-449] Updated Event_Create stored procedure on Sql project

* [EC-449] Fixed SystemUser column name on Event table

* [EC-507] SCIM CQRS Refactor - Groups/Put (#2269)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-531] Implemented CQRS for Groups Put and added unit tests

* [EC-507] Created ScimServiceCollectionExtensions

* [EC-507] Renamed AddScimCommands to AddScimGroupCommands

* [EC-507] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-507] Removed unneeded dependencies from GroupsController

* [EC-507] Update PutGroupCommand to return Group

PutGroupCommand returns Group and GroupsController creates ScimGroupResponseModel response

* [EC-507] Remove Queries/Commands folders from Scim and Scim.Tests

* [EC-507] Remove unneeded check on empty provided memberIds

* [EC-507] SCIM CQRS Refactor - Groups/GetList (#2272)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-508] Implemented CQRS for Groups GetList and added unit tests

* [EC-507] Created ScimServiceCollectionExtensions and renamed GetGroupsListCommand to GetGroupsListQuery

* [EC-507] Renamed AddScimCommands to AddScimGroupQueries

* [EC-507] Removed unneeded dependencies from GroupsController

* [EC-507] Remove 'Queries' folder from Scim and Scim.Test

* [EC-507] Move ScimListResponseModel from GetGroupsListQuery to Scim.GroupsController

* [EC-507] Remove asserts on IGroupRepository.GetManyByOrganizationIdAsync from unit tests

* [EC-507] SCIM CQRS Refactor - Groups/Get (#2271)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-507] Implemented CQRS for Groups Get and added unit tests

* [EC-507] Created ScimServiceCollectionExtensions and renamed GetGroupCommand to GetGroupQuery

* [EC-507] Renamed AddScimCommands to AddScimGroupQueries

* [EC-507] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-507] Removed unneeded dependencies from GroupsController

* [EC-507] Sorted order of methods

* [EC-507] Removed GetGroupQuery and moved logic to controller

* [EC-507] Remove 'Queries' folder from Scim and Scim.Test

* [EC-507] SCIM CQRS Refactor - Groups/Patch (#2268)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-532] Implemented CQRS for Groups Patch and added unit tests

* [EC-507] Created ScimServiceCollectionExtensions

* [EC-507] Renamed AddScimCommands to AddScimGroupCommands

* [EC-507] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-507] Removed unneeded dependencies from GroupsController

* [EC-507] Remove Queries/Commands folders from Scim and Scim.Tests

* [EC-507] Assert group.Name after saving. Assert userIds saved.

* [EC-508] SCIM CQRS Refactor - Users/Delete (#2261)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-539] Implemented CQRS for Users Delete and added unit tests

* [EC-508] Created ScimServiceCollectionExtensions

* [EC-508] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-508] Removed unneeded model from DeleteUserCommand. Removed unneeded dependencies from UsersController

* [EC-508] Removed Bit.Scim.Models dependency from DeleteUserCommandTests

* [EC-508] Deleted 'DeleteUserCommand' from SCIM; Created commands on Core 'DeleteOrganizationUserCommand', 'PushDeleteUserRegistrationOrganizationCommand' and 'OrganizationHasConfirmedOwnersExceptQuery'

* [EC-508] Changed DeleteOrganizationUserCommand back to using IOrganizationService

* [EC-508] Fixed DeleteOrganizationUserCommand unit tests

* [EC-508] Remove unneeded obsolete comments. Update DeleteUserAsync Obsolete comment with ticket reference

* [EC-508] Move DeleteOrganizationUserCommand to OrganizationFeatures folder

* [EC-508] SCIM CQRS Refactor - Users/Post (#2264)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-536] Implemented CQRS for Users Post and added unit tests

* [EC-508] Created ScimServiceCollectionExtensions

* [EC-508] Renamed AddScimCommands to AddScimUserCommands

* [EC-508] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-508] Catching NotFoundException on ExceptionHandlerFilter

* [EC-508] Remove Queries/Commands folders from Scim and Scim.Tests

* [EC-508] SCIM CQRS Refactor - Users/Patch (#2262)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-538] Implemented CQRS for Users Patch and added unit tests

* [EC-508] Added ScimServiceCollectionExtensions

* [EC-508] Removed HandleActiveOperationAsync method from UsersController

* [EC-508] Renamed AddScimCommands to AddScimUserCommands

* [EC-508] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-508] Removed unneeded dependencies from UsersController

* [EC-508] Remove 'Query' folder from Scim and Scim.Test

* [EC-507] SCIM CQRS Refactor - Groups/Post (#2270)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-530] Implemented CQRS for Groups Post and added unit tests

* [EC-507] Created ScimServiceCollectionExtensions

* [EC-507] Renamed AddScimCommands to AddScimGroupCommands

* [EC-507] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-507] Removed unneeded dependencies from GroupsController

* [EC-507] Remove Queries/Commands folders from Scim and Scim.Test

* [EC-507] Remove unneeded skipIfEmpty argument. Updated unit test to check provided userIds

* [EC-507] Remove UpdateGroupMembersAsync from GroupsController

* [EC-508] SCIM CQRS Refactor - Users/GetList (#2265)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-535] Implemented CQRS for Users GetList and added unit tests

* [EC-508] Created ScimServiceCollectionExtensions and renamed GetUsersListCommand to GetUsersListQuery

* [EC-508] Renamed AddScimCommands to AddScimUserQueries

* [EC-508] Removed unneeded IUserRepository and IOptions<ScimSettings> from UsersController

* [EC-508] Sorted UsersController properties and dependencies

* [EC-508] Remove 'Queries' folder from Scim and Scim.Test

* [EC-508] Move ScimListResponseModel creation to Scim.UsersController

* [EC-508] Move ScimUserResponseModel creation to Scim.UsersController

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>

* [EC-507] SCIM CQRS Refactor - Groups/Delete (#2267)

* [EC-390] Added Scim.Test unit tests project

* [EC-390] Added ConflictException type. Updated BadRequestException to have parameterless constructor. Updated NotFoundException to have constructor with a message parameter

* [EC-533] Implemented CQRS for Groups Delete and added unit tests

* [EC-507] Created ScimServiceCollectionExtensions

* [EC-507] Renamed AddScimCommands to AddScimGroupCommands

* [EC-507] Created ExceptionHandlerFilterAttribute on SCIM project

* [EC-507] Removed unneeded dependencies from GroupsController

* [EC-507] Move DeleteGroupCommand to OrganizationFeatures/OrganizationUsers

* [EC-507] Remove IGetUserQuery and move logic to UsersController. Remove unused references.

* [EC-449] Add overloads for EventService and GroupService methods that accept EventSystemUser as an argument

* [EC-507] Move IDeleteGroupCommand to Groups folder

* [EC-449] Add method overloads in IOrganizationService without EventSystemUser

* [EC-449] Add RevokeUserAsync overload without EventSystemUser

* [EC-449] Reverted OrganizationUsersController to not pass EventSystemUser argument

* [EC-449] Uncomment assertion in GroupServiceTests

* [EC-449] Update method overloads to not have nullable EventSystemUser

* [EC-449] Add unit tests around events that can store EventSystemUser

* [EC-449] Deleted private method GroupService.GroupRepositoryDeleteAsync

* [EC-449] Move Event log call to public DeleteUserAsync methods

* [EC-449] Move call to EventService log to public OrganizationService.InviteUsersAsync methods

* [EC-449] Move EventService call to public OrganizationService.DeleteUserAsync methods

* [EC-449] Move EventService call to OrganizationService.RevokeUserAsync methods

* [EC-449] Move EventService call to OrganizationService.RestoreUserAsync methods

* [EC-449] Add missing comma in SQL script for new SystemUser column on the Event table

* [EC-449] Remove Autofixture hack from OrganizationServiceTests

* [EC-449] Remove invitingUser param when methods expect an EventSystemUser param

* [EC-449] Move DeleteUserAsync validation to private method

* [EC-449] Move revokingUserId from RevokeUserAsync private method

* [EC-449] Move restoringUserId to RestoreUserAsync public method

* [EC-449] Set up OrganizationServiceTest Restore and Revoke tests on a single method

* [EC-449] SaveUsersSendInvitesAsync to return both OrganizationUsers and Events list

* [EC-449] Undo unintended change on CipherRepository

* [EC-449] Add SystemUser value to EventTableEntity

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2022-11-09 12:13:29 +00:00
Rui Tomé
2d5235b43d
[EC-675] Add EventType.Cipher_ClientToggledCardNumberVisible for Event collection (#2381) 2022-11-09 12:07:49 +00:00
Opeyemi
a300643505
add run-name for releases to include their workflow trigger (#2390)
* add run-name for releases to include their workflow trigger

* add edit for linter errors
2022-11-08 20:26:47 +00:00
Justin Baur
9d2938066b
[PS-1806] Fix UpdateUsersAsync for EF (#2387)
* Fix UpdateUsersAsync

* Update to make single call to DB
* Loop through requested CollectionUsers
* Delete unused code

* Address PR Feedback
2022-11-08 12:06:14 -05:00
Justin Baur
c222562b6f
[PS-1806] Fix EF LEFT JOIN's on multiple values (#2389)
* Fix OrganizationUserOrganizationDetails

* Rewrote query to be equal with SQL Server implementation

* Fix OrganizationUserUserView

* Rewrote query to be equal to SQL Server implementation

* Formatting
2022-11-08 10:01:32 -05:00
Kyle Spearrin
3e092be55c
fix ef query joins (#2386) 2022-11-07 12:08:30 -05:00
Rui Tomé
8a6f780d55
[EC-584] Removed ListResponseModel from OrganizationExportResponseModel (#2316)
* [EC-584] Removed ListResponseModel from OrganizationExportResponseModel properties

* [EC-584] Added backwards compatibility for client version 2022.9.0

* [EC-584] Added property 'ClientVersion' to ICurrentContext

* [EC-584] Added backwards compatibility for version 2022.10.0

* [EC-584] Change ICurrentContext.ClientVersion from string to Version

* [EC-584] Remove check for versions before 2022.9.0 because they do not use this endpoint
2022-11-07 12:01:45 +00:00
Justin Baur
363dd6493a
Fix Collection User Replace for EF (#2384)
* Update ReplaceAsync to work on EF

* Execute a single tracked call based on the org user
* loop over the results client side and let EF track changes

* Remove unused code
2022-11-04 15:11:22 -04:00
Kyle Spearrin
edf7b1a7ef
try parse Size as a long (#2383) 2022-11-04 15:00:03 -04:00
Shane Melton
88bccf0d04
[EC-7] Org Admin Vault Refresh Server V1 (#2372)
* [EC-19] Move SSO Identifier to Org SSO endpoint (#2184)

* [EC-19] Move SSO identifier to Org SSO config endpoint

* [EC-19] Add Jira tech debt issue reference

* [EC-542] Update email communications (#2348)

(cherry picked from commit 7469432c77)

Co-authored-by: Jacob Fink <jfink@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2022-11-02 09:57:33 -07:00
Todd Martin
e277b9e84e
[SG-419] Fix problems with push notifications on self-host (#2338)
* Added "internal" to non-user-based request types to avoid failing validation.

* Added handling of unsuccessful response so that JSON parsing eror doesn't occur.

* Added logging for token errors.

(cherry picked from commit dad143b3e42247bc6b397b60803e25d243bd83a5)

* Fixed bug in next auth attempt handling.

* Fixed linting.

* Added deserialization options to handle case insensitivity.

* Added a new method for SendAsync that does not expect a result from the client.

* hasJsonResult param to make Send more reusable

* some cleanup

* fix lint problems

* Added launch config for Notifications.

* Added Notifications to Full Server config.

Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
2022-11-01 09:58:28 -04:00
Todd Martin
14074e1e33
[SG-701] Updated controller to not send notification if request was denied (#2375)
* Updated controller to not send response if request was denied.

* Linting
2022-10-31 21:31:07 -04:00
Kyle Spearrin
52b50ef0e9
EF repos: fix attachments update (#2374)
* fix attachments update

* Update src/Infrastructure.EntityFramework/Repositories/CipherRepository.cs

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* Update CipherRepository.cs

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2022-10-31 08:44:11 -04:00