Module: ApplicationSet

ApplicationSet

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

Classes

ApplicationSetProvider
ketaApplicationSet
ketaApplicationSetInstance

Methods

<inner> create(eventBus) → {ApplicationSetInstance}

Creates an ApplicationSetInstance with given EventBus instance.

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

<inner> filter(filter) → {ApplicationSetInstance}

Adds a filter before ApplicationSet query is sent to EventBus.

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

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

Returns application in given ApplicationSet by specified index.

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

<inner> getAll(set) → {Array}

Returns all applications in given ApplicationSet.

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

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

Returns index of given Application in ApplicationSet by comparing app IDs.

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

<inner> length(set) → {number}

Returns number of applications in given ApplicationSet.

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

<inner> paginate(pagination) → {ApplicationSetInstance}

Adds a pagination before ApplicationSet query is sent to EventBus.

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

<inner> project(projection) → {ApplicationSetInstance}

Adds a projection before ApplicationSet query is sent to EventBus.

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

<inner> query() → {promise}

Finally executes ApplicationSet 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.ApplicationSet'])
    .controller('ExampleController', function(ketaApplicationSet) {
        ketaApplicationSet.create(eventBus)
            .filter({
                userId: 'login'
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> sort(sorting) → {ApplicationSetInstance}

Adds a sorting before ApplicationSet query is sent to EventBus.

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