tenantId; $keys = $this->apiKeyModel->findAllByTenant($tenantId); Response::json([ 'success' => true, 'data' => $keys ]); } public function create(Request $request): void { $tenantId = $request->tenantId; $data = $request->getBody(); if (empty($data['name'])) { Response::error('اسم المفتاح مطلوب', 'VALIDATION_ERROR', 422); return; } $id = \Ramsey\Uuid\Uuid::uuid4()->toString(); // Generate a random key $rawKey = bin2hex(random_bytes(32)); $prefix = substr($rawKey, 0, 8); $hashedKey = hash('sha256', $rawKey); $this->apiKeyModel->create([ 'id' => $id, 'tenant_id' => $tenantId, 'name' => $data['name'], 'key_hash' => $hashedKey, 'prefix' => $prefix, 'is_active' => 1 ]); Response::json([ 'success' => true, 'message' => 'تم إنشاء مفتاح API بنجاح', 'data' => [ 'id' => $id, 'name' => $data['name'], 'key' => $rawKey // Only shown once! ] ], 201); } }