/opt/canhelp/apps/api/src/routes
NameSizeModeActions
admin.ts950570644editdlrm
auto-match.ts74060644editdlrm
auto-response.ts81110644editdlrm
availability.ts72940644editdlrm
categories.ts18670644editdlrm
chat.ts93770644editdlrm
dashboard.ts51420644editdlrm
favorites.ts44410644editdlrm
fomo.ts68440644editdlrm
google.ts48720644editdlrm
health.ts12140644editdlrm
i18n.ts1670860644editdlrm
locations.ts17810644editdlrm
notifications.ts28620644editdlrm
offers.ts100470644editdlrm
payments.ts211670644editdlrm
plans.ts13520644editdlrm
portfolio.ts66580644editdlrm
price-list.ts144170644editdlrm
reports.ts20070644editdlrm
reviews.ts27830644editdlrm
skill-suggestions.ts10350644editdlrm
specialist-cards.ts186410644editdlrm
stats.ts10930644editdlrm
statuses.ts37310644editdlrm
support.ts84520644editdlrm
tasks.ts300180644editdlrm
uploads.ts15260644editdlrm
users.ts371570644editdlrm
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