MockWebApi.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /* eslint-disable
  2. camelcase,
  3. handle-callback-err,
  4. */
  5. // TODO: This file was created by bulk-decaffeinate.
  6. // Fix any style issues and re-enable lint.
  7. /*
  8. * decaffeinate suggestions:
  9. * DS102: Remove unnecessary code created because of implicit returns
  10. * DS207: Consider shorter variations of null checks
  11. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  12. */
  13. let MockWebApi
  14. const express = require('express')
  15. const app = express()
  16. module.exports = MockWebApi = {
  17. users: {},
  18. projects: {},
  19. getUserInfo(user_id, callback) {
  20. if (callback == null) {
  21. callback = function (error) {}
  22. }
  23. return callback(null, this.users[user_id] || null)
  24. },
  25. getProjectDetails(project_id, callback) {
  26. if (callback == null) {
  27. callback = function (error, project) {}
  28. }
  29. return callback(null, this.projects[project_id])
  30. },
  31. run() {
  32. app.get('/user/:user_id/personal_info', (req, res, next) => {
  33. return this.getUserInfo(req.params.user_id, (error, user) => {
  34. if (error != null) {
  35. res.sendStatus(500)
  36. }
  37. if (user == null) {
  38. return res.sendStatus(404)
  39. } else {
  40. return res.send(JSON.stringify(user))
  41. }
  42. })
  43. })
  44. app.get('/project/:project_id/details', (req, res, next) => {
  45. return this.getProjectDetails(req.params.project_id, (error, project) => {
  46. if (error != null) {
  47. res.sendStatus(500)
  48. }
  49. if (project == null) {
  50. return res.sendStatus(404)
  51. } else {
  52. return res.send(JSON.stringify(project))
  53. }
  54. })
  55. })
  56. return app
  57. .listen(3000, error => {
  58. if (error != null) {
  59. throw error
  60. }
  61. })
  62. .on('error', error => {
  63. console.error('error starting MockWebApiServer:', error.message)
  64. return process.exit(1)
  65. })
  66. },
  67. }
  68. MockWebApi.run()