mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 19:01:47 +00:00
refactor(dashboard): reorganiza widgets e remove magnet-lines
This commit is contained in:
56
lib/dashboard/lancamento-filters.ts
Normal file
56
lib/dashboard/lancamento-filters.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import { and, eq, ilike, isNull, ne, not, or } from "drizzle-orm";
|
||||
import { contas, lancamentos } from "@/db/schema";
|
||||
import {
|
||||
ACCOUNT_AUTO_INVOICE_NOTE_PREFIX,
|
||||
INITIAL_BALANCE_NOTE,
|
||||
} from "@/lib/contas/constants";
|
||||
|
||||
type DashboardAdminFiltersParams = {
|
||||
userId: string;
|
||||
adminPagadorId: string;
|
||||
};
|
||||
|
||||
type DashboardAdminPeriodFiltersParams = DashboardAdminFiltersParams & {
|
||||
period: string;
|
||||
};
|
||||
|
||||
export const buildDashboardAdminFilters = ({
|
||||
userId,
|
||||
adminPagadorId,
|
||||
}: DashboardAdminFiltersParams) =>
|
||||
[
|
||||
eq(lancamentos.userId, userId),
|
||||
eq(lancamentos.pagadorId, adminPagadorId),
|
||||
] as const;
|
||||
|
||||
export const buildDashboardAdminPeriodFilters = ({
|
||||
userId,
|
||||
period,
|
||||
adminPagadorId,
|
||||
}: DashboardAdminPeriodFiltersParams) =>
|
||||
[
|
||||
...buildDashboardAdminFilters({ userId, adminPagadorId }),
|
||||
eq(lancamentos.period, period),
|
||||
] as const;
|
||||
|
||||
export const excludeAutoInvoiceEntries = () =>
|
||||
or(
|
||||
isNull(lancamentos.note),
|
||||
not(ilike(lancamentos.note, `${ACCOUNT_AUTO_INVOICE_NOTE_PREFIX}%`)),
|
||||
);
|
||||
|
||||
export const excludeAutoGeneratedEntryNotes = () =>
|
||||
or(
|
||||
isNull(lancamentos.note),
|
||||
and(
|
||||
ne(lancamentos.note, INITIAL_BALANCE_NOTE),
|
||||
not(ilike(lancamentos.note, `${ACCOUNT_AUTO_INVOICE_NOTE_PREFIX}%`)),
|
||||
),
|
||||
);
|
||||
|
||||
export const excludeInitialBalanceWhenConfigured = () =>
|
||||
or(
|
||||
ne(lancamentos.note, INITIAL_BALANCE_NOTE),
|
||||
isNull(contas.excludeInitialBalanceFromIncome),
|
||||
eq(contas.excludeInitialBalanceFromIncome, false),
|
||||
);
|
||||
Reference in New Issue
Block a user