1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2025-02-27 00:02:25 +00:00
Lidarr/frontend/src/Utilities/requestAction.js
Qstick 0a6f552d5b
New: Cleanup UI tooling, Update to Webpack 4, Gulp 4 (#655)
* New: Webpack 4

* New: Gulp 4

* New: Transpile UI for old browsers

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
2019-03-08 21:10:23 -05:00

41 lines
872 B
JavaScript

import $ from 'jquery';
import _ from 'lodash';
import createAjaxRequest from './createAjaxRequest';
function flattenProviderData(providerData) {
return _.reduce(Object.keys(providerData), (result, key) => {
const property = providerData[key];
if (key === 'fields') {
result[key] = property;
} else {
result[key] = property.value;
}
return result;
}, {});
}
function requestAction(payload) {
const {
provider,
action,
providerData,
queryParams
} = payload;
const ajaxOptions = {
url: `/${provider}/action/${action}`,
contentType: 'application/json',
method: 'POST',
data: JSON.stringify(flattenProviderData(providerData))
};
if (queryParams) {
ajaxOptions.url += `?${$.param(queryParams, true)}`;
}
return createAjaxRequest(ajaxOptions).request;
}
export default requestAction;