doubleleft / hook-corona-sdk

CoronaSDK client for hook

Home Page:http://hook-platform.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hook-corona-sdk

CoronaSDK client for hook.

Check the usage example with instructions to setup.

Usage

Initialize hook client with valid credentials

local hook = require('hook.client').setup({
  endpoint = "http://localhost:4665/",
  app_id = "1",
  key = "0473fae7392cc9653029f59b79126ace" -- your application "device" key
})

Collection examples

hook:collection("scores"):create({
  name = "Endel",
  score = 10
}):onSuccess(function(data)
  print("Created successfully.")
  print("Name: " .. data.name .. ", Score: " .. data.score .. ", Created at: " .. data.created_at)
end):onError(function(data)
  print("error on create")
end)
-- where and first
hook:collection("scores"):where("score", "<", 10):first():onSuccess(function(data)
  print("Score < 10?")
  print(json.encode(data))
end):onError(function()
  print("Not found!")
end)
-- where and count
hook:collection("scores"):where({
  score = 10
}):count():onSuccess(function(data)
  print("Total scores: " .. data)
end)
-- multiple wheres
hook:collection("scores"):
  where("score", 10):
  where("name", "Endel"):
  sort("created_at", -1):
  onSuccess(function(data)
  print("Number of rows: " .. #data .. ", first._id: " .. data[1]._id .. ", last._id: " .. data[#data]._id)
end)
-- aggregation
hook:collection("scores"):
  sum("score"):
  onSuccess(function(data)
  print("Sum of all scores: " .. data)
end)

Authentication examples

-- user registration
hook.auth:register({
  email = "edreyer@doubleleft.com",
  password = "123456"
}):onSuccess(function(data)
  print(json.encode(data))
end):onError(function(data)
  print("auth:register error: " .. data.error)
end)
-- user login
hook.auth:login({
  email = "somebody@email.com",
  password = "test"
}):onSuccess(function(data)
  print("Logged in: " .. json.encode(data))
end):onError(function(data)
  print("auth:login error: " .. data.error)
end)

TODO

  • Write test units
  • Push notifications
  • Channels API
  • Remove CoronaSDK dependency and publish a luarocks package.

This library was tested only against CoronaSDK 2014.2511. It possible runs on older versions. Please create a pull-request if you find any problem.

License

MIT

About

CoronaSDK client for hook

http://hook-platform.org/

License:MIT License


Languages

Language:Lua 98.3%Language:Shell 1.7%