mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-19 00:15:43 +01:00
fix: add overview
This commit is contained in:
parent
3e73a8cfd8
commit
577f7a2824
@ -6,7 +6,6 @@ import {
|
|||||||
FeatureToggle,
|
FeatureToggle,
|
||||||
IFeatureOverview,
|
IFeatureOverview,
|
||||||
IProjectHealthReport,
|
IProjectHealthReport,
|
||||||
IProjectOverview,
|
|
||||||
} from '../types/model';
|
} from '../types/model';
|
||||||
import {
|
import {
|
||||||
MILLISECONDS_IN_DAY,
|
MILLISECONDS_IN_DAY,
|
||||||
@ -55,12 +54,22 @@ export default class ProjectHealthService {
|
|||||||
projectId: string,
|
projectId: string,
|
||||||
): Promise<IProjectHealthReport> {
|
): Promise<IProjectHealthReport> {
|
||||||
//const overview = await this.getProjectOverview(projectId, false);
|
//const overview = await this.getProjectOverview(projectId, false);
|
||||||
const features = await this.featureToggleStore.getFeatures();
|
const features = await this.featureToggleStore.getFeatures({
|
||||||
|
projectId,
|
||||||
|
});
|
||||||
|
const overview = {
|
||||||
|
name: 'test',
|
||||||
|
description: '',
|
||||||
|
features: features,
|
||||||
|
members: 1,
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
// ...overview,
|
...overview,
|
||||||
potentiallyStaleCount: await this.potentiallyStaleCount(features),
|
potentiallyStaleCount: await this.potentiallyStaleCount(
|
||||||
activeCount: this.activeCount(features),
|
overview.features,
|
||||||
staleCount: this.staleCount(features),
|
),
|
||||||
|
activeCount: this.activeCount(overview.features),
|
||||||
|
staleCount: this.staleCount(overview.features),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,134 @@
|
|||||||
|
import { IFeatureStrategy } from '../db/feature-strategy-store';
|
||||||
|
|
||||||
|
export interface IConstraint {
|
||||||
|
contextName: string;
|
||||||
|
operator: string;
|
||||||
|
values: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IStrategyConfig {
|
||||||
|
id?: string;
|
||||||
|
name: string;
|
||||||
|
constraints: IConstraint[];
|
||||||
|
parameters: Object;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FeatureToggleDTO {
|
||||||
|
name: string;
|
||||||
|
description?: string;
|
||||||
|
type?: string;
|
||||||
|
stale?: boolean;
|
||||||
|
archived?: boolean;
|
||||||
|
variants?: IVariant[];
|
||||||
|
createdAt?: Date;
|
||||||
|
}
|
||||||
|
export interface FeatureToggle extends FeatureToggleDTO {
|
||||||
|
project: string;
|
||||||
|
lastSeenAt?: Date;
|
||||||
|
createdAt?: Date;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IFeatureToggleClient {
|
||||||
|
name: string;
|
||||||
|
description: string;
|
||||||
|
type: string;
|
||||||
|
project: string;
|
||||||
|
stale: boolean;
|
||||||
|
variants: IVariant[];
|
||||||
|
enabled: boolean;
|
||||||
|
strategies: IStrategyConfig[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IFeatureEnvironmentInfo {
|
||||||
|
name: string;
|
||||||
|
environment: string;
|
||||||
|
enabled: boolean;
|
||||||
|
strategies: IFeatureStrategy[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FeatureToggleWithEnvironment extends FeatureToggle {
|
||||||
|
environments: IEnvironmentDetail[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IEnvironmentDetail extends IEnvironmentOverview {
|
||||||
|
strategies: IStrategyConfig[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IFeatureEnvironment {
|
||||||
|
environment: string;
|
||||||
|
featureName: string;
|
||||||
|
enabled: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IVariant {
|
||||||
|
name: string;
|
||||||
|
weight: number;
|
||||||
|
weightType: string;
|
||||||
|
payload: {
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
};
|
||||||
|
stickiness: string;
|
||||||
|
overrides: {
|
||||||
|
contextName: string;
|
||||||
|
values: string[];
|
||||||
|
}[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IEnvironment {
|
||||||
|
name: string;
|
||||||
|
displayName: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IEnvironmentOverview {
|
||||||
|
name: string;
|
||||||
|
displayName: string;
|
||||||
|
enabled: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IFeatureOverview {
|
||||||
|
name: string;
|
||||||
|
type: string;
|
||||||
|
stale: boolean;
|
||||||
|
createdAt: Date;
|
||||||
|
lastSeenAt: Date;
|
||||||
|
environments: IEnvironmentOverview[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IProjectOverview {
|
||||||
|
name: string;
|
||||||
|
description: string;
|
||||||
|
features: IFeatureOverview[];
|
||||||
|
members: number;
|
||||||
|
version: number;
|
||||||
|
health: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IProjectHealthReport extends IProjectOverview {
|
||||||
|
staleCount: number;
|
||||||
|
potentiallyStaleCount: number;
|
||||||
|
activeCount: number;
|
||||||
|
}
|
||||||
|
|
||||||
export interface IProjectParam {
|
export interface IProjectParam {
|
||||||
projectId: string;
|
projectId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IArchivedQuery {
|
||||||
|
archived: boolean;
|
||||||
|
}
|
||||||
|
export interface ITagQuery {
|
||||||
|
tagType: string;
|
||||||
|
tagValue: string;
|
||||||
|
}
|
||||||
|
export interface IFeatureToggleQuery {
|
||||||
|
tag?: string[][];
|
||||||
|
project?: string[];
|
||||||
|
namePrefix?: string;
|
||||||
|
environment?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ITag {
|
||||||
|
value: string;
|
||||||
|
type: string;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user