<?php

// Laravel
use Illuminate\Support\Facades\Route;

// Creatia
use App\Http\Controllers\Organisation\AdminApiController;

class OrganisationApi {

    public static function routes() {

        // Automation 
        Route::group(['middleware' => ['token:api.internal.organisation'], 'prefix' => 'internal/v2'], function ($r) {

            Route::post("organisation/{_organisation_id}/user", [AdminApiController::class, 'create_user_v2']);

            Route::put("organisation/{_organisation_id}", [AdminApiController::class, 'update_organisation_v2']);

        });

        Route::group(['middleware' => ['token:api.internal.organisation'], 'prefix' => 'internal'], function ($r) {

            // Get subnets
            Route::get("organisation", [AdminApiController::class, 'get_external_identities']);

            Route::post("organisation", [AdminApiController::class, 'create_organisation']);

            Route::get("user", [AdminApiController::class, 'get_user']);

            Route::post("organisation/{_organisation_id}/user", [AdminApiController::class, 'create_user']);

            Route::post("organisation-v2/{_organisation_id}/user", [AdminApiController::class, 'create_user_v2']);

            Route::put("organisation/{_organisation_id}", [AdminApiController::class, 'update_organisation']);

            Route::put("organisation-v2/{_organisation_id}", [AdminApiController::class, 'update_organisation_v2']);

            Route::put("organisation/{_organisation_id}/mercury", [AdminApiController::class, 'update_mercury']);

            Route::post("organisation/{_organisation_id}/right", [AdminApiController::class, 'add_product_right']);

            Route::delete("organisation/{_organisation_id}/right", [AdminApiController::class, 'remove_product_right']);

            Route::get("organisation/{_organisation_id}/right", [AdminApiController::class, 'fetch_product_right']);

        });
    }
}