Skip to content

Stamplay/stamplay-js-sdk

Repository files navigation

Stamplay JavaScript SDK

Build Status Production version Bower version Code Climate

This library gives you access to the powerful Stamplay cloud platform from your JavaScript app. For more info on Stamplay and its features, see the website or the JavaScript guide

Installation

The SDK is available for on NPM, Bower and on our CDN.

Using npm

$ npm install -g stamplay-sdk

Using bower 

$ bower install -g stamplay-js-sdk

To get started import the library in your project and initialize it by calling init function with your appId

<script src="https://cdn.stamplay.com/libs/stamplay-js-sdk/2.1.4/stamplay.min.js"></script>
<script> Stamplay.init("APPID"); </script>

How to use it

Register a new user:

var data = {
	"email":"[email protected]",
	"password":"john123"
}
Stamplay.User.signup(data, function(error, result){
	//manage the result and the error
})

Store data using Objects:

var data = {
	"description":"A description",
	"title":"New title"
}
Stamplay.Object('foo').save(data, function(error, result){
	//manage the result and the error
})

Skip the callback to get a promise back

var data = {
	"description":"A description",
	"title":"New title"
}
Stamplay.Object('foo').save(data).then(function(result){
	//manage the result
},function(error){
	//manage the error
})

Available components

This JavaScript SDK expose the following components:

  • User
    • save(data, [callback])
    • get(data, [callback])
    • getById(id, data, [callback])
    • remove(id, [callback])
    • update(id, data, [callback] )
    • currentUser([callback])
    • login(data, [callback])
    • socialLogin(provider)
    • signup(data, [callback])
    • logout(async)
    • resetPassword(data, [callback])
    • getRoles([callback])
    • getRole(id, [callback])
    • setRole(id, roleId, [callback])
  • Object
    • save(data, [callback])
    • get(data, [callback])
    • getById(id, data, [callback])
    • remove(id, [callback])
    • update(id, data, [callback])
    • patch(id, data, [callback])
    • findByCurrentUser([attr], [data], [callback])
    • push(id, attribute, data, [callback])
  • Code Block
    • post(data, queryParams, [callback])
    • get(queryParams, [callback])
    • put(data, queryParams, [callback])
    • patch(data, queryParams, [callback])
    • delete(queryParams, [callback])
  • Webhook
    • post(data, [callback])
  • Stripe
    • charge(userId, token, amount, currency, [callback])
    • createCreditCard(userId, token, [callback])
    • createCustomer(userId, [callback])
    • createSubscriptionuserId, planId, [callback])
    • deleteSubscription(userId, subscriptionId, options, [callback])
    • getCreditCard(userId, [callback])
    • getSubscription(userId, subscriptionId, [callback])
    • getSubscriptions(userId, options, [callback])
    • updateCreditCard(userId, token, [callback])
    • updateSubscription(userId, subscriptionId, options, [callback])

Also this components the sdk have some support objects to help you in common operation:

  • Query
    • greaterThan(attr, value)
    • greaterThanOrEqual(attr, value)
    • lessThan(attr, value)
    • lessThanOrEqual(attr, value)
    • pagination(page, per_page)
    • between(attr, value1, value2)
    • equalTo(attr, value)
    • notEqualTo(attr, value)
    • exists(attr)
    • notExists(attr)
    • sortAscending(attr)
    • sortDescending(attr)
    • populate()
    • populateOwner()
    • select(attr,...)
    • regex(attr, regex, options)
    • near(type, coordinates, maxDistance, minDistance)
    • nearSphere(type, coordinates, maxDistance, minDistance)
    • geoIntersects(type, coordinates)
    • geoWithinGeometry(type, coordinates)
    • geoWithinCenterSphere(coordinates, radius)
    • or(query,..)
    • exec([callback])

Build

To build a production ready library you need to have NPM and Bower installed and then run those two commands:

npm install && bower install
grunt build

You can also download this project and using all the precompiled files in src folder

Contributing

  1. Fork it ( https://github.com/[my-github-username]/stamplay-js-sdk/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

One more thing

Go to API Reference to see a lot of examples. Enjoy!