summaryrefslogtreecommitdiff
path: root/cgi-bin/shader_api.js
diff options
context:
space:
mode:
authorjules <jules@okfoc.us>2014-01-13 12:13:01 -0500
committerjules <jules@okfoc.us>2014-01-13 12:13:01 -0500
commit7866e46307c22997a9f4ce5a577a5f4c43531015 (patch)
tree6bc1431f69a42ab8d56287332089b616c90639d1 /cgi-bin/shader_api.js
parente5b7549dbe43872f1cd0d8395186ad8e495720fb (diff)
shader api in JS
Diffstat (limited to 'cgi-bin/shader_api.js')
-rw-r--r--cgi-bin/shader_api.js92
1 files changed, 92 insertions, 0 deletions
diff --git a/cgi-bin/shader_api.js b/cgi-bin/shader_api.js
new file mode 100644
index 0000000..dd43130
--- /dev/null
+++ b/cgi-bin/shader_api.js
@@ -0,0 +1,92 @@
+;var ShaderAPI = {}
+ShaderAPI.limit = 24
+
+// info - fetch a single shader
+// id: shader id
+ShaderAPI.info = function(id, cb){
+ ShaderAPI.fetch({
+ f: "info",
+ id: id
+ }, cb)
+}
+
+// all - fetch all shaders
+ShaderAPI.all = function(cb){
+ ShaderAPI.fetch({
+ f: "all"
+ }, cb)
+}
+
+// range - fetch a pageful of results
+// limit: number of shaders to fetch
+// offset: number of results to skip
+ShaderAPI.range = function(limit, offset, cb){
+ ShaderAPI.fetch({
+ f: "range",
+ limit: limit || ShaderAPI.limit,
+ last: offset
+ }, cb)
+}
+
+// latest - get the latest N shaders
+// limit: number of shaders to fetch
+ShaderAPI.latest = function(limit, cb){
+ ShaderAPI.fetch({
+ f: "range",
+ limit: limit || ShaderAPI.limit
+ }, cb)
+}
+
+// page - get a page of N results
+// page: page number, start counting at 1
+// limit: number of shaders to fetch
+ShaderAPI.page = function(page, limit, cb){
+ ShaderAPI.fetch({
+ f: "range",
+ last: (page-1) * limit,
+ limit: limit || ShaderAPI.limit
+ }, cb)
+}
+
+// history - get all previous versions of a shader
+// id: shader id
+ShaderAPI.history = function(id, cb){
+ ShaderAPI.fetch({
+ f: "history",
+ id: id
+ }, cb)
+}
+
+// username - get all ids by a user
+ShaderAPI.username = function(username, cb){
+ ShaderAPI.fetch({
+ f: "username",
+ username: username
+ }, cb)
+}
+
+// list_users - list all users
+ShaderAPI.list_users = function(list_users, cb){
+ ShaderAPI.fetch({
+ f: "list_users"
+ }, cb)
+}
+
+// originals - get the earliest version of all named shaders
+ShaderAPI.originals = function(cb){
+ ShaderAPI.fetch({
+ f: "originals"
+ }, cb)
+}
+
+// fetch - AJAX wrapper
+ShaderAPI.fetch = function(params, cb){
+ $.getJSON("/cgi-bin/im/shader/view", params, function(data){
+ if (data.SUCCESS) {
+ cb(null, data.data)
+ }
+ else if (data.ERROR) {
+ cb(data.ERROR, data.data)
+ }
+ })
+}