Add ability to specify request type in optional patterns
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 39
- Forks
- 17
- Avg merge
- 1h 9m
- Merged PRs (30d)
- 1
Description
Group::create("/products")
->withCors(Cors::class)
->routes()
->routes(
Route::get('')
->action([ProductController::class, 'index'])
->name('product/index'),
Route::get('/{id:\d+}')
->middleware(Authentication::class)
->action([ProductController::class, 'view'])
->name('product/view'),
Route::post('')
->middleware(Authentication::class)
->action([ProductController::class, 'create'])
->name('product/create'),
Route::post('/{id:\d+}')
->middleware(Authentication::class)
->action([ProductController::class, 'update'])
->name('product/update'),
Route::delete('/{id:\d+}')
->middleware(Authentication::class)
->action([ProductController::class, 'delete'])
->name('product/delete'),
Route::put('/{id:\d+}/undo')
->middleware(Authentication::class)
->action([ProductController::class, 'undo'])
->name('product/undo'),
Route::post('/{id:\d+}/favorite')
->middleware(Authentication::class)
->action([ProductController::class, 'favorite'])
->name('product/favorite'),
Route::delete('/{id:\d+}/favorite')
->middleware(Authentication::class)
->action([ProductController::class, 'cancelFavorite'])
->name('product/cancelFavorite'),
),
like product/view if user is login will return 'favorite': true, if not login will return 'favorite': false
but if is use Authentication middleware, must login.
is can use follow code
Authentication::class => [
'class' => Authentication::class,
'__construct()' => [
'authenticationFailureHandler' => Reference::to(PassportRequestErrorHandler::class),
],
'withOptionalPatterns()' => [
'optional' => ['/en/products/[1-9]']
]
],
but delete,update action url is like to view.
what can i do?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Authentication::withOptionalPatterns() and the optional-pattern configuration shown in the issue. Determine how optional patterns currently match requests and how request methods should be specified, using the product/view, update, and delete examples as cases. Done means read-like requests can use optional authentication while update and delete requests remain protected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- authentication, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100