2016-10-03 3 views
0

私はBackandをデータベースとして使用しており、github上でtodoアプリを提供しましたが、ユーザーのすべてのデータのみを取得します。私はログインしたユーザーのデータを取得したいだけです。これどうやってするの?Backand/Ionic - ログインしたユーザーのデータを取得する方法は?

やや、私は私のservices.jsでそれを変更したい:

service.all = function() { 
     return $http.get(getUrl()); 
    }; 

私は、現在のユーザーのオブジェクトを渡したいです。

GitHubの:https://github.com/backand/todos-with-users

+0

...からのメールを取得します。 – Anuj

+0

@AnujGupta問題は、ユーザーが複数のtodosを持っていることです。 –

+0

ここで説明している[セキュリティ]タブを使用する必要があります。http://stackoverflow.com/a/38100830/3809559 – Itay

答えて

0

ユーザーのデモとのTODOがあります。 https://github.com/backand/angular-yeoman-todos/tree/todo-with-users

は最終的に、私のユーザーサービスが...次のようになります

angular.module('app.services') 

.service('userService', ['Backand', '$state', '$q', '$http', 'authService', function(Backand, $state, $q, $http, authService) { 
this.getUserByEmail = function(email) { 

    var resultsDeferred = $q.defer(); 
    var requestDeferred = $http({ 
     method: 'GET', 
     url: Backand.getApiUrl() + '/1/objects/users', 
     params: { 
      pageSize: 1, 
      pageNumber: 1, 
      filter: [{ 
       fieldName: 'email', 
       operator: 'equals', 
       value: email 
      }], 
      sort: '' 
     } 
    }); 

    requestDeferred.then(function(response) { 
     var user = response.data.data; 
     resultsDeferred.resolve(user); // allow the controller to render 
    }, function failureCallback(reason) { 
     resultsDeferred.reject(reason); // bubble up failure 
    }); 
    return resultsDeferred; 
} 

}]);

あなたは、特定のユーザーの情報を取得するために、任意のユーザーIDを使用し

var user = Backand.getUserDetails(); 
var userEmail = null; 

if (user.$$state.value !== null) { 
    userEmail = user.$$state.value.username; 
} else { 
    userEmail = null; 
} 

var userDeferred = userService.getUserByEmail($scope.userEmail).promise; 

     userDeferred.then(function successCallback(response) { 
      $scope.user = response[0]; 
      console.log('userId (email): %o', $scope.user.id); 
      console.log('user phone: %o', $scope.user.phone); 
     }); 
関連する問題