BastionSSO/app/Models/OauthAuthorization.php

51 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class OauthAuthorization extends Model
{
protected $fillable = [
'user_id',
'client_id',
'scope',
'scope_fingerprint',
'revoked_at',
];
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
public function client(): BelongsTo
{
return $this->belongsTo(OauthClient::class, 'client_id');
}
public function codes(): HasMany
{
return $this->hasMany(OauthAuthorizationCode::class, 'authorization_id');
}
public function accessTokens(): HasMany
{
return $this->hasMany(OauthAccessToken::class, 'authorization_id');
}
public function refreshTokens(): HasMany
{
return $this->hasMany(OauthRefreshToken::class, 'authorization_id');
}
protected function casts(): array
{
return [
'revoked_at' => 'datetime',
];
}
}