UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

31 lines 1.29 kB
export class ChangeRequestSegmentUsageReadModel { constructor(db) { this.db = db; } async getStrategiesUsedInActiveChangeRequests(segmentId) { const query = this.db.raw(`SELECT events.*, cr.project, cr.environment, cr.title FROM change_request_events events JOIN change_requests cr ON events.change_request_id = cr.id WHERE cr.state NOT IN ('Applied', 'Cancelled', 'Rejected') AND events.action IN ('updateStrategy', 'addStrategy');`); const queryResult = await query; const strategies = queryResult.rows .filter((row) => row.payload?.segments?.includes(segmentId)) .map((row) => { const { payload, project, environment, feature } = row; return { projectId: project, featureName: feature, environment: environment, strategyName: payload.name, ...(payload.id ? { id: payload.id } : {}), changeRequest: { id: row.change_request_id, title: row.title || null, }, }; }); return strategies; } } //# sourceMappingURL=sql-change-request-segment-usage-read-model.js.map