'datetime', 'password' => 'hashed', 'is_active' => 'boolean', ]; public function tenant() { return $this->belongsTo(Tenant::class); } public function managedProjects() { return $this->hasMany(Project::class, 'manager_id'); } public function projects() { return $this->belongsToMany(Project::class, 'project_users') ->withPivot('role') ->withTimestamps(); } public function assignedTasks() { return $this->hasMany(Task::class, 'assignee_id'); } public function getLocale(): string { return $this->locale ?? $this->tenant?->default_locale ?? config('Vernova.default_locale', 'fa'); } public function getCalendar(): string { return $this->preferred_calendar ?? $this->tenant?->default_calendar ?? config('Vernova.default_calendar', 'jalali'); } public function getDirection(): string { return in_array($this->getLocale(), config('Vernova.rtl_locales', [])) ? 'rtl' : 'ltr'; } }