1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2025-01-14 14:43:17 +08:00
pigallery2/backend/routes/AdminRouter.ts

187 lines
5.6 KiB
TypeScript
Raw Normal View History

2018-03-30 15:30:30 -04:00
import {AuthenticationMWs} from '../middlewares/user/AuthenticationMWs';
import {UserRoles} from '../../common/entities/UserDTO';
import {RenderingMWs} from '../middlewares/RenderingMWs';
import {AdminMWs} from '../middlewares/AdminMWs';
2018-11-28 23:49:33 +01:00
import {Express} from 'express';
2016-05-09 17:04:56 +02:00
export class AdminRouter {
2018-11-28 23:49:33 +01:00
public static route(app: Express) {
2018-12-09 23:25:39 +01:00
this.addGetStatistic(app);
2019-01-17 20:17:17 +01:00
this.addGetDuplicates(app);
2019-07-27 22:56:12 +02:00
this.addTasks(app);
this.addIndexGallery(app);
2017-07-08 12:43:42 +02:00
this.addSettings(app);
}
2018-12-09 23:25:39 +01:00
private static addGetStatistic(app: Express) {
app.get('/api/admin/statistic',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.loadStatistic,
RenderingMWs.renderResult
);
}
2019-07-27 22:56:12 +02:00
2019-01-17 20:17:17 +01:00
private static addGetDuplicates(app: Express) {
app.get('/api/admin/duplicates',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.getDuplicates,
RenderingMWs.renderResult
);
}
2018-11-28 23:49:33 +01:00
private static addIndexGallery(app: Express) {
2018-03-30 15:30:30 -04:00
app.get('/api/admin/indexes/job/progress',
AuthenticationMWs.authenticate,
2017-07-25 21:09:37 +02:00
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.getIndexingProgress,
RenderingMWs.renderResult
);
2018-11-24 13:08:34 +01:00
app.post('/api/admin/indexes/job',
2017-07-25 21:09:37 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.startIndexing,
RenderingMWs.renderResult
);
2018-03-30 15:30:30 -04:00
app.delete('/api/admin/indexes/job',
2017-07-25 21:09:37 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.cancelIndexing,
RenderingMWs.renderResult
);
2018-03-30 15:30:30 -04:00
app.delete('/api/admin/indexes',
2017-07-25 21:09:37 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.resetIndexes,
RenderingMWs.renderResult
);
2018-03-30 15:30:30 -04:00
}
2019-07-27 22:56:12 +02:00
private static addTasks(app: Express) {
app.get('/api/admin/tasks/available',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.getAvailableTasks,
RenderingMWs.renderResult
);
app.get('/api/admin/tasks/scheduled/progress',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.getTaskProgresses,
RenderingMWs.renderResult
);
app.post('/api/admin/tasks/scheduled/:id/start',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.startTask,
RenderingMWs.renderResult
);
app.post('/api/admin/tasks/scheduled/:id/stop',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.stopTask,
RenderingMWs.renderResult
);
}
2018-11-28 23:49:33 +01:00
private static addSettings(app: Express) {
2018-03-30 15:30:30 -04:00
app.get('/api/settings',
2017-07-08 12:43:42 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
RenderingMWs.renderConfig
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/database',
2017-07-08 12:43:42 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateDatabaseSettings,
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/map',
2017-07-08 12:43:42 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
2017-07-15 12:47:11 +02:00
AdminMWs.updateMapSettings,
2017-07-08 12:43:42 +02:00
RenderingMWs.renderOK
);
2018-11-18 20:26:29 +01:00
app.put('/api/settings/video',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateVideoSettings,
RenderingMWs.renderOK
);
2018-12-01 23:53:35 +01:00
app.put('/api/settings/metafile',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateMetaFileSettings,
RenderingMWs.renderOK
);
2017-07-13 23:39:09 +02:00
2018-03-30 15:30:30 -04:00
app.put('/api/settings/authentication',
2017-07-13 23:39:09 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
2017-07-15 12:47:11 +02:00
AdminMWs.updateAuthenticationSettings,
2017-07-13 23:39:09 +02:00
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/thumbnail',
2017-07-13 23:39:09 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
2017-07-15 12:47:11 +02:00
AdminMWs.updateThumbnailSettings,
2017-07-13 23:39:09 +02:00
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/search',
2017-07-15 14:27:12 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateSearchSettings,
RenderingMWs.renderOK
2019-07-21 16:39:52 +02:00
);
app.put('/api/settings/faces',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateFacesSettings,
RenderingMWs.renderOK
2017-07-15 14:27:12 +02:00
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/share',
2017-07-15 15:29:04 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateShareSettings,
RenderingMWs.renderOK
);
app.put('/api/settings/randomPhoto',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateRandomPhotoSettings,
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/basic',
2017-07-15 16:09:48 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateBasicSettings,
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/other',
2017-07-15 16:31:43 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateOtherSettings,
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
app.put('/api/settings/indexing',
2017-07-27 23:10:16 +02:00
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateIndexingSettings,
RenderingMWs.renderOK
);
2019-08-20 12:54:45 +02:00
app.put('/api/settings/tasks',
AuthenticationMWs.authenticate,
AuthenticationMWs.authorise(UserRoles.Admin),
AdminMWs.updateTasksSettings,
RenderingMWs.renderOK
);
2018-03-30 15:30:30 -04:00
}
2017-07-08 12:43:42 +02:00
}