| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use Laravel\Sanctum\PersonalAccessToken;
class SanctumToken extends PersonalAccessToken
{
protected $table = "personal_access_tokens";
protected $fillable = [
'name',
'platform_id',
'token',
'abilities',
];
// to analysis mobile user behavior
const IOS = 1;
const ANDROID = 2;
const WEB = 3;
public const PLATFORMS = [
self::IOS => "ios",
self::ANDROID => "android",
self::WEB => "web",
];
protected $appends = [];
// accessor
public function getTypeAttribute()
{
return self::PLATFORMS[$this->attributes['platform_id']] ?? 'N/A';
}
// mutator
public function setPlatformIdAttribute(String $value)
{
$this->attributes['platform_id'] = array_search($value, self::PLATFORMS);
}
// others
public static function getPlatformId(String $platform_name) : int
{
return array_search($platform_name, SanctumToken::PLATFORMS);
}
public static function getMobilePlatforms() : array
{
return [
self::IOS,
self::ANDROID,
];
}
}