DocstoreApp.js 585 B

1234567891011121314151617181920212223242526272829303132
  1. import app from '../../../../app.js'
  2. import Settings from '@overleaf/settings'
  3. import './MongoHelper.js'
  4. function startApp() {
  5. return new Promise((resolve, reject) => {
  6. app.listen(
  7. Settings.internal.docstore.port,
  8. Settings.internal.docstore.host,
  9. error => {
  10. if (error) {
  11. reject(error)
  12. } else {
  13. resolve()
  14. }
  15. }
  16. )
  17. })
  18. }
  19. let appStartedPromise
  20. async function ensureRunning() {
  21. if (!appStartedPromise) {
  22. appStartedPromise = startApp()
  23. }
  24. await appStartedPromise
  25. }
  26. export default {
  27. ensureRunning,
  28. }