From d2907a663337a5197e520605c650b65563413206 Mon Sep 17 00:00:00 2001 From: Excellify Date: Mon, 11 Nov 2024 18:03:26 +0100 Subject: [PATCH] Handle reset as deleted instead --- src/composable/useCosmetics.ts | 15 --------------- src/composable/useWorker.ts | 8 -------- src/worker/event-handlers/entitlement.handler.ts | 15 ++++++--------- src/worker/index.ts | 2 -- 4 files changed, 6 insertions(+), 34 deletions(-) diff --git a/src/composable/useCosmetics.ts b/src/composable/useCosmetics.ts index dfdf480e..92027df7 100644 --- a/src/composable/useCosmetics.ts +++ b/src/composable/useCosmetics.ts @@ -295,21 +295,6 @@ db.ready().then(async () => { target.addEventListener("entitlement_deleted", (ev) => { setEntitlement(ev.detail, "-"); }); - target.addEventListener("entitlement_reset", async (ev) => { - const userID = ev.detail.id; - await until(firstFlush).toBe(true); - - const entries = db.entitlements - .where("user_id") - .equals(userID) - .and((e) => e.kind !== "EMOTE_SET"); - - await entries.each((ent) => { - setEntitlement(ent, "-"); - }); - - entries.delete(); - }); // Assign stored entitlements db.entitlements diff --git a/src/composable/useWorker.ts b/src/composable/useWorker.ts index 13038183..c60b1f7d 100644 --- a/src/composable/useWorker.ts +++ b/src/composable/useWorker.ts @@ -171,12 +171,6 @@ function useHandlers(mp: MessagePort) { events.emit("entitlement_deleted", entitlement); break; } - case "ENTITLEMENT_RESET": { - const entitlement = data as TypedWorkerMessage<"ENTITLEMENT_RESET">; - - events.emit("entitlement_reset", entitlement); - break; - } case "STATIC_COSMETICS_FETCHED": { const { badges, paints } = data as TypedWorkerMessage<"STATIC_COSMETICS_FETCHED">; @@ -255,7 +249,6 @@ export type WorkletEventName = | "cosmetic_created" | "entitlement_created" | "entitlement_deleted" - | "entitlement_reset" | "static_cosmetics_fetched" | "twitch_emote_set_data" | "emote_set_updated" @@ -270,7 +263,6 @@ type WorkletTypedEvent = { cosmetic_created: Pick; entitlement_created: Pick; entitlement_deleted: Pick; - entitlement_reset: Pick; static_cosmetics_fetched: Pick, "badges" | "paints">; twitch_emote_set_data: SevenTV.EmoteSet; emote_set_updated: TypedWorkerMessage<"EMOTE_SET_UPDATED">; diff --git a/src/worker/event-handlers/entitlement.handler.ts b/src/worker/event-handlers/entitlement.handler.ts index 26e594be..911519f9 100644 --- a/src/worker/event-handlers/entitlement.handler.ts +++ b/src/worker/event-handlers/entitlement.handler.ts @@ -67,17 +67,14 @@ export async function onEntitlementDelete(ctx: EventContext, cm: ChangeMap) { + const removals = ctx.db.entitlements.filter((e) => e.user_id === obj.id); + const arr = await removals.toArray(); for (const port of ctx.driver.ports.values()) { - const platform = port.platform; - if (!platform) return; // no platform set + if (!port.platform) return; // no platform set - const o: typeof obj = structuredClone(obj); - if (!o.id) return; - - port.postMessage("ENTITLEMENT_RESET", { - id: o.id, + arr.forEach((r) => { + port.postMessage("ENTITLEMENT_DELETED", r); }); - - ctx.db.entitlements.filter((e) => e.user_id === o.id).delete(); } + await removals.delete(); } diff --git a/src/worker/index.ts b/src/worker/index.ts index 4d0d698d..b4f1836f 100644 --- a/src/worker/index.ts +++ b/src/worker/index.ts @@ -20,7 +20,6 @@ export enum workerMessageType { COSMETIC_CREATED, ENTITLEMENT_CREATED, ENTITLEMENT_DELETED, - ENTITLEMENT_RESET, INIT, LOG, STATE, @@ -65,7 +64,6 @@ export type TypedWorkerMessage = { COSMETIC_CREATED: SevenTV.Cosmetic<"BADGE" | "PAINT" | "AVATAR">; ENTITLEMENT_CREATED: Pick; ENTITLEMENT_DELETED: Pick; - ENTITLEMENT_RESET: Pick; INIT: object; LOG: { type: LogType;