/**
 * Auth Controllers
 *
 * @description Export all auth controllers.
 * Result of P0-009: Auth Controller split.
 *
 * Original auth.controller.ts (571 LOC) divided into:
 * - email-auth.controller.ts: Email/password authentication
 * - oauth.controller.ts: OAuth providers (Google, Facebook, Twitter, Apple, GitHub)
 * - phone-auth.controller.ts: Phone OTP authentication
 * - two-factor.controller.ts: 2FA/TOTP operations
 * - token.controller.ts: Token and session management
 */

// Email/Password Authentication
export {
  register,
  login,
  verifyEmail,
  forgotPassword,
  resetPassword,
  changePassword,
} from './email-auth.controller';

// OAuth Authentication
export {
  getOAuthUrl,
  handleOAuthCallback,
  verifyOAuthToken,
  getLinkedAccounts,
  unlinkAccount,
} from './oauth.controller';

// Phone Authentication
export {
  sendPhoneOTP,
  verifyPhoneOTP,
} from './phone-auth.controller';

// Two-Factor Authentication
export {
  setup2FA,
  enable2FA,
  disable2FA,
  regenerateBackupCodes,
  get2FAStatus,
} from './two-factor.controller';

// Token/Session Management
export {
  refreshToken,
  logout,
  logoutAll,
  getSessions,
  revokeSession,
  getCurrentUser,
} from './token.controller';
