Updated ApiController to use new Class fetching (Relationships)

Updated ApiController to use new Class fetching (Relationships)
This commit is contained in:
cp6 2022-07-20 14:37:37 +10:00
parent bb07f86deb
commit 3340d296f9

View File

@ -2,12 +2,16 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Domains;
use App\Models\IPs; use App\Models\IPs;
use App\Models\Labels; use App\Models\Labels;
use App\Models\Misc;
use App\Models\NetworkSpeed; use App\Models\NetworkSpeed;
use App\Models\OS; use App\Models\OS;
use App\Models\Pricing; use App\Models\Pricing;
use App\Models\Providers; use App\Models\Providers;
use App\Models\Reseller;
use App\Models\SeedBoxes;
use App\Models\Server; use App\Models\Server;
use App\Models\Shared; use App\Models\Shared;
use DataTables; use DataTables;
@ -21,53 +25,13 @@ class ApiController extends Controller
{ {
protected function getAllServers() protected function getAllServers()
{ {
$servers = DB::table('servers as s') $servers = Server::allServers()->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 's.id', '=', 'p.service_id')
->join('providers as pr', 's.provider_id', '=', 'pr.id')
->join('locations as l', 's.location_id', '=', 'l.id')
->join('os as o', 's.os_id', '=', 'o.id')
->get(['s.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date', 'pr.name as provider', 'l.name as location', 'o.name as os'])->toJson(JSON_PRETTY_PRINT);
return response($servers, 200); return response($servers, 200);
} }
protected function getServer($id) protected function getServer($id)
{ {
$server = DB::table('servers as s') $server = Server::server($id)->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 's.id', '=', 'p.service_id')
->join('providers as pr', 's.provider_id', '=', 'pr.id')
->join('locations as l', 's.location_id', '=', 'l.id')
->join('os as o', 's.os_id', '=', 'o.id')
->where('s.id', '=', $id)
->get(['s.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date', 'pr.name as provider', 'l.name as location', 'o.name as os']);
$yabs = DB::table('yabs')
->where('yabs.server_id', '=', $id)
->get();
$disk_speed = DB::table('disk_speed')
->where('disk_speed.server_id', '=', $id)
->get();
$network_speed = DB::table('network_speed')
->where('network_speed.server_id', '=', $id)
->get();
$labels = DB::table('labels_assigned as la')
->Join('labels as l', 'la.label_id', '=', 'l.id')
->where('la.service_id', '=', $id)
->get(['l.*']);
$ip_addresses = DB::table('ips as i')
->where('i.service_id', '=', $id)
->get(['i.*']);
$server['ip_addresses'] = $ip_addresses;
$server['yabs'] = $yabs;
$server['disk_speed'] = $disk_speed;
$server['network_speed'] = $network_speed;
$server['labels'] = $labels;
return response($server, 200); return response($server, 200);
} }
@ -79,7 +43,8 @@ class ApiController extends Controller
protected function getPricing($id) protected function getPricing($id)
{ {
$pricing = Pricing::where('id', $id)->get()->toJson(JSON_PRETTY_PRINT); $pricing = Pricing::where('id', $id)
->get()->toJson(JSON_PRETTY_PRINT);
return response($pricing, 200); return response($pricing, 200);
} }
@ -91,8 +56,7 @@ class ApiController extends Controller
protected function getNetworkSpeeds($id) protected function getNetworkSpeeds($id)
{ {
$ns = DB::table('network_speed as n') $ns = NetworkSpeed::where('server_id', '=', $id)
->where('n.server_id', '=', $id)
->get()->toJson(JSON_PRETTY_PRINT); ->get()->toJson(JSON_PRETTY_PRINT);
return response($ns, 200); return response($ns, 200);
} }
@ -105,94 +69,68 @@ class ApiController extends Controller
protected function getLabel($id) protected function getLabel($id)
{ {
$label = DB::table('labels as l') $label = Labels::where('id', '=', $id)
->where('l.id', '=', $id)
->get()->toJson(JSON_PRETTY_PRINT); ->get()->toJson(JSON_PRETTY_PRINT);
return response($label, 200); return response($label, 200);
} }
protected function getAllShared() protected function getAllShared()
{ {
$shared = DB::table('shared_hosting as sh') $shared = Shared::allSharedHosting()->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'sh.id', '=', 'p.service_id')
->get(['sh.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($shared, 200); return response($shared, 200);
} }
protected function getShared($id) protected function getShared($id)
{ {
$shared = DB::table('shared_hosting as sh') $shared = Shared::sharedHosting($id)->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'sh.id', '=', 'p.service_id')
->where('sh.id', '=', $id)
->get(['sh.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($shared, 200); return response($shared, 200);
} }
protected function getAllReseller() protected function getAllReseller()
{ {
$reseller = DB::table('reseller_hosting as rh') $reseller = Reseller::allResellerHosting()->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'rh.id', '=', 'p.service_id')
->get(['rh.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($reseller, 200); return response($reseller, 200);
} }
protected function getReseller($id) protected function getReseller($id)
{ {
$reseller = DB::table('reseller_hosting as rh') $reseller = Reseller::resellerHosting($id)->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'rh.id', '=', 'p.service_id')
->where('rh.id', '=', $id)
->get(['rh.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($reseller, 200); return response($reseller, 200);
} }
protected function getAllSeedbox() protected function getAllSeedbox()
{ {
$reseller = DB::table('seedboxes as sb') $reseller = SeedBoxes::allSeedboxes()->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'sb.id', '=', 'p.service_id')
->get(['sb.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($reseller, 200); return response($reseller, 200);
} }
protected function getSeedbox($id) protected function getSeedbox($id)
{ {
$reseller = DB::table('seedboxes as sb') $reseller = SeedBoxes::seedbox($id)->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'sb.id', '=', 'p.service_id')
->where('sb.id', '=', $id)
->get(['sb.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($reseller, 200); return response($reseller, 200);
} }
protected function getAllDomains() protected function getAllDomains()
{ {
$domains = DB::table('domains as d') $domains = Domains::allDomains()->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'd.id', '=', 'p.service_id')
->get(['d.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($domains, 200); return response($domains, 200);
} }
protected function getDomains($id) protected function getDomains($id)
{ {
$domain = DB::table('domains as d') $domain = Domains::domain($id)->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'd.id', '=', 'p.service_id')
->where('d.id', '=', $id)
->get(['d.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($domain, 200); return response($domain, 200);
} }
protected function getAllMisc() protected function getAllMisc()
{ {
$misc = DB::table('misc_services as m') $misc = Misc::allMisc()->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'm.id', '=', 'p.service_id')
->get(['m.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($misc, 200); return response($misc, 200);
} }
protected function getMisc($id) protected function getMisc($id)
{ {
$misc = DB::table('misc_services as m') $misc = Misc::misc($id)->toJson(JSON_PRETTY_PRINT);
->Join('pricings as p', 'm.id', '=', 'p.service_id')
->where('m.id', '=', $id)
->get(['m.*', 'p.id as price_id', 'p.currency', 'p.price', 'p.term', 'p.as_usd', 'p.usd_per_month', 'p.next_due_date'])->toJson(JSON_PRETTY_PRINT);
return response($misc, 200); return response($misc, 200);
} }