project.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* eslint-disable import/no-extraneous-dependencies */
  2. /* eslint-disable @typescript-eslint/no-var-requires */
  3. const router = require('express').Router();
  4. const Mock = require('mockjs');
  5. const wrapper = require('../wrapper');
  6. const { Random } = Mock;
  7. const groups = [101, 102, 103, 104];
  8. router.get('/:projectId',
  9. (req, res) => {
  10. const { projectId: id } = req.params;
  11. res.json(wrapper(
  12. Mock.mock(
  13. {
  14. description: Random.csentence(5, 40),
  15. gitRemoteUrl: Random.url('http', 'gitlab.seecoder.cn'),
  16. groupId: 101,
  17. id,
  18. name: 'string',
  19. },
  20. ),
  21. ));
  22. });
  23. router.post('/create',
  24. (req, res) => {
  25. const { body } = req;
  26. body.id = 101;
  27. res.json(wrapper(body));
  28. });
  29. router.get('/listByUser/:userId',
  30. (req, res) => {
  31. res.json(wrapper(
  32. Mock.mock(Mock.mock({
  33. 'data|5-10': [{
  34. 'id|+1': 100,
  35. description: Random.csentence(5, 40),
  36. gitRemoteUrl: Random.url('http', 'gitlab.seecoder.cn'),
  37. 'groupId|1': groups,
  38. name: Random.cname(),
  39. }],
  40. }).data),
  41. ));
  42. });
  43. router.post('/members', (req, res) => {
  44. res.json(wrapper('success'));
  45. });
  46. router.get('/:projectId/members', (req, res) => {
  47. res.json(wrapper(
  48. Mock.mock({
  49. 'data|4': [
  50. {
  51. email: Random.email('smail.nju.edu.cn'),
  52. 'id|+1': 1110,
  53. phone: 'string',
  54. 'role|1': ['学生', '教师', '管理员'],
  55. 'username|1': ['hkshu12', 'cyt123', 'Jinyao'],
  56. withGitlab: Random.boolean(),
  57. },
  58. ],
  59. }).data,
  60. ));
  61. });
  62. router.get('/refresh', (req, res) => {
  63. res.json(wrapper('success'));
  64. });
  65. module.exports = router;