summaryrefslogtreecommitdiff
path: root/gui/src/types/budgetUpdate.ts
blob: 0696f8a0506200b17a93789b49ec100e54415070 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 };