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('/:projectId',
  23. (req, res) => {
  24. const { projectId: id } = req.params;
  25. res.json(wrapper(
  26. Mock.mock(
  27. {
  28. description: Random.csentence(5, 40),
  29. gitRemoteUrl: Random.url('http', 'gitlab.seecoder.cn'),
  30. groupId: 101,
  31. id,
  32. name: 'string',
  33. },
  34. ),
  35. ));
  36. });
  37. router.post('/create',
  38. (req, res) => {
  39. const { body } = req;
  40. body.id = 101;
  41. res.json(wrapper(body));
  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;