@kineticdata/react
Version:
A React library for the Kinetic Platform
317 lines (316 loc) • 13.8 kB
JavaScript
;
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);
};