settings.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* eslint-disable
  2. camelcase,
  3. max-len,
  4. */
  5. // TODO: This file was created by bulk-decaffeinate.
  6. // Fix any style issues and re-enable lint.
  7. /*
  8. * decaffeinate suggestions:
  9. * DS101: Remove unnecessary use of Array.from
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  12. */
  13. import App from '../../../base'
  14. export default App.factory('settings', (ide, eventTracking) => ({
  15. saveSettings(data) {
  16. // Tracking code.
  17. for (const key of Array.from(Object.keys(data))) {
  18. const changedSetting = key
  19. const changedSettingVal = data[key]
  20. eventTracking.sendMB('setting-changed', {
  21. changedSetting,
  22. changedSettingVal,
  23. })
  24. }
  25. // End of tracking code.
  26. data._csrf = window.csrfToken
  27. return ide.$http.post('/user/settings', data)
  28. },
  29. saveProjectSettings(data) {
  30. data._csrf = window.csrfToken
  31. return ide.$http.post(`/project/${ide.project_id}/settings`, data)
  32. },
  33. saveProjectAdminSettings(data) {
  34. data._csrf = window.csrfToken
  35. return ide.$http.post(`/project/${ide.project_id}/settings/admin`, data)
  36. },
  37. }))