mirror of
https://github.com/Unleash/unleash.git
synced 2025-03-23 00:16:25 +01:00
refactor: metrics in feature oriented architecture (#5919)
This commit is contained in:
parent
aee470a7d6
commit
16691d72d7
@ -23,7 +23,7 @@ import FeatureToggleClientStore from '../features/client-feature-toggles/client-
|
||||
import EnvironmentStore from '../features/project-environments/environment-store';
|
||||
import FeatureTagStore from './feature-tag-store';
|
||||
import { FeatureEnvironmentStore } from './feature-environment-store';
|
||||
import { ClientMetricsStoreV2 } from './client-metrics-store-v2';
|
||||
import { ClientMetricsStoreV2 } from '../features/metrics/client-metrics/client-metrics-store-v2';
|
||||
import UserSplashStore from './user-splash-store';
|
||||
import RoleStore from './role-store';
|
||||
import SegmentStore from './segment-store';
|
||||
@ -38,7 +38,7 @@ import { Db } from './db';
|
||||
import { ImportTogglesStore } from '../features/export-import-toggles/import-toggles-store';
|
||||
import PrivateProjectStore from '../features/private-project/privateProjectStore';
|
||||
import { DependentFeaturesStore } from '../features/dependent-features/dependent-features-store';
|
||||
import LastSeenStore from '../services/client-metrics/last-seen/last-seen-store';
|
||||
import LastSeenStore from '../features/metrics/last-seen/last-seen-store';
|
||||
import FeatureSearchStore from '../features/feature-search/feature-search-store';
|
||||
|
||||
export const createStores = (
|
||||
|
@ -11,7 +11,7 @@ import {
|
||||
IFeatureTypeCount,
|
||||
IVariant,
|
||||
} from 'lib/types/model';
|
||||
import { LastSeenInput } from '../../../services/client-metrics/last-seen/last-seen-service';
|
||||
import { LastSeenInput } from '../../metrics/last-seen/last-seen-service';
|
||||
import {
|
||||
EnvironmentFeatureNames,
|
||||
FeatureToggleInsert,
|
||||
|
@ -12,7 +12,7 @@ import {
|
||||
} from '../../types/model';
|
||||
import { IFeatureToggleStore } from './types/feature-toggle-store-type';
|
||||
import { Db } from '../../db/db';
|
||||
import { LastSeenInput } from '../../services/client-metrics/last-seen/last-seen-service';
|
||||
import { LastSeenInput } from '../metrics/last-seen/last-seen-service';
|
||||
import { NameExistsError } from '../../error';
|
||||
import { DEFAULT_ENV } from '../../../lib/util';
|
||||
|
||||
|
@ -7,7 +7,7 @@ import {
|
||||
} from '../../../types/model';
|
||||
import { FeatureToggleInsert } from '../feature-toggle-store';
|
||||
import { Store } from '../../../types/stores/store';
|
||||
import { LastSeenInput } from '../../../services/client-metrics/last-seen/last-seen-service';
|
||||
import { LastSeenInput } from '../../metrics/last-seen/last-seen-service';
|
||||
import { FeatureConfigurationClient } from './feature-toggle-strategies-store-type';
|
||||
import { IFeatureProjectUserParams } from '../feature-toggle-controller';
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
import ClientInstanceService from '../../../lib/services/client-metrics/instance-service';
|
||||
import { IClientApp } from '../../../lib/types/model';
|
||||
import ClientInstanceService from '../instance/instance-service';
|
||||
import { IClientApp } from '../../../types/model';
|
||||
import { secondsToMilliseconds } from 'date-fns';
|
||||
import { createTestConfig } from '../../config/test-config';
|
||||
import { IUnleashConfig, IUnleashStores } from '../../../lib/types';
|
||||
import { FakePrivateProjectChecker } from '../../../lib/features/private-project/fakePrivateProjectChecker';
|
||||
import { ITestDb } from '../helpers/database-init';
|
||||
import { createTestConfig } from '../../../../test/config/test-config';
|
||||
import { IUnleashConfig, IUnleashStores } from '../../../types';
|
||||
import { FakePrivateProjectChecker } from '../../private-project/fakePrivateProjectChecker';
|
||||
import { ITestDb } from '../../../../test/e2e/helpers/database-init';
|
||||
|
||||
const faker = require('faker');
|
||||
const dbInit = require('../helpers/database-init');
|
||||
const getLogger = require('../../fixtures/no-logger');
|
||||
const { APPLICATION_CREATED } = require('../../../lib/types/events');
|
||||
const dbInit = require('../../../../test/e2e/helpers/database-init');
|
||||
const getLogger = require('../../../../test/fixtures/no-logger');
|
||||
const { APPLICATION_CREATED } = require('../../../types/events');
|
||||
|
||||
let stores: IUnleashStores;
|
||||
let db: ITestDb;
|
@ -1,4 +1,4 @@
|
||||
import { Store } from './store';
|
||||
import { Store } from '../../../types/stores/store';
|
||||
|
||||
export interface IClientMetricsEnvKey {
|
||||
featureName: string;
|
@ -1,11 +1,11 @@
|
||||
import { addHours, set, subDays } from 'date-fns';
|
||||
import dbInit, { ITestDb } from '../helpers/database-init';
|
||||
import getLogger from '../../fixtures/no-logger';
|
||||
import { IUnleashStores } from '../../../lib/types';
|
||||
import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init';
|
||||
import getLogger from '../../../../test/fixtures/no-logger';
|
||||
import { IUnleashStores } from '../../../types';
|
||||
import {
|
||||
IClientMetricsEnv,
|
||||
IClientMetricsStoreV2,
|
||||
} from '../../../lib/types/stores/client-metrics-store-v2';
|
||||
} from './client-metrics-store-v2-type';
|
||||
|
||||
let db: ITestDb;
|
||||
let stores: IUnleashStores;
|
@ -1,6 +1,6 @@
|
||||
import dbInit, { ITestDb } from '../../test/e2e/helpers/database-init';
|
||||
import getLogger from '../../test/fixtures/no-logger';
|
||||
import { IClientMetricsStoreV2, IUnleashStores } from '../types';
|
||||
import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init';
|
||||
import getLogger from '../../../../test/fixtures/no-logger';
|
||||
import { IClientMetricsStoreV2, IUnleashStores } from '../../../types';
|
||||
import { endOfDay, setHours, startOfHour, subDays } from 'date-fns';
|
||||
|
||||
let stores: IUnleashStores;
|
@ -1,18 +1,15 @@
|
||||
import { Logger, LogProvider } from '../logger';
|
||||
import { Logger, LogProvider } from '../../../logger';
|
||||
import {
|
||||
IClientMetricsEnv,
|
||||
IClientMetricsEnvKey,
|
||||
IClientMetricsEnvVariant,
|
||||
IClientMetricsStoreV2,
|
||||
} from '../types/stores/client-metrics-store-v2';
|
||||
import NotFoundError from '../error/notfound-error';
|
||||
} from './client-metrics-store-v2-type';
|
||||
import NotFoundError from '../../../error/notfound-error';
|
||||
import { endOfDay, startOfHour } from 'date-fns';
|
||||
import {
|
||||
collapseHourlyMetrics,
|
||||
spreadVariants,
|
||||
} from '../util/collapseHourlyMetrics';
|
||||
import { Db } from './db';
|
||||
import { IFlagResolver } from '../types';
|
||||
import { collapseHourlyMetrics, spreadVariants } from './collapseHourlyMetrics';
|
||||
import { Db } from '../../../db/db';
|
||||
import { IFlagResolver } from '../../../types';
|
||||
|
||||
interface ClientMetricsBaseTable {
|
||||
feature_name: string;
|
@ -1,10 +1,10 @@
|
||||
import dbInit, { ITestDb } from '../../helpers/database-init';
|
||||
import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init';
|
||||
import {
|
||||
IUnleashTest,
|
||||
setupAppWithCustomConfig,
|
||||
} from '../../helpers/test-helper';
|
||||
import getLogger from '../../../fixtures/no-logger';
|
||||
import { IClientMetricsEnv } from '../../../../lib/types/stores/client-metrics-store-v2';
|
||||
} from '../../../../test/e2e/helpers/test-helper';
|
||||
import getLogger from '../../../../test/fixtures/no-logger';
|
||||
import { IClientMetricsEnv } from './client-metrics-store-v2-type';
|
||||
import { subHours } from 'date-fns';
|
||||
|
||||
let app: IUnleashTest;
|
@ -1,22 +1,22 @@
|
||||
import { Request, Response } from 'express';
|
||||
import Controller from '../controller';
|
||||
import { IUnleashConfig } from '../../types/option';
|
||||
import { IFlagResolver, IUnleashServices } from '../../types';
|
||||
import { Logger } from '../../logger';
|
||||
import ClientMetricsServiceV2 from '../../services/client-metrics/metrics-service-v2';
|
||||
import { NONE } from '../../types/permissions';
|
||||
import { createResponseSchema } from '../../openapi/util/create-response-schema';
|
||||
import { OpenApiService } from '../../services/openapi-service';
|
||||
import { serializeDates } from '../../types/serialize-dates';
|
||||
import Controller from '../../../routes/controller';
|
||||
import { IUnleashConfig } from '../../../types/option';
|
||||
import { IFlagResolver, IUnleashServices } from '../../../types';
|
||||
import { Logger } from '../../../logger';
|
||||
import ClientMetricsServiceV2 from './metrics-service-v2';
|
||||
import { NONE } from '../../../types/permissions';
|
||||
import { createResponseSchema } from '../../../openapi/util/create-response-schema';
|
||||
import { OpenApiService } from '../../../services/openapi-service';
|
||||
import { serializeDates } from '../../../types/serialize-dates';
|
||||
import {
|
||||
FeatureUsageSchema,
|
||||
featureUsageSchema,
|
||||
} from '../../openapi/spec/feature-usage-schema';
|
||||
} from '../../../openapi/spec/feature-usage-schema';
|
||||
import {
|
||||
featureMetricsSchema,
|
||||
FeatureMetricsSchema,
|
||||
} from '../../openapi/spec/feature-metrics-schema';
|
||||
import { getStandardResponses } from '../../openapi';
|
||||
} from '../../../openapi/spec/feature-metrics-schema';
|
||||
import { getStandardResponses } from '../../../openapi';
|
||||
|
||||
interface IName {
|
||||
name: string;
|
@ -1,5 +1,5 @@
|
||||
import { collapseHourlyMetrics } from './collapseHourlyMetrics';
|
||||
import { IClientMetricsEnv } from '../types/stores/client-metrics-store-v2';
|
||||
import { IClientMetricsEnv } from './client-metrics-store-v2-type';
|
||||
import { addMinutes, startOfHour } from 'date-fns';
|
||||
|
||||
test('collapseHourlyMetrics', () => {
|
@ -1,7 +1,7 @@
|
||||
import {
|
||||
IClientMetricsEnv,
|
||||
IClientMetricsEnvVariant,
|
||||
} from '../types/stores/client-metrics-store-v2';
|
||||
} from './client-metrics-store-v2-type';
|
||||
import { startOfHour } from 'date-fns';
|
||||
|
||||
const createMetricKey = (metric: IClientMetricsEnv): string => {
|
@ -5,7 +5,7 @@ import {
|
||||
IClientMetricsEnv,
|
||||
IClientMetricsEnvKey,
|
||||
IClientMetricsStoreV2,
|
||||
} from '../../lib/types/stores/client-metrics-store-v2';
|
||||
} from './client-metrics-store-v2-type';
|
||||
|
||||
export default class FakeClientMetricsStoreV2
|
||||
extends EventEmitter
|
@ -1,13 +1,13 @@
|
||||
import ClientMetricsServiceV2 from './metrics-service-v2';
|
||||
|
||||
import getLogger from '../../../test/fixtures/no-logger';
|
||||
import getLogger from '../../../../test/fixtures/no-logger';
|
||||
|
||||
import createStores from '../../../test/fixtures/store';
|
||||
import createStores from '../../../../test/fixtures/store';
|
||||
import EventEmitter from 'events';
|
||||
import { LastSeenService } from './last-seen/last-seen-service';
|
||||
import { LastSeenService } from '../last-seen/last-seen-service';
|
||||
import { IClientMetricsStoreV2, IUnleashConfig } from 'lib/types';
|
||||
import { endOfDay, startOfHour, subDays, subHours } from 'date-fns';
|
||||
import { IClientMetricsEnv } from '../../types/stores/client-metrics-store-v2';
|
||||
import { IClientMetricsEnv } from './client-metrics-store-v2-type';
|
||||
|
||||
function initClientMetrics(flagEnabled = true) {
|
||||
const stores = createStores();
|
@ -1,26 +1,26 @@
|
||||
import { Logger } from '../../logger';
|
||||
import { IFlagResolver, IUnleashConfig } from '../../types';
|
||||
import { IUnleashStores } from '../../types';
|
||||
import { ToggleMetricsSummary } from '../../types/models/metrics';
|
||||
import { Logger } from '../../../logger';
|
||||
import { IFlagResolver, IUnleashConfig } from '../../../types';
|
||||
import { IUnleashStores } from '../../../types';
|
||||
import { ToggleMetricsSummary } from '../../../types/models/metrics';
|
||||
import {
|
||||
IClientMetricsEnv,
|
||||
IClientMetricsStoreV2,
|
||||
} from '../../types/stores/client-metrics-store-v2';
|
||||
import { clientMetricsSchema } from './schema';
|
||||
} from './client-metrics-store-v2-type';
|
||||
import { clientMetricsSchema } from '../shared/schema';
|
||||
import { compareAsc } from 'date-fns';
|
||||
import { CLIENT_METRICS } from '../../types/events';
|
||||
import ApiUser, { IApiUser } from '../../types/api-user';
|
||||
import { ALL } from '../../types/models/api-token';
|
||||
import { IUser } from '../../types/user';
|
||||
import { collapseHourlyMetrics } from '../../util/collapseHourlyMetrics';
|
||||
import { LastSeenService } from './last-seen/last-seen-service';
|
||||
import { CLIENT_METRICS } from '../../../types/events';
|
||||
import ApiUser, { IApiUser } from '../../../types/api-user';
|
||||
import { ALL } from '../../../types/models/api-token';
|
||||
import { IUser } from '../../../types/user';
|
||||
import { collapseHourlyMetrics } from './collapseHourlyMetrics';
|
||||
import { LastSeenService } from '../last-seen/last-seen-service';
|
||||
import {
|
||||
generateDayBuckets,
|
||||
generateHourBuckets,
|
||||
HourBucket,
|
||||
} from '../../util/time-utils';
|
||||
} from '../../../util/time-utils';
|
||||
import { ClientMetricsSchema } from 'lib/openapi';
|
||||
import { nameSchema } from '../../schema/feature-schema';
|
||||
import { nameSchema } from '../../../schema/feature-schema';
|
||||
|
||||
export default class ClientMetricsServiceV2 {
|
||||
private config: IUnleashConfig;
|
@ -1,12 +1,12 @@
|
||||
import ClientInstanceService from './instance-service';
|
||||
import { IClientApp } from '../../types/model';
|
||||
import FakeEventStore from '../../../test/fixtures/fake-event-store';
|
||||
import { createTestConfig } from '../../../test/config/test-config';
|
||||
import { FakePrivateProjectChecker } from '../../features/private-project/fakePrivateProjectChecker';
|
||||
import { IUnleashConfig } from '../../types';
|
||||
import FakeClientMetricsStoreV2 from '../../../test/fixtures/fake-client-metrics-store-v2';
|
||||
import FakeStrategiesStore from '../../../test/fixtures/fake-strategies-store';
|
||||
import FakeFeatureToggleStore from '../../features/feature-toggle/fakes/fake-feature-toggle-store';
|
||||
import { IClientApp } from '../../../types/model';
|
||||
import FakeEventStore from '../../../../test/fixtures/fake-event-store';
|
||||
import { createTestConfig } from '../../../../test/config/test-config';
|
||||
import { FakePrivateProjectChecker } from '../../private-project/fakePrivateProjectChecker';
|
||||
import { IUnleashConfig } from '../../../types';
|
||||
import FakeClientMetricsStoreV2 from '../client-metrics/fake-client-metrics-store-v2';
|
||||
import FakeStrategiesStore from '../../../../test/fixtures/fake-strategies-store';
|
||||
import FakeFeatureToggleStore from '../../feature-toggle/fakes/fake-feature-toggle-store';
|
||||
|
||||
let config: IUnleashConfig;
|
||||
beforeAll(() => {
|
@ -1,26 +1,26 @@
|
||||
import { APPLICATION_CREATED, CLIENT_REGISTER } from '../../types/events';
|
||||
import { APPLICATION_CREATED, CLIENT_REGISTER } from '../../../types/events';
|
||||
import { IApplication } from './models';
|
||||
import { IUnleashStores } from '../../types/stores';
|
||||
import { IUnleashConfig } from '../../types/option';
|
||||
import { IEventStore } from '../../types/stores/event-store';
|
||||
import { IUnleashStores } from '../../../types/stores';
|
||||
import { IUnleashConfig } from '../../../types/option';
|
||||
import { IEventStore } from '../../../types/stores/event-store';
|
||||
import {
|
||||
IClientApplication,
|
||||
IClientApplicationsStore,
|
||||
} from '../../types/stores/client-applications-store';
|
||||
import { IFeatureToggleStore } from '../../features/feature-toggle/types/feature-toggle-store-type';
|
||||
import { IStrategyStore } from '../../types/stores/strategy-store';
|
||||
import { IClientInstanceStore } from '../../types/stores/client-instance-store';
|
||||
import { IApplicationQuery } from '../../types/query';
|
||||
import { IClientApp } from '../../types/model';
|
||||
import { clientRegisterSchema } from './schema';
|
||||
} from '../../../types/stores/client-applications-store';
|
||||
import { IFeatureToggleStore } from '../../feature-toggle/types/feature-toggle-store-type';
|
||||
import { IStrategyStore } from '../../../types/stores/strategy-store';
|
||||
import { IClientInstanceStore } from '../../../types/stores/client-instance-store';
|
||||
import { IApplicationQuery } from '../../../types/query';
|
||||
import { IClientApp } from '../../../types/model';
|
||||
import { clientRegisterSchema } from '../shared/schema';
|
||||
|
||||
import { IClientMetricsStoreV2 } from '../../types/stores/client-metrics-store-v2';
|
||||
import { clientMetricsSchema } from './schema';
|
||||
import { PartialSome } from '../../types/partial';
|
||||
import { IPrivateProjectChecker } from '../../features/private-project/privateProjectCheckerType';
|
||||
import { IFlagResolver, SYSTEM_USER } from '../../types';
|
||||
import { ALL_PROJECTS } from '../../util';
|
||||
import { Logger } from '../../logger';
|
||||
import { IClientMetricsStoreV2 } from '../client-metrics/client-metrics-store-v2-type';
|
||||
import { clientMetricsSchema } from '../shared/schema';
|
||||
import { PartialSome } from '../../../types/partial';
|
||||
import { IPrivateProjectChecker } from '../../private-project/privateProjectCheckerType';
|
||||
import { IFlagResolver, SYSTEM_USER } from '../../../types';
|
||||
import { ALL_PROJECTS } from '../../../util';
|
||||
import { Logger } from '../../../logger';
|
||||
|
||||
export default class ClientInstanceService {
|
||||
apps = {};
|
@ -1,17 +1,17 @@
|
||||
import supertest from 'supertest';
|
||||
import getApp from '../../app';
|
||||
import { createTestConfig } from '../../../test/config/test-config';
|
||||
import { clientMetricsSchema } from '../../services/client-metrics/schema';
|
||||
import { createServices } from '../../services';
|
||||
import getApp from '../../../app';
|
||||
import { createTestConfig } from '../../../../test/config/test-config';
|
||||
import { clientMetricsSchema } from '../shared/schema';
|
||||
import { createServices } from '../../../services';
|
||||
import {
|
||||
IAuthType,
|
||||
IUnleashOptions,
|
||||
IUnleashServices,
|
||||
IUnleashStores,
|
||||
} from '../../types';
|
||||
import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init';
|
||||
} from '../../../types';
|
||||
import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init';
|
||||
import { subMinutes } from 'date-fns';
|
||||
import { ApiTokenType } from '../../types/models/api-token';
|
||||
import { ApiTokenType } from '../../../types/models/api-token';
|
||||
|
||||
let db: ITestDb;
|
||||
|
@ -1,22 +1,26 @@
|
||||
import { Response } from 'express';
|
||||
import Controller from '../controller';
|
||||
import { IFlagResolver, IUnleashConfig, IUnleashServices } from '../../types';
|
||||
import ClientInstanceService from '../../services/client-metrics/instance-service';
|
||||
import { Logger } from '../../logger';
|
||||
import { IAuthRequest } from '../unleash-types';
|
||||
import ClientMetricsServiceV2 from '../../services/client-metrics/metrics-service-v2';
|
||||
import { NONE } from '../../types/permissions';
|
||||
import { OpenApiService } from '../../services/openapi-service';
|
||||
import { createRequestSchema } from '../../openapi/util/create-request-schema';
|
||||
import Controller from '../../../routes/controller';
|
||||
import {
|
||||
IFlagResolver,
|
||||
IUnleashConfig,
|
||||
IUnleashServices,
|
||||
} from '../../../types';
|
||||
import ClientInstanceService from './instance-service';
|
||||
import { Logger } from '../../../logger';
|
||||
import { IAuthRequest } from '../../../routes/unleash-types';
|
||||
import ClientMetricsServiceV2 from '../client-metrics/metrics-service-v2';
|
||||
import { NONE } from '../../../types/permissions';
|
||||
import { OpenApiService } from '../../../services/openapi-service';
|
||||
import { createRequestSchema } from '../../../openapi/util/create-request-schema';
|
||||
import {
|
||||
emptyResponse,
|
||||
getStandardResponses,
|
||||
} from '../../openapi/util/standard-responses';
|
||||
} from '../../../openapi/util/standard-responses';
|
||||
import rateLimit from 'express-rate-limit';
|
||||
import { minutesToMilliseconds } from 'date-fns';
|
||||
import { BulkMetricsSchema } from '../../openapi/spec/bulk-metrics-schema';
|
||||
import { clientMetricsEnvBulkSchema } from '../../services/client-metrics/schema';
|
||||
import { IClientMetricsEnv } from '../../types/stores/client-metrics-store-v2';
|
||||
import { BulkMetricsSchema } from '../../../openapi/spec/bulk-metrics-schema';
|
||||
import { clientMetricsEnvBulkSchema } from '../shared/schema';
|
||||
import { IClientMetricsEnv } from '../client-metrics/client-metrics-store-v2-type';
|
||||
|
||||
export default class ClientMetricsController extends Controller {
|
||||
logger: Logger;
|
@ -1,4 +1,4 @@
|
||||
import { IClientInstance } from '../../types/stores/client-instance-store';
|
||||
import { IClientInstance } from '../../../types/stores/client-instance-store';
|
||||
|
||||
export interface IYesNoCount {
|
||||
yes: number;
|
@ -1,9 +1,9 @@
|
||||
import supertest from 'supertest';
|
||||
import { createTestConfig } from '../../../test/config/test-config';
|
||||
import createStores from '../../../test/fixtures/store';
|
||||
import getLogger from '../../../test/fixtures/no-logger';
|
||||
import getApp from '../../app';
|
||||
import { createServices } from '../../services';
|
||||
import { createTestConfig } from '../../../../test/config/test-config';
|
||||
import createStores from '../../../../test/fixtures/store';
|
||||
import getLogger from '../../../../test/fixtures/no-logger';
|
||||
import getApp from '../../../app';
|
||||
import { createServices } from '../../../services';
|
||||
|
||||
async function getSetup() {
|
||||
const stores = createStores();
|
@ -1,21 +1,21 @@
|
||||
import { Response } from 'express';
|
||||
import Controller from '../controller';
|
||||
import { IUnleashServices } from '../../types';
|
||||
import { IUnleashConfig } from '../../types/option';
|
||||
import { Logger } from '../../logger';
|
||||
import ClientInstanceService from '../../services/client-metrics/instance-service';
|
||||
import { IAuthRequest, IUser } from '../../server-impl';
|
||||
import { IClientApp } from '../../types/model';
|
||||
import ApiUser, { IApiUser } from '../../types/api-user';
|
||||
import { ALL } from '../../types/models/api-token';
|
||||
import { NONE } from '../../types/permissions';
|
||||
import { OpenApiService } from '../../services/openapi-service';
|
||||
import { emptyResponse } from '../../openapi/util/standard-responses';
|
||||
import { createRequestSchema } from '../../openapi/util/create-request-schema';
|
||||
import { ClientApplicationSchema } from '../../openapi/spec/client-application-schema';
|
||||
import Controller from '../../../routes/controller';
|
||||
import { IUnleashServices } from '../../../types';
|
||||
import { IUnleashConfig } from '../../../types/option';
|
||||
import { Logger } from '../../../logger';
|
||||
import ClientInstanceService from './instance-service';
|
||||
import { IAuthRequest, IUser } from '../../../server-impl';
|
||||
import { IClientApp } from '../../../types/model';
|
||||
import ApiUser, { IApiUser } from '../../../types/api-user';
|
||||
import { ALL } from '../../../types/models/api-token';
|
||||
import { NONE } from '../../../types/permissions';
|
||||
import { OpenApiService } from '../../../services/openapi-service';
|
||||
import { emptyResponse } from '../../../openapi/util/standard-responses';
|
||||
import { createRequestSchema } from '../../../openapi/util/create-request-schema';
|
||||
import { ClientApplicationSchema } from '../../../openapi/spec/client-application-schema';
|
||||
import rateLimit from 'express-rate-limit';
|
||||
import { minutesToMilliseconds } from 'date-fns';
|
||||
import version from '../../util/version';
|
||||
import version from '../../../util/version';
|
||||
|
||||
export default class RegisterController extends Controller {
|
||||
logger: Logger;
|
@ -1,5 +1,5 @@
|
||||
import FakeFeatureToggleStore from '../../../features/feature-toggle/fakes/fake-feature-toggle-store';
|
||||
import FeatureToggleStore from '../../../features/feature-toggle/feature-toggle-store';
|
||||
import FakeFeatureToggleStore from '../../feature-toggle/fakes/fake-feature-toggle-store';
|
||||
import FeatureToggleStore from '../../feature-toggle/feature-toggle-store';
|
||||
import { Db, IUnleashConfig } from '../../../server-impl';
|
||||
import { FakeLastSeenStore } from './fake-last-seen-store';
|
||||
import { LastSeenService } from './last-seen-service';
|
@ -1,12 +1,12 @@
|
||||
import { Logger } from '../../../logger';
|
||||
import { IUnleashConfig } from '../../../server-impl';
|
||||
import { IClientMetricsEnv } from '../../../types/stores/client-metrics-store-v2';
|
||||
import { IClientMetricsEnv } from '../client-metrics/client-metrics-store-v2-type';
|
||||
import { ILastSeenStore } from './types/last-seen-store-type';
|
||||
import {
|
||||
IFeatureToggleStore,
|
||||
IFlagResolver,
|
||||
IUnleashStores,
|
||||
} from '../../../../lib/types';
|
||||
} from '../../../types';
|
||||
|
||||
export type LastSeenInput = {
|
||||
featureName: string;
|
@ -2,7 +2,7 @@ import EventEmitter from 'events';
|
||||
import { LogProvider, Logger } from '../../../logger';
|
||||
import { DB_TIME } from '../../../metric-events';
|
||||
import { Db } from '../../../server-impl';
|
||||
import metricsHelper from '../../..//util/metrics-helper';
|
||||
import metricsHelper from '../../../util/metrics-helper';
|
||||
import { LastSeenInput } from './last-seen-service';
|
||||
import { ILastSeenStore } from './types/last-seen-store-type';
|
||||
|
@ -23,7 +23,7 @@ import { IUnleashConfig } from './types/option';
|
||||
import { IUnleashStores } from './types/stores';
|
||||
import { hoursToMilliseconds, minutesToMilliseconds } from 'date-fns';
|
||||
import { InstanceStatsService } from './features/instance-stats/instance-stats-service';
|
||||
import { ValidatedClientMetrics } from './services/client-metrics/schema';
|
||||
import { ValidatedClientMetrics } from './features/metrics/shared/schema';
|
||||
import { IEnvironment } from './types';
|
||||
|
||||
export default class MetricsMonitor {
|
||||
|
@ -10,7 +10,7 @@ import MetricsController from './metrics';
|
||||
import UserController from './user/user';
|
||||
import ConfigController from './config';
|
||||
import { ContextController } from './context';
|
||||
import ClientMetricsController from './client-metrics';
|
||||
import ClientMetricsController from '../../features/metrics/client-metrics/client-metrics';
|
||||
import StateController from './state';
|
||||
import TagController from './tag';
|
||||
import TagTypeController from '../../features/tag-type/tag-type';
|
||||
|
@ -4,7 +4,7 @@ import { NONE, UPDATE_APPLICATION } from '../../types/permissions';
|
||||
import { IUnleashConfig } from '../../types/option';
|
||||
import { IUnleashServices } from '../../types/services';
|
||||
import { Logger } from '../../logger';
|
||||
import ClientInstanceService from '../../services/client-metrics/instance-service';
|
||||
import ClientInstanceService from '../../features/metrics/instance/instance-service';
|
||||
import { createRequestSchema } from '../../openapi/util/create-request-schema';
|
||||
import { createResponseSchema } from '../../openapi/util/create-response-schema';
|
||||
import { ApplicationSchema } from '../../openapi/spec/application-schema';
|
||||
|
@ -1,7 +1,7 @@
|
||||
import Controller from '../controller';
|
||||
import FeatureController from '../../features/client-feature-toggles/client-feature-toggle.controller';
|
||||
import MetricsController from './metrics';
|
||||
import RegisterController from './register';
|
||||
import MetricsController from '../../features/metrics/instance/metrics';
|
||||
import RegisterController from '../../features/metrics/instance/register';
|
||||
import { IUnleashConfig, IUnleashServices } from '../../types';
|
||||
|
||||
export default class ClientApi extends Controller {
|
||||
|
@ -10,7 +10,7 @@ import {
|
||||
validatedEdgeTokensSchema,
|
||||
ValidatedEdgeTokensSchema,
|
||||
} from '../../openapi/spec/validated-edge-tokens-schema';
|
||||
import ClientInstanceService from '../../services/client-metrics/instance-service';
|
||||
import ClientInstanceService from '../../features/metrics/instance/instance-service';
|
||||
import EdgeService from '../../services/edge-service';
|
||||
import { OpenApiService } from '../../services/openapi-service';
|
||||
import {
|
||||
@ -18,8 +18,8 @@ import {
|
||||
getStandardResponses,
|
||||
} from '../../openapi/util/standard-responses';
|
||||
import { BulkMetricsSchema } from '../../openapi/spec/bulk-metrics-schema';
|
||||
import ClientMetricsServiceV2 from '../../services/client-metrics/metrics-service-v2';
|
||||
import { clientMetricsEnvBulkSchema } from '../../services/client-metrics/schema';
|
||||
import ClientMetricsServiceV2 from '../../features/metrics/client-metrics/metrics-service-v2';
|
||||
import { clientMetricsEnvBulkSchema } from '../../features/metrics/shared/schema';
|
||||
import { TokenStringListSchema } from '../../openapi';
|
||||
|
||||
export default class EdgeController extends Controller {
|
||||
|
@ -5,8 +5,8 @@ import HealthService from './health-service';
|
||||
|
||||
import ProjectService from './project-service';
|
||||
import StateService from './state-service';
|
||||
import ClientInstanceService from './client-metrics/instance-service';
|
||||
import ClientMetricsServiceV2 from './client-metrics/metrics-service-v2';
|
||||
import ClientInstanceService from '../features/metrics/instance/instance-service';
|
||||
import ClientMetricsServiceV2 from '../features/metrics/client-metrics/metrics-service-v2';
|
||||
import TagTypeService from '../features/tag-type/tag-type-service';
|
||||
import TagService from './tag-service';
|
||||
import StrategyService from './strategy-service';
|
||||
@ -35,7 +35,7 @@ import { ProxyService } from './proxy-service';
|
||||
import EdgeService from './edge-service';
|
||||
import PatService from './pat-service';
|
||||
import { PublicSignupTokenService } from './public-signup-token-service';
|
||||
import { LastSeenService } from './client-metrics/last-seen/last-seen-service';
|
||||
import { LastSeenService } from '../features/metrics/last-seen/last-seen-service';
|
||||
import { InstanceStatsService } from '../features/instance-stats/instance-stats-service';
|
||||
import { FavoritesService } from './favorites-service';
|
||||
import MaintenanceService from '../features/maintenance/maintenance-service';
|
||||
@ -85,7 +85,7 @@ import { FakeDependentFeaturesReadModel } from '../features/dependent-features/f
|
||||
import {
|
||||
createFakeLastSeenService,
|
||||
createLastSeenService,
|
||||
} from './client-metrics/last-seen/createLastSeenService';
|
||||
} from '../features/metrics/last-seen/createLastSeenService';
|
||||
import {
|
||||
createFakeGetProductionChanges,
|
||||
createGetProductionChanges,
|
||||
|
@ -5,7 +5,7 @@ import StateService from '../services/state-service';
|
||||
import StrategyService from '../services/strategy-service';
|
||||
import TagTypeService from '../features/tag-type/tag-type-service';
|
||||
import TagService from '../services/tag-service';
|
||||
import ClientInstanceService from '../services/client-metrics/instance-service';
|
||||
import ClientInstanceService from '../features/metrics/instance/instance-service';
|
||||
import ContextService from '../services/context-service';
|
||||
import VersionService from '../services/version-service';
|
||||
import { ApiTokenService } from '../services/api-token-service';
|
||||
@ -22,7 +22,7 @@ import FeatureToggleService from '../features/feature-toggle/feature-toggle-serv
|
||||
import EnvironmentService from '../features/project-environments/environment-service';
|
||||
import FeatureTagService from '../services/feature-tag-service';
|
||||
import ProjectHealthService from '../services/project-health-service';
|
||||
import ClientMetricsServiceV2 from '../services/client-metrics/metrics-service-v2';
|
||||
import ClientMetricsServiceV2 from '../features/metrics/client-metrics/metrics-service-v2';
|
||||
import UserSplashService from '../services/user-splash-service';
|
||||
import { OpenApiService } from '../services/openapi-service';
|
||||
import { ClientSpecService } from '../services/client-spec-service';
|
||||
@ -32,7 +32,7 @@ import { ProxyService } from '../services/proxy-service';
|
||||
import EdgeService from '../services/edge-service';
|
||||
import PatService from '../services/pat-service';
|
||||
import { PublicSignupTokenService } from '../services/public-signup-token-service';
|
||||
import { LastSeenService } from '../services/client-metrics/last-seen/last-seen-service';
|
||||
import { LastSeenService } from '../features/metrics/last-seen/last-seen-service';
|
||||
import { InstanceStatsService } from '../features/instance-stats/instance-stats-service';
|
||||
import { FavoritesService } from '../services/favorites-service';
|
||||
import MaintenanceService from '../features/maintenance/maintenance-service';
|
||||
|
@ -21,7 +21,7 @@ import { IFeatureEnvironmentStore } from './stores/feature-environment-store';
|
||||
import { IFeatureStrategiesStore } from '../features/feature-toggle/types/feature-toggle-strategies-store-type';
|
||||
import { IEnvironmentStore } from '../features/project-environments/environment-store-type';
|
||||
import { IFeatureToggleClientStore } from '../features/client-feature-toggles/types/client-feature-toggle-store-type';
|
||||
import { IClientMetricsStoreV2 } from './stores/client-metrics-store-v2';
|
||||
import { IClientMetricsStoreV2 } from '../features/metrics/client-metrics/client-metrics-store-v2-type';
|
||||
import { IUserSplashStore } from './stores/user-splash-store';
|
||||
import { IRoleStore } from './stores/role-store';
|
||||
import { ISegmentStore } from './stores/segment-store';
|
||||
@ -35,7 +35,7 @@ import { IProjectStatsStore } from './stores/project-stats-store-type';
|
||||
import { IImportTogglesStore } from '../features/export-import-toggles/import-toggles-store-type';
|
||||
import { IPrivateProjectStore } from '../features/private-project/privateProjectStoreType';
|
||||
import { IDependentFeaturesStore } from '../features/dependent-features/dependent-features-store-type';
|
||||
import { ILastSeenStore } from '../services/client-metrics/last-seen/types/last-seen-store-type';
|
||||
import { ILastSeenStore } from '../features/metrics/last-seen/types/last-seen-store-type';
|
||||
import { IFeatureSearchStore } from '../features/feature-search/feature-search-store-type';
|
||||
|
||||
export interface IUnleashStores {
|
||||
|
@ -28,5 +28,5 @@ export * from './graceful-shutdown';
|
||||
export * from './validateJsonString';
|
||||
export * from './arraysHaveSameItems';
|
||||
export * from './constantTimeCompare';
|
||||
export * from './collapseHourlyMetrics';
|
||||
export * from '../features/metrics/client-metrics/collapseHourlyMetrics';
|
||||
export * from '../features/playground/offline-unleash-client';
|
||||
|
4
src/test/fixtures/store.ts
vendored
4
src/test/fixtures/store.ts
vendored
@ -26,7 +26,7 @@ import FakeApiTokenStore from './fake-api-token-store';
|
||||
import FakeFeatureTypeStore from './fake-feature-type-store';
|
||||
import FakeResetTokenStore from './fake-reset-token-store';
|
||||
import FakeClientFeatureToggleStore from '../../lib/features/client-feature-toggles/fakes/fake-client-feature-toggle-store';
|
||||
import FakeClientMetricsStoreV2 from './fake-client-metrics-store-v2';
|
||||
import FakeClientMetricsStoreV2 from '../../lib/features/metrics/client-metrics/fake-client-metrics-store-v2';
|
||||
import FakeUserSplashStore from './fake-user-splash-store';
|
||||
import FakeRoleStore from './fake-role-store';
|
||||
import FakeSegmentStore from './fake-segment-store';
|
||||
@ -38,7 +38,7 @@ import FakeFavoriteProjectsStore from './fake-favorite-projects-store';
|
||||
import { FakeAccountStore } from './fake-account-store';
|
||||
import FakeProjectStatsStore from './fake-project-stats-store';
|
||||
import { FakeDependentFeaturesStore } from '../../lib/features/dependent-features/fake-dependent-features-store';
|
||||
import { FakeLastSeenStore } from '../../lib/services/client-metrics/last-seen/fake-last-seen-store';
|
||||
import { FakeLastSeenStore } from '../../lib/features/metrics/last-seen/fake-last-seen-store';
|
||||
import FakeFeatureSearchStore from '../../lib/features/feature-search/fake-feature-search-store';
|
||||
|
||||
const db = {
|
||||
|
Loading…
Reference in New Issue
Block a user