Skip to content

Commit fb85aee

Browse files
committed
chore: reaise event EVENT_ENTITLEMENTS_CHANGED
1 parent a76a3a5 commit fb85aee

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

src/services/login-browser.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ define(function (require, exports, module) {
7777
EventDispatcher.makeEventDispatcher(exports);
7878
EventDispatcher.makeEventDispatcher(secureExports);
7979

80+
// Event constants
81+
const EVENT_ENTITLEMENTS_CHANGED = "entitlements_changed";
82+
secureExports.EVENT_ENTITLEMENTS_CHANGED = EVENT_ENTITLEMENTS_CHANGED;
83+
8084
const _EVT_PAGE_FOCUSED = "page_focused";
8185
$(window).focus(function () {
8286
exports.trigger(_EVT_PAGE_FOCUSED);

src/services/login-desktop.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ define(function (require, exports, module) {
5353
EventDispatcher.makeEventDispatcher(exports);
5454
EventDispatcher.makeEventDispatcher(secureExports);
5555

56+
// Event constants
57+
const EVENT_ENTITLEMENTS_CHANGED = "entitlements_changed";
58+
secureExports.EVENT_ENTITLEMENTS_CHANGED = EVENT_ENTITLEMENTS_CHANGED;
59+
5660
const _EVT_PAGE_FOCUSED = "page_focused";
5761
$(window).focus(function () {
5862
exports.trigger(_EVT_PAGE_FOCUSED);

src/services/profile-menu.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,16 @@ define(function (require, exports, module) {
232232
if (response.ok) {
233233
const result = await response.json();
234234
if (result.isSuccess) {
235+
// Check if entitlements actually changed
236+
const entitlementsChanged = JSON.stringify(cachedEntitlements) !== JSON.stringify(result);
237+
235238
cachedEntitlements = result;
239+
240+
// Trigger event if entitlements changed
241+
if (entitlementsChanged && KernalModeTrust.loginService.trigger) {
242+
KernalModeTrust.loginService.trigger(KernalModeTrust.loginService.EVENT_ENTITLEMENTS_CHANGED, result);
243+
}
244+
236245
return cachedEntitlements;
237246
}
238247
}
@@ -559,7 +568,14 @@ define(function (require, exports, module) {
559568
_removeProfileIcon();
560569

561570
// Clear cached entitlements when user logs out
562-
cachedEntitlements = null;
571+
if (cachedEntitlements) {
572+
cachedEntitlements = null;
573+
574+
// Trigger event when entitlements are cleared
575+
if (KernalModeTrust.loginService.trigger) {
576+
KernalModeTrust.loginService.trigger(KernalModeTrust.loginService.EVENT_ENTITLEMENTS_CHANGED, null);
577+
}
578+
}
563579
}
564580

565581
function setLoggedIn(initial, color) {

0 commit comments

Comments
 (0)