| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import App from '../../../base'
- export default App.controller(
- 'UserOauthController',
- function ($http, $scope, $q) {
- const _reset = function () {
- $scope.ui = {
- hasError: false,
- errorMessage: '',
- }
- $scope.providers = window.oauthProviders
- $scope.thirdPartyIds = window.thirdPartyIds
- }
- const _unlinkError = (providerId, err) => {
- $scope.providers[providerId].ui.hasError = true
- $scope.providers[providerId].ui.errorMessage =
- err && err.data && err.data.message ? err.data.message : 'error'
- }
- $scope.unlink = providerId => {
- if (window.ExposedSettings.isOverleaf) {
- // UI
- $scope.providers[providerId].ui = {
- hasError: false,
- isProcessing: true,
- }
- // Data for update
- const data = {
- _csrf: window.csrfToken,
- link: false,
- providerId,
- }
- $http
- .post('/user/oauth-unlink', data)
- .catch(error => {
- $scope.providers[providerId].ui.isProcessing = false
- _unlinkError(providerId, error)
- })
- .then(response => {
- $scope.providers[providerId].ui.isProcessing = false
- if (response.status === 200) {
- $scope.thirdPartyIds[providerId] = null
- } else {
- _unlinkError(providerId, response)
- }
- })
- }
- }
- _reset()
- }
- )
|