index.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const express = require("express");
  2. const router = express.Router();
  3. const projectSerializer = require("../../serializers/codehw/ProjectSerializer");
  4. const buildSerializer = require("../../serializers/codehw/BuildSerializer");
  5. const deploySerializer = require("../../serializers/codehw/DeploySerializer");
  6. const unitTestSerializer = require("../../serializers/codehw/UnitTestSerializer");
  7. const functionalTestSerializer = require("../../serializers/codehw/FunctionalTestSerializer");
  8. const mirrorSerializer = require("../../serializers/codehw/MirrorSerializer");
  9. // 获得某个 Homework 的 Project 列表(应该只有一个)
  10. router.route("/projects").post((req, res) =>
  11. res.send({
  12. data: [{ projectId: "12313421", name: "据说只有一个对列表" }]
  13. })
  14. );
  15. // 获得 Project 的详细信息
  16. router.route("/project/:id").get((req, res) =>
  17. res.send({
  18. id: req.params.id,
  19. data: projectSerializer({ id: req.params.id })
  20. })
  21. );
  22. // 获得一次构建的详细信息
  23. router.route("/build/:id").get((req, res) =>
  24. res.send({
  25. id: req.params.id,
  26. data: buildSerializer({ id: req.params.id })
  27. })
  28. );
  29. // 获得一次部署的详细信息
  30. router.route("/deploy/:id").get((req, res) =>
  31. res.send({
  32. id: req.params.id,
  33. data: deploySerializer({ id: req.params.id })
  34. })
  35. );
  36. // 获得一次单元测试的详细信息
  37. router.route("/unit/:id").get((req, res) =>
  38. res.send({
  39. id: req.params.id,
  40. data: unitTestSerializer({ id: req.params.id })
  41. })
  42. );
  43. // 获得一次页面功能测试的详细信息
  44. router.route("/functional/:id").get((req, res) =>
  45. res.send({
  46. id: req.params.id,
  47. data: functionalTestSerializer({ id: req.params.id })
  48. })
  49. );
  50. // 获得可用镜像的 ID
  51. router.route("/mirrors/:homeworkId/:projectId").get((req, res) =>
  52. res.send({
  53. data: [
  54. mirrorSerializer({ id: req.params.id }),
  55. mirrorSerializer({ id: req.params.id }),
  56. mirrorSerializer({ id: req.params.id }),
  57. mirrorSerializer({ id: req.params.id })
  58. ]
  59. })
  60. );
  61. // 触发一次部署
  62. router.route("/deploy").post((req, res) =>
  63. res.send({
  64. data: { success: true }
  65. })
  66. );
  67. // 触发一次页面功能测试
  68. router.route("/functional").post((req, res) =>
  69. res.send({
  70. data: { success: true }
  71. })
  72. );
  73. module.exports = router;