Files
portal-api/app/Support/HostingCredentials.php
T
baodev0andClaude Sonnet 5.5 b44a88bb52 feat(service): huỷ dịch vụ, SSL, đổi mật khẩu hosting, lịch sử thanh toán theo hình thức
- Lịch sử thanh toán hoá đơn trả thêm `method` (tự động gia hạn / số dư / admin / chuyển khoản / hoàn tiền), bỏ đuôi `(method)` khỏi ghi chú
- `DnsServer::panelUrl()` = https://<domain>/ dùng cho email cấp hosting và nút Plesk của khách
- Order item trả thêm `uuid`/`type` của dịch vụ để FE dẫn tới trang quản lý
- Yêu cầu huỷ dịch vụ, chứng chỉ SSL, lịch sử gia hạn, đổi mật khẩu hosting cho khách

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 16:40:24 +07:00

36 lines
943 B
PHP

<?php
namespace App\Support;
use App\Models\ModuleHostingPleskClient;
use App\Models\Service;
use Illuminate\Support\Facades\Crypt;
class HostingCredentials
{
public static function attach(iterable $services): void
{
foreach ($services as $service) {
$service->setAttribute('hosting_credentials', self::for($service));
}
}
public static function for(Service $service): ?array
{
$hosting = $service->hostingAccount;
$client = $hosting ? ModuleHostingPleskClient::forHosting($hosting) : null;
if (!$client) {
return null;
}
return [
'host' => $hosting->server?->publicHost(),
'ip' => $hosting->server?->ip_address,
'panel_url' => $hosting->server?->panelUrl(),
'username' => $client->login,
'password' => Crypt::decryptString($client->password),
];
}
}