first commit

This commit is contained in:
2024-12-27 16:50:09 +07:00
commit 50972774c7
89 changed files with 11319 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
<?php
namespace App\Http\Controllers;
use App\Models\UsersModel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Support\Facades\Hash;
use Psy\TabCompletion\Matcher\FunctionsMatcher;
use Symfony\Component\HttpFoundation\Response;
class AuthController extends Controller
{
public function index()
{
return response()->json(['message' => 'succes', 'data' => 'data user'], 200);
}
public function login(Request $request)
{
if (!Auth::attempt($request->only('email', 'password'))) {
return response()->json(['status' => 'error', 'message' => 'invalid credentials'], Response::HTTP_UNAUTHORIZED);
}
$user = Auth::user();
$token = $user->createToken('token')->plainTextToken;
$cookie = cookie('jwt', $token, 60 * 2);
UsersModel::where('id', $user->id)
->update(['remember_token' => $token]);
return response()->json([
'data' => UsersModel::select(['id', 'user_name', 'name', 'email'])->where('id', $user->id)->first(),
'token' => $token,
'metadata' => ['status' => 'Ok', 'message' => 'Success']
])->withCookie($cookie);
}
public function userAuth()
{
$user = Auth::user();
return response()->json(['data' => 'hallloooo', 'metadata' => ['status' => 'Ok', 'message' => 'success']]);
// return $user;
}
public function logout()
{
$cookie = Cookie::forget('jwt');
// if ($cookie) {
// return response()->json(['metadata' => ['status' => '400', 'message' => 'error']], Response::HTTP_BAD_REQUEST);
// } else {
// }
return response()->json(['metadata' => ['status' => 'Ok', 'message' => 'success']])->withCookie($cookie);
}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
+14
View File
@@ -0,0 +1,14 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class LoginController extends Controller
{
//
public function index(){
return response()->json(['message'=>'succes','data'=>''],200);
}
}
@@ -0,0 +1,52 @@
<?php
namespace App\Http\Controllers\Users;
use App\Http\Controllers\Controller;
use App\Models\UsersModel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Cache;
class UserController extends Controller
{
public function index()
{
$CacheKey = 'AllUser';
$userKey = 'User';
$users = UsersModel::get();
$user = UsersModel::limit(1)->get();
Cache::put($CacheKey, $users, 50);
Cache::put($userKey, $user, 50);
session(['User' => Cache::get($userKey)]);
return response()->json(['listUser' => $users, 'User' => Cache::get($userKey)], 200);
}
public function register(Request $request)
{
$User = UsersModel::create([
'user_name' => $request->input('user_name'),
'name' => $request->input('name'),
'email' => $request->input('email'),
'password' => Hash::make($request->input('password')),
]);
return response()->json(['data' => $User, 'metadata' => ['status' => 'oke', 'message' => 'success']], 200);
}
public function getUser($id, Request $param)
{
$user = UsersModel::find($id);
return response()->json(['User' => $param->input('user_id')], 200);
}
public function updateUser(Request $request, $id)
{
$update = UsersModel::update([
'nama' => $param->input('nama'),
'email' => $param->input('email'),
'password' => Hash::make($param->input('pass'))
]);
return response()->json(['User' => 'oke'], 200);
}
}