import express from 'express'; const router = express.Router(); import { DataTypes } from 'sequelize'; import defineAttachment from '../../models/attachments.js'; import defineRunCase from '../../models/runCases.js'; export default function (sequelize) { const Attachment = defineAttachment(sequelize, DataTypes); const RunCase = defineRunCase(sequelize, DataTypes); RunCase.belongsToMany(Attachment, { through: 'runCaseAttachments', foreignKey: 'runCaseId', otherKey: 'attachmentId' }); Attachment.belongsToMany(RunCase, { through: 'runCaseAttachments', foreignKey: 'attachmentId', otherKey: 'runCaseId' }); // ponytail: no auth middleware, mirroring the sibling /attachments routes (TODO there). router.get('/', async (req, res) => { const { runCaseId } = req.query; if (!runCaseId) { return res.status(400).json({ error: 'runCaseId is required' }); } try { const runCase = await RunCase.findByPk(runCaseId, { include: [{ model: Attachment }], }); if (!runCase) { return res.status(404).send('RunCase not found'); } res.json(runCase.Attachments); } catch (error) { console.error(error); res.status(500).send('Internal Server Error'); } }); return router; }