import type { RouteDefinition } from '../../core/router.js';
import { assetDownloadRoute, assetPreviewRoute, assetsRoute } from './assets.js';
import {
  collectionQuestionsRoute,
  contentEntriesRoute,
  contentNodesRoute,
  practiceBlueprintsRoute,
  questionCollectionsRoute,
} from './navigation.js';
import {
  announcementsRoute,
  bannersRoute,
  categoriesRoute,
  examDatesRoute,
  faqsRoute,
  handbookChaptersRoute,
  handbookEntriesRoute,
  handbookSubjectsRoute,
  majorsRoute,
  moduleNodesRoute,
  productsRoute,
  questionsRoute,
  regionModulesRoute,
  regionsRoute,
  schoolsRoute,
  subjectsRoute,
  svipPlansRoute,
  timelinesRoute,
  vocabularyUnitsRoute,
  vocabularyWordsRoute,
} from './routes.js';

export const catalogRoutes: RouteDefinition[] = [
  ['GET', '/api/catalog/regions', regionsRoute],
  ['GET', '/api/catalog/region-modules', regionModulesRoute],
  ['GET', '/api/catalog/module-nodes', moduleNodesRoute],
  ['GET', '/api/catalog/schools', schoolsRoute],
  ['GET', '/api/catalog/majors', majorsRoute],
  ['GET', '/api/catalog/subjects', subjectsRoute],
  ['GET', '/api/catalog/categories', categoriesRoute],
  ['GET', '/api/catalog/questions', questionsRoute],
  ['GET', '/api/catalog/content-entries', contentEntriesRoute],
  ['GET', '/api/catalog/content-nodes', contentNodesRoute],
  ['GET', '/api/catalog/question-collections', questionCollectionsRoute],
  ['GET', '/api/catalog/question-collections/questions', collectionQuestionsRoute],
  ['GET', '/api/catalog/practice-blueprints', practiceBlueprintsRoute],
  ['GET', '/api/catalog/assets', assetsRoute],
  ['GET', '/api/catalog/assets/download', assetDownloadRoute],
  ['GET', '/api/catalog/assets/preview', assetPreviewRoute],
  ['GET', '/api/catalog/vocabulary-units', vocabularyUnitsRoute],
  ['GET', '/api/catalog/vocabulary-words', vocabularyWordsRoute],
  ['GET', '/api/catalog/handbook-subjects', handbookSubjectsRoute],
  ['GET', '/api/catalog/handbook-chapters', handbookChaptersRoute],
  ['GET', '/api/catalog/handbook-entries', handbookEntriesRoute],
  ['GET', '/api/catalog/banners', bannersRoute],
  ['GET', '/api/catalog/faqs', faqsRoute],
  ['GET', '/api/catalog/announcements', announcementsRoute],
  ['GET', '/api/catalog/products', productsRoute],
  ['GET', '/api/catalog/timelines', timelinesRoute],
  ['GET', '/api/catalog/exam-dates', examDatesRoute],
  ['GET', '/api/catalog/svip-plans', svipPlansRoute],
];
