import "server-only";
import { query } from "../connection";

// Catalogue des features SaaS gates par le code missioflow-app. Seedé via
// la migration 2026-05-09_plan_features_catalog_descriptions.sql côté
// missioflow-app — les codes ici DOIVENT exister dans cette table, sinon
// le panel ne pourra pas les inclure dans `plans.features` (les features
// fantômes ne sont gates nulle part dans le code et seraient inutiles).

export type PlanFeatureCatalogEntry = {
  code: string;
  label: string;
  description: string | null;
  sort_order: number;
};

export async function listFeatureCatalog(): Promise<PlanFeatureCatalogEntry[]> {
  return query<PlanFeatureCatalogEntry>(`
    SELECT code, label, description, sort_order
    FROM plan_features_catalog
    ORDER BY sort_order ASC, code ASC
  `);
}
