openstackid/app/models/oauth2/ResourceServer.php
Sebastian Marcet b7eb03974e Resource server ban error
Fix to allow to config several ips per resource server (IPV4/V6)

Change-Id: I73cc684009774e7dcc187ad5de425c9a1547ea76
2016-02-23 16:02:07 -03:00

105 lines
1.8 KiB
PHP

<?php
use oauth2\models\IResourceServer;
use utils\model\BaseModelEloquent;
/**
* Class ResourceServer
*/
class ResourceServer extends BaseModelEloquent implements IResourceServer
{
protected $fillable = array('host', 'ips', 'active', 'friendly_name');
protected $table = 'oauth2_resource_server';
public function getActiveAttribute()
{
return (bool)$this->attributes['active'];
}
public function getIdAttribute()
{
return (int)$this->attributes['id'];
}
public function apis()
{
return $this->hasMany('Api', 'resource_server_id');
}
public function client()
{
return $this->hasOne('Client');
}
/**
* get resource server host
* @return string
*/
public function getHost()
{
return $this->host;
}
/**
* tells if resource server is active or not
* @return bool
*/
public function isActive()
{
return $this->active;
}
/**
* get resource server friendly name
* @return mixed
*/
public function getFriendlyName()
{
return $this->friendly_name;
}
/**
* @return \oauth2\models\IClient
*/
public function getClient()
{
return $this->client()->first();
}
public function setHost($host)
{
$this->host = $host;
}
public function setActive($active)
{
$this->active = $active;
}
public function setFriendlyName($friendly_name)
{
$this->friendly_name = $friendly_name;
}
/**
* @param string $ip
* @return bool
*/
public function isOwn($ip)
{
$ips = explode(',', $this->ips);
return in_array($ip, $ips);
}
/**
* @return string
*/
public function getIPAddresses()
{
return $this->ips;
}
}