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. */ export type SeedUser = { username: string; name: string; email?: string; role: SystemRole; banReason?: string; }; export const SEED_USERS: SeedUser[] = [ { username: "ayse", name: "Ayşe Çakır", email: "ayse@butcem.local", role: "user" }, { username: "emre", name: "Emre Çakır", role: "user" }, { username: "zeynep", name: "Zeynep Çakır", role: "user" }, { username: "fatma", name: "Fatma Demir", email: "fatma@butcem.local", role: "user" }, { username: "mehmet", name: "Mehmet Demir", email: "mehmet@butcem.local", role: "user" }, // İkinci admin: hiçbir haneye üye değil → hane verisini göremez (Faz 0 kararı). { username: "burak", name: "Burak Öztürk", email: "burak@butcem.local", role: "admin" }, { username: "ozan", name: "Ozan Kaya", email: "ozan@butcem.local", role: "user", banReason: "Ev arkadaşlığı sona erdi; erişim kaldırıldı.", }, ]; /** Seed admin'in kullanıcı adı (SEED_ADMIN_EMAIL ile oluşturulur). */ export const ADMIN_USERNAME = "admin"; export type SeedHousehold = { name: string; members: { username: string; role: HouseholdRole }[]; }; export const SEED_HOUSEHOLDS: SeedHousehold[] = [ { name: "Çakır Ailesi", members: [ { username: ADMIN_USERNAME, role: "owner" }, { username: "ayse", role: "owner" }, { username: "emre", role: "member" }, { username: "zeynep", role: "viewer" }, { username: "ozan", role: "member" }, ], }, { name: "Annemler", members: [ { username: "fatma", role: "owner" }, { username: "mehmet", role: "member" }, // Bir kullanıcı birden çok haneye üye olabilir. { username: "ayse", role: "viewer" }, ], }, ]; /** Ö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", }, ];