30 lines
1.8 KiB
PHP
Executable File
30 lines
1.8 KiB
PHP
Executable File
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\LicenseProduct;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class PaddleCatalogSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$products = [
|
|
['code' => 'personal-monthly', 'name' => 'Rsync Studio Personal Monthly', 'edition' => 'Personal', 'activation_limit' => 1, 'external_product_id' => config('rsync-studio.paddle.personal_product_id'), 'external_price_id' => config('rsync-studio.paddle.personal_monthly_price_id')],
|
|
['code' => 'personal-annual', 'name' => 'Rsync Studio Personal Annual', 'edition' => 'Personal', 'activation_limit' => 1, 'external_product_id' => config('rsync-studio.paddle.personal_product_id'), 'external_price_id' => config('rsync-studio.paddle.personal_annual_price_id')],
|
|
['code' => 'professional-monthly', 'name' => 'Rsync Studio Professional Monthly', 'edition' => 'Professional', 'activation_limit' => 3, 'external_product_id' => config('rsync-studio.paddle.professional_product_id'), 'external_price_id' => config('rsync-studio.paddle.professional_monthly_price_id')],
|
|
['code' => 'professional-annual', 'name' => 'Rsync Studio Professional Annual', 'edition' => 'Professional', 'activation_limit' => 3, 'external_product_id' => config('rsync-studio.paddle.professional_product_id'), 'external_price_id' => config('rsync-studio.paddle.professional_annual_price_id')],
|
|
];
|
|
|
|
foreach ($products as $data) {
|
|
if (! $data['external_product_id'] || ! $data['external_price_id']) {
|
|
continue;
|
|
}
|
|
LicenseProduct::updateOrCreate(
|
|
['code' => $data['code']],
|
|
$data + ['payment_provider' => 'paddle', 'max_major_version' => config('rsync-studio.default_max_major_version'), 'active' => true]
|
|
);
|
|
}
|
|
}
|
|
}
|