AngularJS bindings for the 28.io API
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dist
src
swagger
test
.bowerrc
.gitignore
.jshintrc
.travis.yml
Gruntfile.js
LICENSE
README.md
bower.json
karma.conf.js
package.json

README.md

28.io AngularJS Binding

Build Status Code Climate

28.io-angularjs is an officially supported AngularJS binding for 28.io. 28.io is a query processing platform that allows you to write complex queries accross multiple data sources - relational databases; document stores, data warehouses and even web services.

We also have tutorials and an REST API reference.

Join our 28.io Support Group to ask questions and provide feedback.

Installation

Via Bower

$ bower install 28.io-angularjs --save

API Documentation

http://28msec.github.io/28.io-angularjs/3.1.0/

Example

angular.module('myApp', ['auth.api.28.io', 'queries.api.28.io'])
.controller('AppCtrl', function($scope, $cacheFactory, Auth, Queries){
    
    var projectName = 'myproject';
    var auth = new Auth('http://portal.28.io', $cacheFactory('Auth'));
    var queries = new Queries('http://' + projectName + '.28.io/v1', $cacheFactory('Queries'));

    auth.authenticate({ grant_type: 'client_credentials', email: $scope.login, password: $scope.password })
    .then(function(tokens){
        var projectToken = tokens.project_tokens['project_' + projectName];
        queries.listQueries({ visibility: 'public', token: projectToken })
        .then(function(publicQueries){
                $scope.publicQueries = publicQueries;
        })
        .catch(function(error){
            alert('Server replied: ' + error.description);
        });
    })
    .catch(function(error) {
        alert('Server replied: ' + error.description);
    });
});

Development

If you'd like to hack on 28.io-angularjs itself, you'll need node.js, and Bower:

npm install && bower install

Use grunt to build and test the code:

# Default task - build source and then runs unit tests
grunt

##License
Apache 2