feat(seed): varsayılan kategoriler, örnek hesaplar ve 002 migration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 02:57:58 +03:00
parent d2aa9d8ae2
commit 0558d92203
6 changed files with 202 additions and 10 deletions
+96
View File
@@ -1,4 +1,6 @@
import type { HouseholdRole } from "@/features/households/types";
import type { AccountType, MealCardProvider } from "@/shared/accounts";
import type { IconKey, Swatch } from "@/shared/appearance";
import type { SystemRole } from "@/shared/schemas/common";
/** Örnek (geliştirme) kullanıcıları. E-postası olmayanlar kullanıcı adıyla giriş yapar. */
@@ -56,3 +58,97 @@ export const SEED_HOUSEHOLDS: SeedHousehold[] = [
],
},
];
/** Örnek hesaplar (tutarlar kuruş; kart borcu negatif). Açılış: 6 ay önce. */
export type SeedAccount = {
household: string;
name: string;
type: AccountType;
institution?: string;
openingBalanceMinor: number;
color: Swatch;
icon: IconKey;
owner?: string;
isPrivate?: boolean;
mealCardProvider?: MealCardProvider;
overdraft?: { limitMinor: number; monthlyRateBp: number; statementDay: number };
creditCard?: {
limitMinor: number;
statementDay: number;
dueDays: number;
paymentAccount: string;
};
};
export const SEED_ACCOUNTS: SeedAccount[] = [
{
household: "Çakır Ailesi",
name: "Cüzdan",
type: "cash",
openingBalanceMinor: 2_350_00,
color: "green",
icon: "wallet",
},
{
household: "Çakır Ailesi",
name: "Ziraat Maaş",
type: "bank",
institution: "Ziraat Bankası",
openingBalanceMinor: 18_420_50,
color: "red",
icon: "landmark",
overdraft: { limitMinor: 10_000_00, monthlyRateBp: 425, statementDay: 1 },
},
{
household: "Çakır Ailesi",
name: "Garanti Bonus",
type: "credit_card",
institution: "Garanti BBVA",
openingBalanceMinor: -6_480_75,
color: "teal",
icon: "credit-card",
creditCard: {
limitMinor: 60_000_00,
statementDay: 29,
dueDays: 10,
paymentAccount: "Ziraat Maaş",
},
},
{
household: "Çakır Ailesi",
name: "Birikim (Vadeli)",
type: "savings",
institution: "Ziraat Bankası",
openingBalanceMinor: 45_000_00,
color: "indigo",
icon: "piggy-bank",
},
{
household: "Çakır Ailesi",
name: "Ayşe — Pluxee",
type: "meal_card",
mealCardProvider: "pluxee",
openingBalanceMinor: 3_120_00,
color: "lime",
icon: "utensils",
owner: "ayse",
isPrivate: true,
},
{
household: "Annemler",
name: "Nakit",
type: "cash",
openingBalanceMinor: 1_500_00,
color: "green",
icon: "wallet",
},
{
household: "Annemler",
name: "Vakıfbank Emekli",
type: "bank",
institution: "VakıfBank",
openingBalanceMinor: 27_800_00,
color: "amber",
icon: "landmark",
},
];