Module: UserSet

UserSet

UserSet Provider
Author:
  • Marco Lehmann <marco.lehmann (at) kiwigrid.com>
Source:

Classes

ketaUserSet
ketaUserSetProvider
UserSetInstance

Methods

<inner> create(eventBus) → {UserSetInstance}

Creates a UserSetInstance with given EventBus instance.

Parameters:
Name Type Description
eventBus EventBus EventBus instance to use for communication
Source:
Returns:
UserSetInstance UserSetInstance created
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        var userSet = ketaUserSet.create(eventBus);
    });

<inner> filter(filter) → {UserSetInstance}

Adds a filter before UserSet query is sent to EventBus.

Parameters:
Name Type Description
filter Object filter to use
Source:
Returns:
UserSetInstance UserSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus)
            .filter({
                userId: 'login'
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> get(set, index) → {UserInstance}

Returns user in given UserSet by specified index.

Parameters:
Name Type Description
set UserSetInstance UserSetInstance to search in
index number Index of user to return
Source:
Returns:
UserInstance UserInstance retrieved from set
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus).query()
            .then(function(reply) {
                // user equals first item after the call
                var user = ketaUserSet.get(reply, 0);
            });
    });

<inner> getAll(set) → {Array}

Returns all users in given UserSet.

Parameters:
Name Type Description
set UserSetInstance UserSetInstance to search in
Source:
Returns:
Array All UserInstances retrieved from set
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus).query()
            .then(function(reply) {
                var users = ketaUserSet.getAll(reply);
            });
    });

<inner> indexOf(set, user) → {number}

Returns index of given User in UserSet by comparing user IDs.

Parameters:
Name Type Description
set UserSetInstance UserSetInstance to search in
user UserInstance UserInstance to search for
Source:
Returns:
number index
Example
angular.module('exampleApp', ['keta.services.ketaUserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus).query()
            .then(function(reply) {
                // index equals 0 after the call
                var index = ketaUserSet.indexOf(reply, reply.result.items[0]);
            });
    });

<inner> length(set) → {number}

Returns number of users in given UserSet.

Parameters:
Name Type Description
set UserSetInstance UserSetInstance to search in
Source:
Returns:
number number of users
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus).query()
            .then(function(reply) {
                // length equals number of users in UserSet
                var length = ketaUserSet.length(reply);
            });
    });

<inner> paginate(pagination) → {UserSetInstance}

Adds a pagination before UserSet query is sent to EventBus.

Parameters:
Name Type Description
pagination Object pagination to use
Source:
Returns:
UserSetInstance UserSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus)
            .paginate({
                offset: 0,
                limit: 50
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> project(projection) → {UserSetInstance}

Adds a projection before UserSet query is sent to EventBus.

Parameters:
Name Type Description
projection Object projection to use
Source:
Returns:
UserSetInstance UserSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus)
            .project({
                userId: 1
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> query() → {promise}

Finally executes UserSet query by sending it to the associated EventBus instance.

Source:
Returns:
promise Promise which is resolved when query is returned
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus)
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> sort(sorting) → {UserSetInstance}

Adds a sorting before UserSet query is sent to EventBus.

Parameters:
Name Type Description
sorting Object sorting to use
Source:
Returns:
UserSetInstance UserSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.UserSet'])
    .controller('ExampleController', function(ketaUserSet) {
        ketaUserSet.create(eventBus)
            .sort({
                'userId': 1
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });