Skip to content

Instantly share code, notes, and snippets.

View vseventer's full-sized avatar

Mark van Seventer vseventer

View GitHub Profile
@vseventer
vseventer / gist:3217793
Created July 31, 2012 15:24
Kinvey JavaScript Library: Using the cached store.
var entity = new Kinvey.Entity({/*attributes*/}, 'collection', {
store: 'cached'
});
var collection = new Kinvey.Collection('collection', {
store: 'cached'
});
@vseventer
vseventer / gist:3206763
Created July 30, 2012 13:09
Save the devices current position to Kinvey.
navigator.geolocation.getCurrentPosition(function(position) {
var coords = position.coords;
var entity = new Kinvey.Entity({
_geoloc: [coords.longitude, coords.latitude]
}, 'test-collection');
entity.save({
success: function(entity) {
// entity is now saved.
}
});
@vseventer
vseventer / gist:3017968
Created June 29, 2012 13:36
Snippet to test whether CORS works properly.
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://baas.kinvey.com/appdata/kidXXXX', true);
xhr.setRequestHeader('Authorization', 'Basic foo:bar');
// Enable the line below to provide Android support.
//xhr.setRequestHeader('X-Kinvey-Origin', 'http://www.example.com');
xhr.onload = function() {
console.log("LOADED", this.status, this.responseText);
};
@vseventer
vseventer / gist:2888834
Created June 7, 2012 13:36
Updating an entity.
var entity = new Kinvey.Entity('my-collection');
entity.set('key', 'value');
entity.save({
success: function(entity) {
var value = entity.get('key');
// value == "value"
// Entity is now created, lets update another field.
entity.set('foo', 'bar');
entity.save({
@vseventer
vseventer / gist:2882217
Created June 6, 2012 14:26
JavaScript Library aggregation leaderboard
// Scores collection
// [{ user: 'Alice', score: 2 },
// { user: 'Alice', score: 1 },
// { user: 'Bob', score: 4 }]
// Create leaderboard
var agg = new Kinvey.Aggregation();
agg.on('user');
agg.setInitial({ total: 0 });
agg.setReduce(function(doc, out) {
@vseventer
vseventer / gist:2881980
Created June 6, 2012 13:52
JavaScript Library (0.9.3) Master Secret setup for Node.js
Kinvey.init({
appKey: '<your-app-key>',
appSecret: '<your-app-secret>',
masterSecret: '<your-master-secret>'
});
@vseventer
vseventer / gist:2881969
Created June 6, 2012 13:50
JavaScript Library (0.9.3) setup for Node.js
// Step 1: install module.
npm install kinvey
// Step 2: import the library.
var Kinvey = require('kinvey');
@vseventer
vseventer / index.html
Created June 6, 2012 13:48
JavaScript Library (0.9.3) setup for modern browsers.
<script async src="//da189i1jfloii.cloudfront.net/js/kinvey-js-0.9.3.min.js"></script>
@vseventer
vseventer / index.html
Created May 24, 2012 14:25
Minimal setup to use the Kinvey JavaScript Library.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
<script async src="//da189i1jfloii.cloudfront.net/js/kinvey-js-0.9.1.min.js"></script>
<script>
@vseventer
vseventer / query.js
Created April 26, 2012 15:39
Building a query.
var query1 = new Kinvey.Query();
query1.on('_geoloc').nearSphere([-97, 30], 100);// max 100 miles from Austin?
var query2 = new Kinvey.Query();
query2.on('_geoloc').nearSphere([-71, 42], 100);// max 100 miles from Boston?
var query3 = new Kinvey.Query();
query3.on('population').greaterThan(500000);// large city?
// Join all queries, result is saved in query1.