silverstripe-framework/admin/javascript/src/silverstripe-backend.js

59 lines
1.5 KiB
JavaScript

import $ from 'jQuery';
class SilverStripeBackend {
/**
* Makes a network request using the GET HTTP verb.
*
* @param string url - Endpoint URL.
*
* @return object - jqXHR. See http://api.jquery.com/Types/#jqXHR
*/
get(url) {
return $.ajax({ type: 'GET', url });
}
/**
* Makes a network request using the POST HTTP verb.
*
* @param string url - Endpoint URL.
* @param object data - Data to send with the request.
*
* @return object - jqXHR. See http://api.jquery.com/Types/#jqXHR
*/
post(url, data) {
return $.ajax({ type: 'POST', url, data });
}
/**
* Makes a newtwork request using the PUT HTTP verb.
*
* @param string url - Endpoint URL.
* @param object data - Data to send with the request.
*
* @return object - jqXHR. See http://api.jquery.com/Types/#jqXHR
*/
put(url, data) {
return $.ajax({ type: 'PUT', url, data });
}
/**
* Makes a newtwork request using the DELETE HTTP verb.
*
* @param string url - Endpoint URL.
* @param object data - Data to send with the request.
*
* @return object - jqXHR. See http://api.jquery.com/Types/#jqXHR
*/
delete(url, data) {
return $.ajax({ type: 'DELETE', url, data });
}
}
// Exported as a singleton so we can implement things like
// global caching and request batching at some stage.
let backend = new SilverStripeBackend();
export default backend;