Resolve "Add enterprise license support"
What is in this MR:
Refactor:
- Introduce a LicenseHandler class to group all the license methods into one class to be consistant with our other handlers + make method discovery easier
- Add a new LicensePlugin class which allows modification of the license system.
- Add a new plugin in the frontend which lets you write code like
this.$hasFeature(PremiumFeatures.PREMIUM, this.group.id)
- Changes the license data structure sent from the backend to the frontend and stored in the auth store to be:
{
active_licenses: {
instance_wide: {
license_type_1: true,
license_type_2: false,
},
per_group: {
1: {
license_type_1: true,
license_type_2: false,
}
}
}
Closes #1230 (closed)
Edited by Nigel Gott