#116 - cr fix
This commit is contained in:
		
							
								
								
									
										22
									
								
								app/Infrastructure/Slack/Elements/AbsencesAttachment.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								app/Infrastructure/Slack/Elements/AbsencesAttachment.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Slack\Elements; | ||||
|  | ||||
| use Illuminate\Support\Collection; | ||||
| use Toby\Eloquent\Models\Vacation; | ||||
|  | ||||
| class AbsencesAttachment extends ListAttachment | ||||
| { | ||||
|     public function __construct(Collection $absences) | ||||
|     { | ||||
|         parent::__construct(); | ||||
|  | ||||
|         $this | ||||
|             ->setTitle("Nieobecności :palm_tree:") | ||||
|             ->setColor("#eab308") | ||||
|             ->setItems($absences->map(fn(Vacation $vacation): string => $vacation->user->profile->full_name)) | ||||
|             ->setEmptyText("Wszyscy dzisiaj pracują :muscle:"); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										12
									
								
								app/Infrastructure/Slack/Elements/Attachment.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								app/Infrastructure/Slack/Elements/Attachment.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Slack\Elements; | ||||
|  | ||||
| use Illuminate\Contracts\Support\Arrayable; | ||||
| use Spatie\SlashCommand\Attachment as BaseAttachment; | ||||
|  | ||||
| class Attachment extends BaseAttachment implements Arrayable | ||||
| { | ||||
| } | ||||
							
								
								
									
										22
									
								
								app/Infrastructure/Slack/Elements/BirthdaysAttachment.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								app/Infrastructure/Slack/Elements/BirthdaysAttachment.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Slack\Elements; | ||||
|  | ||||
| use Illuminate\Support\Collection; | ||||
| use Toby\Eloquent\Models\User; | ||||
|  | ||||
| class BirthdaysAttachment extends ListAttachment | ||||
| { | ||||
|     public function __construct(Collection $birthdays) | ||||
|     { | ||||
|         parent::__construct(); | ||||
|  | ||||
|         $this | ||||
|             ->setTitle("Urodziny :birthday:") | ||||
|             ->setColor("#3c5f97") | ||||
|             ->setItems($birthdays->map(fn(User $user): string => $user->profile->full_name)) | ||||
|             ->setEmptyText("Dzisiaj nikt nie ma urodzin :cry:"); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										21
									
								
								app/Infrastructure/Slack/Elements/KeysAttachment.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								app/Infrastructure/Slack/Elements/KeysAttachment.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Slack\Elements; | ||||
|  | ||||
| use Illuminate\Support\Collection; | ||||
| use Toby\Eloquent\Models\Key; | ||||
|  | ||||
| class KeysAttachment extends ListAttachment | ||||
| { | ||||
|     public function __construct(Collection $keys) | ||||
|     { | ||||
|         parent::__construct(); | ||||
|  | ||||
|         $this | ||||
|             ->setColor("#3c5f97") | ||||
|             ->setItems($keys->map(fn(Key $key): string => "Klucz nr {$key->id} - <@{$key->user->profile->slack_id}>")) | ||||
|             ->setEmptyText("Nie ma żadnych kluczy w tobym"); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										36
									
								
								app/Infrastructure/Slack/Elements/ListAttachment.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								app/Infrastructure/Slack/Elements/ListAttachment.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Slack\Elements; | ||||
|  | ||||
| use Illuminate\Support\Collection; | ||||
|  | ||||
| class ListAttachment extends Attachment | ||||
| { | ||||
|     protected Collection $items; | ||||
|     protected string $emptyText = ""; | ||||
|  | ||||
|     public function setItems(Collection $items): static | ||||
|     { | ||||
|         $this->items = $items; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function setEmptyText(string $emptyText): static | ||||
|     { | ||||
|         $this->emptyText = $emptyText; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function toArray(): array | ||||
|     { | ||||
|         $fields = parent::toArray(); | ||||
|  | ||||
|         return array_merge($fields, [ | ||||
|             "text" => $this->items->isNotEmpty() ? $this->items->implode("\n") : $this->emptyText, | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										22
									
								
								app/Infrastructure/Slack/Elements/RemotesAttachment.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								app/Infrastructure/Slack/Elements/RemotesAttachment.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Toby\Infrastructure\Slack\Elements; | ||||
|  | ||||
| use Illuminate\Support\Collection; | ||||
| use Toby\Eloquent\Models\Vacation; | ||||
|  | ||||
| class RemotesAttachment extends ListAttachment | ||||
| { | ||||
|     public function __construct(Collection $remoteDays) | ||||
|     { | ||||
|         parent::__construct(); | ||||
|  | ||||
|         $this | ||||
|             ->setTitle("Praca zdalna :house_with_garden:") | ||||
|             ->setColor("#527aba") | ||||
|             ->setItems($remoteDays->map(fn(Vacation $vacation): string => $vacation->user->profile->full_name)) | ||||
|             ->setEmptyText("Wszyscy dzisiaj są w biurze :boom:"); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user