forked from git.gladyson/openmonetis
- Replace ESLint with Biome for linting and formatting - Configure Biome with tabs, double quotes, and organized imports - Move all SQL/Drizzle queries from page.tsx files to data.ts files - Create new data.ts files for: ajustes, dashboard, relatorios/categorias - Update existing data.ts files: extrato, fatura (add lancamentos queries) - Remove all drizzle-orm imports from page.tsx files - Update README.md with new tooling info Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 lines
657 B
TypeScript
27 lines
657 B
TypeScript
import { eq } from "drizzle-orm";
|
|
import type { CategoryType } from "@/components/categorias/types";
|
|
import { type Categoria, categorias } from "@/db/schema";
|
|
import { db } from "@/lib/db";
|
|
|
|
export type CategoryData = {
|
|
id: string;
|
|
name: string;
|
|
type: CategoryType;
|
|
icon: string | null;
|
|
};
|
|
|
|
export async function fetchCategoriesForUser(
|
|
userId: string,
|
|
): Promise<CategoryData[]> {
|
|
const categoryRows = await db.query.categorias.findMany({
|
|
where: eq(categorias.userId, userId),
|
|
});
|
|
|
|
return categoryRows.map((category: Categoria) => ({
|
|
id: category.id,
|
|
name: category.name,
|
|
type: category.type as CategoryType,
|
|
icon: category.icon,
|
|
}));
|
|
}
|