

import express from 'express';
import { createCloudeCache, deleteCloudeCache, forceClearCloudeCache, getCloudeCache, updateCloudeCache } from './cache.controller';
import { cacheValidation } from './cache.validation';
import { authMiddleware } from '../../middleware/auth';
import { PermissionByUser } from '../../middleware/permission';
import { CLOUDE_CACHE, CREATE_CLOUDE_CACHE, DELETE_CLOUDE_CACHE, UPDATE_CLOUDE_CACHE } from '../../utils/permission';

const CloudeCacheRouter = express.Router();


CloudeCacheRouter.use(authMiddleware);

CloudeCacheRouter.route("/").get(PermissionByUser(CLOUDE_CACHE), getCloudeCache)
CloudeCacheRouter.route("/create").post(PermissionByUser(CREATE_CLOUDE_CACHE), cacheValidation, createCloudeCache);
CloudeCacheRouter.route("/:cacheId").put(PermissionByUser(UPDATE_CLOUDE_CACHE), cacheValidation, updateCloudeCache);
CloudeCacheRouter.route("/:cacheId").delete(PermissionByUser(DELETE_CLOUDE_CACHE), deleteCloudeCache);
CloudeCacheRouter.route("/:cacheId/forceclear").post(PermissionByUser(CLOUDE_CACHE), forceClearCloudeCache)

export default CloudeCacheRouter