From bcbda1ae5d72ca5173b51f6c494b1a225785fb9e Mon Sep 17 00:00:00 2001 From: nurdotnet <278048682+nurdotnet@users.noreply.github.com> Date: Wed, 22 Apr 2026 20:42:54 +0500 Subject: [PATCH] fix(seeder): bootstrap admin + demo org on stage/prod too, not just Dev MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Login on https://food-market.zat.kz failed because DevDataSeeder skipped in non-Dev envs, so the demo admin account never existed on stage. Seeder is idempotent — checks-then-creates for every entity. Safe to run on every startup in any env. Once a real org/admin replaces the seeded demo, this seeder is a no-op. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/food-market.api/Seed/DevDataSeeder.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/food-market.api/Seed/DevDataSeeder.cs b/src/food-market.api/Seed/DevDataSeeder.cs index f059434..db68a8a 100644 --- a/src/food-market.api/Seed/DevDataSeeder.cs +++ b/src/food-market.api/Seed/DevDataSeeder.cs @@ -20,10 +20,10 @@ public DevDataSeeder(IServiceProvider services, IHostEnvironment env) public async Task StartAsync(CancellationToken ct) { - if (!_env.IsDevelopment()) - { - return; - } + // Idempotent — runs in all envs to bootstrap a usable admin + demo org. + // Once first real user/org is set up via UI, rename/disable demo. + // (Wired regardless of env so stage/prod first-deploy lands a working + // admin, otherwise nobody can log in.) using var scope = _services.CreateScope(); var db = scope.ServiceProvider.GetRequiredService();