feat(defter): harcama kayıtları — ekle, düzenle, sil, geri al (backend)

- /periods/{id}/entries (from/to filtresi), /entries/{id}, /entries/{id}/restore
- Grup kategoriden türetilir; kategori/ödeme türü hane ve aktiflik kontrolü
- Yalnızca açık dönem; soft delete + geri al; sürüm çakışmasında 409
- 6 entegrasyon testi (izolasyon, kapalı dönem, doğrulama, önceki dönem önerisi)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-12 09:07:51 +03:00
parent eca0bb27a0
commit 2003b8fad7
14 changed files with 1069 additions and 3 deletions
+8
View File
@@ -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 Entry = { id: string, period_id: string, date: string,
/**
* Kuruş
*/
amount: number, group: Group, category_id: string, payment_method_id: string | null, description: string | null, created_by: string, version: number, };
+15
View File
@@ -0,0 +1,15 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export type EntryCreateRequest = {
/**
* `"YYYY-MM-DD"`, dönem içinde
*/
date: string,
/**
* Kuruş, > 0
*/
amount: number,
/**
* Grup kategoriden alınır
*/
category_id: string, payment_method_id?: string, description?: string, };
+11
View File
@@ -0,0 +1,11 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export type EntryUpdateRequest = { date?: string, amount?: number, category_id?: string,
/**
* Boş metin → ödeme türünü kaldır
*/
payment_method_id?: string,
/**
* Boş metin → açıklamayı kaldır
*/
description?: string, version?: number, };