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 | |