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