Spaces:
Build error
Build error
import postgres from "postgres" | |
import { cache } from "react" | |
const sql = postgres(process.env.POSTGRES_URL) // will use psql environment variables | |
export const getModels = cache(async () => { | |
const models = await sql` | |
SELECT models.*, SUM(results.score) as total_score | |
FROM models | |
LEFT JOIN results ON models.id = results.model | |
GROUP BY models.id | |
ORDER BY total_score DESC; | |
` | |
console.log("models", models) | |
const sorted = models.sort((a, b) => b.total_score - a.total_score) | |
// set the rank, so that if two models have the same score, they have the same rank | |
for (let i = 0; i < sorted.length; i++) { | |
const model = sorted[i] | |
const previousModel = sorted[i - 1] | |
if (previousModel && previousModel.total_score === model.total_score) { | |
model.rank = previousModel.rank | |
} else { | |
model.rank = previousModel ? previousModel.rank + 1 : 1 | |
} | |
model.slug = model.api_id.split("/").pop().toLowerCase() | |
} | |
return sorted | |
}) | |
export default sql | |