86 lines
3.6 KiB
PHP
Executable File
86 lines
3.6 KiB
PHP
Executable File
<?php
|
|
|
|
use App\Http\Controllers\API\ApplicationController;
|
|
use App\Http\Controllers\API\ClientController;
|
|
use App\Http\Controllers\API\ContractController;
|
|
use App\Http\Controllers\API\ResourceController;
|
|
use App\Http\Controllers\API\AccountController;
|
|
use App\Http\Controllers\API\TicketController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
Route::middleware(['localization'])->group(function (){
|
|
Route::post('/register', [ClientController::class, 'signup']);
|
|
Route::post('/login', [ClientController::class, 'login'])->middleware("throttle:30,30");
|
|
Route::post('/reset-password', [ClientController::class, 'updatePassword']);
|
|
Route::post('/forgot-password', [ClientController::class, 'sendPasswordResetLinkEmail']);
|
|
Route::post('/verify-email', [ClientController::class, 'verifyEmail']);
|
|
Route::get('/countries', [ResourceController::class, 'countries']);
|
|
Route::get('/categories', [ResourceController::class, 'categories']);
|
|
Route::get('/faqs', [ResourceController::class, 'faqs']);
|
|
|
|
Route::group(['prefix' => 'contract'],function(){
|
|
Route::post('/', [ContractController::class, 'contract']);
|
|
Route::post('import',[ContractController::class, 'import']);
|
|
});
|
|
|
|
// Route::post('/prof',[AccountController::class,'storeProfileInfo']);
|
|
Route::middleware(['auth.client','auth:api', 'auth:sanctum'])->group(function () {
|
|
/**
|
|
* Client endpoints
|
|
*/
|
|
Route::get('/client', [ClientController::class, 'client']);
|
|
Route::post('/logout', [ClientController::class, 'logout']);
|
|
Route::post('/update-client', [ClientController::class, 'updateClient']);
|
|
|
|
/**
|
|
* Account endpoints
|
|
*/
|
|
Route::group(['prefix' => 'account'], function () {
|
|
Route::get('/',[AccountController::class, 'account']);
|
|
Route::put('contacts',[AccountController::class,'storeContacts']);
|
|
Route::put('bank',[AccountController::class,'storeBankAccount']);
|
|
Route::post('add-client', [ClientController::class, 'registerClient']);
|
|
Route::get('clients', [ClientController::class, 'accountClients']);
|
|
Route::put('profile',[AccountController::class,'storeProfile'])->defaults('_config',[
|
|
'request_type' => 'profile'
|
|
]);
|
|
Route::put('profile-doc',[AccountController::class,'storeProfile'])->defaults('_config',[
|
|
'request_type' => 'document'
|
|
]);
|
|
|
|
});
|
|
|
|
/**
|
|
* Ticketing endpoints
|
|
*/
|
|
Route::group(['prefix' => 'ticket'], function () {
|
|
Route::get('/my-tickets',[TicketController::class, 'getTickets']);
|
|
Route::get('/ticket-messages',[TicketController::class,'getTicketMessages']);
|
|
Route::post('/post-message',[TicketController::class,'postMessage']);
|
|
Route::post('/post-ticket',[TicketController::class,'postTicket']);
|
|
});
|
|
|
|
/**
|
|
* Application endpoints
|
|
*/
|
|
Route::group(['prefix' => 'application'], function () {
|
|
Route::get('/',[ApplicationController::class,'get']);
|
|
Route::get('/oprosnik',[ApplicationController::class,'downloadQuestionaire']);
|
|
Route::get('new',[ApplicationController::class,'create']);
|
|
Route::post('upload/{attachment_id}',[ApplicationController::class,'upload']);
|
|
Route::post('apply',[ApplicationController::class,'apply']);
|
|
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
|