feat: history and calculate needs for user
This commit is contained in:
+35
-4
@@ -9,6 +9,9 @@ use App\Http\Controllers\MealImageAnalysisController;
|
||||
use App\Http\Controllers\MealPostController;
|
||||
use App\Http\Controllers\NotificationController;
|
||||
use App\Http\Controllers\NotificationPreferenceController;
|
||||
use App\Http\Controllers\NutritionOnboardingController;
|
||||
use App\Http\Controllers\NutritionPlanController;
|
||||
use App\Http\Controllers\NutritionProfileController;
|
||||
use App\Http\Controllers\PostReviewsController;
|
||||
use App\Http\Controllers\PublicUserProfileController;
|
||||
use App\Http\Controllers\ReportController;
|
||||
@@ -16,6 +19,8 @@ use App\Http\Controllers\RevenueCatController;
|
||||
use App\Http\Controllers\SearchController;
|
||||
use App\Http\Controllers\StravaController;
|
||||
use App\Http\Controllers\UserBlockController;
|
||||
use App\Http\Controllers\WeeklyReviewController;
|
||||
use App\Http\Controllers\WeightEntryController;
|
||||
use App\Http\Controllers\WorkoutSessionController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
@@ -59,6 +64,32 @@ Route::prefix('legal-documents')->group(function (): void {
|
||||
});
|
||||
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])->group(function (): void {
|
||||
Route::post('nutrition-onboarding', NutritionOnboardingController::class)
|
||||
->middleware('throttle:account-action')
|
||||
->name('nutrition-onboarding.complete');
|
||||
});
|
||||
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended', 'onboarded'])->group(function (): void {
|
||||
Route::patch('nutrition-profile', NutritionProfileController::class)
|
||||
->middleware('throttle:account-action')
|
||||
->name('nutrition-profile.update');
|
||||
Route::get('nutrition-plans', [NutritionPlanController::class, 'index'])->name('nutrition-plans.index');
|
||||
Route::get('nutrition-plans/current', [NutritionPlanController::class, 'current'])->name('nutrition-plans.current');
|
||||
Route::get('weight-entries', [WeightEntryController::class, 'index'])->name('weight-entries.index');
|
||||
Route::post('weight-entries', [WeightEntryController::class, 'store'])
|
||||
->middleware('throttle:content-write')
|
||||
->name('weight-entries.store');
|
||||
Route::delete('weight-entries/{weightEntry}', [WeightEntryController::class, 'destroy'])
|
||||
->middleware('throttle:content-write')
|
||||
->name('weight-entries.destroy');
|
||||
Route::get('weekly-reviews', [WeeklyReviewController::class, 'index'])->name('weekly-reviews.index');
|
||||
Route::get('weekly-reviews/current', [WeeklyReviewController::class, 'current'])->name('weekly-reviews.current');
|
||||
Route::post('weekly-reviews/{weeklyReview}/accept', [WeeklyReviewController::class, 'accept'])
|
||||
->middleware('throttle:account-action')
|
||||
->name('weekly-reviews.accept');
|
||||
});
|
||||
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended', 'onboarded'])->group(function (): void {
|
||||
Route::post('device-tokens', [DeviceTokenController::class, 'store'])->middleware('throttle:device-token');
|
||||
Route::delete('device-tokens', [DeviceTokenController::class, 'destroy'])->middleware('throttle:device-token');
|
||||
Route::get('notifications', [NotificationController::class, 'index'])->name('notifications.index');
|
||||
@@ -74,13 +105,13 @@ Route::post('webhooks/revenuecat', [RevenueCatController::class, 'webhook'])
|
||||
->name('revenuecat.webhook');
|
||||
|
||||
// Billing
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])->prefix('billing')->group(function (): void {
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended', 'onboarded'])->prefix('billing')->group(function (): void {
|
||||
Route::post('sync', [RevenueCatController::class, 'sync'])
|
||||
->middleware('throttle:account-action')
|
||||
->name('billing.sync');
|
||||
});
|
||||
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended', 'onboarded'])
|
||||
->prefix('certification')
|
||||
->group(function (): void {
|
||||
Route::get('/', [CertificationController::class, 'show'])->name('certification.show');
|
||||
@@ -90,7 +121,7 @@ Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])
|
||||
});
|
||||
|
||||
// Workouts
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])->group(function (): void {
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended', 'onboarded'])->group(function (): void {
|
||||
Route::get('workouts/calendar', [WorkoutSessionController::class, 'calendar'])->name('workouts.calendar');
|
||||
Route::get('workouts', [WorkoutSessionController::class, 'index'])->name('workouts.index');
|
||||
Route::post('workouts', [WorkoutSessionController::class, 'store'])->middleware('throttle:content-write')->name('workouts.store');
|
||||
@@ -102,7 +133,7 @@ Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])->group(function
|
||||
});
|
||||
|
||||
// Meals
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended'])->group(function (): void {
|
||||
Route::middleware(['auth:sanctum', 'verified', 'not_suspended', 'onboarded'])->group(function (): void {
|
||||
Route::get('search', SearchController::class)->name('search');
|
||||
Route::get('users/{user}', [PublicUserProfileController::class, 'show'])->name('users.show');
|
||||
Route::get('me/blocked-users', [UserBlockController::class, 'index'])->name('users.blocks.index');
|
||||
|
||||
Reference in New Issue
Block a user