first init

This commit is contained in:
ISMAIL MASSERAN
2026-06-08 11:37:14 +08:00
commit 94ecbe5887
1058 changed files with 87732 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CountryController;
use App\Http\Controllers\SocialMediaController;
use App\Http\Controllers\ContactController;
// Public endpoints
Route::get('/social-media', [SocialMediaController::class, 'getSocialMedia']);
Route::get('/contact', [ContactController::class, 'getContacts']);
Route::get('/countries', [CountryController::class, 'index'])->middleware(['auth:sanctum', 'single.session']);
// Social Media - Admin endpoints
Route::middleware(['auth:sanctum', 'single.session'])->prefix('social-media')->group(function () {
Route::get('/settings', [SocialMediaController::class, 'getSocialMediaSettings']);
Route::post('/settings', [SocialMediaController::class, 'updateSocialMedia']);
Route::post('/', [SocialMediaController::class, 'addSocialMedia']);
Route::put('/{id}', [SocialMediaController::class, 'updateSocialMediaPlatform']);
Route::delete('/{id}', [SocialMediaController::class, 'deleteSocialMediaPlatform']);
Route::patch('/{id}/toggle', [SocialMediaController::class, 'toggleSocialMediaPlatform']);
});
// Contact Settings - Admin endpoints
Route::middleware(['auth:sanctum', 'single.session'])->prefix('contact')->group(function () {
Route::get('/settings', [ContactController::class, 'getContactSettings']);
Route::post('/settings', [ContactController::class, 'updateContacts']);
Route::post('/', [ContactController::class, 'addContact']);
Route::put('/{id}', [ContactController::class, 'updateContact']);
Route::delete('/{id}', [ContactController::class, 'deleteContact']);
Route::patch('/{id}/toggle', [ContactController::class, 'toggleContact']);
});
+29
View File
@@ -0,0 +1,29 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Schedule;
use App\Jobs\CaptureKJCHistoricalDataJob;
use App\Jobs\CapturePKJHistoricalDataJob;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
// Schedule KJC Historical Data Capture to run monthly on the 1st day at 2:00 AM
Schedule::job(new CaptureKJCHistoricalDataJob())
->monthlyOn(1, '02:00')
->withoutOverlapping()
->name('kjc-historical-data-capture');
// Schedule PKJ Historical Data Capture to run monthly on the 1st day at 2:30 AM
Schedule::job(new CapturePKJHistoricalDataJob())
->monthlyOn(1, '02:30')
->withoutOverlapping()
->name('pkj-historical-data-capture');
// Auto-generate weekly KJC reports for Jabatan Arah RAJD every Monday at 3:00 AM
Schedule::command('kjc:auto-generate-weekly-report "Jabatan Arah RAJD"')
->weeklyOn(1, '03:00') // Monday at 3:00 AM
->withoutOverlapping()
->name('kjc-auto-weekly-report');
+7
View File
@@ -0,0 +1,7 @@
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return redirect('/login');
});