angular-sql-query v2.4.0
angular-sql-query
Get Started
bower install angular-sql-query --saveInclude angular-sql-query.js (or angular-sql-query.min.js) from the dist directory in your index.html, after including Angular itself.
Add 'sf.sqlQuery' to your main module's list of dependencies.
When you're done, your setup should look similar to the following:
<!doctype html>
<html ng-app="myApp">
<head>
</head>
<body>
...
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
<script src="bower_components/angular-sql-query/angular-sql-query.min.js"></script>
...
<script>
var myApp = angular.module('myApp', ['sf.sqlQuery']);
</script>
...
</body>
</html>Configuration
For using this module, your database need to be architectured with these fields:
id: Unique key for data.payload: Object data stringify with angular.toJson.
For some extra helpers regarding storage, you can look at this module angular-sql-storage.
Example
var user = new SqlQueryService(name, databaseFn, options);Params
nameString - Table namedatabaseFunction - Function that return SQL database instance.optionsFunction - Query optionsindexed_fieldsArray - Reference field by adding a column in the table.
function databaseInstance() {
return $q.when($window.openDatabase('test', '1', 'database', 200000));
}
var user = new SqlQueryService('user', databaseInstance, {
indexed_fields: ['name'],
});API Documentation
.getBackUp()
Get data by its id
Params
id: Data id
Returns: payload
user.getBackUp(1);.listBackUp()
All datas
Returns: Array payload
user.listBackUp();.queryBackUp()
All datas corresponding to query.
If field is referenced in options, query can be set directly in SQl Query. Also, a javascript filter is used.
You need to pass an object; the key is the field name and the value is the query value.
- You can pass an Array to make a
INquery. - You can pass a Boolean for a 1 or 0 query.
- You can pass an RegExp to make a
LIKEquery.
Params:
params: Object Filter datas
Returns: Array payload
user.queryBackUp({
name: ['Jean', 'Paul'],
connected: true
});.saveBackUp()
Save new object data
Params:
id: Data keydatas: Data object
Returns: Object Data saved
user.saveBackUp(1, { name: 'Jean', connected: false });.updateBackUp()
Update database object
Params:
data: Object datas (with id).
Returns: Object Data updated
user.updateBackUp({ id: 1, name: 'Paul', connected: false });.removeBackUp()
Remove database object
Params:
id: Object key.
Returns: SQL remove result
user.removeBackUp(1);.bulkDocsBackUp()
Modify multiple datas
It's possible to update or remove datas with one method called.
You can delete a data by setting an the object key _delete to true.
Params:
datas: Array of objects to update.
Returns: SQL update result
user.bulkDocsBackUp([{
id: 1, name: 'Jean', connected: true,
id: 2, name: 'Paul', connected: false, _deleted: true
}]);.execute()
Directly make an SQL query.
Params:
query: SQL query.datas: SQL params.
Returns: SQL result
user.execute('SELECT * FROM user WHERE id=?', [1]);