2026-01-30 13:41:32 +01:00
|
|
|
import { router } from '../trpc'
|
|
|
|
|
import { programRouter } from './program'
|
|
|
|
|
import { roundRouter } from './round'
|
|
|
|
|
import { projectRouter } from './project'
|
|
|
|
|
import { userRouter } from './user'
|
|
|
|
|
import { assignmentRouter } from './assignment'
|
|
|
|
|
import { evaluationRouter } from './evaluation'
|
|
|
|
|
import { fileRouter } from './file'
|
|
|
|
|
import { exportRouter } from './export'
|
|
|
|
|
import { auditRouter } from './audit'
|
|
|
|
|
import { settingsRouter } from './settings'
|
|
|
|
|
import { gracePeriodRouter } from './gracePeriod'
|
|
|
|
|
// Phase 2 routers
|
|
|
|
|
import { learningResourceRouter } from './learningResource'
|
|
|
|
|
import { partnerRouter } from './partner'
|
|
|
|
|
import { notionImportRouter } from './notion-import'
|
|
|
|
|
import { typeformImportRouter } from './typeform-import'
|
|
|
|
|
import { applicationFormRouter } from './applicationForm'
|
2026-02-03 19:48:41 +01:00
|
|
|
import { onboardingRouter } from './onboarding'
|
2026-01-30 13:41:32 +01:00
|
|
|
// Phase 2B routers
|
|
|
|
|
import { tagRouter } from './tag'
|
|
|
|
|
import { applicantRouter } from './applicant'
|
|
|
|
|
import { liveVotingRouter } from './live-voting'
|
|
|
|
|
import { analyticsRouter } from './analytics'
|
|
|
|
|
// Storage routers
|
|
|
|
|
import { avatarRouter } from './avatar'
|
|
|
|
|
import { logoRouter } from './logo'
|
|
|
|
|
// Applicant system routers
|
|
|
|
|
import { applicationRouter } from './application'
|
|
|
|
|
import { mentorRouter } from './mentor'
|
Implement Prototype 1 improvements: unified members, project filters, audit expansion, filtering rounds, special awards
- Unified Member Management: merge /admin/users and /admin/mentors into /admin/members with role tabs, search, pagination
- Project List Filters: add search, multi-status filter, round/category/country selects, boolean toggles, URL persistence
- Audit Log Expansion: track logins, round state changes, evaluation submissions, file access, role changes via shared logAudit utility
- Founding Date Field: add foundedAt to Project model with CSV import support
- Filtering Round System: configurable rules (field-based, document check, AI screening), execution engine, results review with override/reinstate
- Special Awards System: named awards with eligibility criteria, dedicated jury, PICK_WINNER/RANKED/SCORED voting modes, AI eligibility
- Dashboard resilience: wrap heavy queries in try-catch to prevent error boundary on transient DB failures
- Reusable pagination component extracted to src/components/shared/pagination.tsx
- Old /admin/users and /admin/mentors routes redirect to /admin/members
- Prisma migration for all schema additions (additive, no data loss)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:58:29 +01:00
|
|
|
import { filteringRouter } from './filtering'
|
|
|
|
|
import { specialAwardRouter } from './specialAward'
|
2026-01-30 13:41:32 +01:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Root tRPC router that combines all domain routers
|
|
|
|
|
*/
|
|
|
|
|
export const appRouter = router({
|
|
|
|
|
program: programRouter,
|
|
|
|
|
round: roundRouter,
|
|
|
|
|
project: projectRouter,
|
|
|
|
|
user: userRouter,
|
|
|
|
|
assignment: assignmentRouter,
|
|
|
|
|
evaluation: evaluationRouter,
|
|
|
|
|
file: fileRouter,
|
|
|
|
|
export: exportRouter,
|
|
|
|
|
audit: auditRouter,
|
|
|
|
|
settings: settingsRouter,
|
|
|
|
|
gracePeriod: gracePeriodRouter,
|
|
|
|
|
// Phase 2 routers
|
|
|
|
|
learningResource: learningResourceRouter,
|
|
|
|
|
partner: partnerRouter,
|
|
|
|
|
notionImport: notionImportRouter,
|
|
|
|
|
typeformImport: typeformImportRouter,
|
|
|
|
|
applicationForm: applicationFormRouter,
|
2026-02-03 19:48:41 +01:00
|
|
|
onboarding: onboardingRouter,
|
2026-01-30 13:41:32 +01:00
|
|
|
// Phase 2B routers
|
|
|
|
|
tag: tagRouter,
|
|
|
|
|
applicant: applicantRouter,
|
|
|
|
|
liveVoting: liveVotingRouter,
|
|
|
|
|
analytics: analyticsRouter,
|
|
|
|
|
// Storage routers
|
|
|
|
|
avatar: avatarRouter,
|
|
|
|
|
logo: logoRouter,
|
|
|
|
|
// Applicant system routers
|
|
|
|
|
application: applicationRouter,
|
|
|
|
|
mentor: mentorRouter,
|
Implement Prototype 1 improvements: unified members, project filters, audit expansion, filtering rounds, special awards
- Unified Member Management: merge /admin/users and /admin/mentors into /admin/members with role tabs, search, pagination
- Project List Filters: add search, multi-status filter, round/category/country selects, boolean toggles, URL persistence
- Audit Log Expansion: track logins, round state changes, evaluation submissions, file access, role changes via shared logAudit utility
- Founding Date Field: add foundedAt to Project model with CSV import support
- Filtering Round System: configurable rules (field-based, document check, AI screening), execution engine, results review with override/reinstate
- Special Awards System: named awards with eligibility criteria, dedicated jury, PICK_WINNER/RANKED/SCORED voting modes, AI eligibility
- Dashboard resilience: wrap heavy queries in try-catch to prevent error boundary on transient DB failures
- Reusable pagination component extracted to src/components/shared/pagination.tsx
- Old /admin/users and /admin/mentors routes redirect to /admin/members
- Prisma migration for all schema additions (additive, no data loss)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:58:29 +01:00
|
|
|
filtering: filteringRouter,
|
|
|
|
|
specialAward: specialAwardRouter,
|
2026-01-30 13:41:32 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export type AppRouter = typeof appRouter
|