R0.4: Seeder produktionssicher (PlanSeeder, keine Fake-Stripe-IDs, Dev-User-Guard)
- PlanSeeder (Starter/Business/Pro/Agency) haengt jetzt im DatabaseSeeder - PaymentOptionSeeder erfindet keine prod_/price_placeholder-IDs mehr (Spalten nullable; echte Verknuepfung via Stripe-Sync/Pflege) - Demo-Zugaenge admin@pressekonto.test/test@example.com (Passwort "password") werden nur noch in local/testing angelegt Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
f9e3c64238
commit
17eaa80135
3 changed files with 61 additions and 6 deletions
|
|
@ -19,10 +19,17 @@ class DatabaseSeeder extends Seeder
|
|||
$this->call([
|
||||
RolesAndPermissionsSeeder::class,
|
||||
AdminPresetSeeder::class,
|
||||
PlanSeeder::class,
|
||||
PaymentOptionSeeder::class,
|
||||
// CategorySeeder::class,
|
||||
]);
|
||||
|
||||
// Demo-Zugänge (Passwort "password") nur in lokalen Umgebungen –
|
||||
// niemals in Produktion anlegen.
|
||||
if (! app()->environment(['local', 'testing'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$adminUser = User::firstOrCreate([
|
||||
'email' => 'admin@pressekonto.test',
|
||||
], [
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ class PaymentOptionSeeder extends Seeder
|
|||
'currency' => 'EUR',
|
||||
'interval' => 'monthly',
|
||||
'is_hidden' => false,
|
||||
'stripe_product_id' => 'prod_placeholder_monthly',
|
||||
'stripe_price_id' => 'price_placeholder_monthly',
|
||||
'stripe_product_id' => null,
|
||||
'stripe_price_id' => null,
|
||||
'translations' => [
|
||||
'de' => ['name' => 'Monatspaket', 'description' => 'Monatliche Veroeffentlichungen'],
|
||||
'en' => ['name' => 'Monthly package', 'description' => 'Monthly publication package'],
|
||||
|
|
@ -35,8 +35,8 @@ class PaymentOptionSeeder extends Seeder
|
|||
'currency' => 'EUR',
|
||||
'interval' => 'yearly',
|
||||
'is_hidden' => false,
|
||||
'stripe_product_id' => 'prod_placeholder_yearly',
|
||||
'stripe_price_id' => 'price_placeholder_yearly',
|
||||
'stripe_product_id' => null,
|
||||
'stripe_price_id' => null,
|
||||
'translations' => [
|
||||
'de' => ['name' => 'Jahrespaket', 'description' => 'Jaehrliche Veroeffentlichungen'],
|
||||
'en' => ['name' => 'Yearly package', 'description' => 'Yearly publication package'],
|
||||
|
|
@ -49,8 +49,8 @@ class PaymentOptionSeeder extends Seeder
|
|||
'currency' => 'EUR',
|
||||
'interval' => 'once',
|
||||
'is_hidden' => false,
|
||||
'stripe_product_id' => 'prod_placeholder_onetime',
|
||||
'stripe_price_id' => 'price_placeholder_onetime',
|
||||
'stripe_product_id' => null,
|
||||
'stripe_price_id' => null,
|
||||
'translations' => [
|
||||
'de' => ['name' => 'Reichweiten-Boost', 'description' => 'Einmaliger Promotion-Boost'],
|
||||
'en' => ['name' => 'Reach boost', 'description' => 'One-time promotion boost'],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue