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,
} = 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() {
// Initial Release Data
@ -24,25 +37,24 @@ async function main() {
}
);
// Upload the release archive
const archive = createReadStream(`release.zip`);
await axios.post(
`${API}/repos/${REPO}/releases/${release.data.id}/assets`,
archive,
try {
await uploadFile(release.data.id, `release.zip`);
await uploadFile(release.data.id, `system.json`);
} catch (e) {
console.error(`Failed to upload files, deleting draft release`);
console.error(e);
Oliver marked this conversation as resolved Outdated

Remove console error now

Remove console error now
try {
await axios.delete(
`${API}/repos/${REPO}/releases/${release.data.id}`,
{
Oliver marked this conversation as resolved Outdated

Remove bit about file uploads

Remove bit about file uploads
headers: { Authorization: `token ${TOKEN}` },
}
);
// Upload the manifest file
const manifest = createReadStream(`system.json`);
await axios.post(
`${API}/repos/${REPO}/releases/${release.data.id}/assets`,
manifest,
{
headers: { Authorization: `token ${TOKEN}`, },
}
);
)
} catch {
console.error(`Failed to delete draft release`);
};
};
};
main();