
* #132 - added translations * wip * #132 - added translations * #132 - cs fix * #132 - cs fix Co-authored-by: Adrian Hopek <adrian.hopek@blumilk.pl>
37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Toby\Infrastructure\Slack\Handlers;
|
|
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Collection;
|
|
use Spatie\SlashCommand\Request;
|
|
use Spatie\SlashCommand\Response;
|
|
use Toby\Domain\DailySummaryRetriever;
|
|
use Toby\Infrastructure\Slack\Elements\AbsencesAttachment;
|
|
use Toby\Infrastructure\Slack\Elements\BirthdaysAttachment;
|
|
use Toby\Infrastructure\Slack\Elements\RemotesAttachment;
|
|
|
|
class DailySummary extends SignatureHandler
|
|
{
|
|
protected $signature = "toby dzisiaj";
|
|
protected $description = "Daily summary";
|
|
|
|
public function handle(Request $request): Response
|
|
{
|
|
$dailySummaryRetriever = app()->make(DailySummaryRetriever::class);
|
|
|
|
$now = Carbon::today();
|
|
|
|
$attachments = new Collection([
|
|
new AbsencesAttachment($dailySummaryRetriever->getAbsences($now)),
|
|
new RemotesAttachment($dailySummaryRetriever->getRemoteDays($now)),
|
|
new BirthdaysAttachment($dailySummaryRetriever->getBirthdays($now)),
|
|
]);
|
|
|
|
return $this->respondToSlack(__("Summary for the day :day", ["day" => $now->toDisplayString()]))
|
|
->withAttachments($attachments->all());
|
|
}
|
|
}
|