diff --git a/server/models/FeatureFlag.test.ts b/server/models/FeatureFlag.test.ts index d94bef7dee..b3265208dc 100644 --- a/server/models/FeatureFlag.test.ts +++ b/server/models/FeatureFlag.test.ts @@ -7,6 +7,7 @@ import { buildTeam } from "@server/test/factories"; describe("FeatureFlag", () => { afterEach(async () => { await FeatureFlag.destroy({ where: {}, force: true }); + await FeatureFlag.invalidateCache(); }); describe("isInPercentage", () => { diff --git a/server/models/FeatureFlag.ts b/server/models/FeatureFlag.ts index f7ce8eebdd..ec66dba80e 100644 --- a/server/models/FeatureFlag.ts +++ b/server/models/FeatureFlag.ts @@ -11,6 +11,9 @@ import { AfterCreate, AfterUpdate, AfterDestroy, + AfterBulkCreate, + AfterBulkUpdate, + AfterBulkDestroy, } from "sequelize-typescript"; import { FeatureFlagDefaults } from "@shared/constants"; import { @@ -56,6 +59,9 @@ class FeatureFlag extends IdModel< @AfterCreate @AfterUpdate @AfterDestroy + @AfterBulkCreate + @AfterBulkUpdate + @AfterBulkDestroy static async invalidateCache() { await CacheHelper.clearData(RedisPrefixHelper.getFeatureFlagsKey()); } diff --git a/server/utils/RedisPrefixHelper.ts b/server/utils/RedisPrefixHelper.ts index 893412b372..db6a127fa0 100644 --- a/server/utils/RedisPrefixHelper.ts +++ b/server/utils/RedisPrefixHelper.ts @@ -49,6 +49,6 @@ export class RedisPrefixHelper { * @returns the cache key string. */ public static getFeatureFlagsKey() { - return "ff"; + return "featureFlags:all"; } }