1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-05-08 01:15:49 +02:00

feat: drop full- for import/validate (#3168)

This commit is contained in:
Mateusz Kwasniewski 2023-02-21 10:15:57 +01:00 committed by GitHub
parent 4b21175c80
commit 3800877be1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 146 additions and 142 deletions

View File

@ -14,7 +14,7 @@ export const useImportApi = () => {
const { trackEvent } = usePlausibleTracker(); const { trackEvent } = usePlausibleTracker();
const createImport = async (payload: ImportQuerySchema) => { const createImport = async (payload: ImportQuerySchema) => {
const path = `api/admin/features-batch/full-import`; const path = `api/admin/features-batch/import`;
const req = createRequest(path, { const req = createRequest(path, {
method: 'POST', method: 'POST',
body: JSON.stringify(payload), body: JSON.stringify(payload),

View File

@ -19,7 +19,7 @@ export const useValidateImportApi = () => {
const validateImport = async ( const validateImport = async (
payload: ImportQuerySchema payload: ImportQuerySchema
): Promise<IValidationSchema> => { ): Promise<IValidationSchema> => {
const path = `api/admin/features-batch/full-validate`; const path = `api/admin/features-batch/validate`;
const req = createRequest(path, { const req = createRequest(path, {
method: 'POST', method: 'POST',
body: JSON.stringify(payload), body: JSON.stringify(payload),

View File

@ -36,7 +36,7 @@ import { FavoriteProjectsStore } from './favorite-projects-store';
import { AccountStore } from './account-store'; import { AccountStore } from './account-store';
import ProjectStatsStore from './project-stats-store'; import ProjectStatsStore from './project-stats-store';
import { Db } from './db'; import { Db } from './db';
import { ImportTogglesStore } from '../export-import-toggles/import-toggles-store'; import { ImportTogglesStore } from '../features/export-import-toggles/import-toggles-store';
export const createStores = ( export const createStores = (
config: IUnleashConfig, config: IUnleashConfig,

View File

@ -1,17 +1,17 @@
import { Db, IUnleashConfig } from 'lib/server-impl'; import { Db, IUnleashConfig } from 'lib/server-impl';
import EventStore from '../db/event-store'; import EventStore from '../../db/event-store';
import GroupStore from '../db/group-store'; import GroupStore from '../../db/group-store';
import { AccountStore } from '../db/account-store'; import { AccountStore } from '../../db/account-store';
import RoleStore from '../db/role-store'; import RoleStore from '../../db/role-store';
import EnvironmentStore from '../db/environment-store'; import EnvironmentStore from '../../db/environment-store';
import { AccessStore } from '../db/access-store'; import { AccessStore } from '../../db/access-store';
import { AccessService, GroupService } from '../services'; import { AccessService, GroupService } from '../../services';
import FakeEventStore from '../../test/fixtures/fake-event-store'; import FakeGroupStore from '../../../test/fixtures/fake-group-store';
import FakeGroupStore from '../../test/fixtures/fake-group-store'; import FakeEventStore from '../../../test/fixtures/fake-event-store';
import { FakeAccountStore } from '../../test/fixtures/fake-account-store'; import { FakeAccountStore } from '../../../test/fixtures/fake-account-store';
import FakeRoleStore from '../../test/fixtures/fake-role-store'; import FakeRoleStore from '../../../test/fixtures/fake-role-store';
import FakeEnvironmentStore from '../../test/fixtures/fake-environment-store'; import FakeEnvironmentStore from '../../../test/fixtures/fake-environment-store';
import FakeAccessStore from '../../test/fixtures/fake-access-store'; import FakeAccessStore from '../../../test/fixtures/fake-access-store';
export const createAccessService = ( export const createAccessService = (
db: Db, db: Db,

View File

@ -1,40 +1,43 @@
import { Db } from '../db/db'; import { Db } from '../../db/db';
import { IUnleashConfig } from '../types'; import { IUnleashConfig } from '../../types';
import ExportImportService from './export-import-service'; import ExportImportService from './export-import-service';
import { ImportTogglesStore } from './import-toggles-store'; import { ImportTogglesStore } from './import-toggles-store';
import FeatureToggleStore from '../db/feature-toggle-store'; import FeatureToggleStore from '../../db/feature-toggle-store';
import TagStore from '../db/tag-store'; import TagStore from '../../db/tag-store';
import TagTypeStore from '../db/tag-type-store'; import TagTypeStore from '../../db/tag-type-store';
import ProjectStore from '../db/project-store'; import ProjectStore from '../../db/project-store';
import FeatureTagStore from '../db/feature-tag-store'; import FeatureTagStore from '../../db/feature-tag-store';
import StrategyStore from '../db/strategy-store'; import StrategyStore from '../../db/strategy-store';
import ContextFieldStore from '../db/context-field-store'; import ContextFieldStore from '../../db/context-field-store';
import EventStore from '../db/event-store'; import EventStore from '../../db/event-store';
import FeatureStrategiesStore from '../db/feature-strategy-store'; import FeatureStrategiesStore from '../../db/feature-strategy-store';
import { import {
ContextService, ContextService,
FeatureTagService, FeatureTagService,
StrategyService, StrategyService,
TagTypeService, TagTypeService,
} from '../services'; } from '../../services';
import { createAccessService, createFakeAccessService } from '../access'; import {
createAccessService,
createFakeAccessService,
} from '../access/createAccessService';
import { import {
createFakeFeatureToggleService, createFakeFeatureToggleService,
createFeatureToggleService, createFeatureToggleService,
} from '../feature-toggle'; } from '../feature-toggle/createFeatureToggleService';
import SegmentStore from '../db/segment-store'; import SegmentStore from '../../db/segment-store';
import { FeatureEnvironmentStore } from '../db/feature-environment-store'; import { FeatureEnvironmentStore } from '../../db/feature-environment-store';
import FakeFeatureToggleStore from '../../test/fixtures/fake-feature-toggle-store'; import FakeFeatureToggleStore from '../../../test/fixtures/fake-feature-toggle-store';
import FakeTagStore from '../../test/fixtures/fake-tag-store'; import FakeTagStore from '../../../test/fixtures/fake-tag-store';
import FakeTagTypeStore from '../../test/fixtures/fake-tag-type-store'; import FakeTagTypeStore from '../../../test/fixtures/fake-tag-type-store';
import FakeSegmentStore from '../../test/fixtures/fake-segment-store'; import FakeSegmentStore from '../../../test/fixtures/fake-segment-store';
import FakeProjectStore from '../../test/fixtures/fake-project-store'; import FakeProjectStore from '../../../test/fixtures/fake-project-store';
import FakeFeatureTagStore from '../../test/fixtures/fake-feature-tag-store'; import FakeFeatureTagStore from '../../../test/fixtures/fake-feature-tag-store';
import FakeContextFieldStore from '../../test/fixtures/fake-context-field-store'; import FakeContextFieldStore from '../../../test/fixtures/fake-context-field-store';
import FakeEventStore from '../../test/fixtures/fake-event-store'; import FakeEventStore from '../../../test/fixtures/fake-event-store';
import FakeFeatureStrategiesStore from '../../test/fixtures/fake-feature-strategies-store'; import FakeFeatureStrategiesStore from '../../../test/fixtures/fake-feature-strategies-store';
import FakeFeatureEnvironmentStore from '../../test/fixtures/fake-feature-environment-store'; import FakeFeatureEnvironmentStore from '../../../test/fixtures/fake-feature-environment-store';
import FakeStrategiesStore from '../../test/fixtures/fake-strategies-store'; import FakeStrategiesStore from '../../../test/fixtures/fake-strategies-store';
export const createFakeExportImportTogglesService = ( export const createFakeExportImportTogglesService = (
config: IUnleashConfig, config: IUnleashConfig,

View File

@ -1,16 +1,16 @@
import { Response } from 'express'; import { Response } from 'express';
import { Knex } from 'knex'; import { Knex } from 'knex';
import Controller from '../routes/controller'; import Controller from '../../routes/controller';
import { Logger } from '../logger'; import { Logger } from '../../logger';
import ExportImportService from './export-import-service'; import ExportImportService from './export-import-service';
import { OpenApiService } from '../services'; import { OpenApiService } from '../../services';
import { TransactionCreator, UnleashTransaction } from '../db/transaction'; import { TransactionCreator, UnleashTransaction } from '../../db/transaction';
import { import {
IUnleashConfig, IUnleashConfig,
IUnleashServices, IUnleashServices,
NONE, NONE,
serializeDates, serializeDates,
} from '../types'; } from '../../types';
import { import {
createRequestSchema, createRequestSchema,
createResponseSchema, createResponseSchema,
@ -19,10 +19,10 @@ import {
exportResultSchema, exportResultSchema,
ImportTogglesSchema, ImportTogglesSchema,
importTogglesValidateSchema, importTogglesValidateSchema,
} from '../openapi'; } from '../../openapi';
import { IAuthRequest } from '../routes/unleash-types'; import { IAuthRequest } from '../../routes/unleash-types';
import { extractUsername } from '../util'; import { extractUsername } from '../../util';
import { InvalidOperationError } from '../error'; import { InvalidOperationError } from '../../error';
class ExportImportController extends Controller { class ExportImportController extends Controller {
private logger: Logger; private logger: Logger;
@ -76,7 +76,7 @@ class ExportImportController extends Controller {
}); });
this.route({ this.route({
method: 'post', method: 'post',
path: '/full-validate', path: '/validate',
permission: NONE, permission: NONE,
handler: this.validateImport, handler: this.validateImport,
middleware: [ middleware: [
@ -97,7 +97,7 @@ class ExportImportController extends Controller {
}); });
this.route({ this.route({
method: 'post', method: 'post',
path: '/full-import', path: '/import',
permission: NONE, permission: NONE,
handler: this.importData, handler: this.importData,
middleware: [ middleware: [

View File

@ -1,9 +1,9 @@
import { import {
IUnleashTest, IUnleashTest,
setupAppWithAuth, setupAppWithAuth,
} from '../../test/e2e/helpers/test-helper'; } from '../../../test/e2e/helpers/test-helper';
import dbInit, { ITestDb } from '../../test/e2e/helpers/database-init'; import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init';
import getLogger from '../../test/fixtures/no-logger'; import getLogger from '../../../test/fixtures/no-logger';
import { import {
DEFAULT_PROJECT, DEFAULT_PROJECT,
IContextFieldStore, IContextFieldStore,
@ -13,11 +13,11 @@ import {
IProjectStore, IProjectStore,
IUnleashStores, IUnleashStores,
RoleName, RoleName,
} from '../types'; } from '../../types';
import { ImportTogglesSchema, VariantsSchema } from '../openapi'; import { ImportTogglesSchema, VariantsSchema } from '../../openapi';
import { IContextFieldDto } from '../types/stores/context-field-store'; import { IContextFieldDto } from '../../types/stores/context-field-store';
import { AccessService } from '../services'; import { AccessService } from '../../services';
import { DEFAULT_ENV } from '../util'; import { DEFAULT_ENV } from '../../util';
let app: IUnleashTest; let app: IUnleashTest;
let db: ITestDb; let db: ITestDb;
@ -35,7 +35,7 @@ const adminUserName = 'admin-user';
const validateImport = (importPayload: ImportTogglesSchema, status = 200) => const validateImport = (importPayload: ImportTogglesSchema, status = 200) =>
app.request app.request
.post('/api/admin/features-batch/full-validate') .post('/api/admin/features-batch/validate')
.send(importPayload) .send(importPayload)
.set('Content-Type', 'application/json') .set('Content-Type', 'application/json')
.expect(status); .expect(status);

View File

@ -1,37 +1,37 @@
import { IUnleashConfig } from '../types/option'; import { IUnleashConfig } from '../../types/option';
import { import {
FeatureToggleDTO, FeatureToggleDTO,
IFeatureStrategy, IFeatureStrategy,
IFeatureStrategySegment, IFeatureStrategySegment,
IVariant, IVariant,
} from '../types/model'; } from '../../types/model';
import { Logger } from '../logger'; import { Logger } from '../../logger';
import { IFeatureTagStore } from '../types/stores/feature-tag-store'; import { IFeatureTagStore } from '../../types/stores/feature-tag-store';
import { ITagTypeStore } from '../types/stores/tag-type-store'; import { ITagTypeStore } from '../../types/stores/tag-type-store';
import { IEventStore } from '../types/stores/event-store'; import { IEventStore } from '../../types/stores/event-store';
import { IStrategy } from '../types/stores/strategy-store'; import { IStrategy } from '../../types/stores/strategy-store';
import { IFeatureToggleStore } from '../types/stores/feature-toggle-store'; import { IFeatureToggleStore } from '../../types/stores/feature-toggle-store';
import { IFeatureStrategiesStore } from '../types/stores/feature-strategies-store'; import { IFeatureStrategiesStore } from '../../types/stores/feature-strategies-store';
import { IFeatureEnvironmentStore } from '../types/stores/feature-environment-store'; import { IFeatureEnvironmentStore } from '../../types/stores/feature-environment-store';
import { IContextFieldStore, IUnleashStores } from '../types/stores'; import { IContextFieldStore, IUnleashStores } from '../../types/stores';
import { ISegmentStore } from '../types/stores/segment-store'; import { ISegmentStore } from '../../types/stores/segment-store';
import { ExportQuerySchema } from '../openapi/spec/export-query-schema'; import { ExportQuerySchema } from '../../openapi/spec/export-query-schema';
import { import {
FEATURES_EXPORTED, FEATURES_EXPORTED,
FEATURES_IMPORTED, FEATURES_IMPORTED,
IFlagResolver, IFlagResolver,
IUnleashServices, IUnleashServices,
WithRequired, WithRequired,
} from '../types'; } from '../../types';
import { import {
ExportResultSchema, ExportResultSchema,
FeatureStrategySchema, FeatureStrategySchema,
ImportTogglesValidateSchema, ImportTogglesValidateSchema,
} from '../openapi'; } from '../../openapi';
import { ImportTogglesSchema } from '../openapi/spec/import-toggles-schema'; import { ImportTogglesSchema } from '../../openapi/spec/import-toggles-schema';
import User from '../types/user'; import User from '../../types/user';
import { BadDataError } from '../error'; import { BadDataError } from '../../error';
import { extractUsernameFromUser } from '../util'; import { extractUsernameFromUser } from '../../util';
import { import {
AccessService, AccessService,
ContextService, ContextService,
@ -39,7 +39,7 @@ import {
FeatureToggleService, FeatureToggleService,
StrategyService, StrategyService,
TagTypeService, TagTypeService,
} from '../services'; } from '../../services';
import { isValidField } from './import-context-validation'; import { isValidField } from './import-context-validation';
import { IImportTogglesStore } from './import-toggles-store-type'; import { IImportTogglesStore } from './import-toggles-store-type';
import { ImportPermissionsService } from './import-permissions-service'; import { ImportPermissionsService } from './import-permissions-service';

View File

@ -1,9 +1,9 @@
import { import {
IUnleashTest, IUnleashTest,
setupAppWithCustomConfig, setupAppWithCustomConfig,
} from '../../test/e2e/helpers/test-helper'; } from '../../../test/e2e/helpers/test-helper';
import dbInit, { ITestDb } from '../../test/e2e/helpers/database-init'; import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init';
import getLogger from '../../test/fixtures/no-logger'; import getLogger from '../../../test/fixtures/no-logger';
import { import {
DEFAULT_PROJECT, DEFAULT_PROJECT,
FeatureToggleDTO, FeatureToggleDTO,
@ -15,15 +15,15 @@ import {
ISegment, ISegment,
IStrategyConfig, IStrategyConfig,
IVariant, IVariant,
} from '../types'; } from '../../types';
import { DEFAULT_ENV } from '../util'; import { DEFAULT_ENV } from '../../util';
import { import {
ContextFieldSchema, ContextFieldSchema,
ImportTogglesSchema, ImportTogglesSchema,
VariantsSchema, VariantsSchema,
} from '../openapi'; } from '../../openapi';
import User from '../types/user'; import User from '../../types/user';
import { IContextFieldDto } from '../types/stores/context-field-store'; import { IContextFieldDto } from '../../types/stores/context-field-store';
let app: IUnleashTest; let app: IUnleashTest;
let db: ITestDb; let db: ITestDb;
@ -422,7 +422,7 @@ const importToggles = (
expect: (response) => void = () => {}, expect: (response) => void = () => {},
) => ) =>
app.request app.request
.post('/api/admin/features-batch/full-import') .post('/api/admin/features-batch/import')
.send(importPayload) .send(importPayload)
.set('Content-Type', 'application/json') .set('Content-Type', 'application/json')
.expect(status) .expect(status)
@ -543,7 +543,7 @@ const getTags = (feature: string) =>
const validateImport = (importPayload: ImportTogglesSchema, status = 200) => const validateImport = (importPayload: ImportTogglesSchema, status = 200) =>
app.request app.request
.post('/api/admin/features-batch/full-validate') .post('/api/admin/features-batch/validate')
.send(importPayload) .send(importPayload)
.set('Content-Type', 'application/json') .set('Content-Type', 'application/json')
.expect(status); .expect(status);

View File

@ -1,4 +1,4 @@
import { IContextFieldDto } from '../types/stores/context-field-store'; import { IContextFieldDto } from '../../types/stores/context-field-store';
export const isValidField = ( export const isValidField = (
importedField: IContextFieldDto, importedField: IContextFieldDto,

View File

@ -1,8 +1,8 @@
import { IImportTogglesStore } from './import-toggles-store-type'; import { IImportTogglesStore } from './import-toggles-store-type';
import { AccessService, ContextService, TagTypeService } from '../services'; import { AccessService, ContextService, TagTypeService } from '../../services';
import { ContextFieldSchema, ImportTogglesSchema } from '../openapi'; import { ContextFieldSchema, ImportTogglesSchema } from '../../openapi';
import { ITagType } from '../types/stores/tag-type-store'; import { ITagType } from '../../types/stores/tag-type-store';
import User from '../types/user'; import User from '../../types/user';
import { import {
CREATE_CONTEXT_FIELD, CREATE_CONTEXT_FIELD,
CREATE_FEATURE, CREATE_FEATURE,
@ -11,8 +11,8 @@ import {
UPDATE_FEATURE, UPDATE_FEATURE,
UPDATE_FEATURE_ENVIRONMENT_VARIANTS, UPDATE_FEATURE_ENVIRONMENT_VARIANTS,
UPDATE_TAG_TYPE, UPDATE_TAG_TYPE,
} from '../types'; } from '../../types';
import { InvalidOperationError } from '../error'; import { InvalidOperationError } from '../../error';
type Mode = 'regular' | 'change_request'; type Mode = 'regular' | 'change_request';

View File

@ -1,8 +1,8 @@
import { import {
FeatureStrategySchema, FeatureStrategySchema,
ImportTogglesValidateItemSchema, ImportTogglesValidateItemSchema,
} from '../openapi'; } from '../../openapi';
import { IContextFieldDto } from '../types/stores/context-field-store'; import { IContextFieldDto } from '../../types/stores/context-field-store';
export class ImportValidationMessages { export class ImportValidationMessages {
static compilePermissionErrors( static compilePermissionErrors(

View File

@ -3,37 +3,37 @@ import {
FeatureToggleService, FeatureToggleService,
GroupService, GroupService,
SegmentService, SegmentService,
} from '../services'; } from '../../services';
import EventStore from '../db/event-store'; import EventStore from '../../db/event-store';
import FeatureStrategiesStore from '../db/feature-strategy-store'; import FeatureStrategiesStore from '../../db/feature-strategy-store';
import FeatureToggleStore from '../db/feature-toggle-store'; import FeatureToggleStore from '../../db/feature-toggle-store';
import FeatureToggleClientStore from '../db/feature-toggle-client-store'; import FeatureToggleClientStore from '../../db/feature-toggle-client-store';
import ProjectStore from '../db/project-store'; import ProjectStore from '../../db/project-store';
import FeatureTagStore from '../db/feature-tag-store'; import FeatureTagStore from '../../db/feature-tag-store';
import { FeatureEnvironmentStore } from '../db/feature-environment-store'; import { FeatureEnvironmentStore } from '../../db/feature-environment-store';
import SegmentStore from '../db/segment-store'; import SegmentStore from '../../db/segment-store';
import ContextFieldStore from '../db/context-field-store'; import ContextFieldStore from '../../db/context-field-store';
import GroupStore from '../db/group-store'; import GroupStore from '../../db/group-store';
import { AccountStore } from '../db/account-store'; import { AccountStore } from '../../db/account-store';
import { AccessStore } from '../db/access-store'; import { AccessStore } from '../../db/access-store';
import RoleStore from '../db/role-store'; import RoleStore from '../../db/role-store';
import EnvironmentStore from '../db/environment-store'; import EnvironmentStore from '../../db/environment-store';
import { Db } from '../db/db'; import { Db } from '../../db/db';
import { IUnleashConfig } from '../types'; import { IUnleashConfig } from '../../types';
import FakeEventStore from '../../test/fixtures/fake-event-store'; import FakeEventStore from '../../../test/fixtures/fake-event-store';
import FakeFeatureStrategiesStore from '../../test/fixtures/fake-feature-strategies-store'; import FakeFeatureStrategiesStore from '../../../test/fixtures/fake-feature-strategies-store';
import FakeFeatureToggleStore from '../../test/fixtures/fake-feature-toggle-store'; import FakeFeatureToggleStore from '../../../test/fixtures/fake-feature-toggle-store';
import FakeFeatureToggleClientStore from '../../test/fixtures/fake-feature-toggle-client-store'; import FakeFeatureToggleClientStore from '../../../test/fixtures/fake-feature-toggle-client-store';
import FakeProjectStore from '../../test/fixtures/fake-project-store'; import FakeProjectStore from '../../../test/fixtures/fake-project-store';
import FakeFeatureTagStore from '../../test/fixtures/fake-feature-tag-store'; import FakeFeatureTagStore from '../../../test/fixtures/fake-feature-tag-store';
import FakeFeatureEnvironmentStore from '../../test/fixtures/fake-feature-environment-store'; import FakeFeatureEnvironmentStore from '../../../test/fixtures/fake-feature-environment-store';
import FakeSegmentStore from '../../test/fixtures/fake-segment-store'; import FakeSegmentStore from '../../../test/fixtures/fake-segment-store';
import FakeContextFieldStore from '../../test/fixtures/fake-context-field-store'; import FakeContextFieldStore from '../../../test/fixtures/fake-context-field-store';
import FakeGroupStore from '../../test/fixtures/fake-group-store'; import FakeGroupStore from '../../../test/fixtures/fake-group-store';
import { FakeAccountStore } from '../../test/fixtures/fake-account-store'; import { FakeAccountStore } from '../../../test/fixtures/fake-account-store';
import FakeAccessStore from '../../test/fixtures/fake-access-store'; import FakeAccessStore from '../../../test/fixtures/fake-access-store';
import FakeRoleStore from '../../test/fixtures/fake-role-store'; import FakeRoleStore from '../../../test/fixtures/fake-role-store';
import FakeEnvironmentStore from '../../test/fixtures/fake-environment-store'; import FakeEnvironmentStore from '../../../test/fixtures/fake-environment-store';
export const createFeatureToggleService = ( export const createFeatureToggleService = (
db: Db, db: Db,

View File

@ -0,0 +1,3 @@
export * from './access/createAccessService';
export * from './export-import-toggles/createExportImportService';
export * from './feature-toggle/createFeatureToggleService';

View File

@ -13,6 +13,4 @@ export * from './services';
export * from './types'; export * from './types';
export * from './util'; export * from './util';
export * from './error'; export * from './error';
export * from './access'; export * from './features';
export * from './export-import-toggles';
export * from './feature-toggle';

View File

@ -30,7 +30,7 @@ import FavoritesController from './favorites';
import MaintenanceController from './maintenance'; import MaintenanceController from './maintenance';
import { createKnexTransactionStarter } from '../../db/transaction'; import { createKnexTransactionStarter } from '../../db/transaction';
import { Db } from '../../db/db'; import { Db } from '../../db/db';
import ExportImportController from '../../export-import-toggles/export-import-controller'; import ExportImportController from '../../features/export-import-toggles/export-import-controller';
class AdminApi extends Controller { class AdminApi extends Controller {
constructor(config: IUnleashConfig, services: IUnleashServices, db: Db) { constructor(config: IUnleashConfig, services: IUnleashServices, db: Db) {

View File

@ -46,7 +46,7 @@ import { Knex } from 'knex';
import { import {
createExportImportTogglesService, createExportImportTogglesService,
createFakeExportImportTogglesService, createFakeExportImportTogglesService,
} from '../export-import-toggles'; } from '../features/export-import-toggles/createExportImportService';
import { Db } from '../db/db'; import { Db } from '../db/db';
// TODO: will be moved to scheduler feature directory // TODO: will be moved to scheduler feature directory

View File

@ -37,10 +37,10 @@ import { LastSeenService } from '../services/client-metrics/last-seen-service';
import { InstanceStatsService } from '../services/instance-stats-service'; import { InstanceStatsService } from '../services/instance-stats-service';
import { FavoritesService } from '../services/favorites-service'; import { FavoritesService } from '../services/favorites-service';
import MaintenanceService from '../services/maintenance-service'; import MaintenanceService from '../services/maintenance-service';
import ExportImportService from '../export-import-toggles/export-import-service';
import { AccountService } from '../services/account-service'; import { AccountService } from '../services/account-service';
import { SchedulerService } from '../services/scheduler-service'; import { SchedulerService } from '../services/scheduler-service';
import { Knex } from 'knex'; import { Knex } from 'knex';
import ExportImportService from '../features/export-import-toggles/export-import-service';
export interface IUnleashServices { export interface IUnleashServices {
accessService: AccessService; accessService: AccessService;

View File

@ -32,7 +32,7 @@ import { IFavoriteFeaturesStore } from './stores/favorite-features';
import { IFavoriteProjectsStore } from './stores/favorite-projects'; import { IFavoriteProjectsStore } from './stores/favorite-projects';
import { IAccountStore } from './stores/account-store'; import { IAccountStore } from './stores/account-store';
import { IProjectStatsStore } from './stores/project-stats-store-type'; import { IProjectStatsStore } from './stores/project-stats-store-type';
import { IImportTogglesStore } from '../export-import-toggles/import-toggles-store-type'; import { IImportTogglesStore } from '../features/export-import-toggles/import-toggles-store-type';
export interface IUnleashStores { export interface IUnleashStores {
accessStore: IAccessStore; accessStore: IAccessStore;

View File

@ -5129,7 +5129,7 @@ If the provided project does not exist, the list of events will be empty.",
], ],
}, },
}, },
"/api/admin/features-batch/full-import": { "/api/admin/features-batch/import": {
"post": { "post": {
"description": "Unleash toggles exported from a different instance can be imported into a new project and environment", "description": "Unleash toggles exported from a different instance can be imported into a new project and environment",
"operationId": "importToggles", "operationId": "importToggles",
@ -5155,7 +5155,7 @@ If the provided project does not exist, the list of events will be empty.",
], ],
}, },
}, },
"/api/admin/features-batch/full-validate": { "/api/admin/features-batch/validate": {
"post": { "post": {
"description": "Unleash toggles exported from a different instance can be imported into a new project and environment", "description": "Unleash toggles exported from a different instance can be imported into a new project and environment",
"operationId": "validateImport", "operationId": "validateImport",