feat: Add DNS management resources and importer

- Implemented DomainCollection, DomainDetailResource, DomainNSCollection, DomainNSResource, and DomainResource for handling DNS domain and record data.
- Created VpsServiceCollection and VpsServiceResource for VPS service management.
- Added DnsManagerNS and DnsManagerUser models to represent DNS records and user associations.
- Developed AdminZoneDnsSqlImporter for importing DNS data from SQL dumps, including customer and DNS domain records.
- Added migration scripts to update the customers table with new fields and sync foreign key references for DNS tables.
- Created a migration preview document outlining the mapping and schema changes for the admin zone DNS import.
This commit is contained in:
baodev0
2026-05-26 13:54:33 +07:00
parent 520f21cb11
commit fccb0c353a
30 changed files with 4030 additions and 105 deletions
+10
View File
@@ -30,11 +30,21 @@ class DnsDomain extends Model
return $this->belongsToMany(Customer::class, 'dns_domain_user', 'domain_id', 'user_id')->withTimestamps();
}
public function users()
{
return $this->customer();
}
public function server()
{
return $this->belongsTo(DnsServer::class, 'dns_manager_server_id', 'id');
}
public function ns()
{
return $this->hasMany(DnsManagerNS::class, 'dns_manager_domain_id', 'id');
}
public function record()
{
return $this->hasMany(DnsRecord::class, 'dns_manager_domain_id', 'id');