Build
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use App\Models\JobPost;
|
||||
use App\Models\ProviderProfile;
|
||||
use App\Models\WorkOrder;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::get('/providers', function () {
|
||||
return ProviderProfile::with('user:id,name')->latest()->paginate(20);
|
||||
});
|
||||
|
||||
Route::get('/jobs', function () {
|
||||
return JobPost::with('buyer:id,name')->latest()->paginate(20);
|
||||
});
|
||||
|
||||
Route::middleware('auth:sanctum')->group(function () {
|
||||
Route::get('/me', function (Request $request) {
|
||||
return $request->user()->load('roles', 'providerProfile', 'buyerProfile');
|
||||
});
|
||||
|
||||
Route::get('/work-orders', function (Request $request) {
|
||||
return WorkOrder::with('jobPost:id,title,location', 'buyer:id,name', 'provider:id,name')
|
||||
->where(fn ($query) => $query
|
||||
->where('buyer_id', $request->user()->id)
|
||||
->orWhere('provider_id', $request->user()->id)
|
||||
)
|
||||
->latest()
|
||||
->paginate(20);
|
||||
});
|
||||
});
|
||||
@@ -1,6 +1,15 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\BuyerProfileController;
|
||||
use App\Http\Controllers\DisputeController;
|
||||
use App\Http\Controllers\ExternalProfileImportController;
|
||||
use App\Http\Controllers\JobPostController;
|
||||
use App\Http\Controllers\ProviderProfileController;
|
||||
use App\Http\Controllers\QuoteController;
|
||||
use App\Http\Controllers\ReviewController;
|
||||
use App\Http\Controllers\SocialPostController;
|
||||
use App\Http\Controllers\WorkOrderController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::get('/', function () {
|
||||
@@ -15,6 +24,35 @@ Route::middleware('auth')->group(function () {
|
||||
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
||||
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
||||
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
||||
|
||||
Route::get('/provider-profile', [ProviderProfileController::class, 'edit'])->name('providers.edit');
|
||||
Route::put('/provider-profile', [ProviderProfileController::class, 'update'])->name('providers.update');
|
||||
Route::post('/provider-profile/imports', [ExternalProfileImportController::class, 'store'])->name('provider-imports.store');
|
||||
|
||||
Route::get('/buyer-profile', [BuyerProfileController::class, 'edit'])->name('buyers.edit');
|
||||
Route::put('/buyer-profile', [BuyerProfileController::class, 'update'])->name('buyers.update');
|
||||
|
||||
Route::post('/feed', [SocialPostController::class, 'store'])->name('feed.store');
|
||||
|
||||
Route::get('/jobs/create', [JobPostController::class, 'create'])->name('jobs.create');
|
||||
Route::post('/jobs', [JobPostController::class, 'store'])->name('jobs.store');
|
||||
Route::post('/jobs/{job}/quotes', [QuoteController::class, 'store'])->name('quotes.store');
|
||||
Route::post('/quotes/{quote}/accept', [QuoteController::class, 'accept'])->name('quotes.accept');
|
||||
|
||||
Route::get('/work-orders', [WorkOrderController::class, 'index'])->name('work-orders.index');
|
||||
Route::get('/work-orders/{workOrder}', [WorkOrderController::class, 'show'])->name('work-orders.show');
|
||||
Route::patch('/work-orders/{workOrder}/transition', [WorkOrderController::class, 'transition'])->name('work-orders.transition');
|
||||
Route::post('/work-orders/{workOrder}/reviews', [ReviewController::class, 'store'])->name('reviews.store');
|
||||
Route::post('/work-orders/{workOrder}/disputes', [DisputeController::class, 'store'])->name('disputes.store');
|
||||
Route::get('/disputes/{dispute}', [DisputeController::class, 'show'])->name('disputes.show');
|
||||
});
|
||||
|
||||
Route::get('/providers', [ProviderProfileController::class, 'index'])->name('providers.index');
|
||||
Route::get('/providers/{provider}', [ProviderProfileController::class, 'show'])->name('providers.show');
|
||||
Route::get('/buyers', [BuyerProfileController::class, 'index'])->name('buyers.index');
|
||||
Route::get('/buyers/{buyer}', [BuyerProfileController::class, 'show'])->name('buyers.show');
|
||||
Route::get('/feed', [SocialPostController::class, 'index'])->name('feed.index');
|
||||
Route::get('/jobs', [JobPostController::class, 'index'])->name('jobs.index');
|
||||
Route::get('/jobs/{job}', [JobPostController::class, 'show'])->name('jobs.show');
|
||||
|
||||
require __DIR__.'/auth.php';
|
||||
|
||||
Reference in New Issue
Block a user