From 647979fdef202fa7d7e22deaa18e5dcbb76fd622 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Fri, 4 Jul 2025 10:17:36 +0500 Subject: [PATCH] ok --- .../Controllers/Api/ContactUsController.php | 44 +++++++++++++++++++ app/Models/CMS/ContactUs.php | 19 ++++++++ ...5_07_03_235433_create_contact_us_table.php | 31 +++++++++++++ routes/api.php | 3 ++ 4 files changed, 97 insertions(+) create mode 100644 app/Http/Controllers/Api/ContactUsController.php create mode 100644 app/Models/CMS/ContactUs.php create mode 100644 database/migrations/2025_07_03_235433_create_contact_us_table.php diff --git a/app/Http/Controllers/Api/ContactUsController.php b/app/Http/Controllers/Api/ContactUsController.php new file mode 100644 index 0000000..443b858 --- /dev/null +++ b/app/Http/Controllers/Api/ContactUsController.php @@ -0,0 +1,44 @@ +validate([ + /** + * Message Title + * + * @example Salam + */ + 'title' => ['required', 'string', 'max:255'], + + /** + * Message content + * + * @example Bet app + */ + 'message' => ['required', 'string', 'max:255'], + ]); + + ContactUs::forceCreate( + ...$data, + ...[ + 'user_id' => auth()->id(), + ], + ); + + return response()->json([ + 'message' => __('Successfully created'), + ], 201); + } +} diff --git a/app/Models/CMS/ContactUs.php b/app/Models/CMS/ContactUs.php new file mode 100644 index 0000000..7392b5c --- /dev/null +++ b/app/Models/CMS/ContactUs.php @@ -0,0 +1,19 @@ +id(); + $table->string('title'); + $table->text('message'); + + $table->foreignId('user_id')->nullable()->constrained()->nullOnDelete(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('contact_us'); + } +}; diff --git a/routes/api.php b/routes/api.php index 3042a07..3365e6e 100644 --- a/routes/api.php +++ b/routes/api.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Api\CardOrder\CardOrderController; use App\Http\Controllers\Api\CardPin\CardPinController; use App\Http\Controllers\Api\CardRequisite\CardRequisiteController; use App\Http\Controllers\Api\CardTransaction\CardTransactionsController; +use App\Http\Controllers\Api\ContactUsController; use App\Http\Controllers\Api\FetchLoanHistoryController; use App\Http\Controllers\Api\LoanOrder\Remaining\LoanOrderRemainingOrderController; use App\Http\Controllers\Api\LoanPaidOffLetterOrderController; @@ -63,6 +64,8 @@ Route::get('provinces', [ProvinceController::class, 'index']); Route::get('base-app-enums', [BaseAppEnumController::class, 'index']); Route::middleware(['auth:sanctum', 'not_banned'])->group(function () { + Route::post('contact-us', [ContactUsController::class, 'store']); + // Profile... [tested fully] Route::get('profile', [ProfileController::class, 'index']); Route::post('profile', [ProfileController::class, 'store']);