diff options
Diffstat (limited to 'gui/src/types')
| -rw-r--r-- | gui/src/types/budgetUpdate.ts | 31 | ||||
| -rw-r--r-- | gui/src/types/category.ts | 3 | ||||
| -rw-r--r-- | gui/src/types/group.ts | 8 |
3 files changed, 42 insertions, 0 deletions
diff --git a/gui/src/types/budgetUpdate.ts b/gui/src/types/budgetUpdate.ts new file mode 100644 index 0000000..0696f8a --- /dev/null +++ b/gui/src/types/budgetUpdate.ts @@ -0,0 +1,31 @@ +import moment, { Moment } from "moment"; +import Currency from "./currency/currency"; + +interface BudgetUpdate { + id: number; + categoryId: number; + date: Moment; + newQuantity: Currency; + newPeriod: number; +} + +interface BudgetUpdateDto { + id: number; + category_id: number; + date: string; + new_budget: number; + new_period: number; +} + +function newBudgetUpdateFromDto(dto: unknown): BudgetUpdate { + const typedDto = dto as BudgetUpdateDto; + return { + id: typedDto.id, + categoryId: typedDto.category_id, + date: moment(typedDto.date), + newQuantity: typedDto.new_budget, + newPeriod: typedDto.new_period, + }; +} + +export { type BudgetUpdate, type BudgetUpdateDto, newBudgetUpdateFromDto }; diff --git a/gui/src/types/category.ts b/gui/src/types/category.ts index 005c041..9c2a651 100644 --- a/gui/src/types/category.ts +++ b/gui/src/types/category.ts @@ -7,6 +7,7 @@ import Currency from "./currency/currency"; interface Category { id: number; name: string; + groupName: string; currentBalance: Currency; currentBudget: Budget | null; balanceToBudgetRatio: BalanceToBudgetRatio | null; @@ -15,6 +16,7 @@ interface Category { interface CategoryDto { id: number; name: string; + group: string; } function newCategoryFromDto( @@ -32,6 +34,7 @@ function newCategoryFromDto( return { id: dtoDangerous.id, name: dtoDangerous.name, + groupName: dtoDangerous.group, currentBalance, currentBudget, balanceToBudgetRatio: BalanceToBudgetRatio.new( diff --git a/gui/src/types/group.ts b/gui/src/types/group.ts new file mode 100644 index 0000000..4a04019 --- /dev/null +++ b/gui/src/types/group.ts @@ -0,0 +1,8 @@ +import { Category } from "./category"; + +interface Group { + name: string; + categories: Category[]; +} + +export { type Group }; |
