| | |
| | | 'action' => 'string|required|enum:invite,consulted,treated,remove,resend' |
| | | ]) |
| | | ->auth('user') |
| | | ->rateLimit(10); |
| | | ->rateLimit(10) |
| | | ->register(); |
| | | |
| | | // Referral code endpoint |
| | | Route::for('referrals/code') |
| | |
| | | ->post([$this, 'validateCode']) |
| | | ->args(['code' => 'string|required']) |
| | | ->auth('public') |
| | | ->rateLimit(10); |
| | | ->rateLimit(10) |
| | | ->register(); |
| | | |
| | | // Stats endpoint |
| | | Route::for('referrals/stats') |
| | | ->get([$this, 'getStats']) |
| | | ->args(['user' => 'integer']) |
| | | ->auth('user') |
| | | ->rateLimit(30); |
| | | ->rateLimit(30) |
| | | ->register(); |
| | | |
| | | // Settings endpoint (admin only) |
| | | Route::for('referrals/settings') |
| | | ->get([$this, 'getSettings']) |
| | | ->post([$this, 'updateSettings']) |
| | | ->auth('admin') |
| | | ->rateLimit(10); |
| | | ->rateLimit(10) |
| | | ->register(); |
| | | |
| | | // CSV Upload endpoints (admin only) |
| | | Route::for('referrals/upload-clients') |
| | | ->post([$this, 'handleClientUpload']) |
| | | ->auth('admin') |
| | | ->rateLimit(3); |
| | | ->rateLimit(3) |
| | | ->register(); |
| | | |
| | | Route::for('referrals/upload-sales') |
| | | ->post([$this, 'handleSalesUpload']) |
| | | ->auth('admin') |
| | | ->rateLimit(3); |
| | | ->rateLimit(3) |
| | | ->register(); |
| | | } |
| | | |
| | | /** |