Dynamically map platform results in publish endpoint
This commit is contained in:
+12
-12
@@ -134,19 +134,19 @@ export const appRouter = t.router({
|
||||
|
||||
const ctx: PlatformContext = { input, config };
|
||||
|
||||
const [modrinthSettled, curseforgeSettled] = await Promise.allSettled(
|
||||
platforms.map(platform => runPlatform(platform, input.mcVersions[platform], ctx))
|
||||
);
|
||||
const results = await Promise.all(platforms.map(async (platform) => {
|
||||
try {
|
||||
const result = await runPlatform(platform, input.mcVersions[platform], ctx);
|
||||
return {platform, result};
|
||||
} catch (err) {
|
||||
return {
|
||||
platform,
|
||||
result: { success: 0, fail: 0, errors: [errorMessage(err)] }
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
const modrinth: PlatformResult = modrinthSettled.status === "fulfilled"
|
||||
? modrinthSettled.value
|
||||
: { success: 0, fail: 0, errors: [errorMessage(modrinthSettled.reason)] };
|
||||
|
||||
const curseforge: PlatformResult = curseforgeSettled.status === "fulfilled"
|
||||
? curseforgeSettled.value
|
||||
: { success: 0, fail: 0, errors: [errorMessage(curseforgeSettled.reason)] };
|
||||
|
||||
return { modrinth, curseforge };
|
||||
return Object.fromEntries(results.map(result => [result.platform, result.result]));
|
||||
}),
|
||||
|
||||
progress: t.procedure.subscription(async function* (opts) {
|
||||
|
||||
Reference in New Issue
Block a user