UNPKG

@kineticdata/react

Version:
317 lines (316 loc) 13.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.upsertTranslations = exports.updateContextKey = exports.updateContext = exports.setDefaultLocale = exports.fetchTranslations = exports.fetchStagedTranslations = exports.fetchEnabledLocales = exports.fetchDefaultLocale = exports.fetchContexts = exports.fetchContextKeys = exports.fetchAvailableLocales = exports.enableLocale = exports.disableLocale = exports.deleteTranslations = exports.deleteContext = exports.createContext = exports.clearTranslationsCache = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2")); var _axios = _interopRequireDefault(require("axios")); var _helpers = require("../../helpers"); var _http = require("../http"); var getEndpointPrefix = function getEndpointPrefix() { return "".concat(_helpers.bundle.apiLocation(), "/translations"); }; var validateOptions = function validateOptions(functionName, requiredOptions, options) { var missing = requiredOptions.filter(function (requiredOption) { return !options[requiredOption]; }); if (missing.length > 0) { throw new Error("".concat(functionName, " failed! The following required options are missing: ").concat(missing)); } }; var fetchAvailableLocales = exports.fetchAvailableLocales = function fetchAvailableLocales() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var paramModifier = function paramModifier(params) { return options.localeCode ? (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, params), {}, { localized: options.localeCode }) : params; }; return _axios["default"].get("".concat(_helpers.bundle.apiLocation(), "/meta/locales"), { params: paramModifier((0, _http.paramBuilder)(options)), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { locales: response.data.locales }; })["catch"](_http.handleErrors); }; var clearTranslationsCache = exports.clearTranslationsCache = function clearTranslationsCache() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _axios["default"]["delete"]("".concat(getEndpointPrefix(), "/cache"), { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { message: response.data.message }; })["catch"](_http.handleErrors); }; var fetchStagedTranslations = exports.fetchStagedTranslations = function fetchStagedTranslations() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var paramModifier = function paramModifier(params) { return options.contextName ? (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, params), {}, { context: options.contextName }) : params; }; return _axios["default"].get("".concat(getEndpointPrefix(), "/staged"), { params: paramModifier((0, _http.paramBuilder)(options)), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { changes: response.data.changes }; })["catch"](_http.handleErrors); }; var fetchDefaultLocale = exports.fetchDefaultLocale = function fetchDefaultLocale() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _axios["default"].get("".concat(getEndpointPrefix(), "/settings/defaultLocale"), { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { defaultLocale: response.data.defaultLocale }; })["catch"](_http.handleErrors); }; var setDefaultLocale = exports.setDefaultLocale = function setDefaultLocale() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('setDefaultLocale', ['localeCode'], options); return _axios["default"].put("".concat(getEndpointPrefix(), "/settings/defaultLocale"), { code: options.localeCode }, { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { defaultLocale: response.data.defaultLocale }; })["catch"](_http.handleErrors); }; var fetchEnabledLocales = exports.fetchEnabledLocales = function fetchEnabledLocales() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _axios["default"].get("".concat(getEndpointPrefix(), "/settings/locales"), { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { locales: response.data.locales }; })["catch"](_http.handleErrors); }; var enableLocale = exports.enableLocale = function enableLocale() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('enableLocale', ['localeCode'], options); return _axios["default"].post("".concat(getEndpointPrefix(), "/settings/locales"), { code: options.localeCode }, { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { locale: response.data.locale }; })["catch"](_http.handleErrors); }; var disableLocale = exports.disableLocale = function disableLocale() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('disableLocale', ['localeCode'], options); return _axios["default"]["delete"]("".concat(getEndpointPrefix(), "/settings/locales/").concat(options.localeCode), { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { locale: response.data.locale }; })["catch"](_http.handleErrors); }; var fetchContexts = exports.fetchContexts = function fetchContexts() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var paramModifier = function paramModifier(params) { if (options.custom) { return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, params), {}, { custom: true }); } else if (options.expected) { return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, params), {}, { expected: true }); } else if (options.unexpected) { return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, params), {}, { unexpected: true }); } else { return params; } }; return _axios["default"].get("".concat(getEndpointPrefix(), "/contexts"), { params: paramModifier((0, _http.paramBuilder)(options)), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { contexts: response.data.contexts.map(function (c) { return { name: c.name, kapp: c.name.startsWith('kapps') ? c.name.split('.')[1] : null, form: c.name.startsWith('kapps') ? c.name.split('.')[3] : c.name.startsWith('datastore') ? c.name.split('.')[2] : null }; }) }; })["catch"](_http.handleErrors); }; var createContext = exports.createContext = function createContext() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('createContext', ['context'], options); return _axios["default"].post("".concat(getEndpointPrefix(), "/contexts"), options.context, { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { context: response.data.context }; })["catch"](_http.handleErrors); }; var updateContext = exports.updateContext = function updateContext() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('updateContext', ['contextName', 'context'], options); return _axios["default"].put("".concat(getEndpointPrefix(), "/contexts/").concat(options.contextName), options.context, { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { context: response.data.context }; })["catch"](_http.handleErrors); }; var deleteContext = exports.deleteContext = function deleteContext() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('deleteContext', ['contextName'], options); return _axios["default"]["delete"]("".concat(getEndpointPrefix(), "/contexts/").concat(options.contextName), { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { context: response.data.context }; })["catch"](_http.handleErrors); }; var fetchContextKeys = exports.fetchContextKeys = function fetchContextKeys() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('fetchContextKeys', ['contextName'], options); return _axios["default"].get("".concat(getEndpointPrefix(), "/contexts/").concat(options.contextName, "/keys"), { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { keys: response.data.keys }; })["catch"](_http.handleErrors); }; var updateContextKey = exports.updateContextKey = function updateContextKey() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; validateOptions('updateContextKey', ['contextName', 'keyHash', 'key'], options); return _axios["default"].put("".concat(getEndpointPrefix(), "/contexts/").concat(options.contextName, "/keys/").concat(options.keyHash), options.key, { params: (0, _http.paramBuilder)(options), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { message: response.data.message }; })["catch"](_http.handleErrors); }; var fetchTranslations = exports.fetchTranslations = function fetchTranslations() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (options.cache) { validateOptions('fetchTranslations', ['contextName', 'localeCode'], options); } var paramModifier = function paramModifier(params) { var result = (0, _objectSpread2["default"])({}, params); if (options.cache) { result.cache = true; } if (options.contextName) { result.context = options.contextName; } if (options.localeCode) { result.locale = options.localeCode; } if (options.keyHash) { result.keyHash = options.keyHash; } if (options.missing) { result.missing = options.missing; } if (options["export"] && !options.cache) { result.download = true; } return result; }; return _axios["default"].get("".concat(getEndpointPrefix(), "/entries"), { params: paramModifier((0, _http.paramBuilder)(options)), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { entries: response.data.hasOwnProperty('entries') ? response.data.entries : response.data }; })["catch"](_http.handleErrors); }; var upsertTranslations = exports.upsertTranslations = function upsertTranslations() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var data = null; if (options["import"]) { validateOptions('upsertTranslations', ['file'], options); data = new FormData(); data.append('file', options.file); } else if (options.translations) { validateOptions('upsertTranslations', ['translations'], options); data = options.translations; } else { validateOptions('upsertTranslations', ['translation'], options); data = options.translation; } var paramModifier = function paramModifier(params) { return options["import"] ? (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, params), {}, { "import": options["import"] }) : params; }; var headerModifier = function headerModifier(headers) { return options["import"] ? (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, headers), {}, { 'Content-Type': 'multipart/form-data' }) : headers; }; return _axios["default"].post("".concat(getEndpointPrefix(), "/entries"), data, { params: paramModifier((0, _http.paramBuilder)(options)), headers: headerModifier((0, _http.headerBuilder)(options)) }).then(function (response) { return { message: response.data.message }; })["catch"](_http.handleErrors); }; var deleteTranslations = exports.deleteTranslations = function deleteTranslations() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (options.keyHash) { validateOptions('deleteTranslations', ['contextName'], options); } var paramModifier = function paramModifier(params) { var result = (0, _objectSpread2["default"])({}, params); if (options.contextName) { result.context = options.contextName; } if (options.localeCode) { result.locale = options.localeCode; } if (options.keyHash) { result.keyHash = options.keyHash; } return result; }; return _axios["default"]["delete"]("".concat(getEndpointPrefix(), "/entries"), { params: paramModifier((0, _http.paramBuilder)(options)), headers: (0, _http.headerBuilder)(options) }).then(function (response) { return { message: response.data.message }; })["catch"](_http.handleErrors); };