update deploy

This commit is contained in:
bulut
2026-03-27 10:41:54 +03:00
parent 69d19c0176
commit 6f6448aa06
422 changed files with 37956 additions and 0 deletions

View File

@@ -0,0 +1,118 @@
<?php
namespace App\Http\Controllers\Api\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use App\Models\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use OpenApi\Attributes as OA;
class AuthController extends Controller
{
#[OA\Post(
path: '/api/admin/login',
summary: 'Admin girişi',
description: 'E-posta ve şifre ile giriş yaparak Sanctum token alır.',
tags: ['Auth'],
requestBody: new OA\RequestBody(
required: true,
content: new OA\JsonContent(
required: ['email', 'password'],
properties: [
new OA\Property(property: 'email', type: 'string', format: 'email', example: 'admin@bogazicidenizcilik.com.tr'),
new OA\Property(property: 'password', type: 'string', format: 'password', example: 'password'),
],
),
),
responses: [
new OA\Response(response: 200, description: 'Başarılı giriş', content: new OA\JsonContent(
properties: [
new OA\Property(property: 'data', type: 'object', properties: [
new OA\Property(property: 'token', type: 'string'),
new OA\Property(property: 'user', type: 'object'),
]),
],
)),
new OA\Response(response: 401, description: 'Geçersiz kimlik bilgileri'),
new OA\Response(response: 422, description: 'Validasyon hatası'),
],
)]
public function login(LoginRequest $request): JsonResponse
{
if (! Auth::attempt($request->only('email', 'password'))) {
return response()->json([
'message' => 'Geçersiz e-posta veya şifre.',
], 401);
}
/** @var User $user */
$user = Auth::user();
$token = $user->createToken('admin-token')->plainTextToken;
return response()->json([
'data' => [
'token' => $token,
'user' => [
'id' => $user->id,
'name' => $user->name,
'email' => $user->email,
'roles' => $user->getRoleNames(),
'permissions' => $user->getAllPermissions()->pluck('name'),
],
],
]);
}
#[OA\Get(
path: '/api/admin/me',
summary: 'Mevcut kullanıcı bilgileri',
description: 'Oturum açmış kullanıcının bilgilerini, rollerini ve izinlerini döndürür.',
security: [['sanctum' => []]],
tags: ['Auth'],
responses: [
new OA\Response(response: 200, description: 'Kullanıcı bilgileri'),
new OA\Response(response: 401, description: 'Yetkisiz erişim'),
],
)]
public function me(Request $request): JsonResponse
{
/** @var User $user */
$user = $request->user();
return response()->json([
'data' => [
'id' => $user->id,
'name' => $user->name,
'email' => $user->email,
'roles' => $user->getRoleNames(),
'permissions' => $user->getAllPermissions()->pluck('name'),
],
]);
}
#[OA\Post(
path: '/api/admin/logout',
summary: ıkış yap',
description: 'Mevcut token\'ı iptal eder.',
security: [['sanctum' => []]],
tags: ['Auth'],
responses: [
new OA\Response(response: 200, description: 'Başarıyla çıkış yapıldı'),
new OA\Response(response: 401, description: 'Yetkisiz erişim'),
],
)]
public function logout(Request $request): JsonResponse
{
/** @var User $user */
$user = $request->user();
$user->currentAccessToken()->delete();
return response()->json([
'message' => 'Başarıyla çıkış yapıldı.',
]);
}
}