import type { RouteDefinition } from '../../core/router.js';
import {
  checkInRoute,
  examCountdownRoute,
  feedbacksRoute,
  profileBadgesRoute,
  profileMeRoute,
  scoreEventsRoute,
  submitFeedbackRoute,
  updateProfileMeRoute,
} from './routes.js';
import {
  activityTasksRoute,
  claimActivityTaskRoute,
  exchangeItemsRoute,
  redeemExchangeItemRoute,
} from './points.js';
import {
  profileNotificationsRoute,
  updateProfileNotificationStatusRoute,
} from './notifications.js';

export const profileRoutes: RouteDefinition[] = [
  ['GET', '/api/profile/me', profileMeRoute],
  ['PATCH', '/api/profile/me', updateProfileMeRoute],
  ['POST', '/api/profile/check-in', checkInRoute],
  ['GET', '/api/profile/score-events', scoreEventsRoute],
  ['GET', '/api/profile/activity-tasks', activityTasksRoute],
  ['POST', '/api/profile/activity-tasks/claim', claimActivityTaskRoute],
  ['GET', '/api/profile/exchange-items', exchangeItemsRoute],
  ['POST', '/api/profile/exchange-items/redeem', redeemExchangeItemRoute],
  ['GET', '/api/profile/notifications', profileNotificationsRoute],
  ['POST', '/api/profile/notifications/status', updateProfileNotificationStatusRoute],
  ['GET', '/api/profile/badges', profileBadgesRoute],
  ['GET', '/api/profile/feedbacks', feedbacksRoute],
  ['POST', '/api/profile/feedbacks', submitFeedbackRoute],
  ['GET', '/api/profile/exam-countdowns', examCountdownRoute],
];
