

import express from 'express';
import { createCloudeImage, deleteCloudeImage, deleteMultipleCloudeImage, getCloudeImage, getCloudeImageById } from './cloudeflair.controller';
import { upload } from '../../middleware/Utils';
import { authMiddleware } from '../../middleware/auth';
import { CLOUDE_IMAGE, CREATE_CLOUDE_IMAGE, DELETE_CLOUDE_IMAGE } from '../../utils/permission';
import { PermissionByUser } from '../../middleware/permission';


const CloudeflairImageRouter = express.Router();

CloudeflairImageRouter.use(authMiddleware);

CloudeflairImageRouter.route("/").get(PermissionByUser(CLOUDE_IMAGE), getCloudeImage);
CloudeflairImageRouter.route("/").post(PermissionByUser(DELETE_CLOUDE_IMAGE), deleteMultipleCloudeImage); // delete method cause multiple delete does not have body so..
CloudeflairImageRouter.route("/:imgId").delete(PermissionByUser(DELETE_CLOUDE_IMAGE), deleteCloudeImage)
CloudeflairImageRouter.route("/create").post(PermissionByUser(CREATE_CLOUDE_IMAGE), upload.array("img"), createCloudeImage)

// by id

CloudeflairImageRouter.route("/byid/:imgId").get(PermissionByUser(CLOUDE_IMAGE), getCloudeImageById);


export default CloudeflairImageRouter