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',
|
'/user-admin',
|
||||||
new UserAdminController(config, services).router,
|
new UserAdminController(config, services).router,
|
||||||
);
|
);
|
||||||
|
this.use(
|
||||||
|
'/api/suggest-changes',
|
||||||
|
conditionalMiddleware(
|
||||||
|
() => config.flagResolver.isEnabled('suggestChanges'),
|
||||||
|
new ProxyController(config, services).router,
|
||||||
|
),
|
||||||
|
);
|
||||||
this.app.use(
|
this.app.use(
|
||||||
'/feedback',
|
'/feedback',
|
||||||
new UserFeedbackController(config, services).router,
|
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,
|
anonymiseEventLog: false,
|
||||||
responseTimeWithAppName: true,
|
responseTimeWithAppName: true,
|
||||||
personalAccessTokens: true,
|
personalAccessTokens: true,
|
||||||
|
suggestChanges: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
authentication: {
|
authentication: {
|
||||||
|
Loading…
Reference in New Issue
Block a user