2018-03-31 03:30:30 +08:00
|
|
|
import {AuthenticationMWs} from '../middlewares/user/AuthenticationMWs';
|
|
|
|
import {UserRoles} from '../../common/entities/UserDTO';
|
|
|
|
import {RenderingMWs} from '../middlewares/RenderingMWs';
|
|
|
|
import {SharingMWs} from '../middlewares/SharingMWs';
|
2018-05-25 09:29:05 +08:00
|
|
|
import * as express from 'express';
|
2016-03-20 00:31:42 +08:00
|
|
|
|
2016-05-09 23:04:56 +08:00
|
|
|
export class SharingRouter {
|
2018-05-25 09:29:05 +08:00
|
|
|
public static route(app: express.Express) {
|
2016-03-20 00:31:42 +08:00
|
|
|
|
2017-07-09 18:03:17 +08:00
|
|
|
this.addShareLogin(app);
|
2017-06-11 04:32:56 +08:00
|
|
|
this.addGetSharing(app);
|
2017-07-04 01:17:49 +08:00
|
|
|
this.addCreateSharing(app);
|
2017-06-11 04:32:56 +08:00
|
|
|
this.addUpdateSharing(app);
|
|
|
|
}
|
2016-03-20 00:31:42 +08:00
|
|
|
|
2018-05-25 09:29:05 +08:00
|
|
|
private static addShareLogin(app: express.Express) {
|
2018-03-31 03:30:30 +08:00
|
|
|
app.post('/api/share/login',
|
2017-07-09 18:03:17 +08:00
|
|
|
AuthenticationMWs.inverseAuthenticate,
|
|
|
|
AuthenticationMWs.shareLogin,
|
|
|
|
RenderingMWs.renderSessionUser
|
|
|
|
);
|
2018-05-13 00:19:51 +08:00
|
|
|
}
|
2017-07-09 18:03:17 +08:00
|
|
|
|
2018-05-25 09:29:05 +08:00
|
|
|
private static addGetSharing(app: express.Express) {
|
2018-03-31 03:30:30 +08:00
|
|
|
app.get('/api/share/:sharingKey',
|
2017-06-11 04:32:56 +08:00
|
|
|
AuthenticationMWs.authenticate,
|
2017-07-09 18:03:17 +08:00
|
|
|
AuthenticationMWs.authorise(UserRoles.LimitedGuest),
|
2017-07-04 01:17:49 +08:00
|
|
|
SharingMWs.getSharing,
|
|
|
|
RenderingMWs.renderSharing
|
|
|
|
);
|
2018-05-13 00:19:51 +08:00
|
|
|
}
|
2017-07-04 01:17:49 +08:00
|
|
|
|
2018-05-25 09:29:05 +08:00
|
|
|
private static addCreateSharing(app: express.Express) {
|
2018-03-31 03:30:30 +08:00
|
|
|
app.post(['/api/share/:directory(*)', '/api/share/', '/api/share//'],
|
2017-07-04 01:17:49 +08:00
|
|
|
AuthenticationMWs.authenticate,
|
|
|
|
AuthenticationMWs.authorise(UserRoles.User),
|
|
|
|
SharingMWs.createSharing,
|
|
|
|
RenderingMWs.renderSharing
|
2017-06-11 04:32:56 +08:00
|
|
|
);
|
2018-05-13 00:19:51 +08:00
|
|
|
}
|
2016-03-20 00:31:42 +08:00
|
|
|
|
2018-05-25 09:29:05 +08:00
|
|
|
private static addUpdateSharing(app: express.Express) {
|
2018-03-31 03:30:30 +08:00
|
|
|
app.put(['/api/share/:directory(*)', '/api/share/', '/api/share//'],
|
2017-06-11 04:32:56 +08:00
|
|
|
AuthenticationMWs.authenticate,
|
2017-07-04 01:17:49 +08:00
|
|
|
AuthenticationMWs.authorise(UserRoles.User),
|
|
|
|
SharingMWs.updateSharing,
|
|
|
|
RenderingMWs.renderSharing
|
2017-06-11 04:32:56 +08:00
|
|
|
);
|
2018-05-13 00:19:51 +08:00
|
|
|
}
|
2016-03-20 00:31:42 +08:00
|
|
|
|
2017-06-11 04:32:56 +08:00
|
|
|
}
|