mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-10 17:53:36 +02:00
feat: add initial controller
This commit is contained in:
parent
62eac864f3
commit
bcecfe8300
@ -90,6 +90,13 @@ class AdminApi extends Controller {
|
||||
'/user-admin',
|
||||
new UserAdminController(config, services).router,
|
||||
);
|
||||
this.use(
|
||||
'/api/suggest-changes',
|
||||
conditionalMiddleware(
|
||||
() => config.flagResolver.isEnabled('suggestChanges'),
|
||||
new ProxyController(config, services).router,
|
||||
),
|
||||
);
|
||||
this.app.use(
|
||||
'/feedback',
|
||||
new UserFeedbackController(config, services).router,
|
||||
|
76
src/lib/routes/admin-api/suggest-changes/index.ts
Normal file
76
src/lib/routes/admin-api/suggest-changes/index.ts
Normal file
@ -0,0 +1,76 @@
|
||||
import { Response, Request } from 'express';
|
||||
import { IUnleashConfig, IUnleashServices } from '../../types';
|
||||
import { Logger } from '../../../logger';
|
||||
import { NONE } from '../../../types/permissions';
|
||||
import Controller from '../../controller';
|
||||
import { restore } from 'nock/types';
|
||||
|
||||
type Services = Pick<
|
||||
IUnleashServices,
|
||||
'settingService' | 'proxyService' | 'openApiService'
|
||||
>;
|
||||
|
||||
export default class SuggestChangesController extends Controller {
|
||||
private readonly logger: Logger;
|
||||
|
||||
private services: Services;
|
||||
|
||||
constructor(config: IUnleashConfig, services: Services) {
|
||||
super(config);
|
||||
this.logger = config.getLogger('proxy-api/index.ts');
|
||||
this.services = services;
|
||||
|
||||
this.route({
|
||||
method: 'get',
|
||||
path: '/:changeRequestId',
|
||||
handler: this.getChangeRequest,
|
||||
permission: NONE,
|
||||
});
|
||||
}
|
||||
|
||||
async createChangeRequest(req: Request, res: Response): Promise<void> {}
|
||||
|
||||
async getChangeRequest(req: Request, res: Response): Promise<void> {
|
||||
res.json({
|
||||
environment: 'production',
|
||||
state: 'REVIEW',
|
||||
createdBy: 'Tymek',
|
||||
project: 'new-project',
|
||||
// approvers: [],
|
||||
changeSet: [
|
||||
{
|
||||
feature: 'feature1',
|
||||
// featureToggle: {
|
||||
// //...state
|
||||
// },
|
||||
changes: [
|
||||
{
|
||||
action: 'updateEnabled',
|
||||
payload: true,
|
||||
updatedBy: 'user1',
|
||||
eventData: {},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
feature: 'feature2',
|
||||
// featureToggle: {
|
||||
// //...state
|
||||
// },
|
||||
changes: [
|
||||
{
|
||||
action: 'updateEnabled',
|
||||
payload: true,
|
||||
updatedBy: 'user1',
|
||||
eventData: {},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
async approveChangeRequest(req: Request, res: Response): Promise<void> {}
|
||||
|
||||
async applyChangeRequest(req: Request, res: Response): Promise<void> {}
|
||||
}
|
@ -39,6 +39,7 @@ process.nextTick(async () => {
|
||||
anonymiseEventLog: false,
|
||||
responseTimeWithAppName: true,
|
||||
personalAccessTokens: true,
|
||||
suggestChanges: true,
|
||||
},
|
||||
},
|
||||
authentication: {
|
||||
|
Loading…
Reference in New Issue
Block a user