Module: Api

Api

Utility service to convert search string and query language to filter params that can be used with other keta services.

Author:
  • Vincent Romanus <vincent.romanus (at) kiwigrid.com>
Source:

Classes

ApiUtils

Methods

<inner> getFilterParams(filterString, criteriaMapping) → {Object}

Set filter params to all criteria or define them by query language. If inserted string is "owner:test_user", only items with owner test_user will be returned and if you insert "test_user", items with test_user in this criterion will be returned.
Parameters:
Name Type Description
filterString String Search string or query language string.
criteriaMapping Object criteria to search in or convert key to criteria.
Source:
Returns:
Object Params to filter EventBusManager request.
Example
angular.module('exampleApp',
    [
        'keta.utils.Api',
        'keta.services.EventBusManager',
        'keta.services.DeviceSet'
    ])
    .controller('ExampleController', function(
        ketaApiUtils, ketaEventBusManager, ketaDeviceSet,
    ) {

        // search scope model for an input to get the search string
        $scope.searchString = '';

        // set search criteria
        var searchCriteria = {
            name: 'tagValues.IdName.value',
            owner: 'owner'
         };

         // get filter params
         var filter = ketaApiUtils.getFilterParams($scope.searchString, searchCriteria);

        // get reply by filter
       ketaDeviceSet.create(ketaEventBusManager.get('kiwibus'))
         .filter(filter)
         .project({
             tagValues: {
                 IdName: 1
             },
             owner: 1
         })
         .query()
         .then(function(reply) {
             // ...
         });
    });