count(); } public static function associateApplications($client_id, $applications) { $client_name = Clients::getName($client_id); foreach ($applications as $key => $application_id) { $application = Applications::get($application_id); if ($application) { self::associateApplication($client_id, $application_id); } } return true; } public static function associateApplication($client_id, $application_id) { return ApplicationClient::create(['client_id' => $client_id, 'application_id' => $application_id, 'active' => true]); } public static function dissociateApplications($client_id, $applications) { $client_name = Clients::getName($client_id); foreach ($applications as $key => $application_id) { self::dissociateApplication($client_id, $application_id); } return true; } public static function dissociateApplication($client_id, $application_id) { return ApplicationClient::byClient($client_id)->byApplication($application_id)->delete(); } public static function getByClient($id) { return ApplicationClient::byClient($id)->get()->toArray(); } public static function getByApplication($id) { return ApplicationClient::byApplication($id)->get()->toArray(); } public static function getClientsByApplication($id) { return ApplicationClient::byApplication($id)->get()->pluck('client_id')->toArray(); } public static function getApplicationsByClient($id) { return ApplicationClient::byClient($id)->get()->pluck('application_id')->toArray(); } public static function isActiveByName($name) { return (! Clients::isClient()) ? true : ApplicationClient::bySlug($name)->byClient(Clients::getId())->first()->active ?? false; } }