generated from nhcarrigan/template
fix: paginaton needs to be more generic
Not every API is the same.
This commit is contained in:
@@ -47,10 +47,17 @@ if (uploadPath === "") {
|
||||
|
||||
const orgs = [ "nhcarrigan", "nhcarrigan-private", "nhcarrigan-games" ];
|
||||
|
||||
let totalReposProcessed = 0;
|
||||
let totalReposSucceeded = 0;
|
||||
let totalReposFailed = 0;
|
||||
|
||||
for (const org of orgs) {
|
||||
console.log(`\n=== Fetching repositories for org: ${org} ===`);
|
||||
const repos = await paginatedFetch<Array<Repository>>(`${giteaUrl}/api/v1/orgs/${org}/repos`, 100, { headers: { authorization: `Bearer ${giteaToken}` } });
|
||||
console.log(`Found ${repos.length.toString()} repositories in ${org}`);
|
||||
|
||||
for (const repo of repos) {
|
||||
totalReposProcessed = totalReposProcessed + 1;
|
||||
console.log(`Checking if file exists in ${org}/${repo.name}`);
|
||||
const fileResponse = await fetch(`${giteaUrl}/api/v1/repos/${org}/${repo.name}/contents/${uploadPath}`, {
|
||||
headers: {
|
||||
@@ -77,10 +84,12 @@ for (const org of orgs) {
|
||||
method: "PUT",
|
||||
});
|
||||
if (!response.ok) {
|
||||
totalReposFailed = totalReposFailed + 1;
|
||||
console.error(`Failed to update ${fileName} in ${org}/${repo.name}: ${response.statusText}`);
|
||||
console.error(await response.text());
|
||||
continue;
|
||||
}
|
||||
totalReposSucceeded = totalReposSucceeded + 1;
|
||||
console.log(`Updated ${fileName} in ${org}/${repo.name}`);
|
||||
continue;
|
||||
}
|
||||
@@ -99,10 +108,17 @@ for (const org of orgs) {
|
||||
method: "POST",
|
||||
});
|
||||
if (!response.ok) {
|
||||
totalReposFailed = totalReposFailed + 1;
|
||||
console.error(`Failed to upload ${fileName} to ${org}/${repo.name}: ${response.statusText}`);
|
||||
console.error(await response.text());
|
||||
continue;
|
||||
}
|
||||
totalReposSucceeded = totalReposSucceeded + 1;
|
||||
console.log(`Uploaded ${fileName} to ${org}/${repo.name}`);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`\n=== Summary ===`);
|
||||
console.log(`Total repositories processed: ${totalReposProcessed.toString()}`);
|
||||
console.log(`Successfully uploaded/updated: ${totalReposSucceeded.toString()}`);
|
||||
console.log(`Failed: ${totalReposFailed.toString()}`);
|
||||
|
||||
Reference in New Issue
Block a user