diff --git a/.env.example b/.env.example index 0499d29..49c10a7 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ -APP_NAME=Laravel +APP_NAME="Toby HR applicaiton" APP_ENV=local APP_KEY= APP_DEBUG=true diff --git a/app/Exceptions/Handler.php b/app/Architecture/ExceptionHandler.php similarity index 54% rename from app/Exceptions/Handler.php rename to app/Architecture/ExceptionHandler.php index bd24822..746f3e1 100644 --- a/app/Exceptions/Handler.php +++ b/app/Architecture/ExceptionHandler.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Exceptions; +namespace Toby\Architecture; -use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; +use Illuminate\Foundation\Exceptions\Handler; -class Handler extends ExceptionHandler +class ExceptionHandler extends Handler { protected $dontFlash = [ "current_password", diff --git a/app/Providers/AppServiceProvider.php b/app/Architecture/Providers/AppServiceProvider.php similarity index 75% rename from app/Providers/AppServiceProvider.php rename to app/Architecture/Providers/AppServiceProvider.php index b341244..d7e58c9 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Architecture/Providers/AppServiceProvider.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Providers; +namespace Toby\Architecture\Providers; use Illuminate\Support\Carbon; use Illuminate\Support\ServiceProvider; -use Toby\Models\Holiday; -use Toby\Models\VacationLimit; -use Toby\Scopes\SelectedYearPeriodScope; +use Toby\Eloquent\Models\Holiday; +use Toby\Eloquent\Models\VacationLimit; +use Toby\Eloquent\Scopes\SelectedYearPeriodScope; class AppServiceProvider extends ServiceProvider { diff --git a/app/Providers/AuthServiceProvider.php b/app/Architecture/Providers/AuthServiceProvider.php similarity index 87% rename from app/Providers/AuthServiceProvider.php rename to app/Architecture/Providers/AuthServiceProvider.php index 01aa923..88f3b1c 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Architecture/Providers/AuthServiceProvider.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Providers; +namespace Toby\Architecture\Providers; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; diff --git a/app/Providers/EventServiceProvider.php b/app/Architecture/Providers/EventServiceProvider.php similarity index 52% rename from app/Providers/EventServiceProvider.php rename to app/Architecture/Providers/EventServiceProvider.php index 2fdf5c3..409c95a 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Architecture/Providers/EventServiceProvider.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Toby\Providers; +namespace Toby\Architecture\Providers; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; -use Toby\Events\VacationRequestAcceptedByAdministrative; -use Toby\Events\VacationRequestAcceptedByTechnical; -use Toby\Events\VacationRequestApproved; -use Toby\Events\VacationRequestCreated; -use Toby\Events\VacationRequestStateChanged; -use Toby\Listeners\CreateVacationRequestActivity; -use Toby\Listeners\HandleAcceptedByAdministrativeVacationRequest; -use Toby\Listeners\HandleAcceptedByTechnicalVacationRequest; -use Toby\Listeners\HandleApprovedVacationRequest; -use Toby\Listeners\HandleCreatedVacationRequest; +use Toby\Domain\Events\VacationRequestAcceptedByAdministrative; +use Toby\Domain\Events\VacationRequestAcceptedByTechnical; +use Toby\Domain\Events\VacationRequestApproved; +use Toby\Domain\Events\VacationRequestCreated; +use Toby\Domain\Events\VacationRequestStateChanged; +use Toby\Domain\Listeners\CreateVacationRequestActivity; +use Toby\Domain\Listeners\HandleAcceptedByAdministrativeVacationRequest; +use Toby\Domain\Listeners\HandleAcceptedByTechnicalVacationRequest; +use Toby\Domain\Listeners\HandleApprovedVacationRequest; +use Toby\Domain\Listeners\HandleCreatedVacationRequest; class EventServiceProvider extends ServiceProvider { diff --git a/app/Providers/ObserverServiceProvider.php b/app/Architecture/Providers/ObserverServiceProvider.php similarity index 54% rename from app/Providers/ObserverServiceProvider.php rename to app/Architecture/Providers/ObserverServiceProvider.php index d221d96..9457a10 100644 --- a/app/Providers/ObserverServiceProvider.php +++ b/app/Architecture/Providers/ObserverServiceProvider.php @@ -2,15 +2,15 @@ declare(strict_types=1); -namespace Toby\Providers; +namespace Toby\Architecture\Providers; use Illuminate\Support\ServiceProvider; -use Toby\Models\User; -use Toby\Models\VacationRequest; -use Toby\Models\YearPeriod; -use Toby\Observers\UserObserver; -use Toby\Observers\VacationRequestObserver; -use Toby\Observers\YearPeriodObserver; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationRequest; +use Toby\Eloquent\Models\YearPeriod; +use Toby\Eloquent\Observers\UserObserver; +use Toby\Eloquent\Observers\VacationRequestObserver; +use Toby\Eloquent\Observers\YearPeriodObserver; class ObserverServiceProvider extends ServiceProvider { diff --git a/app/Providers/RouteServiceProvider.php b/app/Architecture/Providers/RouteServiceProvider.php similarity index 95% rename from app/Providers/RouteServiceProvider.php rename to app/Architecture/Providers/RouteServiceProvider.php index d3c423c..2412290 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Architecture/Providers/RouteServiceProvider.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Providers; +namespace Toby\Architecture\Providers; use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; diff --git a/app/Providers/TelescopeServiceProvider.php b/app/Architecture/Providers/TelescopeServiceProvider.php similarity index 93% rename from app/Providers/TelescopeServiceProvider.php rename to app/Architecture/Providers/TelescopeServiceProvider.php index 129b793..965bcc9 100644 --- a/app/Providers/TelescopeServiceProvider.php +++ b/app/Architecture/Providers/TelescopeServiceProvider.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Providers; +namespace Toby\Architecture\Providers; use Illuminate\Support\ServiceProvider; use Laravel\Telescope\TelescopeApplicationServiceProvider; diff --git a/app/Enums/EmploymentForm.php b/app/Domain/Enums/EmploymentForm.php similarity index 95% rename from app/Enums/EmploymentForm.php rename to app/Domain/Enums/EmploymentForm.php index 27c1bb7..cdaa241 100644 --- a/app/Enums/EmploymentForm.php +++ b/app/Domain/Enums/EmploymentForm.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Enums; +namespace Toby\Domain\Enums; enum EmploymentForm: string { diff --git a/app/Enums/Role.php b/app/Domain/Enums/Role.php similarity index 95% rename from app/Enums/Role.php rename to app/Domain/Enums/Role.php index 7c64334..7f6a996 100644 --- a/app/Enums/Role.php +++ b/app/Domain/Enums/Role.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Enums; +namespace Toby\Domain\Enums; enum Role: string { diff --git a/app/Enums/VacationRequestState.php b/app/Domain/Enums/VacationRequestState.php similarity index 94% rename from app/Enums/VacationRequestState.php rename to app/Domain/Enums/VacationRequestState.php index fe123c0..fff41bf 100644 --- a/app/Enums/VacationRequestState.php +++ b/app/Domain/Enums/VacationRequestState.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Enums; +namespace Toby\Domain\Enums; enum VacationRequestState: string { diff --git a/app/Enums/VacationType.php b/app/Domain/Enums/VacationType.php similarity index 96% rename from app/Enums/VacationType.php rename to app/Domain/Enums/VacationType.php index 8b4bf8b..c3502c8 100644 --- a/app/Enums/VacationType.php +++ b/app/Domain/Enums/VacationType.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Enums; +namespace Toby\Domain\Enums; enum VacationType: string { diff --git a/app/Events/VacationRequestAcceptedByAdministrative.php b/app/Domain/Events/VacationRequestAcceptedByAdministrative.php similarity index 81% rename from app/Events/VacationRequestAcceptedByAdministrative.php rename to app/Domain/Events/VacationRequestAcceptedByAdministrative.php index 24c48b7..43fb463 100644 --- a/app/Events/VacationRequestAcceptedByAdministrative.php +++ b/app/Domain/Events/VacationRequestAcceptedByAdministrative.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Events; +namespace Toby\Domain\Events; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestAcceptedByAdministrative { diff --git a/app/Events/VacationRequestAcceptedByTechnical.php b/app/Domain/Events/VacationRequestAcceptedByTechnical.php similarity index 81% rename from app/Events/VacationRequestAcceptedByTechnical.php rename to app/Domain/Events/VacationRequestAcceptedByTechnical.php index ef3e64f..f01cb40 100644 --- a/app/Events/VacationRequestAcceptedByTechnical.php +++ b/app/Domain/Events/VacationRequestAcceptedByTechnical.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Events; +namespace Toby\Domain\Events; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestAcceptedByTechnical { diff --git a/app/Events/VacationRequestApproved.php b/app/Domain/Events/VacationRequestApproved.php similarity index 80% rename from app/Events/VacationRequestApproved.php rename to app/Domain/Events/VacationRequestApproved.php index 7a948ad..5a49575 100644 --- a/app/Events/VacationRequestApproved.php +++ b/app/Domain/Events/VacationRequestApproved.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Events; +namespace Toby\Domain\Events; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestApproved { diff --git a/app/Events/VacationRequestCreated.php b/app/Domain/Events/VacationRequestCreated.php similarity index 80% rename from app/Events/VacationRequestCreated.php rename to app/Domain/Events/VacationRequestCreated.php index a20c864..e4d532e 100644 --- a/app/Events/VacationRequestCreated.php +++ b/app/Domain/Events/VacationRequestCreated.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Events; +namespace Toby\Domain\Events; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestCreated { diff --git a/app/Events/VacationRequestStateChanged.php b/app/Domain/Events/VacationRequestStateChanged.php similarity index 74% rename from app/Events/VacationRequestStateChanged.php rename to app/Domain/Events/VacationRequestStateChanged.php index 15641e0..7779917 100644 --- a/app/Events/VacationRequestStateChanged.php +++ b/app/Domain/Events/VacationRequestStateChanged.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Events; +namespace Toby\Domain\Events; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; -use Toby\Enums\VacationRequestState; -use Toby\Models\User; -use Toby\Models\VacationRequest; +use Toby\Domain\Enums\VacationRequestState; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestStateChanged { diff --git a/app/Listeners/CreateVacationRequestActivity.php b/app/Domain/Listeners/CreateVacationRequestActivity.php similarity index 79% rename from app/Listeners/CreateVacationRequestActivity.php rename to app/Domain/Listeners/CreateVacationRequestActivity.php index a990334..249ce52 100644 --- a/app/Listeners/CreateVacationRequestActivity.php +++ b/app/Domain/Listeners/CreateVacationRequestActivity.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Toby\Listeners; +namespace Toby\Domain\Listeners; -use Toby\Events\VacationRequestStateChanged; +use Toby\Domain\Events\VacationRequestStateChanged; class CreateVacationRequestActivity { diff --git a/app/Listeners/HandleAcceptedByAdministrativeVacationRequest.php b/app/Domain/Listeners/HandleAcceptedByAdministrativeVacationRequest.php similarity index 71% rename from app/Listeners/HandleAcceptedByAdministrativeVacationRequest.php rename to app/Domain/Listeners/HandleAcceptedByAdministrativeVacationRequest.php index 70a3e19..4655d44 100644 --- a/app/Listeners/HandleAcceptedByAdministrativeVacationRequest.php +++ b/app/Domain/Listeners/HandleAcceptedByAdministrativeVacationRequest.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Listeners; +namespace Toby\Domain\Listeners; -use Toby\Events\VacationRequestAcceptedByAdministrative; -use Toby\Helpers\VacationRequestStateManager; +use Toby\Domain\Events\VacationRequestAcceptedByAdministrative; +use Toby\Domain\VacationRequestStateManager; class HandleAcceptedByAdministrativeVacationRequest { diff --git a/app/Listeners/HandleAcceptedByTechnicalVacationRequest.php b/app/Domain/Listeners/HandleAcceptedByTechnicalVacationRequest.php similarity index 78% rename from app/Listeners/HandleAcceptedByTechnicalVacationRequest.php rename to app/Domain/Listeners/HandleAcceptedByTechnicalVacationRequest.php index 874ca74..675ef27 100644 --- a/app/Listeners/HandleAcceptedByTechnicalVacationRequest.php +++ b/app/Domain/Listeners/HandleAcceptedByTechnicalVacationRequest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Listeners; +namespace Toby\Domain\Listeners; -use Toby\Events\VacationRequestAcceptedByTechnical; -use Toby\Helpers\VacationRequestStateManager; -use Toby\Helpers\VacationTypeConfigRetriever; +use Toby\Domain\Events\VacationRequestAcceptedByTechnical; +use Toby\Domain\VacationRequestStateManager; +use Toby\Domain\VacationTypeConfigRetriever; class HandleAcceptedByTechnicalVacationRequest { diff --git a/app/Listeners/HandleApprovedVacationRequest.php b/app/Domain/Listeners/HandleApprovedVacationRequest.php similarity index 76% rename from app/Listeners/HandleApprovedVacationRequest.php rename to app/Domain/Listeners/HandleApprovedVacationRequest.php index 8ddc72c..948f7f8 100644 --- a/app/Listeners/HandleApprovedVacationRequest.php +++ b/app/Domain/Listeners/HandleApprovedVacationRequest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Listeners; +namespace Toby\Domain\Listeners; use Illuminate\Support\Facades\Log; -use Toby\Events\VacationRequestApproved; -use Toby\Helpers\VacationTypeConfigRetriever; +use Toby\Domain\Events\VacationRequestApproved; +use Toby\Domain\VacationTypeConfigRetriever; class HandleApprovedVacationRequest { diff --git a/app/Listeners/HandleCreatedVacationRequest.php b/app/Domain/Listeners/HandleCreatedVacationRequest.php similarity index 82% rename from app/Listeners/HandleCreatedVacationRequest.php rename to app/Domain/Listeners/HandleCreatedVacationRequest.php index 96c9cf5..998f82a 100644 --- a/app/Listeners/HandleCreatedVacationRequest.php +++ b/app/Domain/Listeners/HandleCreatedVacationRequest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Listeners; +namespace Toby\Domain\Listeners; -use Toby\Events\VacationRequestCreated; -use Toby\Helpers\VacationRequestStateManager; -use Toby\Helpers\VacationTypeConfigRetriever; +use Toby\Domain\Events\VacationRequestCreated; +use Toby\Domain\VacationRequestStateManager; +use Toby\Domain\VacationTypeConfigRetriever; class HandleCreatedVacationRequest { diff --git a/app/Helpers/PolishHolidaysRetriever.php b/app/Domain/PolishHolidaysRetriever.php similarity index 93% rename from app/Helpers/PolishHolidaysRetriever.php rename to app/Domain/PolishHolidaysRetriever.php index cc80633..db574a4 100644 --- a/app/Helpers/PolishHolidaysRetriever.php +++ b/app/Domain/PolishHolidaysRetriever.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Helpers; +namespace Toby\Domain; use Illuminate\Support\Carbon; use Illuminate\Support\Collection; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\YearPeriod; use Yasumi\Holiday; use Yasumi\Yasumi; diff --git a/app/Helpers/VacationRequestStateManager.php b/app/Domain/VacationRequestStateManager.php similarity index 87% rename from app/Helpers/VacationRequestStateManager.php rename to app/Domain/VacationRequestStateManager.php index aa8d823..8bee7c7 100644 --- a/app/Helpers/VacationRequestStateManager.php +++ b/app/Domain/VacationRequestStateManager.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace Toby\Helpers; +namespace Toby\Domain; use Illuminate\Contracts\Auth\Factory as Auth; use Illuminate\Contracts\Events\Dispatcher; -use Toby\Enums\VacationRequestState; -use Toby\Events\VacationRequestAcceptedByAdministrative; -use Toby\Events\VacationRequestAcceptedByTechnical; -use Toby\Events\VacationRequestApproved; -use Toby\Events\VacationRequestCreated; -use Toby\Models\VacationRequest; +use Toby\Domain\Enums\VacationRequestState; +use Toby\Domain\Events\VacationRequestAcceptedByAdministrative; +use Toby\Domain\Events\VacationRequestAcceptedByTechnical; +use Toby\Domain\Events\VacationRequestApproved; +use Toby\Domain\Events\VacationRequestCreated; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestStateManager { diff --git a/app/Helpers/VacationTypeConfigRetriever.php b/app/Domain/VacationTypeConfigRetriever.php similarity index 95% rename from app/Helpers/VacationTypeConfigRetriever.php rename to app/Domain/VacationTypeConfigRetriever.php index 389ec02..dcf71a7 100644 --- a/app/Helpers/VacationTypeConfigRetriever.php +++ b/app/Domain/VacationTypeConfigRetriever.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers; +namespace Toby\Domain; use Illuminate\Contracts\Config\Repository; -use Toby\Enums\VacationType; +use Toby\Domain\Enums\VacationType; class VacationTypeConfigRetriever { diff --git a/app/Helpers/Rules/ApprovedVacationDaysInSameRange.php b/app/Domain/Validation/Rules/ApprovedVacationDaysInSameRange.php similarity index 75% rename from app/Helpers/Rules/ApprovedVacationDaysInSameRange.php rename to app/Domain/Validation/Rules/ApprovedVacationDaysInSameRange.php index 3ec11c4..eb39bf4 100644 --- a/app/Helpers/Rules/ApprovedVacationDaysInSameRange.php +++ b/app/Domain/Validation/Rules/ApprovedVacationDaysInSameRange.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers\Rules; +namespace Toby\Domain\Validation\Rules; use Closure; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class ApprovedVacationDaysInSameRange implements VacationRequestRule { diff --git a/app/Helpers/Rules/DoesNotExceedLimitRule.php b/app/Domain/Validation/Rules/DoesNotExceedLimitRule.php similarity index 74% rename from app/Helpers/Rules/DoesNotExceedLimitRule.php rename to app/Domain/Validation/Rules/DoesNotExceedLimitRule.php index 3b27bdc..5c0d5eb 100644 --- a/app/Helpers/Rules/DoesNotExceedLimitRule.php +++ b/app/Domain/Validation/Rules/DoesNotExceedLimitRule.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers\Rules; +namespace Toby\Domain\Validation\Rules; use Closure; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class DoesNotExceedLimitRule implements VacationRequestRule { diff --git a/app/Helpers/Rules/MinimumOneVacationDayRule.php b/app/Domain/Validation/Rules/MinimumOneVacationDayRule.php similarity index 74% rename from app/Helpers/Rules/MinimumOneVacationDayRule.php rename to app/Domain/Validation/Rules/MinimumOneVacationDayRule.php index 7a3de67..63f9783 100644 --- a/app/Helpers/Rules/MinimumOneVacationDayRule.php +++ b/app/Domain/Validation/Rules/MinimumOneVacationDayRule.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers\Rules; +namespace Toby\Domain\Validation\Rules; use Closure; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class MinimumOneVacationDayRule implements VacationRequestRule { diff --git a/app/Helpers/Rules/PendingVacationRequestInSameRange.php b/app/Domain/Validation/Rules/PendingVacationRequestInSameRange.php similarity index 75% rename from app/Helpers/Rules/PendingVacationRequestInSameRange.php rename to app/Domain/Validation/Rules/PendingVacationRequestInSameRange.php index bcbaab7..a0081b6 100644 --- a/app/Helpers/Rules/PendingVacationRequestInSameRange.php +++ b/app/Domain/Validation/Rules/PendingVacationRequestInSameRange.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers\Rules; +namespace Toby\Domain\Validation\Rules; use Closure; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class PendingVacationRequestInSameRange implements VacationRequestRule { diff --git a/app/Helpers/Rules/UsedVacationDaysInSameRange.php b/app/Domain/Validation/Rules/UsedVacationDaysInSameRange.php similarity index 71% rename from app/Helpers/Rules/UsedVacationDaysInSameRange.php rename to app/Domain/Validation/Rules/UsedVacationDaysInSameRange.php index 548279f..7d3b823 100644 --- a/app/Helpers/Rules/UsedVacationDaysInSameRange.php +++ b/app/Domain/Validation/Rules/UsedVacationDaysInSameRange.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers\Rules; +namespace Toby\Domain\Validation\Rules; use Closure; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; class UsedVacationDaysInSameRange { @@ -13,4 +13,4 @@ class UsedVacationDaysInSameRange { return $next($vacationRequest); } -} \ No newline at end of file +} diff --git a/app/Helpers/Rules/VacationRequestRule.php b/app/Domain/Validation/Rules/VacationRequestRule.php similarity index 65% rename from app/Helpers/Rules/VacationRequestRule.php rename to app/Domain/Validation/Rules/VacationRequestRule.php index 9a6b968..e50c92b 100644 --- a/app/Helpers/Rules/VacationRequestRule.php +++ b/app/Domain/Validation/Rules/VacationRequestRule.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers\Rules; +namespace Toby\Domain\Validation\Rules; use Closure; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\VacationRequest; interface VacationRequestRule { diff --git a/app/Helpers/VacationRequestValidator.php b/app/Domain/Validation/VacationRequestValidator.php similarity index 65% rename from app/Helpers/VacationRequestValidator.php rename to app/Domain/Validation/VacationRequestValidator.php index f205db1..f3cfa23 100644 --- a/app/Helpers/VacationRequestValidator.php +++ b/app/Domain/Validation/VacationRequestValidator.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Toby\Helpers; +namespace Toby\Domain\Validation; use Illuminate\Pipeline\Pipeline; -use Toby\Helpers\Rules\ApprovedVacationDaysInSameRange; -use Toby\Helpers\Rules\DoesNotExceedLimitRule; -use Toby\Helpers\Rules\MinimumOneVacationDayRule; -use Toby\Helpers\Rules\PendingVacationRequestInSameRange; -use Toby\Models\VacationRequest; +use Toby\Domain\Validation\Rules\ApprovedVacationDaysInSameRange; +use Toby\Domain\Validation\Rules\DoesNotExceedLimitRule; +use Toby\Domain\Validation\Rules\MinimumOneVacationDayRule; +use Toby\Domain\Validation\Rules\PendingVacationRequestInSameRange; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestValidator { diff --git a/app/Helpers/UserAvatarGenerator.php b/app/Eloquent/Helpers/UserAvatarGenerator.php similarity index 94% rename from app/Helpers/UserAvatarGenerator.php rename to app/Eloquent/Helpers/UserAvatarGenerator.php index 3ff068b..1bdc39a 100644 --- a/app/Helpers/UserAvatarGenerator.php +++ b/app/Eloquent/Helpers/UserAvatarGenerator.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Helpers; +namespace Toby\Eloquent\Helpers; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use LasseRafn\InitialAvatarGenerator\InitialAvatar; use SVG\SVG; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class UserAvatarGenerator { diff --git a/app/Helpers/YearPeriodRetriever.php b/app/Eloquent/Helpers/YearPeriodRetriever.php similarity index 94% rename from app/Helpers/YearPeriodRetriever.php rename to app/Eloquent/Helpers/YearPeriodRetriever.php index b474865..37d765e 100644 --- a/app/Helpers/YearPeriodRetriever.php +++ b/app/Eloquent/Helpers/YearPeriodRetriever.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Toby\Helpers; +namespace Toby\Eloquent\Helpers; use Illuminate\Contracts\Session\Session; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\YearPeriod; class YearPeriodRetriever { diff --git a/app/Models/Holiday.php b/app/Eloquent/Models/Holiday.php similarity index 76% rename from app/Models/Holiday.php rename to app/Eloquent/Models/Holiday.php index f9df73e..be8ae49 100644 --- a/app/Models/Holiday.php +++ b/app/Eloquent/Models/Holiday.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Toby\Models; +namespace Toby\Eloquent\Models; +use Database\Factories\HolidayFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -29,4 +30,9 @@ class Holiday extends Model { return $this->belongsTo(YearPeriod::class); } + + protected static function newFactory(): HolidayFactory + { + return HolidayFactory::new(); + } } diff --git a/app/Models/User.php b/app/Eloquent/Models/User.php similarity index 89% rename from app/Models/User.php rename to app/Eloquent/Models/User.php index 797f717..7c6fd93 100644 --- a/app/Models/User.php +++ b/app/Eloquent/Models/User.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Toby\Models; +namespace Toby\Eloquent\Models; +use Database\Factories\UserFactory; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -12,8 +13,8 @@ use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Support\Carbon; use Illuminate\Support\Collection; -use Toby\Enums\EmploymentForm; -use Toby\Enums\Role; +use Toby\Domain\Enums\EmploymentForm; +use Toby\Domain\Enums\Role; /** * @property int $id @@ -83,4 +84,9 @@ class User extends Authenticatable { return $this->role === $role; } + + protected static function newFactory(): UserFactory + { + return UserFactory::new(); + } } diff --git a/app/Models/VacationLimit.php b/app/Eloquent/Models/VacationLimit.php similarity index 82% rename from app/Models/VacationLimit.php rename to app/Eloquent/Models/VacationLimit.php index 8ebb771..f7e3208 100644 --- a/app/Models/VacationLimit.php +++ b/app/Eloquent/Models/VacationLimit.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Toby\Models; +namespace Toby\Eloquent\Models; +use Database\Factories\VacationLimitFactory; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -42,4 +43,9 @@ class VacationLimit extends Model return $query->orderBy($userQuery); } + + protected static function newFactory(): VacationLimitFactory + { + return VacationLimitFactory::new(); + } } diff --git a/app/Models/VacationRequest.php b/app/Eloquent/Models/VacationRequest.php similarity index 80% rename from app/Models/VacationRequest.php rename to app/Eloquent/Models/VacationRequest.php index 957f336..82b7605 100644 --- a/app/Models/VacationRequest.php +++ b/app/Eloquent/Models/VacationRequest.php @@ -2,16 +2,17 @@ declare(strict_types=1); -namespace Toby\Models; +namespace Toby\Eloquent\Models; +use Database\Factories\VacationRequestFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Support\Carbon; use Illuminate\Support\Collection; -use Toby\Enums\VacationRequestState; -use Toby\Enums\VacationType; +use Toby\Domain\Enums\VacationRequestState; +use Toby\Domain\Enums\VacationType; /** * @property int $id @@ -52,4 +53,9 @@ class VacationRequest extends Model $this->save(); } + + protected static function newFactory(): VacationRequestFactory + { + return VacationRequestFactory::new(); + } } diff --git a/app/Models/VacationRequestActivity.php b/app/Eloquent/Models/VacationRequestActivity.php similarity index 90% rename from app/Models/VacationRequestActivity.php rename to app/Eloquent/Models/VacationRequestActivity.php index 6e52ae7..8425d99 100644 --- a/app/Models/VacationRequestActivity.php +++ b/app/Eloquent/Models/VacationRequestActivity.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Models; +namespace Toby\Eloquent\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; -use Toby\Enums\VacationRequestState; +use Toby\Domain\Enums\VacationRequestState; /** * @property int $id diff --git a/app/Models/YearPeriod.php b/app/Eloquent/Models/YearPeriod.php similarity index 83% rename from app/Models/YearPeriod.php rename to app/Eloquent/Models/YearPeriod.php index 5cc75a1..ae57938 100644 --- a/app/Models/YearPeriod.php +++ b/app/Eloquent/Models/YearPeriod.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Toby\Models; +namespace Toby\Eloquent\Models; +use Database\Factories\YearPeriodFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -44,4 +45,9 @@ class YearPeriod extends Model { return $this->hasMany(Holiday::class); } + + protected static function newFactory(): YearPeriodFactory + { + return YearPeriodFactory::new(); + } } diff --git a/app/Observers/UserObserver.php b/app/Eloquent/Observers/UserObserver.php similarity index 84% rename from app/Observers/UserObserver.php rename to app/Eloquent/Observers/UserObserver.php index 454cde3..9c210dc 100644 --- a/app/Observers/UserObserver.php +++ b/app/Eloquent/Observers/UserObserver.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Toby\Observers; +namespace Toby\Eloquent\Observers; use Illuminate\Support\Facades\Storage; -use Toby\Helpers\UserAvatarGenerator; -use Toby\Helpers\YearPeriodRetriever; -use Toby\Models\User; +use Toby\Eloquent\Helpers\UserAvatarGenerator; +use Toby\Eloquent\Helpers\YearPeriodRetriever; +use Toby\Eloquent\Models\User; class UserObserver { diff --git a/app/Observers/VacationRequestObserver.php b/app/Eloquent/Observers/VacationRequestObserver.php similarity index 87% rename from app/Observers/VacationRequestObserver.php rename to app/Eloquent/Observers/VacationRequestObserver.php index 558fe86..eec46bc 100644 --- a/app/Observers/VacationRequestObserver.php +++ b/app/Eloquent/Observers/VacationRequestObserver.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Toby\Observers; +namespace Toby\Eloquent\Observers; use Illuminate\Contracts\Auth\Factory as Auth; use Illuminate\Events\Dispatcher; -use Toby\Enums\VacationRequestState; -use Toby\Events\VacationRequestStateChanged; -use Toby\Models\User; -use Toby\Models\VacationRequest; +use Toby\Domain\Enums\VacationRequestState; +use Toby\Domain\Events\VacationRequestStateChanged; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestObserver { diff --git a/app/Observers/YearPeriodObserver.php b/app/Eloquent/Observers/YearPeriodObserver.php similarity index 84% rename from app/Observers/YearPeriodObserver.php rename to app/Eloquent/Observers/YearPeriodObserver.php index cd5beec..e95210a 100644 --- a/app/Observers/YearPeriodObserver.php +++ b/app/Eloquent/Observers/YearPeriodObserver.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Toby\Observers; +namespace Toby\Eloquent\Observers; -use Toby\Helpers\PolishHolidaysRetriever; -use Toby\Helpers\UserAvatarGenerator; -use Toby\Models\User; -use Toby\Models\YearPeriod; +use Toby\Domain\PolishHolidaysRetriever; +use Toby\Eloquent\Helpers\UserAvatarGenerator; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\YearPeriod; class YearPeriodObserver { diff --git a/app/Scopes/SelectedYearPeriodScope.php b/app/Eloquent/Scopes/SelectedYearPeriodScope.php similarity index 86% rename from app/Scopes/SelectedYearPeriodScope.php rename to app/Eloquent/Scopes/SelectedYearPeriodScope.php index 4d407fa..953cee6 100644 --- a/app/Scopes/SelectedYearPeriodScope.php +++ b/app/Eloquent/Scopes/SelectedYearPeriodScope.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Toby\Scopes; +namespace Toby\Eloquent\Scopes; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Scope; -use Toby\Helpers\YearPeriodRetriever; +use Toby\Eloquent\Helpers\YearPeriodRetriever; class SelectedYearPeriodScope implements Scope { diff --git a/app/Console/Commands/CreateUserCommand.php b/app/Infrastructure/Console/Commands/CreateUserCommand.php similarity index 70% rename from app/Console/Commands/CreateUserCommand.php rename to app/Infrastructure/Console/Commands/CreateUserCommand.php index 34c6dec..b0092fd 100644 --- a/app/Console/Commands/CreateUserCommand.php +++ b/app/Infrastructure/Console/Commands/CreateUserCommand.php @@ -2,15 +2,14 @@ declare(strict_types=1); -namespace Toby\Console\Commands; +namespace Toby\Infrastructure\Console\Commands; use Illuminate\Console\Command; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class CreateUserCommand extends Command { - protected $signature = "user:create - {email : an email for the user}"; + protected $signature = "user:create {email : an email for the user}"; protected $description = "Creates a user"; public function handle(): void diff --git a/app/Console/Kernel.php b/app/Infrastructure/Console/Kernel.php similarity index 89% rename from app/Console/Kernel.php rename to app/Infrastructure/Console/Kernel.php index f2429ca..a53a088 100644 --- a/app/Console/Kernel.php +++ b/app/Infrastructure/Console/Kernel.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Console; +namespace Toby\Infrastructure\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; diff --git a/app/Http/Controllers/Controller.php b/app/Infrastructure/Http/Controllers/Controller.php similarity index 88% rename from app/Http/Controllers/Controller.php rename to app/Infrastructure/Http/Controllers/Controller.php index 187a0af..73c7e6e 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Infrastructure/Http/Controllers/Controller.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; diff --git a/app/Http/Controllers/GoogleController.php b/app/Infrastructure/Http/Controllers/GoogleController.php similarity index 93% rename from app/Http/Controllers/GoogleController.php rename to app/Infrastructure/Http/Controllers/GoogleController.php index 5c050cf..6f15e8d 100644 --- a/app/Http/Controllers/GoogleController.php +++ b/app/Infrastructure/Http/Controllers/GoogleController.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Contracts\Auth\Factory as AuthFactory; use Illuminate\Database\Eloquent\ModelNotFoundException; use Laravel\Socialite\SocialiteManager; use Symfony\Component\HttpFoundation\RedirectResponse; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class GoogleController extends Controller { diff --git a/app/Http/Controllers/HolidayController.php b/app/Infrastructure/Http/Controllers/HolidayController.php similarity index 84% rename from app/Http/Controllers/HolidayController.php rename to app/Infrastructure/Http/Controllers/HolidayController.php index d82190b..e69a8ff 100644 --- a/app/Http/Controllers/HolidayController.php +++ b/app/Infrastructure/Http/Controllers/HolidayController.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Http\RedirectResponse; use Inertia\Response; -use Toby\Http\Requests\HolidayRequest; -use Toby\Http\Resources\HolidayFormDataResource; -use Toby\Http\Resources\HolidayResource; -use Toby\Models\Holiday; +use Toby\Eloquent\Models\Holiday; +use Toby\Infrastructure\Http\Requests\HolidayRequest; +use Toby\Infrastructure\Http\Resources\HolidayFormDataResource; +use Toby\Infrastructure\Http\Resources\HolidayResource; class HolidayController extends Controller { diff --git a/app/Http/Controllers/LogoutController.php b/app/Infrastructure/Http/Controllers/LogoutController.php similarity index 90% rename from app/Http/Controllers/LogoutController.php rename to app/Infrastructure/Http/Controllers/LogoutController.php index f7519b7..581b4a6 100644 --- a/app/Http/Controllers/LogoutController.php +++ b/app/Infrastructure/Http/Controllers/LogoutController.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; diff --git a/app/Http/Controllers/SelectYearPeriodController.php b/app/Infrastructure/Http/Controllers/SelectYearPeriodController.php similarity index 78% rename from app/Http/Controllers/SelectYearPeriodController.php rename to app/Infrastructure/Http/Controllers/SelectYearPeriodController.php index 4965ef3..14b95e7 100644 --- a/app/Http/Controllers/SelectYearPeriodController.php +++ b/app/Infrastructure/Http/Controllers/SelectYearPeriodController.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; -use Toby\Helpers\YearPeriodRetriever; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Helpers\YearPeriodRetriever; +use Toby\Eloquent\Models\YearPeriod; class SelectYearPeriodController extends Controller { diff --git a/app/Http/Controllers/UserController.php b/app/Infrastructure/Http/Controllers/UserController.php similarity index 86% rename from app/Http/Controllers/UserController.php rename to app/Infrastructure/Http/Controllers/UserController.php index ffb5eb3..113657a 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Infrastructure/Http/Controllers/UserController.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Inertia\Response; -use Toby\Enums\EmploymentForm; -use Toby\Enums\Role; -use Toby\Http\Requests\UserRequest; -use Toby\Http\Resources\UserFormDataResource; -use Toby\Http\Resources\UserResource; -use Toby\Models\User; +use Toby\Domain\Enums\EmploymentForm; +use Toby\Domain\Enums\Role; +use Toby\Eloquent\Models\User; +use Toby\Infrastructure\Http\Requests\UserRequest; +use Toby\Infrastructure\Http\Resources\UserFormDataResource; +use Toby\Infrastructure\Http\Resources\UserResource; class UserController extends Controller { diff --git a/app/Http/Controllers/VacationLimitController.php b/app/Infrastructure/Http/Controllers/VacationLimitController.php similarity index 80% rename from app/Http/Controllers/VacationLimitController.php rename to app/Infrastructure/Http/Controllers/VacationLimitController.php index 3ec755b..7d207d6 100644 --- a/app/Http/Controllers/VacationLimitController.php +++ b/app/Infrastructure/Http/Controllers/VacationLimitController.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Http\RedirectResponse; use Inertia\Response; -use Toby\Http\Requests\VacationLimitRequest; -use Toby\Http\Resources\VacationLimitResource; -use Toby\Models\VacationLimit; +use Toby\Eloquent\Models\VacationLimit; +use Toby\Infrastructure\Http\Requests\VacationLimitRequest; +use Toby\Infrastructure\Http\Resources\VacationLimitResource; class VacationLimitController extends Controller { diff --git a/app/Http/Controllers/VacationRequestController.php b/app/Infrastructure/Http/Controllers/VacationRequestController.php similarity index 85% rename from app/Http/Controllers/VacationRequestController.php rename to app/Infrastructure/Http/Controllers/VacationRequestController.php index 0908668..29c206c 100644 --- a/app/Http/Controllers/VacationRequestController.php +++ b/app/Infrastructure/Http/Controllers/VacationRequestController.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Toby\Http\Controllers; +namespace Toby\Infrastructure\Http\Controllers; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Inertia\Response; -use Toby\Enums\VacationType; -use Toby\Helpers\VacationRequestStateManager; -use Toby\Helpers\VacationRequestValidator; -use Toby\Http\Requests\VacationRequestRequest; -use Toby\Http\Resources\VacationRequestActivityResource; -use Toby\Http\Resources\VacationRequestResource; -use Toby\Models\VacationRequest; +use Toby\Domain\Enums\VacationType; +use Toby\Domain\VacationRequestStateManager; +use Toby\Domain\Validation\VacationRequestValidator; +use Toby\Eloquent\Models\VacationRequest; +use Toby\Infrastructure\Http\Requests\VacationRequestRequest; +use Toby\Infrastructure\Http\Resources\VacationRequestActivityResource; +use Toby\Infrastructure\Http\Resources\VacationRequestResource; class VacationRequestController extends Controller { diff --git a/app/Http/Kernel.php b/app/Infrastructure/Http/Kernel.php similarity index 88% rename from app/Http/Kernel.php rename to app/Infrastructure/Http/Kernel.php index 1777f43..5c6a238 100644 --- a/app/Http/Kernel.php +++ b/app/Infrastructure/Http/Kernel.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http; +namespace Toby\Infrastructure\Http; use Fruitcake\Cors\HandleCors; use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth; @@ -24,11 +24,11 @@ use Illuminate\Session\Middleware\AuthenticateSession; use Illuminate\Session\Middleware\StartSession; use Illuminate\View\Middleware\ShareErrorsFromSession; use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful; -use Toby\Http\Middleware\Authenticate; -use Toby\Http\Middleware\HandleInertiaRequests; -use Toby\Http\Middleware\RedirectIfAuthenticated; -use Toby\Http\Middleware\TrimStrings; -use Toby\Http\Middleware\TrustProxies; +use Toby\Infrastructure\Http\Middleware\Authenticate; +use Toby\Infrastructure\Http\Middleware\HandleInertiaRequests; +use Toby\Infrastructure\Http\Middleware\RedirectIfAuthenticated; +use Toby\Infrastructure\Http\Middleware\TrimStrings; +use Toby\Infrastructure\Http\Middleware\TrustProxies; class Kernel extends HttpKernel { diff --git a/app/Http/Middleware/Authenticate.php b/app/Infrastructure/Http/Middleware/Authenticate.php similarity index 83% rename from app/Http/Middleware/Authenticate.php rename to app/Infrastructure/Http/Middleware/Authenticate.php index 8fa8185..c5e042b 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Infrastructure/Http/Middleware/Authenticate.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Middleware; +namespace Toby\Infrastructure\Http\Middleware; use Illuminate\Auth\Middleware\Authenticate as Middleware; diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Infrastructure/Http/Middleware/HandleInertiaRequests.php similarity index 84% rename from app/Http/Middleware/HandleInertiaRequests.php rename to app/Infrastructure/Http/Middleware/HandleInertiaRequests.php index dd63c51..24e9e9f 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Infrastructure/Http/Middleware/HandleInertiaRequests.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Toby\Http\Middleware; +namespace Toby\Infrastructure\Http\Middleware; use Illuminate\Http\Request; use Inertia\Middleware; -use Toby\Helpers\YearPeriodRetriever; -use Toby\Http\Resources\UserResource; +use Toby\Eloquent\Helpers\YearPeriodRetriever; +use Toby\Infrastructure\Http\Resources\UserResource; class HandleInertiaRequests extends Middleware { diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Infrastructure/Http/Middleware/RedirectIfAuthenticated.php similarity index 92% rename from app/Http/Middleware/RedirectIfAuthenticated.php rename to app/Infrastructure/Http/Middleware/RedirectIfAuthenticated.php index 84f0ae8..9a7a28c 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Infrastructure/Http/Middleware/RedirectIfAuthenticated.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Middleware; +namespace Toby\Infrastructure\Http\Middleware; use Closure; use Illuminate\Http\Request; diff --git a/app/Http/Middleware/TrimStrings.php b/app/Infrastructure/Http/Middleware/TrimStrings.php similarity index 84% rename from app/Http/Middleware/TrimStrings.php rename to app/Infrastructure/Http/Middleware/TrimStrings.php index 0013621..01580ac 100644 --- a/app/Http/Middleware/TrimStrings.php +++ b/app/Infrastructure/Http/Middleware/TrimStrings.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Middleware; +namespace Toby\Infrastructure\Http\Middleware; use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware; diff --git a/app/Http/Middleware/TrustProxies.php b/app/Infrastructure/Http/Middleware/TrustProxies.php similarity index 90% rename from app/Http/Middleware/TrustProxies.php rename to app/Infrastructure/Http/Middleware/TrustProxies.php index 3d3d0f7..b3d08f4 100644 --- a/app/Http/Middleware/TrustProxies.php +++ b/app/Infrastructure/Http/Middleware/TrustProxies.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Middleware; +namespace Toby\Infrastructure\Http\Middleware; use Illuminate\Http\Middleware\TrustProxies as Middleware; use Symfony\Component\HttpFoundation\Request; diff --git a/app/Http/Requests/HolidayRequest.php b/app/Infrastructure/Http/Requests/HolidayRequest.php similarity index 85% rename from app/Http/Requests/HolidayRequest.php rename to app/Infrastructure/Http/Requests/HolidayRequest.php index 9a45b6e..68619ce 100644 --- a/app/Http/Requests/HolidayRequest.php +++ b/app/Infrastructure/Http/Requests/HolidayRequest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Http\Requests; +namespace Toby\Infrastructure\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Carbon; use Illuminate\Validation\Rule; -use Toby\Models\YearPeriod; -use Toby\Rules\YearPeriodExists; +use Toby\Eloquent\Models\YearPeriod; +use Toby\Infrastructure\Http\Rules\YearPeriodExists; class HolidayRequest extends FormRequest { diff --git a/app/Http/Requests/UserRequest.php b/app/Infrastructure/Http/Requests/UserRequest.php similarity index 90% rename from app/Http/Requests/UserRequest.php rename to app/Infrastructure/Http/Requests/UserRequest.php index 9a14ed0..2f7ed8c 100644 --- a/app/Http/Requests/UserRequest.php +++ b/app/Infrastructure/Http/Requests/UserRequest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Http\Requests; +namespace Toby\Infrastructure\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; use Illuminate\Validation\Rules\Enum; -use Toby\Enums\EmploymentForm; -use Toby\Enums\Role; +use Toby\Domain\Enums\EmploymentForm; +use Toby\Domain\Enums\Role; class UserRequest extends FormRequest { diff --git a/app/Http/Requests/VacationLimitRequest.php b/app/Infrastructure/Http/Requests/VacationLimitRequest.php similarity index 89% rename from app/Http/Requests/VacationLimitRequest.php rename to app/Infrastructure/Http/Requests/VacationLimitRequest.php index fa43bbc..6cf2017 100644 --- a/app/Http/Requests/VacationLimitRequest.php +++ b/app/Infrastructure/Http/Requests/VacationLimitRequest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Http\Requests; +namespace Toby\Infrastructure\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Collection; -use Toby\Models\VacationLimit; +use Toby\Eloquent\Models\VacationLimit; class VacationLimitRequest extends FormRequest { diff --git a/app/Http/Requests/VacationRequestRequest.php b/app/Infrastructure/Http/Requests/VacationRequestRequest.php similarity index 84% rename from app/Http/Requests/VacationRequestRequest.php rename to app/Infrastructure/Http/Requests/VacationRequestRequest.php index 34b185b..eeea29b 100644 --- a/app/Http/Requests/VacationRequestRequest.php +++ b/app/Infrastructure/Http/Requests/VacationRequestRequest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Toby\Http\Requests; +namespace Toby\Infrastructure\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rules\Enum; -use Toby\Enums\VacationType; -use Toby\Rules\YearPeriodExists; +use Toby\Domain\Enums\VacationType; +use Toby\Infrastructure\Http\Rules\YearPeriodExists; class VacationRequestRequest extends FormRequest { diff --git a/app/Http/Resources/HolidayFormDataResource.php b/app/Infrastructure/Http/Resources/HolidayFormDataResource.php similarity index 89% rename from app/Http/Resources/HolidayFormDataResource.php rename to app/Infrastructure/Http/Resources/HolidayFormDataResource.php index dc99444..365a051 100644 --- a/app/Http/Resources/HolidayFormDataResource.php +++ b/app/Infrastructure/Http/Resources/HolidayFormDataResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Http/Resources/HolidayResource.php b/app/Infrastructure/Http/Resources/HolidayResource.php similarity index 91% rename from app/Http/Resources/HolidayResource.php rename to app/Infrastructure/Http/Resources/HolidayResource.php index e9bf998..f835078 100644 --- a/app/Http/Resources/HolidayResource.php +++ b/app/Infrastructure/Http/Resources/HolidayResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Http/Resources/UserFormDataResource.php b/app/Infrastructure/Http/Resources/UserFormDataResource.php similarity index 92% rename from app/Http/Resources/UserFormDataResource.php rename to app/Infrastructure/Http/Resources/UserFormDataResource.php index 5ed851b..451fda2 100644 --- a/app/Http/Resources/UserFormDataResource.php +++ b/app/Infrastructure/Http/Resources/UserFormDataResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Http/Resources/UserResource.php b/app/Infrastructure/Http/Resources/UserResource.php similarity index 93% rename from app/Http/Resources/UserResource.php rename to app/Infrastructure/Http/Resources/UserResource.php index da159bd..bdff955 100644 --- a/app/Http/Resources/UserResource.php +++ b/app/Infrastructure/Http/Resources/UserResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Http/Resources/VacationLimitResource.php b/app/Infrastructure/Http/Resources/VacationLimitResource.php similarity index 90% rename from app/Http/Resources/VacationLimitResource.php rename to app/Infrastructure/Http/Resources/VacationLimitResource.php index 85692b9..4226a14 100644 --- a/app/Http/Resources/VacationLimitResource.php +++ b/app/Infrastructure/Http/Resources/VacationLimitResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Http/Resources/VacationRequestActivityResource.php b/app/Infrastructure/Http/Resources/VacationRequestActivityResource.php similarity index 90% rename from app/Http/Resources/VacationRequestActivityResource.php rename to app/Infrastructure/Http/Resources/VacationRequestActivityResource.php index aee9c90..dcc11d2 100644 --- a/app/Http/Resources/VacationRequestActivityResource.php +++ b/app/Infrastructure/Http/Resources/VacationRequestActivityResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Http/Resources/VacationRequestResource.php b/app/Infrastructure/Http/Resources/VacationRequestResource.php similarity index 92% rename from app/Http/Resources/VacationRequestResource.php rename to app/Infrastructure/Http/Resources/VacationRequestResource.php index 4284157..859dfea 100644 --- a/app/Http/Resources/VacationRequestResource.php +++ b/app/Infrastructure/Http/Resources/VacationRequestResource.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Toby\Http\Resources; +namespace Toby\Infrastructure\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; diff --git a/app/Rules/YearPeriodExists.php b/app/Infrastructure/Http/Rules/YearPeriodExists.php similarity index 84% rename from app/Rules/YearPeriodExists.php rename to app/Infrastructure/Http/Rules/YearPeriodExists.php index ef9ccbc..d6f9677 100644 --- a/app/Rules/YearPeriodExists.php +++ b/app/Infrastructure/Http/Rules/YearPeriodExists.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Toby\Rules; +namespace Toby\Infrastructure\Http\Rules; use Illuminate\Contracts\Validation\Rule; use Illuminate\Support\Carbon; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\YearPeriod; class YearPeriodExists implements Rule { diff --git a/app/Jobs/CheckYearPeriod.php b/app/Infrastructure/Jobs/CheckYearPeriod.php similarity index 92% rename from app/Jobs/CheckYearPeriod.php rename to app/Infrastructure/Jobs/CheckYearPeriod.php index a4a52b6..9922e01 100644 --- a/app/Jobs/CheckYearPeriod.php +++ b/app/Infrastructure/Jobs/CheckYearPeriod.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Toby\Jobs; +namespace Toby\Infrastructure\Jobs; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Support\Carbon; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\YearPeriod; class CheckYearPeriod implements ShouldQueue { diff --git a/artisan b/artisan index 67a3329..7e974c1 100755 --- a/artisan +++ b/artisan @@ -1,52 +1,20 @@ #!/usr/bin/env php make(Kernel::class); -/* -|-------------------------------------------------------------------------- -| Run The Artisan Application -|-------------------------------------------------------------------------- -| -| When we run the console application, the current CLI command will be -| executed in this console and the response sent back to a terminal -| or another output device for the developers. Here goes nothing! -| -*/ - -$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class); - -$status = $kernel->handle( - $input = new Symfony\Component\Console\Input\ArgvInput, - new Symfony\Component\Console\Output\ConsoleOutput -); - -/* -|-------------------------------------------------------------------------- -| Shutdown The Application -|-------------------------------------------------------------------------- -| -| Once Artisan has finished running, we will fire off the shutdown events -| so that any final work may be done by the application before we shut -| down the process. This is the last thing to happen to the request. -| -*/ +$input = new ArgvInput(); +$status = $kernel->handle($input, new ConsoleOutput()); $kernel->terminate($input, $status); diff --git a/bootstrap/app.php b/bootstrap/app.php index ed6258d..1775ff1 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -6,15 +6,15 @@ use Illuminate\Contracts\Console\Kernel as ConsoleKernelContract; use Illuminate\Contracts\Debug\ExceptionHandler as HandlerContract; use Illuminate\Contracts\Http\Kernel as HttpKernelContract; use Illuminate\Foundation\Application; -use Toby\Console\Kernel as ConsoleKernel; -use Toby\Exceptions\Handler; -use Toby\Http\Kernel as HttpKernel; +use Toby\Architecture\ExceptionHandler; +use Toby\Infrastructure\Console\Kernel as ConsoleKernel; +use Toby\Infrastructure\Http\Kernel as HttpKernel; $basePath = $_ENV["APP_BASE_PATH"] ?? dirname(__DIR__); $application = new Application($basePath); $application->singleton(HttpKernelContract::class, HttpKernel::class); $application->singleton(ConsoleKernelContract::class, ConsoleKernel::class); -$application->singleton(HandlerContract::class, Handler::class); +$application->singleton(HandlerContract::class, ExceptionHandler::class); return $application; diff --git a/config/app.php b/config/app.php index 3fa85eb..cbd96cb 100644 --- a/config/app.php +++ b/config/app.php @@ -37,11 +37,11 @@ return [ Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, - Toby\Providers\AppServiceProvider::class, - Toby\Providers\AuthServiceProvider::class, - Toby\Providers\EventServiceProvider::class, - Toby\Providers\RouteServiceProvider::class, - Toby\Providers\TelescopeServiceProvider::class, - Toby\Providers\ObserverServiceProvider::class, + Toby\Architecture\Providers\AppServiceProvider::class, + Toby\Architecture\Providers\AuthServiceProvider::class, + Toby\Architecture\Providers\EventServiceProvider::class, + Toby\Architecture\Providers\RouteServiceProvider::class, + Toby\Architecture\Providers\TelescopeServiceProvider::class, + Toby\Architecture\Providers\ObserverServiceProvider::class, ], ]; diff --git a/config/auth.php b/config/auth.php index a77b4f2..1e40adf 100644 --- a/config/auth.php +++ b/config/auth.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use Toby\Models\User; +use Toby\Eloquent\Models\User; return [ "defaults" => [ diff --git a/config/vacation_types.php b/config/vacation_types.php index 07717da..5039dfe 100644 --- a/config/vacation_types.php +++ b/config/vacation_types.php @@ -2,8 +2,8 @@ declare(strict_types=1); -use Toby\Enums\VacationType; -use Toby\Helpers\VacationTypeConfigRetriever; +use Toby\Domain\Enums\VacationType; +use Toby\Domain\VacationTypeConfigRetriever; return [ VacationType::VACATION->value => [ diff --git a/database/factories/HolidayFactory.php b/database/factories/HolidayFactory.php index 70da3e8..cab499a 100644 --- a/database/factories/HolidayFactory.php +++ b/database/factories/HolidayFactory.php @@ -5,10 +5,13 @@ declare(strict_types=1); namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\Holiday; +use Toby\Eloquent\Models\YearPeriod; class HolidayFactory extends Factory { + protected $model = Holiday::class; + public function definition(): array { return [ diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 180411a..5e4086a 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -7,11 +7,14 @@ namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Carbon; use Illuminate\Support\Str; -use Toby\Enums\EmploymentForm; -use Toby\Enums\Role; +use Toby\Domain\Enums\EmploymentForm; +use Toby\Domain\Enums\Role; +use Toby\Eloquent\Models\User; class UserFactory extends Factory { + protected $model = User::class; + public function definition(): array { return [ diff --git a/database/factories/VacationLimitFactory.php b/database/factories/VacationLimitFactory.php index 543720a..f4fcc14 100644 --- a/database/factories/VacationLimitFactory.php +++ b/database/factories/VacationLimitFactory.php @@ -5,11 +5,14 @@ declare(strict_types=1); namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; -use Toby\Models\User; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationLimit; +use Toby\Eloquent\Models\YearPeriod; class VacationLimitFactory extends Factory { + protected $model = VacationLimit::class; + public function definition(): array { $hasVacation = $this->faker->boolean(75); diff --git a/database/factories/VacationRequestFactory.php b/database/factories/VacationRequestFactory.php index 7f86947..839e2b7 100644 --- a/database/factories/VacationRequestFactory.php +++ b/database/factories/VacationRequestFactory.php @@ -5,12 +5,15 @@ declare(strict_types=1); namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; -use Toby\Enums\VacationRequestState; -use Toby\Enums\VacationType; -use Toby\Models\User; +use Toby\Domain\Enums\VacationRequestState; +use Toby\Domain\Enums\VacationType; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationRequest; class VacationRequestFactory extends Factory { + protected $model = VacationRequest::class; + public function definition(): array { $number = $this->faker->numberBetween(1, 20); diff --git a/database/factories/YearPeriodFactory.php b/database/factories/YearPeriodFactory.php index e0768c7..7e9eb37 100644 --- a/database/factories/YearPeriodFactory.php +++ b/database/factories/YearPeriodFactory.php @@ -5,9 +5,12 @@ declare(strict_types=1); namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; +use Toby\Eloquent\Models\YearPeriod; class YearPeriodFactory extends Factory { + protected $model = YearPeriod::class; + public function definition(): array { return [ diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index e728076..cc11d89 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -5,7 +5,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -use Toby\Enums\Role; +use Toby\Domain\Enums\Role; return new class() extends Migration { public function up(): void diff --git a/database/migrations/2022_01_19_140630_create_vacation_limits_table.php b/database/migrations/2022_01_19_140630_create_vacation_limits_table.php index c2b29d5..45d6fa6 100644 --- a/database/migrations/2022_01_19_140630_create_vacation_limits_table.php +++ b/database/migrations/2022_01_19_140630_create_vacation_limits_table.php @@ -5,8 +5,8 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -use Toby\Models\User; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\YearPeriod; return new class() extends Migration { public function up(): void diff --git a/database/migrations/2022_01_20_140544_create_holidays_table.php b/database/migrations/2022_01_20_140544_create_holidays_table.php index 941418c..e7a9b58 100644 --- a/database/migrations/2022_01_20_140544_create_holidays_table.php +++ b/database/migrations/2022_01_20_140544_create_holidays_table.php @@ -5,7 +5,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\YearPeriod; return new class() extends Migration { public function up(): void diff --git a/database/migrations/2022_01_26_100039_create_vacation_requests_table.php b/database/migrations/2022_01_26_100039_create_vacation_requests_table.php index ff02d1e..a7e4cd7 100644 --- a/database/migrations/2022_01_26_100039_create_vacation_requests_table.php +++ b/database/migrations/2022_01_26_100039_create_vacation_requests_table.php @@ -5,7 +5,7 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -use Toby\Models\User; +use Toby\Eloquent\Models\User; return new class() extends Migration { public function up(): void diff --git a/database/migrations/2022_01_28_140009_create_vacation_request_activities_table.php b/database/migrations/2022_01_28_140009_create_vacation_request_activities_table.php index f7c6266..912b9a5 100644 --- a/database/migrations/2022_01_28_140009_create_vacation_request_activities_table.php +++ b/database/migrations/2022_01_28_140009_create_vacation_request_activities_table.php @@ -5,8 +5,8 @@ declare(strict_types=1); use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -use Toby\Models\User; -use Toby\Models\VacationRequest; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationRequest; return new class() extends Migration { public function up(): void @@ -21,9 +21,6 @@ return new class() extends Migration { }); } - /** - * Reverse the migrations. - */ public function down(): void { Schema::dropIfExists("vacation_request_activities"); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 19e1bdc..af9ac30 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -7,12 +7,12 @@ namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Carbon; use Illuminate\Support\Collection; -use Toby\Helpers\PolishHolidaysRetriever; -use Toby\Helpers\UserAvatarGenerator; -use Toby\Models\User; -use Toby\Models\VacationLimit; -use Toby\Models\VacationRequest; -use Toby\Models\YearPeriod; +use Toby\Domain\PolishHolidaysRetriever; +use Toby\Eloquent\Helpers\UserAvatarGenerator; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationLimit; +use Toby\Eloquent\Models\VacationRequest; +use Toby\Eloquent\Models\YearPeriod; class DatabaseSeeder extends Seeder { diff --git a/docker-compose.yml b/docker-compose.yml index e649c7a..7fcec65 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -43,7 +43,7 @@ services: - MYSQL_USER=${DOCKER_DEV_DB_USERNAME} - MYSQL_PASSWORD=${DOCKER_DEV_DB_PASSWORD} ports: - - ${DOCKER_DB_EXTERNAL_PORT:-3306}:3306 + - ${DOCKER_DEV_DB_EXTERNAL_PORT:-3306}:3306 volumes: - toby-mysql-data:/var/lib/mysql networks: diff --git a/package-lock.json b/package-lock.json index ee343be..64ebfd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "toby", + "name": "application", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/readme.md b/readme.md index a45dbc4..a30e446 100644 --- a/readme.md +++ b/readme.md @@ -4,7 +4,15 @@ > HR software you love to hate +## Architecture +Directory structure little differs from a standard Laravel tree. We decided to refactor main `app` directory to better suit our needs. All classes are grouped in four major categories: +* `app/Architecture` for all framework-related stuff like service providers, exception handler and more; +* `app/Domain` for all framework-agnostic services related to the business logic of the application; +* `app/Eloquent` for all database/ORM-related classes like models, observers and scopes; +* `app/Infrastructure` for entry points to the application: CLI, HTTP and async ones. + ## Local setup +- run `sh setup` or: > `dcr` is an alias to `docker-compose run --rm -u "$(id -u):$(id -g)"` @@ -95,4 +103,4 @@ Docker container: ``` docker-compose run --rm -e XDEBUG_MODE=off php php artisan test -``` \ No newline at end of file +``` diff --git a/routes/web.php b/routes/web.php index 698b84c..db18237 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,13 +3,13 @@ declare(strict_types=1); use Illuminate\Support\Facades\Route; -use Toby\Http\Controllers\GoogleController; -use Toby\Http\Controllers\HolidayController; -use Toby\Http\Controllers\LogoutController; -use Toby\Http\Controllers\SelectYearPeriodController; -use Toby\Http\Controllers\UserController; -use Toby\Http\Controllers\VacationLimitController; -use Toby\Http\Controllers\VacationRequestController; +use Toby\Infrastructure\Http\Controllers\GoogleController; +use Toby\Infrastructure\Http\Controllers\HolidayController; +use Toby\Infrastructure\Http\Controllers\LogoutController; +use Toby\Infrastructure\Http\Controllers\SelectYearPeriodController; +use Toby\Infrastructure\Http\Controllers\UserController; +use Toby\Infrastructure\Http\Controllers\VacationLimitController; +use Toby\Infrastructure\Http\Controllers\VacationRequestController; Route::middleware("auth")->group(function (): void { Route::get("/", fn() => inertia("Dashboard")) diff --git a/setup b/setup new file mode 100644 index 0000000..2fd090a --- /dev/null +++ b/setup @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ ! -f ".env" ]; then + cp .env.example .env +fi + +docker-compose build --no-cache --pull +docker-compose up -d +docker-compose run --rm -u "$(id -u):$(id -g)" php composer install +docker-compose run --rm -u "$(id -u):$(id -g)" php php artisan key:generate +docker-compose run --rm -u "$(id -u):$(id -g)" php php artisan migrate --seed +docker-compose run --rm -u "$(id -u):$(id -g)" node npm install +docker-compose run --rm -u "$(id -u):$(id -g)" node npm run dev diff --git a/tests/Browser/AuthenticationTest.php b/tests/Browser/AuthenticationTest.php index e21c10a..49799b4 100644 --- a/tests/Browser/AuthenticationTest.php +++ b/tests/Browser/AuthenticationTest.php @@ -8,7 +8,7 @@ use Illuminate\Foundation\Testing\DatabaseMigrations; use Laravel\Dusk\Browser; use Tests\Browser\Pages\HomePage; use Tests\DuskTestCase; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class AuthenticationTest extends DuskTestCase { diff --git a/tests/Feature/AuthenticationTest.php b/tests/Feature/AuthenticationTest.php index 37b138e..1a53c57 100644 --- a/tests/Feature/AuthenticationTest.php +++ b/tests/Feature/AuthenticationTest.php @@ -6,7 +6,7 @@ namespace Tests\Feature; use Illuminate\Foundation\Testing\DatabaseMigrations; use Tests\FeatureTestCase; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class AuthenticationTest extends FeatureTestCase { diff --git a/tests/Feature/HolidayTest.php b/tests/Feature/HolidayTest.php index f62d7d2..7f96a7f 100644 --- a/tests/Feature/HolidayTest.php +++ b/tests/Feature/HolidayTest.php @@ -8,9 +8,9 @@ use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Carbon; use Inertia\Testing\AssertableInertia as Assert; use Tests\FeatureTestCase; -use Toby\Models\Holiday; -use Toby\Models\User; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\Holiday; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\YearPeriod; class HolidayTest extends FeatureTestCase { diff --git a/tests/Feature/InertiaTest.php b/tests/Feature/InertiaTest.php index 566220c..adafed6 100644 --- a/tests/Feature/InertiaTest.php +++ b/tests/Feature/InertiaTest.php @@ -7,7 +7,7 @@ namespace Tests\Feature; use Illuminate\Foundation\Testing\DatabaseMigrations; use Inertia\Testing\AssertableInertia as Assert; use Tests\FeatureTestCase; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class InertiaTest extends FeatureTestCase { diff --git a/tests/Feature/SelectYearPeriodTest.php b/tests/Feature/SelectYearPeriodTest.php index ef40190..6c4880f 100644 --- a/tests/Feature/SelectYearPeriodTest.php +++ b/tests/Feature/SelectYearPeriodTest.php @@ -7,8 +7,8 @@ namespace Tests\Feature; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Carbon; use Tests\FeatureTestCase; -use Toby\Helpers\YearPeriodRetriever; -use Toby\Models\User; +use Toby\Eloquent\Helpers\YearPeriodRetriever; +use Toby\Eloquent\Models\User; class SelectYearPeriodTest extends FeatureTestCase { diff --git a/tests/Feature/UserTest.php b/tests/Feature/UserTest.php index df2bffb..b6f7612 100644 --- a/tests/Feature/UserTest.php +++ b/tests/Feature/UserTest.php @@ -8,9 +8,9 @@ use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Carbon; use Inertia\Testing\AssertableInertia as Assert; use Tests\FeatureTestCase; -use Toby\Enums\EmploymentForm; -use Toby\Enums\Role; -use Toby\Models\User; +use Toby\Domain\Enums\EmploymentForm; +use Toby\Domain\Enums\Role; +use Toby\Eloquent\Models\User; class UserTest extends FeatureTestCase { diff --git a/tests/Feature/VacationLimitTest.php b/tests/Feature/VacationLimitTest.php index 7e62fa7..e57e9e3 100644 --- a/tests/Feature/VacationLimitTest.php +++ b/tests/Feature/VacationLimitTest.php @@ -7,8 +7,8 @@ namespace Tests\Feature; use Illuminate\Foundation\Testing\DatabaseMigrations; use Inertia\Testing\AssertableInertia as Assert; use Tests\FeatureTestCase; -use Toby\Models\User; -use Toby\Models\VacationLimit; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\VacationLimit; class VacationLimitTest extends FeatureTestCase { diff --git a/tests/Traits/InteractsWithYearPeriods.php b/tests/Traits/InteractsWithYearPeriods.php index 6ab5073..6c84de2 100644 --- a/tests/Traits/InteractsWithYearPeriods.php +++ b/tests/Traits/InteractsWithYearPeriods.php @@ -6,8 +6,8 @@ namespace Tests\Traits; use Illuminate\Foundation\Testing\Concerns\InteractsWithSession; use Illuminate\Support\Carbon; -use Toby\Helpers\YearPeriodRetriever; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Helpers\YearPeriodRetriever; +use Toby\Eloquent\Models\YearPeriod; trait InteractsWithYearPeriods { diff --git a/tests/Unit/AvatarTest.php b/tests/Unit/AvatarTest.php index bc32844..2c13d21 100644 --- a/tests/Unit/AvatarTest.php +++ b/tests/Unit/AvatarTest.php @@ -8,7 +8,7 @@ use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Support\Facades\Storage; use Tests\TestCase; use Tests\Traits\InteractsWithYearPeriods; -use Toby\Models\User; +use Toby\Eloquent\Models\User; class AvatarTest extends TestCase { diff --git a/tests/Unit/CheckYearPeriodTest.php b/tests/Unit/CheckYearPeriodTest.php index b258e84..b632fac 100644 --- a/tests/Unit/CheckYearPeriodTest.php +++ b/tests/Unit/CheckYearPeriodTest.php @@ -8,7 +8,7 @@ use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Carbon; use Tests\TestCase; use Tests\Traits\InteractsWithYearPeriods; -use Toby\Jobs\CheckYearPeriod; +use Toby\Infrastructure\Jobs\CheckYearPeriod; class CheckYearPeriodTest extends TestCase { diff --git a/tests/Unit/VacationLimitTest.php b/tests/Unit/VacationLimitTest.php index 7b2d7a9..726e248 100644 --- a/tests/Unit/VacationLimitTest.php +++ b/tests/Unit/VacationLimitTest.php @@ -7,8 +7,8 @@ namespace Tests\Unit; use Illuminate\Foundation\Testing\DatabaseMigrations; use Tests\TestCase; use Tests\Traits\InteractsWithYearPeriods; -use Toby\Models\User; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Models\User; +use Toby\Eloquent\Models\YearPeriod; class VacationLimitTest extends TestCase { diff --git a/tests/Unit/YearPeriodRetrieverTest.php b/tests/Unit/YearPeriodRetrieverTest.php index a6a82c4..7b18aa9 100644 --- a/tests/Unit/YearPeriodRetrieverTest.php +++ b/tests/Unit/YearPeriodRetrieverTest.php @@ -9,8 +9,8 @@ use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Carbon; use Tests\TestCase; use Tests\Traits\InteractsWithYearPeriods; -use Toby\Helpers\YearPeriodRetriever; -use Toby\Models\YearPeriod; +use Toby\Eloquent\Helpers\YearPeriodRetriever; +use Toby\Eloquent\Models\YearPeriod; class YearPeriodRetrieverTest extends TestCase {