sanity-plugin-transifex
5.1.175.1.18
dist/index.js~
dist/index.jsModified+27−27
Index: package/dist/index.js
===================================================================
--- package/dist/index.js
+++ package/dist/index.js
@@ -96,38 +96,38 @@
if (response.redirected) return console.info(`Transifex plugin message: Received redirect for translation download ID ${translationDownloadId}. Following redirect now for file download.`), response.url;
if (response.status === 200) return console.info(`Transifex plugin message: Requested download location for translation download ID ${translationDownloadId}. Location is still pending, trying again.`), await new Promise((resolve) => setTimeout(resolve, 3e3)), pollForFileDownloadLocation(resourceDownloadUrl, translationDownloadId, headers, retryCount + 1, maxRetries);
if (response.status === 401 || response.status === 403) throw Error(`Failed to retrieve download location for translation download ID ${translationDownloadId}. Status: ${response.status}`);
return console.error(`Transifex plugin message: Requested download location for translation download ID ${translationDownloadId} but received error code ${response.status}. Waiting and trying again.`), await new Promise((resolve) => setTimeout(resolve, 3e3)), pollForFileDownloadLocation(resourceDownloadUrl, translationDownloadId, headers, retryCount + 1, maxRetries);
-}, handleFileDownload = (url) => fetch(url).then((res) => res.text()), TransifexAdapter = {
+}, handleFileDownload = (url) => fetch(url).then((res) => res.text()), getTranslation = async (taskId, localeId, secrets) => {
+ if (!secrets) throw Error("Missing Transifex secrets.");
+ let resourceDownloadBody = { data: {
+ attributes: { content_encoding: "text" },
+ relationships: {
+ language: { data: {
+ id: `l:${localeId}`,
+ type: "languages"
+ } },
+ resource: { data: {
+ id: taskId,
+ type: "resources"
+ } }
+ },
+ type: "resource_translations_async_downloads"
+ } }, resourceDownloadUrl = `${baseTransifexUrl}/resource_translations_async_downloads`, downloadResponse = await fetch(resourceDownloadUrl, {
+ headers: getHeaders(secrets),
+ method: "POST",
+ body: JSON.stringify(resourceDownloadBody)
+ });
+ if (!downloadResponse.ok) throw Error(`Failed to create translation download request in Transifex. Status: ${downloadResponse.status}`);
+ let translationDownloadId = (await downloadResponse.json())?.data?.id;
+ if (!translationDownloadId) throw Error("Failed to create translation download request in Transifex. Missing download id.");
+ let headers = getHeaders(secrets), location = await pollForFileDownloadLocation(resourceDownloadUrl, translationDownloadId, headers);
+ return handleFileDownload(location);
+}, TransifexAdapter = {
getLocales,
getTranslationTask,
createTask,
- getTranslation: async (taskId, localeId, secrets) => {
- if (!secrets) throw Error("Missing Transifex secrets.");
- let resourceDownloadBody = { data: {
- attributes: { content_encoding: "text" },
- relationships: {
- language: { data: {
- id: `l:${localeId}`,
- type: "languages"
- } },
- resource: { data: {
- id: taskId,
- type: "resources"
- } }
- },
- type: "resource_translations_async_downloads"
- } }, resourceDownloadUrl = `${baseTransifexUrl}/resource_translations_async_downloads`, downloadResponse = await fetch(resourceDownloadUrl, {
- headers: getHeaders(secrets),
- method: "POST",
- body: JSON.stringify(resourceDownloadBody)
- });
- if (!downloadResponse.ok) throw Error(`Failed to create translation download request in Transifex. Status: ${downloadResponse.status}`);
- let translationDownloadId = (await downloadResponse.json())?.data?.id;
- if (!translationDownloadId) throw Error("Failed to create translation download request in Transifex. Missing download id.");
- let headers = getHeaders(secrets), location = await pollForFileDownloadLocation(resourceDownloadUrl, translationDownloadId, headers);
- return handleFileDownload(location);
- }
+ getTranslation
}, defaultDocumentLevelConfig = {
...baseDocumentLevelConfig,
adapter: TransifexAdapter,
secretsNamespace: "transifex"