/**
 * OPS_STATE: DEV(개발), PROD(운영·임직원 이메일 로그인), SUPER(데모·제한 완화).
 * 과거 값 REAL 은 PROD 와 동일하게 처리합니다.
 */
function normalizeOpsState() {
  const raw = (process.env.OPS_STATE || "DEV").trim().toUpperCase();
  if (raw === "REAL") return "PROD";
  if (raw === "DEV" || raw === "PROD" || raw === "SUPER") return raw;
  return "DEV";
}

function isOpsStateDev() {
  return normalizeOpsState() === "DEV";
}

function isOpsStateProd() {
  return normalizeOpsState() === "PROD";
}

function isOpsStateSuper() {
  return normalizeOpsState() === "SUPER";
}

/** 임직원 이메일(@ncue.net) 매직 링크 로그인을 강제하는 모드 (REAL 구 값 포함) */
function isOpsProdMode() {
  return isOpsStateProd();
}

module.exports = {
  normalizeOpsState,
  isOpsStateDev,
  isOpsStateProd,
  isOpsStateSuper,
  isOpsProdMode,
};
