* - directory refactor * - readme.md update * Update readme.md Co-authored-by: Adrian Hopek <adrian.hopek@blumilk.pl> * Update readme.md Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com> * Update readme.md Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com> * Update readme.md Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com> * Update readme.md Co-authored-by: Adrian Hopek <adrian.hopek@blumilk.pl> Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com>
		
			
				
	
	
		
			35 lines
		
	
	
		
			895 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			895 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| declare(strict_types=1);
 | |
| 
 | |
| namespace Toby\Domain;
 | |
| 
 | |
| use Illuminate\Support\Carbon;
 | |
| use Illuminate\Support\Collection;
 | |
| use Toby\Eloquent\Models\YearPeriod;
 | |
| use Yasumi\Holiday;
 | |
| use Yasumi\Yasumi;
 | |
| 
 | |
| class PolishHolidaysRetriever
 | |
| {
 | |
|     protected const PROVIDER_KEY = "Poland";
 | |
|     protected const LANG_KEY = "pl";
 | |
| 
 | |
|     public function getForYearPeriod(YearPeriod $yearPeriod): Collection
 | |
|     {
 | |
|         $polishProvider = Yasumi::create(static::PROVIDER_KEY, $yearPeriod->year);
 | |
| 
 | |
|         $holidays = $polishProvider->getHolidays();
 | |
| 
 | |
|         return $this->prepareHolidays($holidays);
 | |
|     }
 | |
| 
 | |
|     protected function prepareHolidays(array $holidays): Collection
 | |
|     {
 | |
|         return collect($holidays)->map(fn(Holiday $holiday) => [
 | |
|             "name" => $holiday->getName([static::LANG_KEY]),
 | |
|             "date" => Carbon::createFromTimestamp($holiday->getTimestamp()),
 | |
|         ])->values();
 | |
|     }
 | |
| }
 |