feat: Implement new admin API endpoints for product, customer, vCenter, and authentication, and add vCenter resource management UI.

This commit is contained in:
pbao9
2026-03-05 14:30:31 +07:00
parent 68540009c0
commit cca4e0b86f
47 changed files with 3538 additions and 1086 deletions
+4
View File
@@ -28,4 +28,8 @@ class ModuleHost extends Model
{
return $this->hasMany(\App\Models\ModuleDatastore::class);
}
public function network()
{
return $this->hasMany(\App\Models\ModuleNetwork::class);
}
}
+4
View File
@@ -22,4 +22,8 @@ class ModuleNetwork extends Model
{
return $this->belongsTo(\App\Models\ModuleHost::class,'module_host_id','id');
}
public function ipAddresses()
{
return $this->hasMany(\App\Models\ModuleIpAddress::class, 'module_network_id');
}
}
+12 -1
View File
@@ -8,8 +8,9 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
use Spatie\Permission\Traits\HasRoles;
use Tymon\JWTAuth\Contracts\JWTSubject;
class User extends Authenticatable
class User extends Authenticatable implements JWTSubject
{
use HasApiTokens, HasFactory, Notifiable;
use HasRoles;
@@ -48,4 +49,14 @@ class User extends Authenticatable
'email_verified_at' => 'datetime',
];
public function getJWTIdentifier()
{
return $this->getKey();
}
public function getJWTCustomClaims()
{
return [];
}
}
+1 -1
View File
@@ -20,7 +20,7 @@ class vCenter extends Model
];
public function datacenters()
{
return $this->hasMany(\App\Models\ModuleDatacenter::class);
return $this->hasMany(\App\Models\ModuleDatacenter::class, 'vcenter_id');
}
public function getStatus()
{