🚀 مُصادَق: تحديث برمجي جديد 2026-05-03 15:11

This commit is contained in:
Hamza-Ayed
2026-05-03 15:11:34 +03:00
parent 3aeb3220f1
commit 7cd2d91576
23 changed files with 1418 additions and 879 deletions

View File

@@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
namespace App\Modules\ApiKeys;
use App\Core\{Request, Response, Database};
@@ -9,7 +7,7 @@ use Ramsey\Uuid\Uuid;
final class ApiKeyController
{
public function list(Request $request): void
public function index(Request $request): void
{
$tenantId = $request->tenantId;
$db = Database::getInstance();
@@ -25,18 +23,13 @@ final class ApiKeyController
public function create(Request $request): void
{
$tenantId = $request->tenantId;
$userId = $request->user->user_id;
$name = $request->input('name');
if (!$name) {
Response::error('يرجى إدخال اسم المفتاح', 'VALIDATION_ERROR', 422);
return;
}
$userId = $request->user->user_id ?? $request->user->id;
$name = $request->input('name') ?: 'Default Key';
$id = Uuid::uuid4()->toString();
$publicKey = bin2hex(random_bytes(16));
$secretKey = bin2hex(random_bytes(32));
$secretHash = password_hash($secretKey, PASSWORD_BCRYPT);
$secret = bin2hex(random_bytes(32));
$secretHash = password_hash($secret, PASSWORD_BCRYPT);
$db = Database::getInstance();
$stmt = $db->prepare("INSERT INTO api_keys (id, tenant_id, user_id, name, public_key, secret_hash, is_active) VALUES (?, ?, ?, ?, ?, ?, 1)");
@@ -47,8 +40,22 @@ final class ApiKeyController
'message' => 'تم إنشاء مفتاح API بنجاح. يرجى حفظ السر لأنه لن يظهر مرة أخرى.',
'data' => [
'id' => $id,
'key' => "msq_{$publicKey}.{$secretKey}"
'public_key' => $publicKey,
'secret' => $secret
]
], 201);
}
public function revoke(Request $request, string $id): void
{
$tenantId = $request->tenantId;
$db = Database::getInstance();
$stmt = $db->prepare("UPDATE api_keys SET is_active = 0 WHERE id = ? AND tenant_id = ?");
$stmt->execute([$id, $tenantId]);
Response::json([
'success' => true,
'message' => 'تم إلغاء مفتاح API بنجاح'
]);
}
}