index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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. // 触发一次页面功能测试
  74. router.route("/commit").get((req, res) =>
  75. res.send({
  76. code: 200,
  77. data: [
  78. {
  79. projectId: 93857213,
  80. commitHash: "sed reprehenderit",
  81. time: "1986-05-12T15:04:25.99Z",
  82. commitMessage: "eiusmod ipsum",
  83. brach: "consectetur",
  84. author: "aute",
  85. isBranchValid: true,
  86. isMessageValid: false
  87. },
  88. {
  89. projectId: 88057636,
  90. commitHash: "dolor Duis",
  91. time: "1964-01-04T01:42:51.574Z",
  92. commitMessage: "Lorem esse eu amet Excepteur",
  93. brach: "nulla Excepteur officia ut non",
  94. author: "nostrud nulla quis adipisicing mollit",
  95. isBranchValid: true,
  96. isMessageValid: true
  97. },
  98. {
  99. projectId: -10377983,
  100. commitHash: "veniam eiusmod in",
  101. time: "2014-03-19T16:56:57.97Z",
  102. commitMessage: "sed consequat exercitation eu irure",
  103. brach: "labore do Duis",
  104. author: "nostrud anim",
  105. isBranchValid: true,
  106. isMessageValid: false
  107. },
  108. {
  109. projectId: 62019582,
  110. commitHash: "ullamco",
  111. time: "2003-11-22T14:25:34.955Z",
  112. commitMessage: "ipsum fugiat Lorem ex non",
  113. brach: "m",
  114. author: "consequat",
  115. isBranchValid: true,
  116. isMessageValid: true
  117. },
  118. {
  119. projectId: -6849994,
  120. commitHash: "voluptate ad nulla",
  121. time: "1988-11-06T09:29:55.236Z",
  122. commitMessage: "cupidatat eiusmod nulla",
  123. brach: "amet laborum velit veniam exercitation",
  124. author: "eiusmod ex",
  125. isBranchValid: false,
  126. isMessageValid: true
  127. }
  128. ]
  129. })
  130. );
  131. module.exports = router;