3acd71fd59
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.4 KiB
TypeScript
37 lines
1.4 KiB
TypeScript
/**
|
||
* Seed: npm run seed | Sıfırlayıp doldurma: npm run seed:reset (production'da reddedilir)
|
||
*
|
||
* Oluşturulanlar: admin (SEED_ADMIN_*), 7 örnek kullanıcı (biri askıda, biri ikinci admin),
|
||
* 2 hane ve hane içi rolleri. Ayrıntı: scripts/seed/fixtures.ts
|
||
* `server-only` modülleri Next dışında yükleyebilmek için --conditions=react-server ile çalışır.
|
||
*/
|
||
import { getMongoClient } from "@/lib/db/mongo";
|
||
import { env } from "@/lib/env";
|
||
import { closeSeedConnections, runSeed } from "./seed/run";
|
||
|
||
async function main() {
|
||
const summary = await runSeed({ reset: process.argv.includes("--reset") });
|
||
const { users, households, memberships, categories, accounts, transactions } = summary.created;
|
||
console.log(
|
||
`\nOluşturulan: ${users} kullanıcı, ${households} hane, ${memberships} üyelik, ${categories} kategori, ${accounts} hesap, ${transactions} işlem.`,
|
||
);
|
||
|
||
// Hesap tablosu yalnızca geliştirme ortamında gösterilir.
|
||
if (env().NODE_ENV !== "production" && summary.accounts.length) {
|
||
console.log(
|
||
"\nGeliştirme hesapları (şifreler: admin → SEED_ADMIN_PASSWORD, diğerleri → SEED_USER_PASSWORD):",
|
||
);
|
||
console.table(summary.accounts);
|
||
}
|
||
}
|
||
|
||
main()
|
||
.catch((err: unknown) => {
|
||
console.error(err instanceof Error ? err.message : err);
|
||
process.exitCode = 1;
|
||
})
|
||
.finally(async () => {
|
||
await closeSeedConnections();
|
||
await getMongoClient().close();
|
||
});
|