/opt/canhelp/apps/api/src/routes
Edit: /opt/canhelp/apps/api/src/routes/skill-suggestions.ts (1035B)
import { Hono } from 'hono'
import { eq, asc } from 'drizzle-orm'
import { db } from '../db.js'
import { skillSuggestions } from '@canhelp/db'
const app = new Hono()
// GET /skill-suggestions?category=plumbing[&category=electrical...]
// Returns skill suggestions for one or more categories (or all if no filter)
app.get('/', async (c) => {
const categoryParam = c.req.queries('category') ?? c.req.query('category')
const categorySlugs = Array.isArray(categoryParam)
? categoryParam
: categoryParam
? [categoryParam]
: []
const rows = await db
.select()
.from(skillSuggestions)
.orderBy(asc(skillSuggestions.categorySlug), asc(skillSuggestions.order))
const data = rows
.filter((r) => categorySlugs.length === 0 || categorySlugs.includes(r.categorySlug))
.map((r) => ({
id: r.id,
categorySlug: r.categorySlug,
names: { el: r.nameEl, en: r.nameEn, ru: r.nameRu, uk: r.nameUk ?? r.nameRu },
order: r.order,
}))
return c.json(data)
})
export default app