web/extension: Check last version on AMO, skip submission if not yet approved

This commit is contained in:
TÖRÖK Attila 2024-06-29 01:03:49 +02:00
parent 948987b743
commit 7374c89ee8
1 changed files with 33 additions and 0 deletions

View File

@ -36,6 +36,39 @@ async function submit(
baseURL: "https://addons.mozilla.org/api/v5/addons/",
});
console.log("Checking the status of the last submitted add-on version...");
const versionsResponse = await client.get(
`addon/${extensionId}/versions/`,
{
headers: {
Authorization: `JWT ${getJwtToken(apiKey, apiSecret)}`,
},
params: {
filter: "all_with_unlisted",
},
},
);
const lastVersion = versionsResponse.data.results[0];
switch (lastVersion.status) {
case "public":
console.log("Looks like we're good to go!");
break;
case "unreviewed":
console.log(
"Last version still awaiting review, skipping submission.",
);
return;
case "disabled":
throw new Error(
"Last version was either rejected, disabled, or not reviewed - skipping submission.",
);
default:
throw new Error(
"Last version has an unknown status: " + lastVersion.status,
);
}
console.log("Uploading unsigned add-on...");
const addonFormData = new FormData();
addonFormData.append("channel", "listed");