Hello.
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\TeamController;
use App\Http\Controllers\ThemeController;
use App\Http\Controllers\PluginController;
use App\Http\Controllers\CompanyController;
use App\Http\Controllers\ProjectController;
use App\Models\ProjectCollaborationRequestTeam;
use App\Models\ProjectCollaborationRequestUser;
use App\Http\Controllers\ProjectBillingController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\FeedbackController;
use App\Http\Controllers\AdminLoginController;
use App\Models\ProjectCollaborationRequestCompany;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your applica tion. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('guest:api')->group(function() {
Route::post('/login', [AuthController::class, 'login']);
Route::get('/login', [AuthController::class, 'login']);
Route::post('/register', [AuthController::class, 'register']);
Route::post('/authOtp', [AuthController::class, 'authOtp']);
Route::post('/checkuser', [AuthController::class, 'checkUser']);
Route::post('updatePassword', [AuthController::class, 'updatePassword']); // login user session details
Route::post('deleteUser', [AuthController::class, 'deleteUser']); // delete user
//admin login
Route::post('/admin/login', [AdminLoginController::class, 'login']);
});
Route::middleware([
'auth:api',
'bindings',
])->group(function() {
// all routes will be POST, PUT, PATCH, DELETE
//for get auth user details
Route::get('/getUserDetails', function () {
return auth()->user();
});
Route::post('/updateUserDetails',[AuthController::class, 'updateUserDetails']);
Route::post('/addConnecterJson', [ProjectController::class, 'addConnecterJson']);
Route::patch('updatePackageList/{plugin?}/{version?}', [PluginController::class, 'updatePackageList']);
Route::delete('deletePackageList/{plugin}',[PluginController::class,'deletePackageList']);
// company routes
Route::put('/company', [CompanyController::class, 'put']); // add
Route::patch('/company/{company}', [CompanyController::class, 'patch']); // update
Route::delete('/company/{company}', [CompanyController::class, 'delete']); // delete
// company user routes
Route::put('/company/{company}/user/{user}', [CompanyController::class, 'putUser']); // add company user
Route::patch('/company/{company}/user/{user}', [CompanyController::class, 'patchUser']); // update company user (for permissions)
Route::delete('/company/{company}/user/{user}', [CompanyController::class, 'deleteUser']); // delete company user
// team routes
Route::post('/company/{company}/teams', [TeamController::class, 'index']); // show all company teams
Route::post('/teams', [TeamController::class, 'index']); // show all teams (of the user)
Route::put('/company/{company}/team', [TeamController::class, 'put']); // add team
Route::patch('/team/{team}', [TeamController::class, 'patch']); // update team
Route::delete('/team/{team}', [TeamController::class, 'delete']); // delete team
// team user routes
Route::put('/team/{team}/user/{user}', [TeamController::class, 'putUser']); // add team user
Route::patch('/team/{team}/user/{user}', [TeamController::class, 'patchUser']); // update team user (for permissions)
Route::delete('/team/{team}/user/{user}', [TeamController::class, 'deleteUser']); // delete team user
// project routes
Route::post('/project/{project}', [ProjectController::class, 'index']); // show project
Route::post('/projects', [ProjectController::class, 'indexAll']); // show all projects (of the user)
Route::put('/team/{team}/project', [ProjectController::class, 'put']); // add project
Route::patch('/project/{project}', [ProjectController::class, 'patch']); // update project
Route::delete('/project/{project}', [ProjectController::class, 'delete']); // delete project
Route::put('/project/{project}/user/{user}', [ProjectCollaborationRequestUser::class, 'put']); // send collaboration request to user
Route::patch('/project/{project}/user/{user}', [ProjectCollaborationRequestUser::class, 'patch']); // modify the collaboration request sent to the user
Route::put('/project/{project}/team/{team}', [ProjectCollaborationRequestTeam::class, 'put']); // send collaboration request to team
Route::patch('/project/{project}/team/{team}', [ProjectCollaborationRequestTeam::class, 'patch']); // modify the collaboration request sent to the team
Route::put('/project/{project}/company/{company}', [ProjectCollaborationRequestCompany::class, 'put']); // send collaboration request to company
Route::patch('/project/{project}/company/{company}', [ProjectCollaborationRequestCompany::class, 'patch']); // modify the collaboration request sent to the company
// project plugin routes
Route::patch('/project/{project}/plugins', [ProjectController::class, 'syncPlugins']); // sync project plugins with this list
Route::post('projects/user', [ProjectController::class, 'syncUserplugins']); // sync project user with this list
Route::post('projects/environment', [ProjectController::class, 'updateComposerJson']); // add and update the composer json in the database.
Route::post('composer/addqueue', [PluginController::class, 'addQueue']); // add composer queue in the project
Route::post('plugins/user', [PluginController::class, 'getUserPlugins']); // this plugin list for the list users
Route::post('plugins/addremove', [PluginController::class, 'addRemoveUserPlugins']); // add remove plugin list for the list users
Route::post('plugins/session', [PluginController::class, 'userSession']); // login user session details
Route::post('plugins/sessionStore', [PluginController::class, 'userSessionStore']); // login user session details
Route::patch('/project/{project}/plugin/{plugin}')->scopeBindings(); // update project plugin
//project billing routes
Route::post('/project/{project}/billing', [ProjectBillingController::class, 'index']);
// user routes
Route::post('/user/{user}/projects', [UserController::class, 'projects']); // show all the projects this user has access to
Route::post('/user/{user}',[UserController::class,'index']);
Route::post('/projectPlugins', [PluginController::class, 'projectPlugins']);
Route::post('/feebackform', [FeedbackController::class, 'feebackform']);
//get Plugin data by type
Route::post('/getPluginData', [PluginController::class, 'getPluginData']);
Route::post('/getEnvByProject', [ProjectController::class, 'getEnvByProject']);
// get package List
Route::post('/packageList', [PluginController::class, 'packageList']);
});
Route::post('/plugins', [PluginController::class, 'index']);
Route::post('/allplugins', [PluginController::class, 'allPlugins']);
Route::post('/allVersion', [PluginController::class, 'allVersions']);
Route::post('/themes', [ThemeController::class, 'index']);