feat(değerlendirme): ay sonu değerlendirmesi — 4 soru ve döküm (backend)
- GET /periods/{id}/review: param, hedef, harcanan, biriken; grup, kategori ve hafta bazında planlanan/gerçekleşen
- Dönemde "Nasıl daha iyi yapabilirim?" metni (reflection_md)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,7 @@ const period: Period = {
|
||||
days: 31,
|
||||
status: 'open',
|
||||
savings_goal: 500_000,
|
||||
reflection_md: null,
|
||||
version: 3,
|
||||
weeks: [
|
||||
{ index: 1, start_date: '2026-12-01', last_date: '2026-12-06', days: 6 },
|
||||
|
||||
@@ -18,4 +18,8 @@ last_date: string, days: number, status: PeriodStatus,
|
||||
/**
|
||||
* Kuruş
|
||||
*/
|
||||
savings_goal: number, version: number, weeks: Array<PeriodWeek>, };
|
||||
savings_goal: number,
|
||||
/**
|
||||
* "Nasıl daha iyi yapabilirim?" (Markdown)
|
||||
*/
|
||||
reflection_md: string | null, version: number, weeks: Array<PeriodWeek>, };
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { ReviewCategory } from "./ReviewCategory";
|
||||
import type { ReviewGroup } from "./ReviewGroup";
|
||||
import type { ReviewWeek } from "./ReviewWeek";
|
||||
|
||||
export type PeriodReview = { income_total: number, fixed_expense_total: number, carryover_debt: number, carryover_surplus: number,
|
||||
/**
|
||||
* 1. Ne kadar param vardı? (gelir − sabit gider − borç + artı)
|
||||
*/
|
||||
available: number,
|
||||
/**
|
||||
* 2. Ne kadar biriktirmek istedim?
|
||||
*/
|
||||
savings_goal: number,
|
||||
/**
|
||||
* 3. Ne kadar harcadım?
|
||||
*/
|
||||
spent_total: number,
|
||||
/**
|
||||
* 4. Ne kadar biriktirdim? (negatifse açık var)
|
||||
*/
|
||||
realized_savings: number,
|
||||
/**
|
||||
* Gerçekleşen − hedef birikim (negatifse hedefin altında)
|
||||
*/
|
||||
savings_gap: number,
|
||||
/**
|
||||
* 4 grup, sabit sırada
|
||||
*/
|
||||
groups: Array<ReviewGroup>,
|
||||
/**
|
||||
* Harcama olan kategoriler, çoktan aza
|
||||
*/
|
||||
categories: Array<ReviewCategory>,
|
||||
/**
|
||||
* Haftalar: 4 grubun toplamı
|
||||
*/
|
||||
weeks: Array<ReviewWeek>, };
|
||||
@@ -1,3 +1,7 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
export type PeriodUpdateRequest = { name?: string, start_date?: string, end_date?: string, savings_goal?: number, version?: number, };
|
||||
export type PeriodUpdateRequest = { name?: string, start_date?: string, end_date?: string, savings_goal?: number,
|
||||
/**
|
||||
* "Nasıl daha iyi yapabilirim?" (Markdown); boş metin → kaldır
|
||||
*/
|
||||
reflection_md?: string, version?: number, };
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { Group } from "./Group";
|
||||
|
||||
export type ReviewCategory = { category_id: string, group: Group, spent: number,
|
||||
/**
|
||||
* Kayıt sayısı
|
||||
*/
|
||||
count: number, };
|
||||
@@ -0,0 +1,8 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { Group } from "./Group";
|
||||
|
||||
export type ReviewGroup = { group: Group,
|
||||
/**
|
||||
* Aylık bütçe
|
||||
*/
|
||||
planned: number, spent: number, };
|
||||
@@ -0,0 +1,3 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
export type ReviewWeek = { index: number, start_date: string, last_date: string, planned: number, spent: number, };
|
||||
Reference in New Issue
Block a user