This PR Introduces first steps towards RBAC according to our specifications. Rbac will assume users to exist in the Unleash user table with a unique id. This is required to make correct mappings between users and roles.
* feat: add support for bulk operations on client apps/instance registration
-- stores client registrations for 5 seconds, then runs distinct and inserts them into db
fixes: #732
This sets up the typescript compiler.
Allowing gradual migration to typescript.
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
Co-authored-by: Fredrik Oseberg <fredrik.oseberg@getunleash.ai>
Co-authored-by: Clint Checkett <clintchecketts@churchofjesuschrist.org>
fixes: #676
- After seeing frontend behaviour where the user could add the same
tag multiple times, and not get errors or be stopped doing so, we'll
change the backend to return a 409 if you tag a feature with a tag it
already has.
- Previous to this commit, the setup was to do `onConflict().ignore()`
which caused the frontend to not get any help from the backend as to
whether or not the operation was allowed
- This fix adds a custom error and adds a branch to the handleError util
method for handling just that error type with a 409.
- This caused a couple of tests to receive 409, probably due to
insufficient cleanup between tests. Adding faker as a dev-dependency and randomising
toggle names and tag values for each test reduces the chance that
we'll run into duplicate issues in the future for the tests that
touches this problem
fixes: #711
- First iteration of api for tags and tag-types
- Documentation in place
- Adds three new tables
- tag_types
- tags
- feature_tag
- Tagging a feature is adding a row in the feature_tag
join table
* #665
Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
When an application updates metrics for a toggle we now
stores the timestamp on the toggle when it was last seen
used by an application. This will make it much easier to
detect toggles not in use anymore.
closes#642