plplpl183's picture
Upload apps/api/src/modules/tasks/routes.ts
f0447ab verified
import { Router } from 'express';
import { requireAuth, requireRole, AuthRequest } from '../auth/middleware';
const router = Router();
router.use(requireAuth);
router.get('/prioritized', async (req: AuthRequest, res) => {
// TODO: query tasks for user/org, order by AI priority score
res.json({
data: {
tasks: [],
meta: { next_cursor: null, has_more: false },
},
});
});
router.get('/', async (req: AuthRequest, res) => {
const { status, assignee_id, cursor } = req.query;
// TODO: paginated task list
res.json({ data: { tasks: [], meta: { next_cursor: null, has_more: false } } });
});
router.post('/', requireRole('admin', 'recruiter'), async (req: AuthRequest, res) => {
const { title, type, assignee_id, related_application_id, due_date } = req.body;
// TODO: insert task, optionally trigger AI priority scoring
const task = {
id: 'task-' + Date.now(),
title,
type,
priority: 50,
status: 'pending',
assignee_id,
created_by: req.user!.id,
};
res.status(201).json({ data: task });
});
router.patch('/:id/status', async (req: AuthRequest, res) => {
const { status } = req.body;
// TODO: update task status
res.json({ data: { id: req.params.id, status } });
});
export { router as tasksRouter };