import { Router } from "express";
import { authMiddleware } from "../../common/middlewares/auth.middleware";
import { tenantMiddleware } from "../../common/middlewares/tenant.middleware";
import { validate } from "../../common/middlewares/validate.middleware";
import {
  createOrganizationSchema,
  updateOrganizationSchema,
} from "./organization.validation";
import * as orgnizationController from "./organization.controller";
import { upload } from "../../common/middlewares/upload";
import "./organization.openapi";

const router = Router();

router.post(
  "/create-organization",
  authMiddleware,
  upload.single("logo"),
  validate(createOrganizationSchema),
  orgnizationController.createOrganization,
);

router.use(authMiddleware, tenantMiddleware);

router.put(
  "/update-organization",
  upload.single("logo"),
  authMiddleware,
  validate(updateOrganizationSchema),
  orgnizationController.updateOrganization,
);

router.get(
  "/get-organization",
  authMiddleware,
  orgnizationController.getOrganization,
);

router.get(
  "/get-all-organizations",
  authMiddleware,
  orgnizationController.getAllOrganizations,
);

router.delete(
  "/:organizationId",
  authMiddleware,
  orgnizationController.deleteOrganization,
);
export default router;
