Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
routes
jaguarjack/catchadmin
claude-code
framework
modules
management
permissions
catchadmin

Generate route configuration for CatchAdmin module.

Install
php artisan boost:add-skill jaguarjack/catchadmin

Save this content to: .claude/skills/06-routes/SKILL.md

# Step 6: Generate Routes

创建路由配置。

## File Location

```
modules/{Module}/routes/route.php
```

## Template

```php
<?php

use Illuminate\Support\Facades\Route;
use Modules\{Module}\Http\Controllers\{Model}Controller;

// CRUD routes
Route::apiResource('{resources}', {Model}Controller::class);

// Toggle status
Route::put('{resources}/enable/{id}', [{Model}Controller::class, 'enable']);

// Export
Route::get('{resource}/export', [{Model}Controller::class, 'export']);

// Import
Route::post('{resource}/import', [{Model}Controller::class, 'import']);

// Restore from trash
Route::put('{resources}/restore/{id}', [{Model}Controller::class, 'restore']);
```

## Route Naming

| Method | URI | Action |
|--------|-----|--------|
| GET | `/{resources}` | index |
| POST | `/{resources}` | store |
| GET | `/{resources}/{id}` | show |
| PUT | `/{resources}/{id}` | update |
| DELETE | `/{resources}/{id}` | destroy |
| PUT | `/{resources}/enable/{id}` | enable |
| GET | `/{resource}/export` | export |
| POST | `/{resource}/import` | import |

## Permission Middleware

路由自动被 `PermissionGate` 中间件保护。

跳过权限检查:
```php
Route::get('public/data', [Controller::class, 'data'])
    ->withoutMiddleware([PermissionGate::class]);
```

Step 6: Generate Routes

创建路由配置。

File Location

modules/{Module}/routes/route.php

Template

<?php

use Illuminate\Support\Facades\Route;
use Modules\{Module}\Http\Controllers\{Model}Controller;

// CRUD routes
Route::apiResource('{resources}', {Model}Controller::class);

// Toggle status
Route::put('{resources}/enable/{id}', [{Model}Controller::class, 'enable']);

// Export
Route::get('{resource}/export', [{Model}Controller::class, 'export']);

// Import
Route::post('{resource}/import', [{Model}Controller::class, 'import']);

// Restore from trash
Route::put('{resources}/restore/{id}', [{Model}Controller::class, 'restore']);

Route Naming

Method URI Action
GET /{resources} index
POST /{resources} store
GET /{resources}/{id} show
PUT /{resources}/{id} update
DELETE /{resources}/{id} destroy
PUT /{resources}/enable/{id} enable
GET /{resource}/export export
POST /{resource}/import import

Permission Middleware

路由自动被 PermissionGate 中间件保护。

跳过权限检查:

Route::get('public/data', [Controller::class, 'data'])
    ->withoutMiddleware([PermissionGate::class]);
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core