daevin 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/Daevin_test/.editorconfig +15 -0
- package/Daevin_test/.env.example +92 -0
- package/Daevin_test/.gitattributes +10 -0
- package/Daevin_test/CODE_OF_CONDUCT.md +3 -0
- package/Daevin_test/CONTRIBUTING.md +3 -0
- package/Daevin_test/LICENSE +21 -0
- package/Daevin_test/README.md +314 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/ApiLoginProxyForWebClientAction.php +52 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/ApiLogoutAction.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/ApiRefreshProxyForWebClientAction.php +47 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/ForgotPasswordAction.php +43 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/GetAuthenticatedUserAction.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/RegisterUserAction.php +39 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/ResetPasswordAction.php +61 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/SendVerificationEmailAction.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/VerifyEmailAction.php +43 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/WebLoginAction.php +46 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Actions/WebLogoutAction.php +17 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Classes/LoginCustomAttribute.php +97 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Configs/appSection-authentication.php +117 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Exceptions/EmailNotVerifiedException.php +12 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Exceptions/InvalidEmailVerificationDataException.php +12 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Exceptions/InvalidResetPasswordTokenException.php +12 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Exceptions/LoginFailedException.php +12 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Exceptions/RefreshTokenMissingException.php +12 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Mails/ForgotPassword.php +32 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Mails/Templates/forgot-password.blade.php +73 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Middlewares/RedirectIfAuthenticated.php +35 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Notifications/EmailVerified.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Notifications/PasswordReset.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Notifications/VerifyEmail.php +49 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Notifications/Welcome.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Providers/AuthServiceProvider.php +76 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Providers/MainServiceProvider.php +32 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Providers/MiddlewareServiceProvider.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/README.md +1 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tasks/CallOAuthServerTask.php +36 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tasks/CreatePasswordResetTokenTask.php +14 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tasks/CreateUserByCredentialsTask.php +34 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tasks/LoginTask.php +14 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tasks/MakeRefreshCookieTask.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tasks/SendVerificationEmailTask.php +16 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Stubs/oauth-private.key +51 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Stubs/oauth-public.key +14 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/TestCase.php +18 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/CreatePasswordResetTokenTaskTest.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/CreateUserByCredentialsTaskTest.php +42 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/ForgotPasswordActionTest.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/LoginCustomAttributeTest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/RedirectIfAuthenticatedMiddlewareTest.php +44 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/RegisterUserActionTest.php +64 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/ResetPasswordActionTest.php +83 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/SendVerificationEmailTaskTest.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Tests/Unit/WebLoginActionTest.php +75 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/Traits/AuthenticationTrait.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/ForgotPasswordController.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/GetAuthenticatedUserController.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/LoginProxyForWebClientController.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/LogoutController.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/RefreshProxyForWebClientController.php +35 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/RegisterUserController.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/ResetPasswordController.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/SendVerificationEmailController.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Controllers/VerifyEmailController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/ForgotPasswordRequest.php +50 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/GetAuthenticatedUserRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/LoginProxyPasswordGrantRequest.php +57 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/LogoutRequest.php +51 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/RefreshProxyRequest.php +51 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/RegisterUserRequest.php +61 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/ResetPasswordRequest.php +55 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/SendVerificationEmailRequest.php +56 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Requests/VerifyEmailRequest.php +51 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/ForgotPassword.v1.public.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/GetAuthenticatedUser.v1.private.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/LoginProxyForWebClient.v1.public.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/LoginUsingCredentialGrant.v1.public.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/LoginUsingPasswordGrant.v1.private.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/Logout.v1.public.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/RefreshProxyForWebClient.v1.public.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/RegisterUser.v1.private.php +38 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/ResetPassword.v1.public.php +37 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/SendVerificationEmail.v1.public.php +32 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Routes/VerifyEmail.v1.public.php +35 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/ApiTestCase.php +74 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/ApiLoginProxyForWebClientTest.php +129 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/ApiLogoutTest.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/ApiRefreshProxyForWebClientTest.php +86 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/ForgotPasswordTest.php +56 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/GetAuthenticatedUserTest.php +76 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/RegisterUserTest.php +208 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/ResetPasswordTest.php +79 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/SendVerificationEmailTest.php +95 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/Stubs/oauth-private.key +51 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/Stubs/oauth-public.key +14 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/API/Tests/Functional/VerifyEmailTest.php +84 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Controllers/LoginController.php +39 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Controllers/LogoutController.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Requests/LoginRequest.php +54 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Requests/LogoutRequest.php +50 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Routes/GetLogin.v1.public.php +8 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Routes/PostLogin.v1.public.php +8 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Routes/PostLogout.php +7 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/UI/WEB/Views/login.blade.php +121 -0
- package/Daevin_test/app/Containers/AppSection/Authentication/composer.json +11 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/AssignRolesToUserAction.php +32 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/AttachPermissionsToRoleAction.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/AttachPermissionsToUserAction.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/CreatePermissionAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/CreateRoleAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/DeleteRoleAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/DetachPermissionsFromRoleAction.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/DetachPermissionsFromUserAction.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/FindPermissionAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/FindRoleAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/GetAllPermissionsAction.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/GetAllRolesAction.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/GetRolePermissionsAction.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/GetUserPermissionsAction.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/GetUserRolesAction.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/RevokeRolesFromUserAction.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/SyncPermissionsOnRoleAction.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Actions/SyncUserRolesAction.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Configs/appSection-authorization.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Configs/permission.php +161 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Factories/PermissionFactory.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Factories/RoleFactory.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Migrations/2016_12_29_201047_create_permission_tables.php +141 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Migrations/2017_04_22_122453_add_extra_fields_to_permissions_tale.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Migrations/2017_04_22_122522_add_extra_fields_to_roles_table.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Repositories/PermissionRepository.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Repositories/RoleRepository.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Seeders/AuthorizationDefaultUsersSeeder_4.php +36 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Seeders/AuthorizationGivePermissionsToRolesSeeder_3.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Seeders/AuthorizationPermissionsSeeder_1.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Data/Seeders/AuthorizationRolesSeeder_2.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Models/Permission.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Models/Role.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Providers/MainServiceProvider.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/README.md +1 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/AssignRolesToUserTask.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/CreatePermissionTask.php +41 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/CreateRoleTask.php +41 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/DeleteRoleTask.php +35 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/DetachPermissionsFromRoleTask.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/DetachPermissionsFromUserTask.php +24 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/FindPermissionTask.php +49 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/FindRoleTask.php +49 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/GetAllPermissionsTask.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/GetAllRolesTask.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tasks/RevokeRoleFromUserTask.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/TestCase.php +18 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/CreatePermissionTaskTest.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/CreateRoleTaskTest.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/DeleteRoleTaskTest.php +36 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/FindPermissionTaskTest.php +44 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/FindRoleTaskTest.php +44 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/PermissionFactoryTest.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/PermissionMigrationTest.php +95 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Tests/Unit/RoleFactoryTest.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Traits/AuthorizationTrait.php +11 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/Traits/IsResourceOwnerTrait.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/AssignRolesToUserController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/AttachPermissionsToRoleController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/AttachPermissionsToUserController.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/CreateRoleController.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/DeleteRoleController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/DetachPermissionsFromRoleController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/DetachPermissionsFromUserController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/FindPermissionController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/FindRoleController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/GetAllPermissionsController.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/GetAllRolesController.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/GetRolePermissionsController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/GetUserPermissionsController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/GetUserRolesController.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/RevokeRolesFromUserController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/SyncPermissionOnRoleController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Controllers/SyncUserRolesController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/AssignRolesToUserRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/AttachPermissionsToRoleRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/AttachPermissionsToUserRequest.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/CreateRoleRequest.php +47 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/DeleteRoleRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/DetachPermissionsFromRoleRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/DetachPermissionsFromUserRequest.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/FindPermissionRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/FindRoleRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/GetAllPermissionsRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/GetAllRolesRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/GetRolePermissionsRequest.php +51 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/GetUserPermissionsRequest.php +51 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/GetUserRolesRequest.php +51 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/RevokeRolesFromUserRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/SyncPermissionsOnRoleRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Requests/SyncUserRolesRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/AssignRolesToUser.v1.private.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/AttachPermissionsToRole.v1.private.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/AttachPermissionsToUser.v1.private.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/CreateRole.v1.private.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/DeleteRole.v1.private.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/DetachPermissionsFromRole.v1.private.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/DetachPermissionsFromUser.v1.private.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/FindPermission.v1.private.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/FindRole.v1.private.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/GetAllPermissions.v1.private.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/GetAllRoles.v1.private.php +21 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/GetRolePermissions.v1.private.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/GetUserPermissions.v1.private.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/GetUserRoles.v1.private.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/RevokeRolesFromUser.v1.private.php +29 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/SyncPermissionOnRole.v1.private.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/SyncUserRoles.v1.private.php +27 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/_permission.v1.public.php +25 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/_role.v1.public.php +43 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Routes/_userPermissions.v1.public.php +48 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/ApiTestCase.php +15 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/AssignRolesToUserTest.php +71 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/AttachPermissionToUserTest.php +114 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/AttachPermissionsToRoleTest.php +115 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/CreateRoleTest.php +65 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/DeleteRoleTest.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/DetachPermissionFromUserTest.php +120 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/DetachPermissionsFromRoleTest.php +115 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/FindPermissionTest.php +42 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/FindRoleTest.php +42 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/GetAllPermissionsTest.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/GetAllRolesTest.php +32 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/GetRolePermissionsTest.php +39 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/GetUserPermissionsTest.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/GetUserRolesTest.php +40 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/RevokeRolesFromUserTest.php +115 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/SyncPermissionsOnRoleTest.php +92 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Tests/Functional/SyncUserRolesTest.php +93 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Transformers/PermissionTransformer.php +28 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/API/Transformers/RoleTransformer.php +34 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/WEB/Controllers/UnauthorizedController.php +19 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/WEB/Requests/UnauthorizedRequest.php +49 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/WEB/Routes/GetUnauthorized.php +7 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/UI/WEB/Views/unauthorized.blade.php +43 -0
- package/Daevin_test/app/Containers/AppSection/Authorization/composer.json +11 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Actions/CreatePostsAction.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Actions/DeletePostsAction.php +18 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Actions/FindPostsByIdAction.php +18 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Actions/GetAllPostsAction.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Actions/UpdatePostsAction.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Configs/appSection-posts.php +14 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Data/Factories/PostsFactory.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Data/Migrations/2023_2_19_55939_create_posts_migration.php +30 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Data/Repositories/PostsRepository.php +17 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Models/Posts.php +42 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Posts.json +7 -0
- package/Daevin_test/app/Containers/AppSection/Posts/README.md +194 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Tasks/CreatePostsTask.php +34 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Tasks/DeletePostsTask.php +35 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Tasks/FindPostsByIdTask.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Tasks/GetAllPostsTask.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Posts/Tasks/UpdatePostsTask.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Controllers/Controller.php +94 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Requests/CreatePostsRequest.php +54 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Requests/DeletePostsRequest.php +54 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Requests/FindPostsByIdRequest.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Requests/GetAllPostsRequest.php +54 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Requests/UpdatePostsRequest.php +56 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Routes/CreatePostsRoute.v1.private.php +52 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Routes/DeletePostsRoute.v1.private.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Routes/FindPostsByIdRoute.v1.private.php +52 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Routes/GetAllPostsRoute.v1.private.php +74 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Routes/UpdatePostsRoute.v1.private.php +52 -0
- package/Daevin_test/app/Containers/AppSection/Posts/UI/API/Transformers/PostsTransformer.php +49 -0
- package/Daevin_test/app/Containers/AppSection/Posts/composer.json +7 -0
- package/Daevin_test/app/Containers/AppSection/User/Actions/CreateAdminAction.php +39 -0
- package/Daevin_test/app/Containers/AppSection/User/Actions/DeleteUserAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/User/Actions/FindUserByIdAction.php +22 -0
- package/Daevin_test/app/Containers/AppSection/User/Actions/GetAllUsersAction.php +21 -0
- package/Daevin_test/app/Containers/AppSection/User/Actions/UpdateUserAction.php +33 -0
- package/Daevin_test/app/Containers/AppSection/User/Actions/UpdateUserPasswordAction.php +35 -0
- package/Daevin_test/app/Containers/AppSection/User/Configs/appSection-user.php +5 -0
- package/Daevin_test/app/Containers/AppSection/User/Data/Factories/UserFactory.php +44 -0
- package/Daevin_test/app/Containers/AppSection/User/Data/Migrations/2000_01_01_000001_create_users_table.php +34 -0
- package/Daevin_test/app/Containers/AppSection/User/Data/Migrations/2000_01_01_000002_create_password_resets_table.php +28 -0
- package/Daevin_test/app/Containers/AppSection/User/Data/Repositories/UserRepository.php +21 -0
- package/Daevin_test/app/Containers/AppSection/User/Data/Seeders/UserPermissionsSeeder_1.php +26 -0
- package/Daevin_test/app/Containers/AppSection/User/Models/User.php +58 -0
- package/Daevin_test/app/Containers/AppSection/User/Notifications/PasswordUpdatedNotification.php +28 -0
- package/Daevin_test/app/Containers/AppSection/User/Providers/MainServiceProvider.php +39 -0
- package/Daevin_test/app/Containers/AppSection/User/README.md +1 -0
- package/Daevin_test/app/Containers/AppSection/User/Tasks/DeleteUserTask.php +35 -0
- package/Daevin_test/app/Containers/AppSection/User/Tasks/FindUserByEmailTask.php +28 -0
- package/Daevin_test/app/Containers/AppSection/User/Tasks/FindUserByIdTask.php +31 -0
- package/Daevin_test/app/Containers/AppSection/User/Tasks/GetAllUsersTask.php +26 -0
- package/Daevin_test/app/Containers/AppSection/User/Tasks/UpdateUserTask.php +42 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/TestCase.php +18 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/CreateAdminActionTest.php +50 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/DeleteUserTaskTest.php +35 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/FindUserByIdTaskTest.php +35 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/PasswordResetsMigrationTest.php +28 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/UpdateUserTaskTest.php +52 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/UserFactoryTest.php +36 -0
- package/Daevin_test/app/Containers/AppSection/User/Tests/Unit/UsersMigrationTest.php +34 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Controllers/DeleteUserController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Controllers/FindUserByIdController.php +26 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Controllers/GetAllUsersController.php +28 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Controllers/UpdateUserController.php +30 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Controllers/UpdateUserPasswordController.php +30 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Requests/DeleteUserRequest.php +48 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Requests/FindUserByIdRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Requests/GetAllUsersRequest.php +45 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Requests/UpdateUserPasswordRequest.php +56 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Requests/UpdateUserRequest.php +50 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Routes/DeleteUser.v1.private.php +26 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Routes/FindUserById.v1.private.php +24 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Routes/GetAllUsers.v1.private.php +23 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Routes/UpdateUser.v1.private.php +27 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Routes/UpdateUserPassword.v1.private.php +36 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Routes/_user.v1.public.php +25 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Tests/ApiTestCase.php +15 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Tests/Functional/DeleteUserTest.php +50 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Tests/Functional/FindUserByIdTest.php +80 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Tests/Functional/GetAllUsersTest.php +88 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Tests/Functional/UpdateUserPasswordTest.php +126 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Tests/Functional/UpdateUserTest.php +80 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/API/Transformers/UserTransformer.php +52 -0
- package/Daevin_test/app/Containers/AppSection/User/UI/CLI/Commands/CreateAdminCommand.php +37 -0
- package/Daevin_test/app/Containers/AppSection/User/composer.json +7 -0
- package/Daevin_test/app/Containers/AppSection/Users/Actions/CreateUsersAction.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Users/Actions/DeleteUsersAction.php +18 -0
- package/Daevin_test/app/Containers/AppSection/Users/Actions/FindUsersByIdAction.php +18 -0
- package/Daevin_test/app/Containers/AppSection/Users/Actions/GetAllUsersAction.php +23 -0
- package/Daevin_test/app/Containers/AppSection/Users/Actions/UpdateUsersAction.php +26 -0
- package/Daevin_test/app/Containers/AppSection/Users/Configs/appSection-users.php +14 -0
- package/Daevin_test/app/Containers/AppSection/Users/Data/Factories/UsersFactory.php +22 -0
- package/Daevin_test/app/Containers/AppSection/Users/Data/Migrations/2023_2_19_55939_create_users_migration.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Users/Data/Repositories/UsersRepository.php +17 -0
- package/Daevin_test/app/Containers/AppSection/Users/Models/Users.php +44 -0
- package/Daevin_test/app/Containers/AppSection/Users/README.md +194 -0
- package/Daevin_test/app/Containers/AppSection/Users/Tasks/CreateUsersTask.php +34 -0
- package/Daevin_test/app/Containers/AppSection/Users/Tasks/DeleteUsersTask.php +35 -0
- package/Daevin_test/app/Containers/AppSection/Users/Tasks/FindUsersByIdTask.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Users/Tasks/GetAllUsersTask.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Users/Tasks/UpdateUsersTask.php +33 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Controllers/Controller.php +94 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Requests/CreateUsersRequest.php +55 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Requests/DeleteUsersRequest.php +54 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Requests/FindUsersByIdRequest.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Requests/GetAllUsersRequest.php +54 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Requests/UpdateUsersRequest.php +57 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Routes/CreateUsersRoute.v1.private.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Routes/DeleteUsersRoute.v1.private.php +31 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Routes/FindUsersByIdRoute.v1.private.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Routes/GetAllUsersRoute.v1.private.php +75 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Routes/UpdateUsersRoute.v1.private.php +53 -0
- package/Daevin_test/app/Containers/AppSection/Users/UI/API/Transformers/UsersTransformer.php +49 -0
- package/Daevin_test/app/Containers/AppSection/Users/Users.json +7 -0
- package/Daevin_test/app/Containers/AppSection/Users/composer.json +7 -0
- package/Daevin_test/app/Ship/Broadcasts/channels.php +16 -0
- package/Daevin_test/app/Ship/Commands/HelloWorldCommand.php +32 -0
- package/Daevin_test/app/Ship/Commands/closures.php +19 -0
- package/Daevin_test/app/Ship/Configs/apiato.php +185 -0
- package/Daevin_test/app/Ship/Configs/debugbar.php +275 -0
- package/Daevin_test/app/Ship/Configs/fractal.php +43 -0
- package/Daevin_test/app/Ship/Configs/hashids.php +54 -0
- package/Daevin_test/app/Ship/Configs/ide-helper.php +319 -0
- package/Daevin_test/app/Ship/Configs/notification.php +16 -0
- package/Daevin_test/app/Ship/Configs/repository.php +250 -0
- package/Daevin_test/app/Ship/Contracts/MustVerifyEmail.php +14 -0
- package/Daevin_test/app/Ship/Criterias/CreatedTodayCriteria.php +15 -0
- package/Daevin_test/app/Ship/Criterias/GroupByCriteria.php +21 -0
- package/Daevin_test/app/Ship/Criterias/IsNullCriteria.php +21 -0
- package/Daevin_test/app/Ship/Criterias/NotNullCriteria.php +21 -0
- package/Daevin_test/app/Ship/Criterias/OrderByCreationDateAscendingCriteria.php +14 -0
- package/Daevin_test/app/Ship/Criterias/OrderByCreationDateDescendingCriteria.php +14 -0
- package/Daevin_test/app/Ship/Criterias/OrderByFieldCriteria.php +37 -0
- package/Daevin_test/app/Ship/Criterias/OrderByNameCriteria.php +14 -0
- package/Daevin_test/app/Ship/Criterias/OrderByUpdateDateAscendingCriteria.php +14 -0
- package/Daevin_test/app/Ship/Criterias/OrderByUpdateDateDescendingCriteria.php +14 -0
- package/Daevin_test/app/Ship/Criterias/ThisBetweenDatesCriteria.php +21 -0
- package/Daevin_test/app/Ship/Criterias/ThisEqualThatCriteria.php +20 -0
- package/Daevin_test/app/Ship/Criterias/ThisLikeThatCriteria.php +35 -0
- package/Daevin_test/app/Ship/Criterias/ThisUserCriteria.php +19 -0
- package/Daevin_test/app/Ship/Events/.gitkeep +0 -0
- package/Daevin_test/app/Ship/Exceptions/CreateResourceFailedException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/DeleteResourceFailedException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/EmailIsMissedException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/Handlers/ExceptionsHandler.php +107 -0
- package/Daevin_test/app/Ship/Exceptions/InternalErrorException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/NotAuthorizedResourceException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/NotFoundException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/NotImplementedException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/UnsupportedFractalSerializerException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/UpdateResourceFailedException.php +12 -0
- package/Daevin_test/app/Ship/Exceptions/ValidationFailedException.php +12 -0
- package/Daevin_test/app/Ship/Generators/CustomStubs/.gitkeep +0 -0
- package/Daevin_test/app/Ship/Helpers/helpers.php +12 -0
- package/Daevin_test/app/Ship/Kernels/ConsoleKernel.php +46 -0
- package/Daevin_test/app/Ship/Kernels/HttpKernel.php +113 -0
- package/Daevin_test/app/Ship/Listeners/.gitkeep +0 -0
- package/Daevin_test/app/Ship/Mails/.gitkeep +0 -0
- package/Daevin_test/app/Ship/Mails/Templates/.gitkeep +0 -0
- package/Daevin_test/app/Ship/Middlewares/Authenticate.php +16 -0
- package/Daevin_test/app/Ship/Middlewares/EncryptCookies.php +17 -0
- package/Daevin_test/app/Ship/Middlewares/PreventRequestsDuringMaintenance.php +17 -0
- package/Daevin_test/app/Ship/Middlewares/TrimStrings.php +19 -0
- package/Daevin_test/app/Ship/Middlewares/TrustHosts.php +20 -0
- package/Daevin_test/app/Ship/Middlewares/TrustProxies.php +28 -0
- package/Daevin_test/app/Ship/Middlewares/VerifyCsrfToken.php +17 -0
- package/Daevin_test/app/Ship/Migrations/2017_09_12_174826_create_notifications_table.php +35 -0
- package/Daevin_test/app/Ship/Migrations/2019_08_19_000000_create_failed_jobs_table.php +36 -0
- package/Daevin_test/app/Ship/Migrations/2021_03_01_150940_create_jobs_table.php +39 -0
- package/Daevin_test/app/Ship/Notifications/.gitkeep +0 -0
- package/Daevin_test/app/Ship/Parents/Actions/Action.php +10 -0
- package/Daevin_test/app/Ship/Parents/Actions/SubAction.php +10 -0
- package/Daevin_test/app/Ship/Parents/Commands/ConsoleCommand.php +10 -0
- package/Daevin_test/app/Ship/Parents/Controllers/ApiController.php +10 -0
- package/Daevin_test/app/Ship/Parents/Controllers/WebController.php +10 -0
- package/Daevin_test/app/Ship/Parents/Criterias/Criteria.php +10 -0
- package/Daevin_test/app/Ship/Parents/Events/Event.php +10 -0
- package/Daevin_test/app/Ship/Parents/Exceptions/Exception.php +10 -0
- package/Daevin_test/app/Ship/Parents/Factories/Factory.php +10 -0
- package/Daevin_test/app/Ship/Parents/Jobs/Job.php +25 -0
- package/Daevin_test/app/Ship/Parents/Listeners/Listener.php +10 -0
- package/Daevin_test/app/Ship/Parents/Mails/Mail.php +10 -0
- package/Daevin_test/app/Ship/Parents/Middlewares/Middleware.php +10 -0
- package/Daevin_test/app/Ship/Parents/Models/Model.php +11 -0
- package/Daevin_test/app/Ship/Parents/Models/UserModel.php +17 -0
- package/Daevin_test/app/Ship/Parents/Notifications/Notification.php +10 -0
- package/Daevin_test/app/Ship/Parents/Policies/Policy.php +26 -0
- package/Daevin_test/app/Ship/Parents/Providers/AuthServiceProvider.php +20 -0
- package/Daevin_test/app/Ship/Parents/Providers/BroadcastServiceProvider.php +26 -0
- package/Daevin_test/app/Ship/Parents/Providers/EventServiceProvider.php +40 -0
- package/Daevin_test/app/Ship/Parents/Providers/MainServiceProvider.php +24 -0
- package/Daevin_test/app/Ship/Parents/Providers/MiddlewareServiceProvider.php +16 -0
- package/Daevin_test/app/Ship/Parents/Providers/RouteServiceProvider.php +24 -0
- package/Daevin_test/app/Ship/Parents/Repositories/Repository.php +10 -0
- package/Daevin_test/app/Ship/Parents/Requests/Request.php +10 -0
- package/Daevin_test/app/Ship/Parents/Seeders/Seeder.php +10 -0
- package/Daevin_test/app/Ship/Parents/Tasks/Task.php +10 -0
- package/Daevin_test/app/Ship/Parents/Tests/PhpUnit/TestCase.php +51 -0
- package/Daevin_test/app/Ship/Parents/Transformers/Transformer.php +25 -0
- package/Daevin_test/app/Ship/Parents/Values/Value.php +9 -0
- package/Daevin_test/app/Ship/Providers/RouteServiceProvider.php +35 -0
- package/Daevin_test/app/Ship/Providers/ShipProvider.php +44 -0
- package/Daevin_test/app/Ship/Seeders/SeedDeploymentData.php +18 -0
- package/Daevin_test/app/Ship/Seeders/SeedTestingData.php +18 -0
- package/Daevin_test/app/Ship/Tests/TestCase.php +10 -0
- package/Daevin_test/app/Ship/composer.json +21 -0
- package/Daevin_test/artisan +53 -0
- package/Daevin_test/bootstrap/app.php +55 -0
- package/Daevin_test/bootstrap/cache/.gitignore +2 -0
- package/Daevin_test/composer.json +112 -0
- package/Daevin_test/composer.lock +12696 -0
- package/Daevin_test/config/app.php +206 -0
- package/Daevin_test/config/auth.php +117 -0
- package/Daevin_test/config/broadcasting.php +67 -0
- package/Daevin_test/config/cache.php +110 -0
- package/Daevin_test/config/cors.php +34 -0
- package/Daevin_test/config/database.php +151 -0
- package/Daevin_test/config/filesystems.php +76 -0
- package/Daevin_test/config/hashing.php +52 -0
- package/Daevin_test/config/logging.php +119 -0
- package/Daevin_test/config/mail.php +117 -0
- package/Daevin_test/config/queue.php +93 -0
- package/Daevin_test/config/services.php +34 -0
- package/Daevin_test/config/session.php +201 -0
- package/Daevin_test/config/view.php +36 -0
- package/Daevin_test/database/factories/ModelFactory.php +4 -0
- package/Daevin_test/database/migrations/.gitkeep +0 -0
- package/Daevin_test/database/seeders/DatabaseSeeder.php +24 -0
- package/Daevin_test/lang/ar/auth.php +19 -0
- package/Daevin_test/lang/ar/pagination.php +19 -0
- package/Daevin_test/lang/ar/passwords.php +22 -0
- package/Daevin_test/lang/ar/validation.php +149 -0
- package/Daevin_test/lang/en/auth.php +20 -0
- package/Daevin_test/lang/en/pagination.php +19 -0
- package/Daevin_test/lang/en/passwords.php +22 -0
- package/Daevin_test/lang/en/validation.php +169 -0
- package/Daevin_test/lang/es/auth.php +19 -0
- package/Daevin_test/lang/es/pagination.php +19 -0
- package/Daevin_test/lang/es/passwords.php +22 -0
- package/Daevin_test/lang/es/validation.php +149 -0
- package/Daevin_test/lang/fa/auth.php +18 -0
- package/Daevin_test/lang/fa/pagination.php +17 -0
- package/Daevin_test/lang/fa/passwords.php +20 -0
- package/Daevin_test/lang/fa/validation.php +182 -0
- package/Daevin_test/lang/fr/auth.php +19 -0
- package/Daevin_test/lang/fr/pagination.php +19 -0
- package/Daevin_test/lang/fr/passwords.php +22 -0
- package/Daevin_test/lang/fr/validation.php +149 -0
- package/Daevin_test/package-lock.json +10031 -0
- package/Daevin_test/package.json +19 -0
- package/Daevin_test/php_cs.dist.php +39 -0
- package/Daevin_test/phpspec.yml +5 -0
- package/Daevin_test/phpunit.xml +38 -0
- package/Daevin_test/psalm.dist.xml +18 -0
- package/Daevin_test/public/.htaccess +21 -0
- package/Daevin_test/public/favicon.ico +0 -0
- package/Daevin_test/public/index.php +55 -0
- package/Daevin_test/public/robots.txt +2 -0
- package/Daevin_test/public/web.config +28 -0
- package/Daevin_test/resources/css/app.css +0 -0
- package/Daevin_test/resources/js/app.js +1 -0
- package/Daevin_test/resources/js/bootstrap.js +28 -0
- package/Daevin_test/resources/views/.gitkeep +0 -0
- package/Daevin_test/server.php +21 -0
- package/Daevin_test/storage/app/.gitignore +3 -0
- package/Daevin_test/storage/app/public/.gitignore +2 -0
- package/Daevin_test/storage/debugbar/.gitignore +2 -0
- package/Daevin_test/storage/framework/cache/.gitignore +2 -0
- package/Daevin_test/storage/framework/sessions/.gitignore +2 -0
- package/Daevin_test/storage/framework/testing/.gitignore +2 -0
- package/Daevin_test/storage/framework/views/.gitignore +2 -0
- package/Daevin_test/storage/logs/.gitignore +2 -0
- package/Daevin_test/webpack.mix.js +17 -0
- package/bin/classes/Apiato/index.js +208 -0
- package/bin/classes/Containers/Action.js +169 -0
- package/bin/classes/Containers/ComposerJSON.js +27 -0
- package/bin/classes/Containers/Config.js +39 -0
- package/bin/classes/Containers/Controller.js +120 -0
- package/bin/classes/Containers/Factory.js +47 -0
- package/bin/classes/Containers/Migration.js +80 -0
- package/bin/classes/Containers/Model.js +126 -0
- package/bin/classes/Containers/ReadMe.js +212 -0
- package/bin/classes/Containers/Repository.js +54 -0
- package/bin/classes/Containers/Request.js +341 -0
- package/bin/classes/Containers/Route.js +336 -0
- package/bin/classes/Containers/Task.js +225 -0
- package/bin/classes/Containers/Transformer.js +94 -0
- package/bin/classes/Helpers.js +150 -0
- package/bin/classes/tes.js +0 -0
- package/bin/constants.js +11 -0
- package/bin/core/output.json +13 -0
- package/bin/core/schemaToSql.js +118 -0
- package/bin/core/sqlToSchema.js +206 -0
- package/bin/index.js +103 -0
- package/dbconfig.json +74 -0
- package/package.json +39 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"private": true,
|
3
|
+
"scripts": {
|
4
|
+
"dev": "npm run development",
|
5
|
+
"development": "mix",
|
6
|
+
"watch": "mix watch",
|
7
|
+
"watch-poll": "mix watch -- --watch-options-poll=1000",
|
8
|
+
"hot": "mix watch --hot",
|
9
|
+
"prod": "npm run production",
|
10
|
+
"production": "mix --production"
|
11
|
+
},
|
12
|
+
"devDependencies": {
|
13
|
+
"apidoc": "^0.51.1",
|
14
|
+
"axios": "^0.25",
|
15
|
+
"laravel-mix": "^6.0.49",
|
16
|
+
"lodash": "^4.17.19",
|
17
|
+
"postcss": "^8.4.21"
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<?php
|
2
|
+
|
3
|
+
$finder = Symfony\Component\Finder\Finder::create()
|
4
|
+
->in([
|
5
|
+
__DIR__ . '/app',
|
6
|
+
])
|
7
|
+
->name('*.php')
|
8
|
+
->notName('*.blade.php')
|
9
|
+
->ignoreDotFiles(true)
|
10
|
+
->notPath('/app/Containers/Vendor')
|
11
|
+
->ignoreVCS(true);
|
12
|
+
|
13
|
+
return (new PhpCsFixer\Config())
|
14
|
+
->setRules([
|
15
|
+
'@PSR12' => true,
|
16
|
+
'array_syntax' => ['syntax' => 'short'],
|
17
|
+
'ordered_imports' => ['sort_algorithm' => 'alpha'],
|
18
|
+
'no_unused_imports' => true,
|
19
|
+
'trailing_comma_in_multiline' => true,
|
20
|
+
'phpdoc_scalar' => true,
|
21
|
+
'unary_operator_spaces' => true,
|
22
|
+
'binary_operator_spaces' => true,
|
23
|
+
'blank_line_before_statement' => [
|
24
|
+
'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
|
25
|
+
],
|
26
|
+
'phpdoc_single_line_var_spacing' => true,
|
27
|
+
'phpdoc_var_without_name' => true,
|
28
|
+
'class_attributes_separation' => [
|
29
|
+
'elements' => [
|
30
|
+
'method' => 'one',
|
31
|
+
],
|
32
|
+
],
|
33
|
+
'method_argument_space' => [
|
34
|
+
'on_multiline' => 'ensure_fully_multiline',
|
35
|
+
'keep_multiple_spaces_after_comma' => true,
|
36
|
+
],
|
37
|
+
'single_trait_insert_per_statement' => true,
|
38
|
+
])
|
39
|
+
->setFinder($finder);
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3
|
+
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
4
|
+
bootstrap="vendor/autoload.php" colors="true">
|
5
|
+
<testsuites>
|
6
|
+
<testsuite name="Unit">
|
7
|
+
<directory suffix=".php">./app/Containers/*/*/Tests/Unit</directory>
|
8
|
+
</testsuite>
|
9
|
+
<testsuite name="Functional">
|
10
|
+
<directory suffix=".php">./app/Containers/*/*/UI/*/Tests/Functional</directory>
|
11
|
+
</testsuite>
|
12
|
+
<testsuite name="Ship-Unit">
|
13
|
+
<directory suffix=".php">./app/Ship/Tests</directory>
|
14
|
+
</testsuite>
|
15
|
+
</testsuites>
|
16
|
+
<coverage processUncoveredFiles="true">
|
17
|
+
<include>
|
18
|
+
<directory suffix=".php">./app</directory>
|
19
|
+
</include>
|
20
|
+
<exclude>
|
21
|
+
<directory suffix=".php">./app/Containers/Vendor</directory>
|
22
|
+
<!-- NOTE: Exclude the following directories because they fail when directly included with code-coverage-->
|
23
|
+
<directory suffix=".php">./app/Containers/*/UI/*/Routes</directory>
|
24
|
+
<directory suffix=".php">./app/Containers/*/Data/Factories</directory>
|
25
|
+
</exclude>
|
26
|
+
</coverage>
|
27
|
+
<php>
|
28
|
+
<env name="API_FULL_URL" value="http://api.apiato.test"/>
|
29
|
+
<server name="APP_ENV" value="testing"/>
|
30
|
+
<server name="BCRYPT_ROUNDS" value="4"/>
|
31
|
+
<server name="CACHE_DRIVER" value="array"/>
|
32
|
+
<!-- <env name="DB_CONNECTION" value="sqlite"/> -->
|
33
|
+
<!-- <env name="DB_DATABASE" value=":memory:"/> -->
|
34
|
+
<server name="MAIL_MAILER" value="array"/>
|
35
|
+
<server name="QUEUE_CONNECTION" value="sync"/>
|
36
|
+
<server name="SESSION_DRIVER" value="array"/>
|
37
|
+
</php>
|
38
|
+
</phpunit>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<psalm
|
3
|
+
errorLevel="4"
|
4
|
+
findUnusedVariablesAndParams="true"
|
5
|
+
resolveFromConfigFile="true"
|
6
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
7
|
+
xmlns="https://getpsalm.org/schema/config"
|
8
|
+
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
|
9
|
+
cacheDirectory="./psalm_cache"
|
10
|
+
>
|
11
|
+
<projectFiles>
|
12
|
+
<directory name="app"/>
|
13
|
+
<ignoreFiles>
|
14
|
+
<directory name="vendor"/>
|
15
|
+
<directory name="node_modules"/>
|
16
|
+
</ignoreFiles>
|
17
|
+
</projectFiles>
|
18
|
+
</psalm>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<IfModule mod_rewrite.c>
|
2
|
+
<IfModule mod_negotiation.c>
|
3
|
+
Options -MultiViews -Indexes
|
4
|
+
</IfModule>
|
5
|
+
|
6
|
+
RewriteEngine On
|
7
|
+
|
8
|
+
# Handle Authorization Header
|
9
|
+
RewriteCond %{HTTP:Authorization} .
|
10
|
+
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
11
|
+
|
12
|
+
# Redirect Trailing Slashes If Not A Folder...
|
13
|
+
RewriteCond %{REQUEST_FILENAME} !-d
|
14
|
+
RewriteCond %{REQUEST_URI} (.+)/$
|
15
|
+
RewriteRule ^ %1 [L,R=301]
|
16
|
+
|
17
|
+
# Send Requests To Front Controller...
|
18
|
+
RewriteCond %{REQUEST_FILENAME} !-d
|
19
|
+
RewriteCond %{REQUEST_FILENAME} !-f
|
20
|
+
RewriteRule ^ index.php [L]
|
21
|
+
</IfModule>
|
File without changes
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<?php
|
2
|
+
|
3
|
+
use Illuminate\Contracts\Http\Kernel;
|
4
|
+
use Illuminate\Http\Request;
|
5
|
+
|
6
|
+
define('LARAVEL_START', microtime(true));
|
7
|
+
|
8
|
+
/*
|
9
|
+
|--------------------------------------------------------------------------
|
10
|
+
| Check If The Application Is Under Maintenance
|
11
|
+
|--------------------------------------------------------------------------
|
12
|
+
|
|
13
|
+
| If the application is in maintenance / demo mode via the "down" command
|
14
|
+
| we will load this file so that any pre-rendered content can be shown
|
15
|
+
| instead of starting the framework, which could cause an exception.
|
16
|
+
|
|
17
|
+
*/
|
18
|
+
|
19
|
+
if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
|
20
|
+
require __DIR__.'/../storage/framework/maintenance.php';
|
21
|
+
}
|
22
|
+
|
23
|
+
/*
|
24
|
+
|--------------------------------------------------------------------------
|
25
|
+
| Register The Auto Loader
|
26
|
+
|--------------------------------------------------------------------------
|
27
|
+
|
|
28
|
+
| Composer provides a convenient, automatically generated class loader for
|
29
|
+
| this application. We just need to utilize it! We'll simply require it
|
30
|
+
| into the script here so we don't need to manually load our classes.
|
31
|
+
|
|
32
|
+
*/
|
33
|
+
|
34
|
+
require __DIR__.'/../vendor/autoload.php';
|
35
|
+
|
36
|
+
/*
|
37
|
+
|--------------------------------------------------------------------------
|
38
|
+
| Run The Application
|
39
|
+
|--------------------------------------------------------------------------
|
40
|
+
|
|
41
|
+
| Once we have the application, we can handle the incoming request using
|
42
|
+
| the application's HTTP kernel. Then, we will send the response back
|
43
|
+
| to this client's browser, allowing them to enjoy our application.
|
44
|
+
|
|
45
|
+
*/
|
46
|
+
|
47
|
+
$app = require_once __DIR__.'/../bootstrap/app.php';
|
48
|
+
|
49
|
+
$kernel = $app->make(Kernel::class);
|
50
|
+
|
51
|
+
$response = tap($kernel->handle(
|
52
|
+
$request = Request::capture()
|
53
|
+
))->send();
|
54
|
+
|
55
|
+
$kernel->terminate($request, $response);
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<!--
|
2
|
+
Rewrites requires Microsoft URL Rewrite Module for IIS
|
3
|
+
Download: https://www.iis.net/downloads/microsoft/url-rewrite
|
4
|
+
Debug Help: https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules
|
5
|
+
-->
|
6
|
+
<configuration>
|
7
|
+
<system.webServer>
|
8
|
+
<rewrite>
|
9
|
+
<rules>
|
10
|
+
<rule name="Imported Rule 1" stopProcessing="true">
|
11
|
+
<match url="^(.*)/$" ignoreCase="false" />
|
12
|
+
<conditions>
|
13
|
+
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
|
14
|
+
</conditions>
|
15
|
+
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
|
16
|
+
</rule>
|
17
|
+
<rule name="Imported Rule 2" stopProcessing="true">
|
18
|
+
<match url="^" ignoreCase="false" />
|
19
|
+
<conditions>
|
20
|
+
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
|
21
|
+
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
|
22
|
+
</conditions>
|
23
|
+
<action type="Rewrite" url="index.php" />
|
24
|
+
</rule>
|
25
|
+
</rules>
|
26
|
+
</rewrite>
|
27
|
+
</system.webServer>
|
28
|
+
</configuration>
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
require('./bootstrap');
|
@@ -0,0 +1,28 @@
|
|
1
|
+
window._ = require('lodash');
|
2
|
+
|
3
|
+
/**
|
4
|
+
* We'll load the axios HTTP library which allows us to easily issue requests
|
5
|
+
* to our Laravel back-end. This library automatically handles sending the
|
6
|
+
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
7
|
+
*/
|
8
|
+
|
9
|
+
window.axios = require('axios');
|
10
|
+
|
11
|
+
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Echo exposes an expressive API for subscribing to channels and listening
|
15
|
+
* for events that are broadcast by Laravel. Echo and event broadcasting
|
16
|
+
* allows your team to easily build robust real-time web applications.
|
17
|
+
*/
|
18
|
+
|
19
|
+
// import Echo from 'laravel-echo';
|
20
|
+
|
21
|
+
// window.Pusher = require('pusher-js');
|
22
|
+
|
23
|
+
// window.Echo = new Echo({
|
24
|
+
// broadcaster: 'pusher',
|
25
|
+
// key: process.env.MIX_PUSHER_APP_KEY,
|
26
|
+
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
27
|
+
// forceTLS: true
|
28
|
+
// });
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?php
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Laravel - A PHP Framework For Web Artisans
|
5
|
+
*
|
6
|
+
* @package Laravel
|
7
|
+
* @author Taylor Otwell <taylor@laravel.com>
|
8
|
+
*/
|
9
|
+
|
10
|
+
$uri = urldecode(
|
11
|
+
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
|
12
|
+
);
|
13
|
+
|
14
|
+
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
|
15
|
+
// built-in PHP web server. This provides a convenient way to test a Laravel
|
16
|
+
// application without having installed a "real" web server software here.
|
17
|
+
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
|
18
|
+
return false;
|
19
|
+
}
|
20
|
+
|
21
|
+
require_once __DIR__.'/public/index.php';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
const mix = require('laravel-mix');
|
2
|
+
|
3
|
+
/*
|
4
|
+
|--------------------------------------------------------------------------
|
5
|
+
| Mix Asset Management
|
6
|
+
|--------------------------------------------------------------------------
|
7
|
+
|
|
8
|
+
| Mix provides a clean, fluent API for defining some Webpack build steps
|
9
|
+
| for your Laravel applications. By default, we are compiling the CSS
|
10
|
+
| file for the application as well as bundling up all the JS files.
|
11
|
+
|
|
12
|
+
*/
|
13
|
+
|
14
|
+
mix.js('resources/js/app.js', 'public/js')
|
15
|
+
.postCss('resources/css/app.css', 'public/css', [
|
16
|
+
//
|
17
|
+
]);
|
@@ -0,0 +1,208 @@
|
|
1
|
+
import Action from "../Containers/Action.js";
|
2
|
+
import Task from "../Containers/Task.js";
|
3
|
+
import Model from "../Containers/Model.js";
|
4
|
+
import Controller from "../Containers/Controller.js";
|
5
|
+
import Requests from "../Containers/Request.js";
|
6
|
+
import Route from "../Containers/Route.js";
|
7
|
+
import Transformer from "../Containers/Transformer.js";
|
8
|
+
import Config from "../Containers/Config.js";
|
9
|
+
import Repository from "../Containers/Repository.js";
|
10
|
+
import Migration from "../Containers/Migration.js";
|
11
|
+
import Factory from "../Containers/Factory.js";
|
12
|
+
import ComposerJSON from "../Containers/ComposerJSON.js";
|
13
|
+
import ReadMe from "../Containers/ReadMe.js";
|
14
|
+
import child_process from "child_process";
|
15
|
+
import Helpers, {executeCommand} from "../Helpers.js";
|
16
|
+
import ora from "ora";
|
17
|
+
import inquirer from "inquirer";
|
18
|
+
import chalk from "chalk";
|
19
|
+
|
20
|
+
|
21
|
+
const generateApiatoproject = async () =>{
|
22
|
+
|
23
|
+
const db_config = Helpers.dbConfig;
|
24
|
+
console.info('Getting tables')
|
25
|
+
const tables = Helpers.getTables();
|
26
|
+
const PROJECT_DIR = db_config.project + '/app';
|
27
|
+
const generateTableFiles = (tables) =>
|
28
|
+
new Promise((resolve, reject)=>{
|
29
|
+
tables.forEach(async(table) => {
|
30
|
+
await Action.generateActionFolder(table, PROJECT_DIR)
|
31
|
+
await Task.generateTaskFolder(table,PROJECT_DIR)
|
32
|
+
await Model.generateModelFolder(table,PROJECT_DIR)
|
33
|
+
await Controller.generateControlerFolder(table, PROJECT_DIR)
|
34
|
+
await Requests.generateRequestFolder(table, PROJECT_DIR)
|
35
|
+
await Route.generateRoutesFolder(table, PROJECT_DIR)
|
36
|
+
await Transformer.generateTransaformerFolder(table, PROJECT_DIR)
|
37
|
+
await Config.generateConfigFolder(table, PROJECT_DIR)
|
38
|
+
await Repository.generateRepositoryFolder(table,PROJECT_DIR)
|
39
|
+
await Migration.generateMigrationFolder(table,PROJECT_DIR)
|
40
|
+
await Factory.generateFactoryFolder(table, PROJECT_DIR)
|
41
|
+
await ComposerJSON.generateComposerJsonFile(table, PROJECT_DIR)
|
42
|
+
await ReadMe.generateReadMeFile(table,PROJECT_DIR)
|
43
|
+
})
|
44
|
+
resolve(true)
|
45
|
+
})
|
46
|
+
|
47
|
+
function cloneApiatoRepo(project_name, callback){
|
48
|
+
const cmd = `git clone https://github.com/manfouothierno/template-apiato.git ${project_name}`;
|
49
|
+
const process = child_process.exec(cmd);
|
50
|
+
|
51
|
+
process.on('exit', (code, signal) => {
|
52
|
+
if (code === 0) {
|
53
|
+
callback(null); // success
|
54
|
+
} else {
|
55
|
+
callback(new Error(`Command failed with code ${code} and signal ${signal}`));
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
|
60
|
+
function installLaravelDependencies(project_dir) {
|
61
|
+
|
62
|
+
return new Promise(async (resolve, reject) => {
|
63
|
+
try {
|
64
|
+
//child_process.execSync(`cd ${project_dir}`, { stdio: 'inherit' });
|
65
|
+
// Execute the "composer install" command in the terminal
|
66
|
+
const spinner = ora('Installing Laravel dependencies...').start();
|
67
|
+
await child_process.exec(`cd ${project_dir} && composer install`, {stdio: 'inherit'})
|
68
|
+
.on('exit', async (code, signal) => {
|
69
|
+
if (code !== 0) {
|
70
|
+
spinner.fail(`Command failed with code ${code} and signal ${signal}`);
|
71
|
+
process.exit(1);
|
72
|
+
} else {
|
73
|
+
spinner.succeed('Laravel dependencies installed successfully!');
|
74
|
+
const spinner2 = ora('Installing Node.js dependencies...').start();
|
75
|
+
await child_process.exec(`cd ${project_dir} && npm install`, {stdio: 'inherit'})
|
76
|
+
.on('exit', async (code, signal) => {
|
77
|
+
if (code !== 0) {
|
78
|
+
spinner2.fail(`Command failed with code ${code} and signal ${signal}`);
|
79
|
+
process.exit(1);
|
80
|
+
} else {
|
81
|
+
spinner2.succeed('Node.js dependencies installed successfully!');
|
82
|
+
const spinner3 = ora('Initialising .git ...').start();
|
83
|
+
await child_process.exec(`cd ${project_dir} && git remote rename origin ${Helpers.generateRandomString(10)}`, {stdio: 'inherit'})
|
84
|
+
.on('exit', async (code, signal) => {
|
85
|
+
if (code !== 0) {
|
86
|
+
spinner3.fail(`Command failed with code ${code} and signal ${signal}`);
|
87
|
+
process.exit(1);
|
88
|
+
} else {
|
89
|
+
spinner3.succeed('.git initialised successfully!');
|
90
|
+
const spinner4 = ora('Installing apidoc...').start();
|
91
|
+
await child_process.exec(`cd ${project_dir} && npm install apidoc`, {stdio: 'inherit'})
|
92
|
+
.on('exit', async (code, signal) => {
|
93
|
+
if (code !== 0) {
|
94
|
+
spinner4.fail(`Command failed with code ${code} and signal ${signal}`);
|
95
|
+
process.exit(1);
|
96
|
+
} else {
|
97
|
+
spinner4.succeed('apidoc installed successfully!');
|
98
|
+
const spinner5 = ora('Installing apiato/documentation-generator-container...').start();
|
99
|
+
await child_process.exec(`cd ${project_dir} && composer require apiato/documentation-generator-container && cp .env.example .env`, {stdio: 'inherit'})
|
100
|
+
.on('exit', async (code, signal) => {
|
101
|
+
if (code !== 0) {
|
102
|
+
spinner5.fail(`Command failed with code ${code} and signal ${signal}`);
|
103
|
+
process.exit(1);
|
104
|
+
} else {
|
105
|
+
spinner5.succeed('apiato/documentation-generator-container installed successfully!');
|
106
|
+
const spinner6 = ora('Generating API documentation...').start();
|
107
|
+
await child_process.exec(`cd ${project_dir} && php artisan apiato:apidoc`, {stdio: 'inherit'})
|
108
|
+
.on('exit', (code, signal) => {
|
109
|
+
if (code !== 0) {
|
110
|
+
spinner6.fail(`Command failed with code ${code} and signal ${signal}`);
|
111
|
+
process.exit(1);
|
112
|
+
} else {
|
113
|
+
spinner6.succeed('API documentation generated successfully!');
|
114
|
+
console.log('...');
|
115
|
+
resolve(true);
|
116
|
+
}
|
117
|
+
});
|
118
|
+
}
|
119
|
+
});
|
120
|
+
}
|
121
|
+
});
|
122
|
+
}
|
123
|
+
});
|
124
|
+
}
|
125
|
+
});
|
126
|
+
}
|
127
|
+
});
|
128
|
+
|
129
|
+
} catch (error) {
|
130
|
+
console.error(`Error installing Laravel dependencies: ${error}`);
|
131
|
+
reject(false);
|
132
|
+
}
|
133
|
+
})
|
134
|
+
|
135
|
+
}
|
136
|
+
|
137
|
+
|
138
|
+
return new Promise((resolve, reject)=>{
|
139
|
+
cloneApiatoRepo(db_config.project, (err) => {
|
140
|
+
if (err) {
|
141
|
+
console.error(`Error cloning repo: ${err.message}`);
|
142
|
+
reject(err)
|
143
|
+
process.exit(1);
|
144
|
+
} else {
|
145
|
+
console.log('Repo cloned successfully');
|
146
|
+
|
147
|
+
generateTableFiles(tables).then(()=>{
|
148
|
+
setTimeout(async () => {
|
149
|
+
const installed_dependencies = await installLaravelDependencies(db_config.project);
|
150
|
+
if(installed_dependencies){
|
151
|
+
await serveWithValet();
|
152
|
+
resolve(installed_dependencies);
|
153
|
+
}
|
154
|
+
|
155
|
+
}, 5000)
|
156
|
+
|
157
|
+
})
|
158
|
+
// resolve(true)
|
159
|
+
}
|
160
|
+
});
|
161
|
+
})
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
}
|
166
|
+
|
167
|
+
|
168
|
+
export function serveWithValet(){
|
169
|
+
const project_dir = Helpers.dbConfig.project;
|
170
|
+
const questions = [
|
171
|
+
{
|
172
|
+
type: 'confirm',
|
173
|
+
name: 'useValet',
|
174
|
+
message: 'use valet to serve your app? ',
|
175
|
+
default: true,
|
176
|
+
|
177
|
+
},
|
178
|
+
{
|
179
|
+
type: 'input',
|
180
|
+
name: 'valet_url',
|
181
|
+
message: 'Enter the url on which valet will serve your app :',
|
182
|
+
when: (answers) => answers.useValet === true,
|
183
|
+
},
|
184
|
+
];
|
185
|
+
|
186
|
+
inquirer.prompt(questions).then(async (answers) => {
|
187
|
+
if(answers.useValet === true && answers.valet_url !== null){
|
188
|
+
const spinner = ora(`Linking http://${answers.valet_url}.test on valet ...`).start();
|
189
|
+
await child_process.exec(`cd ${project_dir} && sudo valet link ${answers.valet_url}`, {stdio: 'inherit'})
|
190
|
+
.on('exit', async (code, signal) => {
|
191
|
+
if (code !== 0) {
|
192
|
+
spinner.fail(`Command failed with code ${code} and signal ${signal}`);
|
193
|
+
process.exit(1);
|
194
|
+
} else {
|
195
|
+
spinner.succeed('Linking completed.');
|
196
|
+
console.log(`Move on and change the APP_URL and API_URL values with the url http://${answers.valet_url}`)
|
197
|
+
console.log('View api documentation on :')
|
198
|
+
console.log(chalk.blue(`http://${answers.valet_url}.test/docs`))
|
199
|
+
console.log(chalk.blue(`http://${answers.valet_url}.test/docs/private`))
|
200
|
+
}
|
201
|
+
});
|
202
|
+
}
|
203
|
+
});
|
204
|
+
|
205
|
+
}
|
206
|
+
|
207
|
+
|
208
|
+
export default generateApiatoproject
|