Data Request API helper #10

Merged
Oliver merged 94 commits from feat/data-requests into main 2025-11-22 02:51:15 +00:00
Showing only changes of commit a63f0e02d9 - Show all commits

View file

@ -8,6 +8,19 @@ const {
FORGEJO_TOKEN: TOKEN, FORGEJO_TOKEN: TOKEN,
} = process.env; } = process.env;
async function uploadFile(releaseID, localPath, remoteName = undefined) {
remoteName ??= localPath.split(`/`).at(-1);
const stream = createReadStream(localPath);
return axios.post(
`${API}/repos/${REPO}/releases/${releaseID}/assets`,
stream,
{
headers: { Authorization: `token ${TOKEN}` },
params: { name: remoteName },
}
)
};
async function main() { async function main() {
// Initial Release Data // Initial Release Data
@ -24,25 +37,24 @@ async function main() {
} }
); );
// Upload the release archive try {
const archive = createReadStream(`release.zip`); await uploadFile(release.data.id, `release.zip`);
await axios.post( await uploadFile(release.data.id, `system.json`);
`${API}/repos/${REPO}/releases/${release.data.id}/assets`, } catch (e) {
archive, console.error(`Failed to upload files, deleting draft release`);
{ console.error(e);
headers: { Authorization: `token ${TOKEN}` },
}
);
// Upload the manifest file try {
const manifest = createReadStream(`system.json`); await axios.delete(
await axios.post( `${API}/repos/${REPO}/releases/${release.data.id}`,
`${API}/repos/${REPO}/releases/${release.data.id}/assets`, {
manifest, headers: { Authorization: `token ${TOKEN}` },
{ }
headers: { Authorization: `token ${TOKEN}`, }, )
} } catch {
); console.error(`Failed to delete draft release`);
};
};
}; };
main(); main();