Skip to content

Instantly share code, notes, and snippets.

@joshbedo
Created October 27, 2014 14:21
Show Gist options
  • Save joshbedo/e79b2e5ca315ae42030e to your computer and use it in GitHub Desktop.
Save joshbedo/e79b2e5ca315ae42030e to your computer and use it in GitHub Desktop.
API
# Event handlers
#
# Example usage: App.request 'fetch:bundles'
# returns a promise so you can do this
#
# bundles or= App.request 'fetch:bundles'
# bundles.done (data) =>
API =
getBundleEntities: ->
bundles = new Collections.Bundles()
defer = $.Deferred()
bundles.fetch({
success: (data) ->
defer.resolve(data)
error: (data) ->
defer.reject(data)
})
return defer.promise()
getBundleEntity: (id) ->
bundle = new Models.Bundle(id: id)
defer = $.Deferred()
bundle.fetch({
success: (data) ->
defer.resolve(data)
error: (data) ->
defer.reject(data)
})
return defer.promise()
getBundlePromos: (id) ->
# We want to convert the data returned into a collection
bundlePromos = new App.Collections.BundlePromos(id: id)
defer = $.Deferred()
bundlePromos.fetch({
success: (data) ->
defer.resolve(data)
error: (data) ->
defer.reject(data)
})
return defer.promise()
App.reqres.setHandler 'fetch:bundles', ->
return API.getBundleEntities();
App.reqres.setHandler 'fetch:bundle', (id) ->
return API.getBundleEntity(id)
App.reqres.setHandler 'fetch:bundle_promos', (id) ->
return API.getBundlePromos(id);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment