Backand/Ionic - Как получить данные вошедшего в систему пользователя?

Я использую Backand в качестве своей базы данных, и они предоставили приложение todo на своем github, но оно извлекает только все данные пользователей. Я только хочу получить данные вошедшего в систему пользователя. Как я могу это сделать?

В некоторой степени я хочу изменить его в своих services.js:

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

Я хочу передать объект текущего пользователя.

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


person Khal Lester    schedule 03.10.2016    source источник
comment
использовать любой идентификатор пользователя для получения информации о конкретном пользователе.   -  person Anuj    schedule 03.10.2016
comment
@AnujGupta проблема в том, что у пользователя есть несколько задач.   -  person Khal Lester    schedule 03.10.2016
comment
Вы должны использовать вкладку «Безопасность», как описано здесь: stackoverflow.com/a/38100830/3809559   -  person Itay    schedule 03.10.2016


Ответы (1)


Существует демонстрация задачи с пользователями. 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;
}

}]);

Вы получаете письмо от...

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);
        });
person Kirby    schedule 03.10.2016