Commit Graph
50 Commits
Author SHA1 Message Date
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
baodev0andClaude Sonnet 5.5 9ed77a85fd feat: VM metrics via portal-monitor integration
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 13:04:35 +07:00
baodev0andClaude Opus 5.5 ea5697cb81 feat(security): argon2id password hashing and AES for SignRSA secrets
- Hash driver read from HASH_DRIVER (argon2id in production); bcrypt
  hashes still verify and are rehashed on successful admin/client login
  since the JWT guard and guard->validate() never rehash on their own.
- Client registration uses Hash::make instead of bcrypt(), which always
  forced bcrypt regardless of the configured driver.
- SignRSA now encrypts with Crypt (AES-256-CBC + HMAC, APP_KEY) instead
  of 3DES in ECB mode without IV. Legacy 3DES values are still readable
  via RSA_KEY/RSA_PUBLIC until `secrets:reencrypt` migrates them;
  RSA_PRIVATE is no longer used.
- LegacyPortalImporter stored module_vmware.password in plaintext; it is
  now encrypted, and a migration encrypts existing plaintext rows.

Deploy: php artisan migrate, then secrets:reencrypt --dry-run and
secrets:reencrypt; remove RSA_* from env once it exits 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 19:56:38 +07:00
baodev0andClaude Opus 5.5 94614d9cb3 feat: khởi tạo/huỷ domain Plesk qua job, gửi mail hoá đơn qua queue, đính kèm triển khai
- ProvisionDnsDomainJob/SuspendDnsDomainJob: tạo domain admin lên Plesk, huỷ = suspend (is_created=3)
- Khách xem zone DNS được gán ở /dich-vu/domain, quản lý bản ghi A/AAAA/CNAME/TXT/MX/SRV
- send-mail hoá đơn đẩy SendInvoiceMailJob, preview + sửa nội dung, ghi mail.order_id
- invoice_attachments.type (payment_proof/deployment)
- CacheService xoá theo SCAN pattern, Redis không persistent mặc định
- Backfill transactions.public_code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 09:56:18 +07:00
baodev0 8651dde6b1 update 2026-10-08 11:25:28 +07:00
baodev0 82080b5b84 update fix deadcode, security 2026-09-28 08:26:29 +07:00
baodev0 3af59bd9c5 update rm deadcode 2026-09-27 11:42:40 +07:00
baodev0 82a71244ca update 2026-09-23 15:17:18 +07:00
baodev0 2365ef72e9 update email template 2026-09-09 16:56:22 +07:00
baodev0 2deb4ad74e feat: Enhance service management and transaction handling
- Implemented client access token verification middleware to secure API endpoints.
- Updated ServiceController to fetch active hosting services for authenticated users.
- Refactored OrderController to ensure order retrieval is customer-specific.
- Improved error logging in VmController for unexpected vCenter responses.
- Disabled VNPay auto-deposit in TransactionController, switching to manual deposit flow.
- Enhanced ServiceClientDetailResource to include Plesk credentials for hosting accounts.
- Adjusted VpsServiceResource to dynamically set page type based on product type.
- Added logging for PowerShellService to capture errors in RDP port changes.
- Provisioning job now resolves service plans and logs relevant information for hosting accounts.
- Updated database migrations to add necessary fields for service plans and DNS servers.
- Refactored Service and ServicePlan models to establish relationships with hosting accounts and DNS servers.
2026-08-17 11:55:48 +07:00
baodev0 e3d3dea8aa Refactor code structure for improved readability and maintainability 2026-08-10 08:37:52 +07:00
baodev0 9a3a42061d update: Change frontend URL to production environment 2026-07-24 10:44:08 +07:00
baodev0 18106877fc update cors, api test telegram 2026-07-24 10:29:41 +07:00
baodev0 3a9e9f30b5 up filesystem 2026-07-24 09:43:26 +07:00
baodev0 1459fd49a3 update 2026-07-23 10:51:58 +07:00
baodev0 5cf7411d3e update 2026-07-15 11:27:02 +07:00
baodev0 f035730a44 Add username and password fields to VirtualMachines model and database migration; update related email templates to use config for frontend URL 2026-07-14 11:10:38 +07:00
baodev0 3243473843 update logic 2026-06-15 09:11:57 +07:00
baodev0 6bb4a47bfb Add stubs for various Laravel components and scaffolding
- Created stubs for JavaScript and SASS assets.
- Added stubs for channel, command, component, controller, event, factory, job, listener, mail, middleware, migration, model, notification, observer, policy, request, resource, route provider, seeder, and validation rule.
- Implemented scaffolding for configuration, service provider, and Vite integration.
- Included example views for module structure.
- Introduced a module loader for Vite to handle asset paths dynamically.
2026-05-29 09:28:08 +07:00
baodev0 520f21cb11 feat: add GeneratesUniqueSlug class for unique slug generation
feat: create PostCategoryFactory for generating post category data

feat: create PostFactory for generating post data

feat: add retry_requested_at column to services table

feat: add vcenter provisioning fields to products table

