-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
FeatureNew functionality that didn't exist beforeNew functionality that didn't exist beforePlannedPlanned and roadmapped workPlanned and roadmapped work
Milestone
Description
Provide a brief summary of the planned work
Today, a user's contact information is stored as a flat array within the user object. It can be extracted from there and into a separate user sub-model.
Detailed overview
As a consequence of various refactoring and migrations of this codebase, a user's contact information is split into two properties (within the user model):
- contact type (email, SMS, etc)
- contact (value)
This means several things:
- Validation and tests become more complicated
- Only one contact method can be used (and the user might have more than one)
- No contact information must be presented like
{ contact : null, type : custom }, which is obviously less than ideal
Let's not have this legacy, and let's extract it out into a separate table.
Hint/location:
com/appifyhub/monolith/features/user/domain/model/User.kt:6
List the acceptance criteria
- Contact info is in a table of its own
- Contact info is only referenced by the user object
- Users can have multiple contact infos
- Business logic is updated to select the default communication method when sending messages to the user
- Tests are updated to reflect these changes, and passing
- API and documentation are updated to reflect these changes
Include any additional notes (optional)
No response
Metadata
Metadata
Assignees
Labels
FeatureNew functionality that didn't exist beforeNew functionality that didn't exist beforePlannedPlanned and roadmapped workPlanned and roadmapped work
Type
Projects
Status
Ready