| | |
| | | Route::for('invitations') |
| | | ->get([$this, 'getInvitations']) |
| | | ->args([ |
| | | 'user' => 'int|required', |
| | | 'to_term' => 'int', |
| | | 'taxonomy' => 'string', |
| | | 'status' => 'string|enum:all,pending,accepted,rejected,expired,revoked|default:all', |
| | |
| | | |
| | | ->post([$this, 'createInvitationRequest']) |
| | | ->args([ |
| | | 'user' => 'int|required', |
| | | 'action' => 'string|enum:create,revoke,refresh|default:create', |
| | | 'invites' => 'array', |
| | | 'invitation_id' => 'int' |
| | | ]) |
| | | ->auth('verified') |
| | | ->rateLimit(10, 300); |
| | | ->rateLimit(10, 300) |
| | | ->register(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public function getInvitations(WP_REST_Request $request): WP_REST_Response |
| | | { |
| | | $userID = $request->get_param('user'); |
| | | $userID = get_current_user_id(); |
| | | $termID = $request->get_param('to_term'); |
| | | $taxonomy = $request->get_param('taxonomy'); |
| | | |
| | | // Validate user |
| | | if (get_current_user_id() !== $userID) { |
| | | if (!$userID) { |
| | | return $this->unauthorized('Invalid user'); |
| | | } |
| | | |
| | |
| | | */ |
| | | public function createInvitationRequest(WP_REST_Request $request): WP_REST_Response |
| | | { |
| | | $userID = $request->get_param('user'); |
| | | $userID = get_current_user_id(); |
| | | $action = $request->get_param('action'); |
| | | |
| | | // Validate user |
| | | if (get_current_user_id() !== $userID) { |
| | | if (!$userID) { |
| | | return $this->unauthorized('Invalid user'); |
| | | } |
| | | |