File manager - Edit - /var/www/html/spdc/api/app/Models/User.php
Back
<?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Laravel\Sanctum\HasApiTokens; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Support\Facades\Cache; class User extends Authenticatable { public $incrementing = false; protected $keyType = 'string'; protected $fillable = [ 'id', 'document', 'registration', 'name', 'email', 'roles', 'permissions' ]; protected $hidden = [ 'roles', 'permissions' ]; public static function find($id) { // Lógica para buscar o usuário na API $cacheKey = 'user_' . $id; $userInfo = Cache::remember($cacheKey, now()->addMinutes(60), function () use ($id) { $url = env('AUTH_SERVICE_URL') . '/api/user/' . $id; $usersResponse = authServiceClient('get', $url, null, [ 'Authorization' => 'Bearer ' . authLogin()['access_token'] ]); if ($usersResponse->successful()) { return $usersResponse->json()['data']['user'] ?? null; } return null; }); // Se não encontrar o usuário, retornar null if ($userInfo) { return new static($userInfo); } return null; } /** * The scaleFunctions that belong to the ExternalAgent * * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ public function scaleFunctions(): BelongsToMany { return $this->belongsToMany(User::class, 'internal_agent_scale_function', 'user_id', 'scale_function_id'); } /** * Get all of the scaleMembers for the User * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function scaleMembers(): HasMany { return $this->hasMany(ScaleMember::class); } /** * Get all of the bdts for the User * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function bdts(): HasMany { return $this->hasMany(BDT::class); } /** * Get all of the schedules for the User * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function schedules(): HasMany { return $this->hasMany(Schedule::class); } /** * Get all of the scheduleAgents for the User * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function scheduleAgents(): HasMany { return $this->hasMany(ScheduleAgent::class); } /** * Get all of the minuteBookEntries for the User * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function minuteBookEntries(): HasMany { return $this->hasMany(MinuteBook::class); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings