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,
|
||||
IFeatureOverview,
|
||||
IProjectHealthReport,
|
||||
IProjectOverview,
|
||||
} from '../types/model';
|
||||
import {
|
||||
MILLISECONDS_IN_DAY,
|
||||
@ -55,12 +54,22 @@ export default class ProjectHealthService {
|
||||
projectId: string,
|
||||
): Promise<IProjectHealthReport> {
|
||||
//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 {
|
||||
// ...overview,
|
||||
potentiallyStaleCount: await this.potentiallyStaleCount(features),
|
||||
activeCount: this.activeCount(features),
|
||||
staleCount: this.staleCount(features),
|
||||
...overview,
|
||||
potentiallyStaleCount: await this.potentiallyStaleCount(
|
||||
overview.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 {
|
||||
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