1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/frontend/src/interfaces/featureToggle.ts
Youssef Khedher 899a0f330e feat: add impressionData switch to create feature form (#639)
* feat: add impressionData switch to create feature form

* fix: update text

* fix: styling

* fix: conflict

* fix: update link

* fix: remove unused styles

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-03 12:39:43 +01:00

85 lines
1.6 KiB
TypeScript

import { IFeatureStrategy } from './strategy';
export interface IFeatureToggleListItem {
type: string;
name: string;
environments: IEnvironments[];
}
export interface IEnvironments {
name: string;
enabled: boolean;
}
export interface IFeatureToggleDTO {
stale: boolean;
archived: boolean;
description: string;
name: string;
project: string;
type: string;
variants: IFeatureVariant[];
}
export interface IFeatureTogglePayload {
description: string;
name: string;
projectId: string;
type: string;
impressionData: boolean;
}
export interface IFeatureToggle {
stale: boolean;
archived: boolean;
createdAt: Date;
lastSeenAt?: Date;
description: string;
environments: IFeatureEnvironment[];
name: string;
project: string;
type: string;
variants: IFeatureVariant[];
impressionData: boolean;
}
export interface IFeatureEnvironment {
type: string;
name: string;
enabled: boolean;
strategies: IFeatureStrategy[];
}
export interface IFeatureVariant {
name: string;
stickiness: string;
weight: number;
weightType: string;
overrides: IOverride[];
payload?: IPayload;
}
export interface IOverride {
contextName: string;
values: string[];
}
export interface IPayload {
name: string;
value: string;
}
export interface IFeatureEnvironmentMetrics {
environment: string;
timestamp: string;
yes: number;
no: number;
}
export interface IFeatureMetrics {
version: number;
maturity: string;
lastHourUsage: IFeatureEnvironmentMetrics[],
seenApplications: string[]
}