Merge branch 'main' into #126-vacation-request-reminders
# Conflicts: # app/Domain/Actions/VacationRequest/CreateAction.php # app/Domain/Validation/Rules/DoesNotExceedLimitRule.php
This commit is contained in:
		@@ -8,14 +8,17 @@ use Database\Factories\KeyFactory;
 | 
			
		||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
 | 
			
		||||
use Illuminate\Database\Eloquent\Model;
 | 
			
		||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
 | 
			
		||||
use Illuminate\Notifications\Notifiable;
 | 
			
		||||
use Toby\Domain\Notifications\Notifiable as NotifiableInterface;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @property int $id
 | 
			
		||||
 * @property User $user
 | 
			
		||||
 */
 | 
			
		||||
class Key extends Model
 | 
			
		||||
class Key extends Model implements NotifiableInterface
 | 
			
		||||
{
 | 
			
		||||
    use HasFactory;
 | 
			
		||||
    use Notifiable;
 | 
			
		||||
 | 
			
		||||
    protected $guarded = [];
 | 
			
		||||
 | 
			
		||||
@@ -24,6 +27,11 @@ class Key extends Model
 | 
			
		||||
        return $this->belongsTo(User::class);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function routeNotificationForSlack(): string
 | 
			
		||||
    {
 | 
			
		||||
        return config("services.slack.default_channel");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected static function newFactory(): KeyFactory
 | 
			
		||||
    {
 | 
			
		||||
        return KeyFactory::new();
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@ use Toby\Eloquent\Helpers\ColorGenerator;
 | 
			
		||||
 * @property string $position
 | 
			
		||||
 * @property EmploymentForm $employment_form
 | 
			
		||||
 * @property Carbon $employment_date
 | 
			
		||||
 * @property Carbon $birthday
 | 
			
		||||
 */
 | 
			
		||||
class Profile extends Model
 | 
			
		||||
{
 | 
			
		||||
@@ -30,6 +31,7 @@ class Profile extends Model
 | 
			
		||||
    protected $casts = [
 | 
			
		||||
        "employment_form" => EmploymentForm::class,
 | 
			
		||||
        "employment_date" => "date",
 | 
			
		||||
        "birthday" => "date",
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    public function user(): BelongsTo
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ use Illuminate\Notifications\Notifiable;
 | 
			
		||||
use Illuminate\Support\Collection;
 | 
			
		||||
use Toby\Domain\Enums\EmploymentForm;
 | 
			
		||||
use Toby\Domain\Enums\Role;
 | 
			
		||||
use Toby\Domain\Notifications\Notifiable as NotifiableInterface;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @property int $id
 | 
			
		||||
@@ -26,7 +27,7 @@ use Toby\Domain\Enums\Role;
 | 
			
		||||
 * @property Collection $vacationRequests
 | 
			
		||||
 * @property Collection $vacations
 | 
			
		||||
 */
 | 
			
		||||
class User extends Authenticatable
 | 
			
		||||
class User extends Authenticatable implements NotifiableInterface
 | 
			
		||||
{
 | 
			
		||||
    use HasFactory;
 | 
			
		||||
    use Notifiable;
 | 
			
		||||
@@ -99,7 +100,7 @@ class User extends Authenticatable
 | 
			
		||||
            ->where("email", "ILIKE", "%{$text}%")
 | 
			
		||||
            ->orWhereRelation(
 | 
			
		||||
                "profile",
 | 
			
		||||
                fn(Builder $query) => $query
 | 
			
		||||
                fn(Builder $query): Builder => $query
 | 
			
		||||
                    ->where("first_name", "ILIKE", "%{$text}%")
 | 
			
		||||
                    ->orWhere("last_name", "ILIKE", "%{$text}%"),
 | 
			
		||||
            );
 | 
			
		||||
@@ -122,6 +123,11 @@ class User extends Authenticatable
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function routeNotificationForSlack()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->profile->slack_id;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected static function newFactory(): UserFactory
 | 
			
		||||
    {
 | 
			
		||||
        return UserFactory::new();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user