From c2180e4ee9d1a9d9b17c9ef9d0f3e0d0dd29a4a0 Mon Sep 17 00:00:00 2001 From: Joe Arndt Date: Wed, 10 Dec 2025 16:31:28 -0600 Subject: [PATCH] modeling out expense entities and dtos --- .../expenses/create-expense.dto.ts | 1 - .../{update-expense.dto.ts => expense.dto.ts} | 3 +- src/controllers/expenses/expense.entities.ts | 32 +++++++++++++++++++ src/controllers/expenses/expense.entity.ts | 1 - .../expenses/expenses.controller.ts | 3 +- src/services/expenses.service.ts | 10 +++--- 6 files changed, 41 insertions(+), 9 deletions(-) delete mode 100644 src/controllers/expenses/create-expense.dto.ts rename src/controllers/expenses/{update-expense.dto.ts => expense.dto.ts} (68%) create mode 100644 src/controllers/expenses/expense.entities.ts delete mode 100644 src/controllers/expenses/expense.entity.ts diff --git a/src/controllers/expenses/create-expense.dto.ts b/src/controllers/expenses/create-expense.dto.ts deleted file mode 100644 index b4f26aa..0000000 --- a/src/controllers/expenses/create-expense.dto.ts +++ /dev/null @@ -1 +0,0 @@ -export class CreateExpenseDto {} diff --git a/src/controllers/expenses/update-expense.dto.ts b/src/controllers/expenses/expense.dto.ts similarity index 68% rename from src/controllers/expenses/update-expense.dto.ts rename to src/controllers/expenses/expense.dto.ts index c50ce9a..0bf64eb 100644 --- a/src/controllers/expenses/update-expense.dto.ts +++ b/src/controllers/expenses/expense.dto.ts @@ -1,4 +1,5 @@ import { PartialType } from '@nestjs/mapped-types'; -import { CreateExpenseDto } from './create-expense.dto'; + +export class CreateExpenseDto {} export class UpdateExpenseDto extends PartialType(CreateExpenseDto) {} diff --git a/src/controllers/expenses/expense.entities.ts b/src/controllers/expenses/expense.entities.ts new file mode 100644 index 0000000..1fd939a --- /dev/null +++ b/src/controllers/expenses/expense.entities.ts @@ -0,0 +1,32 @@ +export class Expense { + id: number; + year: string; + month: string; + day: string; + cents: number; + category: Category; + subcategory?: SubCategory[]; + merchant?: Merchant; + tags?: Tag[]; + description?: string; +} + +export class Category { + id: number; + category: string; +} + +export class SubCategory { + id: number; + subcategory: string; +} + +export class Merchant { + id: number; + merchant: string; +} + +export class Tag { + id: number; + tag: string; +} diff --git a/src/controllers/expenses/expense.entity.ts b/src/controllers/expenses/expense.entity.ts deleted file mode 100644 index 24e65cc..0000000 --- a/src/controllers/expenses/expense.entity.ts +++ /dev/null @@ -1 +0,0 @@ -export class Expense {} diff --git a/src/controllers/expenses/expenses.controller.ts b/src/controllers/expenses/expenses.controller.ts index cf5e0e7..5614aea 100644 --- a/src/controllers/expenses/expenses.controller.ts +++ b/src/controllers/expenses/expenses.controller.ts @@ -1,7 +1,6 @@ import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; import { ExpensesService } from '../../services/expenses.service'; -import { CreateExpenseDto } from './create-expense.dto'; -import { UpdateExpenseDto } from './update-expense.dto'; +import { CreateExpenseDto, UpdateExpenseDto } from './expense.dto'; @Controller('expenses') export class ExpensesController { diff --git a/src/services/expenses.service.ts b/src/services/expenses.service.ts index eab4fb5..8140fac 100644 --- a/src/services/expenses.service.ts +++ b/src/services/expenses.service.ts @@ -1,15 +1,17 @@ import { Injectable } from '@nestjs/common'; -import { CreateExpenseDto } from '../controllers/expenses/create-expense.dto'; -import { UpdateExpenseDto } from '../controllers/expenses/update-expense.dto'; +import { Expense } from '../controllers/expenses/expense.entities'; +import { CreateExpenseDto, UpdateExpenseDto } from '../controllers/expenses/expense.dto'; @Injectable() export class ExpensesService { + private fakeTempData: Expense[] = []; + create(createExpenseDto: CreateExpenseDto) { return 'This action adds a new expense'; } - findAll() { - return `This action returns all expenses`; + findAll(): Expense[] { + return this.fakeTempData; } findOne(id: number) {