first commit

This commit is contained in:
浪子
2026-03-19 16:44:38 +08:00
commit ff2af385b9
100 changed files with 16826 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\CategoryController;
use App\Http\Controllers\Admin\PackageController;
use App\Http\Controllers\Admin\VersionController;
Route::prefix('admin')->middleware('store.admin')->group(function () {
Route::get('/packages', [PackageController::class, 'index']);
Route::post('/packages', [PackageController::class, 'store']);
Route::put('/packages/{type}/{slug}', [PackageController::class, 'update'])
->where('type', 'plugin|theme');
Route::patch('/packages/{type}/{slug}/status', [PackageController::class, 'updateStatus'])
->where('type', 'plugin|theme');
Route::delete('/packages/{type}/{slug}', [PackageController::class, 'destroy'])
->where('type', 'plugin|theme');
Route::get('/packages/{type}/{slug}/versions', [VersionController::class, 'index'])
->where('type', 'plugin|theme');
Route::post('/packages/{type}/{slug}/versions', [VersionController::class, 'store'])
->where('type', 'plugin|theme');
Route::post('/packages/{type}/{slug}/versions/publish', [VersionController::class, 'publish'])
->where('type', 'plugin|theme');
Route::delete('/versions/{id}', [VersionController::class, 'destroy']);
Route::get('/categories', [CategoryController::class, 'index']);
Route::post('/categories', [CategoryController::class, 'store']);
Route::put('/categories/{id}', [CategoryController::class, 'update']);
Route::delete('/categories/{id}', [CategoryController::class, 'destroy']);
});
+15
View File
@@ -0,0 +1,15 @@
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\RepoController;
use App\Http\Controllers\Api\CategoryController;
Route::prefix('v1/repo')->group(function () {
Route::get('/index', [RepoController::class, 'index']);
Route::get('/packages/{type}/{slug}', [RepoController::class, 'detail'])
->where('type', 'plugin|theme');
Route::post('/updates/check', [RepoController::class, 'checkUpdates']);
Route::get('/download/{type}/{slug}/{version}', [RepoController::class, 'download'])
->where('type', 'plugin|theme');
Route::get('/categories', [CategoryController::class, 'index']);
});
+8
View File
@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
+33
View File
@@ -0,0 +1,33 @@
<?php
use App\Http\Controllers\Web\StorefrontController;
use App\Http\Controllers\WebAdmin\AuthController;
use App\Http\Controllers\WebAdmin\DashboardController;
use Illuminate\Support\Facades\Route;
Route::get('/', [StorefrontController::class, 'home'])->name('storefront.home');
Route::get('/plugins', [StorefrontController::class, 'packages'])->defaults('type', 'plugin')->name('storefront.plugins');
Route::get('/themes', [StorefrontController::class, 'packages'])->defaults('type', 'theme')->name('storefront.themes');
Route::get('/packages/{type}/{slug}', [StorefrontController::class, 'show'])->name('storefront.show');
Route::get('/admin/login', [AuthController::class, 'showLogin'])->name('webadmin.login');
Route::post('/admin/login', [AuthController::class, 'login'])->name('webadmin.login.submit');
Route::middleware('store.webadmin')->group(function () {
Route::get('/admin', [DashboardController::class, 'home'])->name('webadmin.home');
Route::post('/admin/logout', [AuthController::class, 'logout'])->name('webadmin.logout');
Route::get('/admin/packages', [DashboardController::class, 'packages'])->name('webadmin.packages');
Route::post('/admin/packages', [DashboardController::class, 'storePackage'])->name('webadmin.packages.store');
Route::put('/admin/packages/{type}/{slug}', [DashboardController::class, 'updatePackage'])->name('webadmin.packages.update');
Route::patch('/admin/packages/{type}/{slug}/status', [DashboardController::class, 'updatePackageStatus'])->name('webadmin.packages.status');
Route::get('/admin/packages/{type}/{slug}', [DashboardController::class, 'showPackage'])->name('webadmin.packages.show');
Route::post('/admin/packages/{type}/{slug}/versions', [DashboardController::class, 'storeVersion'])->name('webadmin.packages.versions.store');
Route::post('/admin/packages/{type}/{slug}/publish', [DashboardController::class, 'publishVersion'])->name('webadmin.packages.publish');
Route::delete('/admin/packages/{type}/{slug}/versions/{id}', [DashboardController::class, 'destroyVersion'])->name('webadmin.packages.versions.destroy');
Route::get('/admin/categories', [DashboardController::class, 'categories'])->name('webadmin.categories');
Route::post('/admin/categories', [DashboardController::class, 'storeCategory'])->name('webadmin.categories.store');
Route::put('/admin/categories/{id}', [DashboardController::class, 'updateCategory'])->name('webadmin.categories.update');
Route::delete('/admin/categories/{id}', [DashboardController::class, 'destroyCategory'])->name('webadmin.categories.destroy');
});