Skip to content

28msec/28.io-angularjs

Repository files navigation

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

About

AngularJS bindings for the 28.io API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published