Some checks are pending
Deploy DummyBot / Build & Deploy to ${{ env.DEPLOY_HOST }} (push) Waiting to run
Gitea 1.22.6 no soporta Actions completo. Solución: - WebhookController valida HMAC-SHA256, dispara script en background - /usr/local/bin/dummybot-deploy.sh hace git pull + composer + npm + migrate + up - Webhook en Gitea → POST http://157.180.77.232:18080/webhook/deploy - Secreto DEPLOY_WEBHOOK_SECRET en .env, validado por X-Hub-Signature-256 - Mount del script y log dir al container dummybot_app
53 lines
2.9 KiB
PHP
53 lines
2.9 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\PageController;
|
|
use App\Http\Controllers\TaskController;
|
|
use App\Http\Controllers\WebhookController;
|
|
use App\Http\Controllers\Auth\LoginController;
|
|
use App\Http\Controllers\Api\DeviceController;
|
|
use App\Http\Controllers\Api\ProjectController;
|
|
use App\Http\Controllers\Api\TagController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// ─── Páginas públicas ───
|
|
Route::get ('/', [PageController::class, 'home'])->name('home');
|
|
Route::get ('/login', [LoginController::class, 'showLogin'])->name('login');
|
|
Route::get ('/register',[LoginController::class, 'showRegister'])->name('register');
|
|
Route::post('/login', [LoginController::class, 'login']);
|
|
Route::post('/register',[LoginController::class, 'register']);
|
|
Route::post('/logout', [LoginController::class, 'logout'])->middleware('auth:sanctum')->name('logout');
|
|
|
|
// ─── Webhook de Gitea (dispara deploy) ───
|
|
Route::post('/webhook/deploy', [WebhookController::class, 'deploy']);
|
|
|
|
// ─── Páginas protegidas ───
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('/app', [PageController::class, 'app'])->name('app');
|
|
Route::get('/app/settings', [PageController::class, 'settings'])->name('settings');
|
|
|
|
// API web (con sesión, usa el guard 'web' de Sanctum)
|
|
// Tareas
|
|
Route::get ('/api/tasks', [TaskController::class, 'index']);
|
|
Route::post ('/api/tasks', [TaskController::class, 'store']);
|
|
Route::put ('/api/tasks/{task}', [TaskController::class, 'update']);
|
|
Route::delete('/api/tasks/{task}', [TaskController::class, 'destroy']);
|
|
Route::post ('/api/tasks/{task}/done', [TaskController::class, 'done']);
|
|
Route::post ('/api/tasks/{task}/snooze', [TaskController::class, 'snooze']);
|
|
Route::post ('/api/tasks/{task}/restore', [TaskController::class, 'restore']);
|
|
Route::get ('/api/tasks/stats', [TaskController::class, 'stats']);
|
|
// Proyectos
|
|
Route::get ('/api/projects', [ProjectController::class, 'index']);
|
|
Route::post ('/api/projects', [ProjectController::class, 'store']);
|
|
Route::put ('/api/projects/{project}', [ProjectController::class, 'update']);
|
|
Route::delete('/api/projects/{project}', [ProjectController::class, 'destroy']);
|
|
// Tags
|
|
Route::get ('/api/tags', [TagController::class, 'index']);
|
|
Route::post ('/api/tags', [TagController::class, 'store']);
|
|
Route::delete('/api/tags/{tag}', [TagController::class, 'destroy']);
|
|
// Devices
|
|
Route::get ('/api/devices', [DeviceController::class, 'index']);
|
|
Route::post ('/api/devices', [DeviceController::class, 'store']);
|
|
Route::post ('/api/devices/{device}/rotate', [DeviceController::class, 'rotate']);
|
|
Route::delete('/api/devices/{device}', [DeviceController::class, 'destroy']);
|
|
});
|