project.js 1.6 KB

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