| | |
| | | 'user' => 'int|required', |
| | | 'term_id' => 'int|required' |
| | | ]) |
| | | ->auth(PermissionHandler::custom([$this, 'checkTermPermission'])) |
| | | ->rateLimit(10); |
| | | ->auth(PermissionHandler::combine([[$this, 'checkTermPermission']])) |
| | | ->rateLimit(10) |
| | | ->register(); |
| | | |
| | | // Member management (if track_changes enabled) |
| | | if (Features::forTaxonomy($this->taxonomy)->has('track_changes')) { |
| | |
| | | 'target_user' => 'int|required', |
| | | 'action' => 'string|enum:add,remove|required' |
| | | ]) |
| | | ->auth(PermissionHandler::custom([$this, 'checkTermPermission'])) |
| | | ->rateLimit(5); |
| | | ->auth(PermissionHandler::combine([[$this, 'checkTermPermission']])) |
| | | ->rateLimit(5) |
| | | ->register(); |
| | | } |
| | | |
| | | // Membership requests (if verify_entry enabled) |
| | |
| | | 'status' => 'string|enum:requested,accepted,rejected,all|default:requested', |
| | | 'page' => 'int|default:1|min:1' |
| | | ]) |
| | | ->auth(PermissionHandler::custom([$this, 'checkTermPermission'])) |
| | | ->rateLimit(20); |
| | | ->auth(PermissionHandler::combine([[$this, 'checkTermPermission']])) |
| | | ->rateLimit(20) |
| | | ->register(); |
| | | |
| | | Route::for("{$base}/request") |
| | | ->post([$this, 'handleRequest']) |
| | |
| | | 'notes' => 'string' |
| | | ]) |
| | | ->auth('verified') |
| | | ->rateLimit(5); |
| | | ->rateLimit(5) |
| | | ->register(); |
| | | } |
| | | |
| | | // Ownership/management (if is_ownable enabled) |
| | |
| | | 'role' => 'string|enum:owner,manager|required', |
| | | 'grant' => 'bool|required' |
| | | ]) |
| | | ->auth(PermissionHandler::custom([$this, 'checkOwnerPermission'])) |
| | | ->rateLimit(5); |
| | | ->auth(PermissionHandler::combine([[$this, 'checkTermPermission']])) |
| | | ->rateLimit(5) |
| | | ->register(); |
| | | } |
| | | } |
| | | |