1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-28 00:02:26 -05:00

30 Commits

Author SHA1 Message Date
Oscar Hinton
23b0a1f9df
Run dotnet format (#1764) 2021-12-16 15:35:09 +01:00
Oscar Hinton
259bf8d760
Add events for Creating, Adding and Removing ProviderOrganizations (#1475) 2021-07-21 19:40:38 +02:00
Oscar Hinton
f6ebb20847
[Provider] Add support for events (#1447) 2021-07-15 16:37:27 +02:00
Oscar Hinton
43f7271147
[Provider] Setup provider (#1378) 2021-06-30 09:35:26 +02:00
Oscar Hinton
fe1ffb6a22
[Provider] Server entities and models (#1370)
* Mock out provider models and service

* Implement CreateAsync, CompleteSetupAsync, UpdateAsync, InviteUserAsync and ResendInvitesAsync

* Implement AcceptUserAsync and ConfirmUsersAsync

* Implement SaveUserAsync and DeleteUserAsync

* Add email templates

* Add admin operations for providers

* Fix mail template names

* Rename roles

* Verify provider has provideradmin

* Add self hosted check to admin controller

* Resolve review comments

* Update sql queries

* Change create provider to use email instead of userId
2021-06-03 18:58:29 +02:00
Matt Gibson
785e788cb6
Support large organization sync (#1311)
* Increase organization max seat size from 30k to 2b (#1274)

* Increase organization max seat size from 30k to 2b

* PR review. Do not modify unless state matches expected

* Organization sync simultaneous event reporting (#1275)

* Split up azure messages according to max size

* Allow simultaneous login of organization user events

* Early resolve small event lists

* Clarify logic

Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>

* Improve readability

This comes at the cost of multiple serializations, but the
 improvement in wire-time should more than make up for this
 on message where serialization time matters

Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>

* Queue emails (#1286)

* Extract common Azure queue methods

* Do not use internal entity framework namespace

* Prefer IEnumerable to IList unless needed

All of these implementations were just using `Count == 1`,
which is easily replicated. This will be used when abstracting Azure queues

* Add model for azure queue message

* Abstract Azure queue for reuse

* Creat service to enqueue mail messages for later processing

Azure queue mail service uses Azure queues.
Blocking just blocks until all the work is done -- This is
how emailing works today

* Provide mail queue service to DI

* Queue organization invite emails for later processing

All emails can later be added to this queue

* Create Admin hosted service to process enqueued mail messages

* Prefer constructors to static generators

* Mass delete organization users (#1287)

* Add delete many to Organization Users

* Correct formatting

* Remove erroneous migration

* Clarify parameter name

* Formatting fixes

* Simplify bump account revision sproc

* Formatting fixes

* Match file names to objects

* Indicate if large import is expected

* Early pull all existing users we were planning on inviting (#1290)

* Early pull all existing users we were planning on inviting

* Improve sproc name

* Batch upsert org users (#1289)

* Add UpsertMany sprocs to OrganizationUser

* Add method to create TVPs from any object.

Uses DbOrder attribute to generate.
Sproc will fail unless TVP column order matches that of the db type

* Combine migrations

* Correct formatting

* Include sql objects in sql project

* Keep consisten parameter names

* Batch deletes for performance

* Correct formatting

* consolidate migrations

* Use batch methods in OrganizationImport

* Declare @BatchSize

* Transaction names limited to 32 chars

Drop sproc before creating it if it exists

* Update import tests

* Allow for more users in org upgrades

* Fix formatting

* Improve class hierarchy structure

* Use name tuple types

* Fix formatting

* Front load all reflection

* Format constructor

* Simplify ToTvp as class-specific extension

Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
2021-05-17 09:43:02 -05:00
Matt Gibson
5537470703
Use sas token for attachment downloads (#1153)
* Get limited life attachment download URL

This change limits url download to a 1min lifetime.
This requires moving to a new container to allow for non-public blob
access.

Clients will have to call GetAttachmentData api function to receive the download
URL. For backwards compatibility, attachment URLs are still present, but will not
work for attachments stored in non-public access blobs.

* Make GlobalSettings interface for testing

* Test LocalAttachmentStorageService equivalence

* Remove comment

* Add missing globalSettings using

* Simplify default attachment container

* Default to attachments containe for existing methods

A new upload method will be made for uploading to attachments-v2.
For compatibility for clients which don't use these new methods, we need
to still use the old container. The new container will be used only for
new uploads

* Remove Default MetaData fixture.

* Keep attachments container blob-level security for all instances

* Close unclosed FileStream

* Favor default value for noop services
2021-02-22 15:35:16 -06:00
Matt Gibson
edd4bc2623
Add disable send policy (#1130)
* Add Disable Send policy

* Test DisableSend policy

* PR Review

* Update tests for using CurrentContext

This required making an interface for CurrentContext and mocking out
the members used. The interface can be expanded as needed for tests.

I moved CurrentContext to a folder, which changes the namespace
and causes a lot of file touches, but most are just adding a reference

* Fix failing test

* Update exemption to include all exempt users

* Move all CurrentContext usages to ICurrentContext

* PR review. Match messaging with Web
2021-02-04 12:54:21 -06:00
Chad Scharf
9800b752c0 Changed all C# control flow block statements to include space between keyword and open paren 2020-03-27 14:36:37 -04:00
Kyle Spearrin
58faf5266b policy events 2020-01-15 09:43:49 -05:00
Kyle Spearrin
0f0cd3beeb handle bulk cipher events more efficiently 2019-07-25 15:34:14 -04:00
Kyle Spearrin
da5c385d4a new client event types, pass date to event funcs 2019-07-09 11:44:09 -04:00
Kyle Spearrin
2562d5a40d reference OrganizationMembership instead 2018-08-31 17:05:27 -04:00
Kyle Spearrin
389512d51e added org duo to 2fa flow 2018-04-03 14:31:33 -04:00
Kyle Spearrin
67ec4603a4 pass org id to can use events check 2017-12-20 22:23:05 -05:00
Kyle Spearrin
e9116f8c44 app cache with org ability checks on events 2017-12-19 16:02:39 -05:00
Kyle Spearrin
a9f232746e store device type and ip address on events 2017-12-15 10:50:06 -05:00
Kyle Spearrin
93ccfa7eac set acting user for user events 2017-12-14 16:41:52 -05:00
Kyle Spearrin
2c4ce27ef2 fixes to event get APIs 2017-12-14 15:04:20 -05:00
Kyle Spearrin
b917ea1fd2 current context null checks 2017-12-12 15:23:45 -05:00
Kyle Spearrin
6649c29a8b event fixes 2017-12-12 15:04:14 -05:00
Kyle Spearrin
ce1680a009 event sql table and repo 2017-12-12 14:22:22 -05:00
Kyle Spearrin
1bdf56d39f process messages with IEvent 2017-12-08 23:09:50 -05:00
Kyle Spearrin
f02679f609 logic error on cipher event log 2017-12-08 14:59:21 -05:00
Kyle Spearrin
c01fd359f0 use EventTableEntity instead of TableEntity 2017-12-08 14:03:07 -05:00
Kyle Spearrin
8a88a36140 event write services 2017-12-04 09:58:07 -05:00
Kyle Spearrin
28770d3761 events for collections, groups, and org users 2017-12-01 16:00:30 -05:00
Kyle Spearrin
a8fefb54c4 cipher events 2017-12-01 14:06:16 -05:00
Kyle Spearrin
0662fc2163 log events to various organization indexes as well 2017-12-01 12:14:46 -05:00
Kyle Spearrin
f4586002c4 organize event models. stub out event services 2017-12-01 09:22:04 -05:00