// src/services/likeService.ts

// ...

  },

  delete: async (userId: number, courseId: number) => {
    await Like.destroy({
      where: {
        userId,
        courseId
      }
    })
  }
}
// src/controllersr/likes-controller.ts

import { Response } from 'express'
import { AuthenticatedRequest } from "../middlewares/auth";
import { likeService } from '../services/likeService'

const likesController = {

// ...

  // DELETE /likes/:id
  delete: async (req: AuthenticatedRequest, res: Response) => {
    const userId = req.user!.id
    const courseId = req.params.id

    try {
      await likeService.delete(userId, Number(courseId))
      return res.status(204).send()
    } catch (err) {
      if (err instanceof Error) {
        return res.status(400).json({ message: err.message })
      }
    }
  }
}
// src/routes.ts

// ...

router.post('/likes', ensureAuth, likesController.save)
router.delete('/likes', ensureAuth, likesController.delete)

export { router }