Global tags list repository, relative to all Twake, with GET and POST endpoint that we'll use in the drive
[x] Tags have this form:
name
identifier (generated from the name in lowercase and without space or special characters
colour (randomly set per tag)
[ ] Tags are relative to a company, every users has access to every tags and can use them to tag files (or later other objects)
[x] Tags can be created or deleted only by company administrators and owners
[x] Tags are unique (by identifiers) if a name transforms to an existing identifier then the tag is not created (instead the existing one is used)
[ ] A tag can be updated only by company administrators and owners, updating a tag means changing its name or colour (while keeping the identifier)
Tasks
[x] Create a CRUD API for managing the tags: create, list, delete, update
[ ] Create associated tests
[ ] Alter Drive app to use this tags, documents can have a list of tags which are strings, this list of tags are saved in ES. We do not call the tags service from the documents service, the only link between tags and documents are the tags identifier saved in the document entity. (Think common services running in an other server so no code link with the documents service running in the Drive server)
Global tags list repository, relative to all Twake, with GET and POST endpoint that we'll use in the drive
[x] Tags have this form:
name
identifier (generated from the name in lowercase and without space or special characters
colour (randomly set per tag)
[ ] Tags are relative to a company, every users has access to every tags and can use them to tag files (or later other objects)
[x] Tags can be created or deleted only by company administrators and owners
[x] Tags are unique (by identifiers) if a name transforms to an existing identifier then the tag is not created (instead the existing one is used)
[ ] A tag can be updated only by company administrators and owners, updating a tag means changing its name or colour (while keeping the identifier)
Tasks
[x] Create a CRUD API for managing the tags: create, list, delete, update
[ ] Create associated tests
[ ] Alter Drive app to use this tags, documents can have a list of tags which are strings, this list of tags are saved in ES. We do not call the tags service from the documents service, the only link between tags and documents are the tags identifier saved in the document entity. (Think common services running in an other server so no code link with the documents service running in the Drive server)