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

35 Commits

Author SHA1 Message Date
Matt Gibson
022e404cc5
Attachment blob upload (#1229)
* Add Cipher attachment upload endpoints

* Add validation bool to attachment storage data

This bool is used to determine whether or not to renew upload links

* Add model to request a new attachment to be made for later upload

* Add model to respond with created attachment.

The two cipher properties represent the two different
cipher model types that can be returned. Cipher Response from
personal items and mini response from organizations

* Create Azure SAS-authorized upload links for both one-shot and block uploads

* Add service methods to handle delayed upload and file size validation

* Add emergency access method for downloading attachments direct from Azure

* Add new attachment storage methods to other services

* Update service interfaces

* Log event grid exceptions

* Limit Send and Attachment Size to 500MB

* capitalize Key property

* Add key validation to Azure Event Grid endpoint

* Delete blob for unexpected blob creation events

* Set Event Grid key at API startup

* Change renew attachment upload url request path to match Send

* Shore up attachment cleanup method.

As long as we have the required information, we should always delete
attachments from each the Repository, the cipher in memory, and the
file storage service to ensure they're all synched.
2021-03-30 18:41:14 -05:00
Matt Gibson
5aba9f7549
Add cipher response to restore (#1072)
* Return revised ciphers on restore api call

* Return restored date from restore sproc

* Test Restore updates passed in ciphers

This is necessary for CipherController to appropriately return the
up-to-date ciphers without an extra db call to read them.

* Add missing SELECT
2021-01-08 08:52:42 -06:00
Matt Gibson
edf30974dc
Validate cipher updates with revision date (#994)
* Add last updated validation to cipher replacements

* Add AutoFixture scaffolding.

AutoDataAttributes and ICustomizations are meant to automatically
produce valid test input. Examples are the Cipher customizations,
which enforce the model's mutual exclusivity of UserId and
OrganizationId.

FixtureExtensions create a fluent way to generate SUTs. We currently
use parameter injection to fascilitate service testing, which is nicely
handled by AutoNSubstitute. However, in order to gain access to the
substitutions, we need to Freeze them onto the Fixture. The For fluent
method allows specifying a Freeze to a specific type's constructor and
optionally to a parameter name in that constructor.

* Unit tests for single Cipher update version checks

* Fix test runner

Test runner requires Microsoft.NET.Test.Sdk

* Move to provider model for SUT generation

This model differs from previous in that you no longer need to specify
which dependencies you would like access to. Instead, all are
remembered and can be queried through the sutProvider.

* User cipher provided by Put method reads

Every put method already reads all relevant ciphers from database,
there's no need to re-read them.

JSON serialization of datetimes seems to leave truncate at second
precision. Verify last known date time is within one second rather than
exact.

* validate revision date for share many requests

* Update build script to use Github environment path

Co-authored-by: Matt Gibson <mdgibson@Matts-MBP.lan>
2020-11-23 08:48:05 -06:00
Addison Beck
229478adae
Feature.web.534.allow multi select in org vault (#830)
* Set up API methods for bulk admin delete
2020-07-22 11:38:53 -05:00
Chad Scharf
d014a597dd [Soft Delete] - API updates for soft delete + retrieval 2020-04-01 13:00:25 -04:00
Kyle Spearrin
7cda459127 support for attachments keys
load existing items and set attachments on key update
2018-11-14 17:19:04 -05:00
Kyle Spearrin
0b166a080e limit collection scope option when creating cipher 2018-10-22 14:09:55 -04:00
Kyle Spearrin
96b492fa07 apis for creating ciphers with org & collections 2018-10-19 12:07:31 -04:00
Kyle Spearrin
7164f378fc purge org vault 2018-09-25 09:12:50 -04:00
Kyle Spearrin
de552be25f apis for bulk sharing 2018-06-13 14:03:44 -04:00
Kyle Spearrin
95181aef89 organization cipher import with collections 2017-09-05 17:49:34 -04:00
Kyle Spearrin
f8c749bab5 share login with attachments 2017-07-10 14:30:12 -04:00
Kyle Spearrin
43262e577c delete attachments 2017-07-07 11:07:22 -04:00
Kyle Spearrin
284078e946 database adjustments and storage for attachments 2017-06-30 14:41:57 -04:00
Kyle Spearrin
6cea556ae1 post, upload, and save cipher attachment 2017-06-30 11:15:58 -04:00
Kyle Spearrin
f24bc96846 folder permission checks and null folder 2017-06-09 09:48:44 -04:00
Kyle Spearrin
d3073e675e bulk action apis for delete and move 2017-06-09 00:30:59 -04:00
Kyle Spearrin
8458022a58 admin login apis 2017-04-27 14:50:22 -04:00
Kyle Spearrin
c6ac82dadd renaming subvault => collection 2017-04-27 09:19:30 -04:00
Kyle Spearrin
a9b0748d07 cipher delete for admin 2017-04-19 16:00:47 -04:00
Kyle Spearrin
3459be8143 remove unnecessary update partial cipher service 2017-04-17 23:16:35 -04:00
Kyle Spearrin
f7aa6fadbf admin subvault updates for cipher 2017-04-17 23:12:48 -04:00
Kyle Spearrin
c6ef3dc283 update cipher subvaults 2017-04-12 12:42:00 -04:00
Kyle Spearrin
b144f8a686 validation checks on cipher move 2017-03-25 16:25:10 -04:00
Kyle Spearrin
5029af33c5 user can edit responses and cipher partial updates 2017-03-24 16:15:50 -04:00
Kyle Spearrin
10c72fafda permission checks for cipher crud operations 2017-03-24 09:27:15 -04:00
Kyle Spearrin
ed8d5d69a4 Move into and read ciphers from org subvaults 2017-03-21 21:13:39 -04:00
Kyle Spearrin
26b553c248 cipher details create/update 2017-03-18 23:41:46 -04:00
Kyle Spearrin
588f6c7c2c refactor for cipher details, folders, favorites 2017-03-18 11:58:02 -04:00
Kyle Spearrin
bd0c960e9f move domains to Models.Table 2017-03-08 21:45:08 -05:00
Kyle Spearrin
acb1fc0be5 remove old share solution code 2017-02-28 22:51:29 -05:00
Kyle Spearrin
48cf44f5b2 share service setup 2017-02-25 23:38:24 -05:00
Kyle Spearrin
ef0a808687 added push events and moved cipher writing to cipher service. 2016-06-29 01:15:37 -04:00
Kyle Spearrin
3fdb0fcf67 refactored data storage to use cipher table. added history table and insert triggers. 2016-05-21 17:16:22 -04:00
Kyle Spearrin
8d7178bc74 Added cipher service with bulk import to account controller 2015-12-26 23:09:53 -05:00