MockWebApi.js 1.8 KB

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