- Added ResponsiveDialog component for handling responsive dialogs in the UI. - Created ExpensesProvider to manage state and API interactions for expenses. - Developed ExpensesTabContent to display expenses with filtering options and dialogs for new and pay expense actions. - Implemented ExpensesTable for rendering expense data in a tabular format with actions. - Added dialogs for creating new expenses and paying existing ones with form validation. - Introduced PeriodicExpenseForm for managing periodic expenses with month selection. - Created PeriodicExpensesTabContent to manage and display periodic expenses with create/edit functionality. - Added GenerateCurrentMonthDialog for confirming monthly expense generation. - Implemented PeriodicExpensesTable for displaying periodic expenses with edit and delete actions.
35 lines
1.1 KiB
SQL
35 lines
1.1 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "PaymentStatus" AS ENUM ('PENDING', 'PAYED');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "periodic_expenses" (
|
|
"id" SERIAL NOT NULL,
|
|
"description" VARCHAR(50) NOT NULL,
|
|
"defaultDueDay" INTEGER NOT NULL,
|
|
"defaultAmount" MONEY NOT NULL,
|
|
"periods" INTEGER[],
|
|
"isDeleted" BOOLEAN NOT NULL DEFAULT false,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "periodic_expenses_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "expenses" (
|
|
"id" SERIAL NOT NULL,
|
|
"description" VARCHAR(50) NOT NULL,
|
|
"periodicExpenseId" INTEGER,
|
|
"year" INTEGER NOT NULL,
|
|
"month" INTEGER NOT NULL,
|
|
"amount" MONEY NOT NULL,
|
|
"amountPayed" MONEY,
|
|
"status" "PaymentStatus" NOT NULL DEFAULT 'PENDING',
|
|
"dueDate" TIMESTAMP(3) NOT NULL,
|
|
"paymentDate" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "expenses_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "expenses" ADD CONSTRAINT "expenses_periodicExpenseId_fkey" FOREIGN KEY ("periodicExpenseId") REFERENCES "periodic_expenses"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|