diff --git a/backend/app/Enums/Campaign/CampaignStatuses.php b/backend/app/Enums/Campaign/CampaignStatuses.php new file mode 100644 index 0000000..3835919 --- /dev/null +++ b/backend/app/Enums/Campaign/CampaignStatuses.php @@ -0,0 +1,11 @@ +id(); - $table->string('name'); + $table->string('name')->unique(); }); } diff --git a/backend/database/migrations/2026_03_25_123843_create_campaign_statuses_table.php b/backend/database/migrations/2026_03_25_123843_create_campaign_statuses_table.php index 9b2a001..c9a073d 100644 --- a/backend/database/migrations/2026_03_25_123843_create_campaign_statuses_table.php +++ b/backend/database/migrations/2026_03_25_123843_create_campaign_statuses_table.php @@ -4,12 +4,13 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class extends Migration +{ public function up(): void { Schema::create('campaign_statuses', function (Blueprint $table) { $table->id(); - $table->string('value'); + $table->string('value')->unique(); $table->timestamps(); }); } diff --git a/backend/database/migrations/2026_03_25_124113_create_discount_types_table.php b/backend/database/migrations/2026_03_25_124113_create_discount_types_table.php index 2522224..e346681 100644 --- a/backend/database/migrations/2026_03_25_124113_create_discount_types_table.php +++ b/backend/database/migrations/2026_03_25_124113_create_discount_types_table.php @@ -4,12 +4,13 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class extends Migration +{ public function up(): void { Schema::create('discount_types', function (Blueprint $table) { $table->id(); - $table->string('value'); + $table->string('value')->unique(); $table->timestamps(); }); } diff --git a/backend/database/migrations/2026_03_25_124754_create_campaigns_table.php b/backend/database/migrations/2026_03_25_124754_create_campaigns_table.php index 2feeb7b..281c436 100644 --- a/backend/database/migrations/2026_03_25_124754_create_campaigns_table.php +++ b/backend/database/migrations/2026_03_25_124754_create_campaigns_table.php @@ -4,7 +4,8 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class extends Migration +{ public function up(): void { Schema::create('campaigns', function (Blueprint $table) { diff --git a/backend/database/migrations/2026_03_25_125215_create_coupons_table.php b/backend/database/migrations/2026_03_25_125215_create_coupons_table.php index ca3d01c..4e5a3b3 100644 --- a/backend/database/migrations/2026_03_25_125215_create_coupons_table.php +++ b/backend/database/migrations/2026_03_25_125215_create_coupons_table.php @@ -4,7 +4,8 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class extends Migration +{ public function up(): void { Schema::create('coupons', function (Blueprint $table) { diff --git a/backend/database/migrations/2026_03_25_125649_create_redemtion_logs_table.php b/backend/database/migrations/2026_03_25_125649_create_redemtion_logs_table.php index 8bdd33a..a2c0341 100644 --- a/backend/database/migrations/2026_03_25_125649_create_redemtion_logs_table.php +++ b/backend/database/migrations/2026_03_25_125649_create_redemtion_logs_table.php @@ -4,7 +4,8 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class extends Migration +{ public function up(): void { Schema::create('redemption_logs', function (Blueprint $table) { diff --git a/backend/database/seeders/Campaign/CampaignStatusSeeder.php b/backend/database/seeders/Campaign/CampaignStatusSeeder.php new file mode 100644 index 0000000..3b9d9ad --- /dev/null +++ b/backend/database/seeders/Campaign/CampaignStatusSeeder.php @@ -0,0 +1,19 @@ + ['value' => $type->value], CampaignStatuses::cases()); + CampaignStatus::upsert($values, ['value'], ['value']); + } +} diff --git a/backend/database/seeders/Campaign/DiscountTypeSeeder.php b/backend/database/seeders/Campaign/DiscountTypeSeeder.php new file mode 100644 index 0000000..872c161 --- /dev/null +++ b/backend/database/seeders/Campaign/DiscountTypeSeeder.php @@ -0,0 +1,19 @@ + ['value' => $type->value], DiscountTypes::cases()); + DiscountType::upsert($values, ['value'], ['value']); + } +} diff --git a/backend/routes/api.php b/backend/routes/api.php index 0354caa..e1225d2 100644 --- a/backend/routes/api.php +++ b/backend/routes/api.php @@ -1,16 +1,16 @@ group(function () { diff --git a/backend/routes/web.php b/backend/routes/web.php index 930ee2c..7b8e423 100644 --- a/backend/routes/web.php +++ b/backend/routes/web.php @@ -1,6 +1,6 @@