// File: backend/src/middleware/index.js
import * as authJwt from "./authJwt.js";
import * as abac from "./abac.js";
import * as auth from "./auth.js";
import * as errorHandler from "./errorHandler.js";
import * as loadPrincipal from "./loadPrincipal.js";
import * as permGuard from "./permGuard.js";
import * as permissions from "./permissions.js";
import * as rbac from "./rbac.js";
import * as requirePerm from "./requirePerm.js";

// Export ทุกอย่างออกมาเป็น named exports
// เพื่อให้สามารถ import แบบ `import { authJwt, permGuard } from '../middleware';` ได้
export {
  authJwt,
  abac,
  auth,
  errorHandler,
  loadPrincipal,
  permGuard,
  permissions,
  rbac,
  requirePerm,
};

// (Optional) สร้าง default export สำหรับกรณีที่ต้องการ import ทั้งหมดใน object เดียว
const middleware = {
  authJwt,
  abac,
  auth,
  errorHandler,
  loadPrincipal,
  permGuard,
  permissions,
  rbac,
  requirePerm,
};

export default middleware;