feat: add module_host_id to os table

feat: create email_notification_templates table for email templates

feat: add scenario and format fields to template table

feat: add admin fields to transactions table

fix: update ticket table columns and types

feat: add uuid to ticket table and backfill existing records

fix: make ticket_reply user_id nullable

feat: create notifications table for user notifications

fix: make ticket uuid nullable

feat: create post_categories table for blog categories

feat: create posts table for blog posts

feat: add invoice email template for PDF generation
2026-05-25 15:39:42 +07:00
baodev0 a31d238135 feat: Implement VM suspension feature with email notification
- Added suspend method in VCenterManagerController to handle VM suspension requests.
- Introduced VmSuspendedMail for notifying customers about VM suspension.
- Created email template for VM suspension notification.
- Updated API routes to include VM suspend functionality.
- Modified cors.php to allow additional local development URL.
- Updated DatabaseSeeder to include AdminSeeder and commented out unused seeders.
- Removed deprecated Livewire components related to cart, customer email history, invoices, orders, tickets, transactions, user settings, and VPS reinstall modal.
2026-05-21 10:17:16 +07:00
pbao9 2d957d0da1 update 2026-05-18 15:01:07 +07:00
pbao9 06dbd54ecd update cors 2026-05-15 09:19:08 +07:00
pbao9 7311a20324 feat: implement admin SMTP settings management and automated order notification system 2026-05-13 10:26:47 +07:00
pbao9 cfffff96bf refactor: dynamicize jumphost credentials from database and restrict CORS allowed origins 2026-05-12 15:37:19 +07:00
pbao9 2d4f0fd4b2 update 2026-05-12 13:50:53 +07:00
pbao9 017248eeb9 refactor: Cache mail configuration, update route domains to use config() helper, and upgrade developer dependencies. 2026-03-17 11:44:42 +07:00
pbao9 4e4807dbea feat: Implement DNS management with dedicated models, repositories, requests, controllers, and services, while refactoring authentication by removing Passport and Sanctum. 2026-03-09 16:43:06 +07:00
pbao9 cca4e0b86f feat: Implement new admin API endpoints for product, customer, vCenter, and authentication, and add vCenter resource management UI. 2026-03-05 14:30:31 +07:00
pbao9 2c8c3d14cd feat: Implement VM console with dedicated layout, WMKS integration, and jQuery 3 compatibility. 2026-03-02 00:27:18 +07:00
pbao9 1cfcaee871 feat: implement VMware vCenter integration, enhance product pricing display, and update order processing logic. 2026-03-01 23:10:35 +07:00
pbao9 c720e62bda feat: Implement VNPAY callback redirection to frontend and add UUID/public code to transactions. 2026-02-19 17:01:49 +07:00
pbao9 c7215ababc feat: Implement JWT authentication for client API and add transaction verification endpoint. 2026-02-19 15:38:43 +07:00
pbao9 4dae15ffca feat: Remove the entire frontend customer portal and its associated controllers, while updating customer repositories and adding a cache table migration. 2026-02-16 16:19:22 +07:00
pbao9 4510cdc8eb feat: Implement API endpoints for retrieving product categories and their associated products. 2026-02-15 18:42:41 +07:00
pbao9 ef53ea3207 feat: Integrate L5-Swagger for API documentation and enhance VM synchronization to include host-level details. 2026-02-15 12:31:06 +07:00
pbao9 5252f9142c feat: Implement order management with datatable display and updated forms 2026-02-14 18:00:15 +07:00
pbao9 d59b2a0840 client api 2026-02-11 10:08:39 +07:00
pbao9 92151261b3 feat: Implement product and product category management with dedicated CRUD operations, services, and repositories. 2026-02-06 11:05:18 +07:00
pbao9 214fca9ef6 update 2026-02-03 09:22:40 +07:00
pbao9 17b02631e4 Refactor views to use new layout structure and update routes for administrator pages
- Changed view extends from "admin.main" to "administrator.layout.master" across multiple files.
- Updated route names in admin.php and administrator.php to reflect new structure for user, order, invoice, and other management functionalities.
- Adjusted view includes to point to the new directory structure for blocks and components.
- Ensured all permission checks remain intact while refactoring the views.
2026-02-02 10:31:11 +07:00
pbao9 cfe38232c3 update datatable 2026-01-30 13:56:32 +07:00
pbao9 68ee544ecb update 2026-01-30 10:49:48 +07:00
pbao9 891fe5d161 update 2026-01-30 09:46:12 +07:00
pbao9 8b4c93e820 update 2026-01-30 08:23:19 +07:00
pbao9 a3c3f4a577 update route customer 2026-01-29 16:55:29 +07:00
pbao9 73c5b6752f update 2026-01-29 15:52:23 +07:00
pbaodev 197fe413e5 update change password 2025-08-24 22:41:15 +07:00
pbao9 1a9ade38e8 update auth 2025-08-05 08:58:40 +07:00
pbao9 69851ac7bc Update source into github 2025-07-24 16:18:27 +07:00