Description
The differentiator between predefined and personalized categories is which users they affect. So it is better to define categories as either global or personalized instead. When creating the category the admin can define it as a global category or link it to one or more users. Users can also be added to existing personalized categories.
Implementation Detail: global categories are those categories that are not linked to any user (ie that have NULL as a user foreign-key entry)
Estimate
L - Storypoints
Tasks Checklist
[x] BE: Implement category, rating models and connect to DaySheet and Users as defined in domain model
[x] BE: Implement category creation endpoint (link to Users if Userlist is provided, make global otherwise)
[x] BE: Implement endpoint to add users to existing category (only if category has user already).
[x] FE: Extend design with category creation page
[x] FE: Extend design of user page with category linking component
[x] FE: Implement category creation page
[x] FE: Implement category linking in user page
[x] BE: Define Unit Tests for endpoints/methods
[x] FE: Define E2E Tests
Acceptance Criteria
Category lifecycle is implemented: create and link existing
Tests are delivered
Dependencies
This user story blocks and is linked to : #15
This user story is blocked by #13 so it will be implemented as an authenticated endpoint first and then converted to role based access with #56
Description The differentiator between predefined and personalized categories is which users they affect. So it is better to define categories as either global or personalized instead. When creating the category the admin can define it as a global category or link it to one or more users. Users can also be added to existing personalized categories.
Implementation Detail: global categories are those categories that are not linked to any user (ie that have NULL as a user foreign-key entry)
Estimate L - Storypoints
Tasks Checklist
Acceptance Criteria
Dependencies This user story blocks and is linked to : #15
This user story is blocked by #13 so it will be implemented as an authenticated endpoint first and then converted to role based access with #56
This user story is to be completed with #57