mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-09 00:18:00 +01:00
fix: return if empty array (#9254)
Fixes an issue where segment-updated event would be added to cache even though there were no correlated events. Tests needs to be added in Enterprise.
This commit is contained in:
parent
aa5c70f70e
commit
af516537bd
@ -171,6 +171,7 @@ export class ClientFeatureToggleDelta extends EventEmitter {
|
||||
if (!hasDelta) {
|
||||
await this.initEnvironmentDelta(environment);
|
||||
}
|
||||
|
||||
if (requiredRevisionId >= this.currentRevisionId) {
|
||||
return undefined;
|
||||
}
|
||||
@ -272,7 +273,7 @@ export class ClientFeatureToggleDelta extends EventEmitter {
|
||||
.map((event) => event.preData.id);
|
||||
|
||||
const segments =
|
||||
await this.segmentReadModel.getAllForClient(segmentsUpdated);
|
||||
await this.segmentReadModel.getAllForClientIds(segmentsUpdated);
|
||||
|
||||
const segmentsUpdatedEvents: DeltaEvent[] = segments.map((segment) => ({
|
||||
eventId: latestRevision,
|
||||
@ -328,7 +329,7 @@ export class ClientFeatureToggleDelta extends EventEmitter {
|
||||
const baseFeatures = await this.getClientFeatures({
|
||||
environment,
|
||||
});
|
||||
const baseSegments = await this.segmentReadModel.getAllForClient();
|
||||
const baseSegments = await this.segmentReadModel.getAllForClientIds();
|
||||
|
||||
this.currentRevisionId =
|
||||
await this.configurationRevisionService.getMaxRevisionId();
|
||||
|
@ -23,7 +23,7 @@ export class FakeSegmentReadModel implements ISegmentReadModel {
|
||||
return [];
|
||||
}
|
||||
|
||||
async getAllForClient(ids?: number[]): Promise<IClientSegment[]> {
|
||||
async getAllForClientIds(ids?: number[]): Promise<IClientSegment[]> {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
@ -9,5 +9,5 @@ export interface ISegmentReadModel {
|
||||
getAllFeatureStrategySegments(): Promise<IFeatureStrategySegment[]>;
|
||||
getActive(): Promise<ISegment[]>;
|
||||
getActiveForClient(): Promise<IClientSegment[]>;
|
||||
getAllForClient(ids?: number[]): Promise<IClientSegment[]>;
|
||||
getAllForClientIds(ids?: number[]): Promise<IClientSegment[]>;
|
||||
}
|
||||
|
@ -110,7 +110,11 @@ export class SegmentReadModel implements ISegmentReadModel {
|
||||
}));
|
||||
}
|
||||
|
||||
async getAllForClient(ids?: number[]): Promise<IClientSegment[]> {
|
||||
async getAllForClientIds(ids?: number[]): Promise<IClientSegment[]> {
|
||||
if (!ids || ids.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const fullSegments = await this.getAll(ids);
|
||||
|
||||
return fullSegments.map((segments) => ({
|
||||
|
Loading…
Reference in New Issue
Block a user