-
Type: Task
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
Use Case
As a... mongoose user
I want... I want to be able to specify which fields I want encrypted and how
So that... I can use field-level encryption in an idiomatic way
Acceptance Criteria
Implementation Requirements
- On construction, the Schema constructor
- parses the input from the user and extracts any encrypted fields into a separate field, encryptedFields. see the schema section of the design for details.
- Determines the encryption type (queryable encryption or CSFLE).
- see the schema section of the design for details.
- Schema mutation methods will be updated to update the encrypted fields map if new encrypted fields are added / removed. This applies to:
- add()
- remove()
- Validation
- Will be done in NODE-6628
- Typescript support
- Will be done in NODE-6627
- Merge to mongodb mongoose fork for now
Testing Requirements
- Test that data is stored correctly
- Throw on incorrect configruation
Documentation Requirements
- API docs
Follow Up Requirements
- Mongoose Docs update to include CSFLE/QE