215 lines
4.0 KiB
TypeScript
215 lines
4.0 KiB
TypeScript
import { Router } from "express";
|
|
import auth from "../middleware/auth";
|
|
import FileController from "../controllers/file-controller";
|
|
import authFullUser from "../middleware/authFullUser";
|
|
import authStreamVideo from "../middleware/authStreamVideo";
|
|
import {
|
|
deleteFileValidationRules,
|
|
deleteMultiValidationRules,
|
|
downloadFileValidationRules,
|
|
getFileInfoValidationRules,
|
|
getListValidationRules,
|
|
getPublicDownloadValidationRules,
|
|
getQuickListValidationRules,
|
|
getSuggestedListValidationRules,
|
|
getThumbnailValidationRules,
|
|
makePrivateValidationRules,
|
|
makePublicValidationRules,
|
|
moveFileValidationRules,
|
|
moveMultiValidationRules,
|
|
removeVideoStreamTokenValidationRules,
|
|
renameFileValidationRules,
|
|
restoreFileValidationRules,
|
|
restoreMultiValidationRules,
|
|
streamVideoValidationRules,
|
|
trashFileValidationRules,
|
|
trashMultiValidationRules,
|
|
} from "../middleware/files/files-middleware";
|
|
|
|
const fileController = new FileController();
|
|
|
|
const router = Router();
|
|
|
|
// GET
|
|
|
|
router.get(
|
|
"/file-service/thumbnail/:id",
|
|
authFullUser,
|
|
getThumbnailValidationRules,
|
|
fileController.getThumbnail
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/full-thumbnail/:id",
|
|
authFullUser,
|
|
getThumbnailValidationRules,
|
|
fileController.getFullThumbnail
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/public/download/:id/:tempToken",
|
|
getPublicDownloadValidationRules,
|
|
fileController.getPublicDownload
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/public/info/:id/:tempToken",
|
|
getPublicDownloadValidationRules,
|
|
fileController.getPublicInfo
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/info/:id",
|
|
auth,
|
|
getFileInfoValidationRules,
|
|
fileController.getFileInfo
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/quick-list",
|
|
auth,
|
|
getQuickListValidationRules,
|
|
fileController.getQuickList
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/list",
|
|
auth,
|
|
getListValidationRules,
|
|
fileController.getList
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/download/access-token-stream-video",
|
|
authFullUser,
|
|
fileController.getAccessTokenStreamVideo
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/stream-video/:id",
|
|
authStreamVideo,
|
|
streamVideoValidationRules,
|
|
fileController.streamVideo
|
|
);
|
|
|
|
router.delete(
|
|
"/file-service/remove-stream-video-token",
|
|
authStreamVideo,
|
|
fileController.removeStreamVideoAccessToken
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/download/:id",
|
|
authFullUser,
|
|
downloadFileValidationRules,
|
|
fileController.downloadFile
|
|
);
|
|
|
|
router.get(
|
|
"/file-service/suggested-list",
|
|
auth,
|
|
getSuggestedListValidationRules,
|
|
fileController.getSuggestedList
|
|
);
|
|
|
|
// PATCH
|
|
|
|
router.patch(
|
|
"/file-service/make-public/:id",
|
|
authFullUser,
|
|
makePublicValidationRules,
|
|
fileController.makePublic
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/make-one/:id",
|
|
auth,
|
|
makePublicValidationRules,
|
|
fileController.makeOneTimePublic
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/rename",
|
|
auth,
|
|
renameFileValidationRules,
|
|
fileController.renameFile
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/move",
|
|
auth,
|
|
moveFileValidationRules,
|
|
fileController.moveFile
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/move-multi",
|
|
auth,
|
|
moveMultiValidationRules,
|
|
fileController.moveMultiFile
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/trash",
|
|
auth,
|
|
trashFileValidationRules,
|
|
fileController.trashFile
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/trash-multi",
|
|
auth,
|
|
trashMultiValidationRules,
|
|
fileController.trashMulti
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/restore",
|
|
auth,
|
|
restoreFileValidationRules,
|
|
fileController.restoreFile
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/restore-multi",
|
|
auth,
|
|
restoreMultiValidationRules,
|
|
fileController.restoreMulti
|
|
);
|
|
|
|
router.patch(
|
|
"/file-service/remove-link/:id",
|
|
auth,
|
|
makePrivateValidationRules,
|
|
fileController.removeLink
|
|
);
|
|
|
|
// DELETE
|
|
|
|
router.delete(
|
|
"/file-service/remove/token-video/:id",
|
|
auth,
|
|
removeVideoStreamTokenValidationRules,
|
|
fileController.removeTempToken
|
|
);
|
|
|
|
router.delete(
|
|
"/file-service/remove",
|
|
auth,
|
|
deleteFileValidationRules,
|
|
fileController.deleteFile
|
|
);
|
|
|
|
router.delete(
|
|
"/file-service/remove-multi",
|
|
auth,
|
|
deleteMultiValidationRules,
|
|
fileController.deleteMulti
|
|
);
|
|
|
|
// POST
|
|
|
|
router.post("/file-service/upload", authFullUser, fileController.uploadFile);
|
|
|
|
export default router;
|