- Laravel 5.6
- Added the
TinkerServiceProvider
tocore
in order to allow for usingphp artisan tinker
from the console. - Added a
PaymentTransaction
in order to log allPayments
. - There is a new configuration flag (
apiato.requests.automatically-apply-request-criteria
) to disable automatically adding theRequestCriteria
to allRepository
instances. This is known to cause issues. - In addition to this config flag, there is a new
addRequestCriteria
andremoveRequestCriteria
function forTasks
andActions
(automatically applied via theHasRequestCriteriaTrait
) that allows adding/removing theRequestCriteria
for specificRepositories
. This can easily be achieved via theMagicCall
approach! (see theGetAllUsersAction
for an example!)
- Adapted the existing
ChargerTasks
forStripe
andWepay
in order to follow thePaymentTransaction
approach. - Rename
Socialauth
container toSocialAuth
- Fixed Issue in
CountCriteria
PR
- Nothing.
- Add new command "apiato:create:admin" to create admins from the CLI issues/284
- Added Broadcast routes issues/327
- Allow for nested
?includes
(viainclude=parent.child
) issues/324
- Specify
apiato/core
version accordingly issues/334 - Get rid of env() calls issues/314
- Calling an
Action
is now done usingTransporters
instead ofRequests
- Rename
ValueObjects
toValues
issues/334
- Fixed "bug" in order to prevent duplicate index name in oracle DB.
- Removed the
composer.lock
entry from the.gitignore
file issues/335 - Fix test failing.
- Fixed some smaller issues (e.g., rename file (not class!), corrected docs-link, ...)
- Removed the
composer.lock
entry from the.gitignore
file
- Added a new config flag (
apiato.requests.force-valid-includes
(defaulttrue
)) to notify users about potential "invalid"?include
query parameters - Added ValueObjects class type to be extended by classes that do not requires to be stored in the DB or have ID.
- Added a
level
to the roles in order to indicate some kind of hierarchy (e.g.,admin
is "better" thanmanager
). - Added
/password-forgot
and/password-reset
endpoints. - Added Error Code Tables (
ApplicationErrorCodesTable
andCustomErrorCodesTable
) in order to define exception codes in one place.
- Changed the
Content-Language
header field (for requesting resources in a specific language) toAccept-Language
instead (cf. Specs). - Rename
GiveAllPermissionsToRole
toGiveAllPermissionsToRoleCommand
. - The structure of the
supported_languages
inApp/Containers/Localization/Configs
was changed in order to supportregions
. - The route
/logout
now usesDELETE
instead ofPOST
(to be more RESTful) - Move
Localization
andRegion
from Model to ValueObjects folder in the localization container. - Move
Output
andRequestLogger
from Model to ValueObjects folder in the debugger container. - The route
/user/profile
(the profile of the current user) now uses a dedicatedUserPrivateProfileTransformer
in order to allow adding "private" information more easily (instead of using if-blocks in theUserTransformer
)
- Fixed "bug", where an Exception is thrown if the user requested an invalid
?include
parameter. Now a "real" Apiato Exception is thrown. - Fixed "bug" in order to prevent duplicate index name in oracle DB.
- Removed the
composer.lock
entry from the.gitignore
file
- Nothing.
- Support ETags via a Middleware.
- Support Laravel Notifications.
- Add names for all the Route (
as
). - Send Mail when user is registered.
- Send Notification using the default Database channel when user is registered.
- Add user registered Mail template
user-registered.blade.php
. - Add User Registered Mail sample
UserRegisteredMail
. - Add User Registered Notification sample
UserRegisteredNotification
. - Add WePay payment gateway (in a new container).
- Add
force-accept-header
to the Apiato config file. - Add
notification.php
config file. - Add migration file for the notification.
- Refactored the entire
Payment
process. It is now a "generic" plug-and-play architecture to handle different payment gateways (e.g.,Stripe
,PayPal
, ...) see the corresponding docs for this feature. - Add profiling to the response, via
ProfilerMiddleware
. - Add notifications generator.
- Add the container generator
- Add feature to read custom stub files form
app/Ship/Generators/CustomStubs
- Add command to sync all system permission with a given role.
- Support Apiato new class calling style
controllerName@ClassActionOrTask
in the magic call, example:$role = $this->call('Authorization@FindRoleTask', [$request->role_id]);
. - Add new Facade class
Apiato
containing the old Butlers classes functions, in addition to thecall
magical method (Apiato::call()
) in theCallableTrait
. - Add container specific config file to each container.
- Add
readme.md
file to each container. - Add support for Exceptions Formatters (with some default Formatters). To allows users customize
Exceptions
JSON responses. - Add project type to each container
composer.josn
file"type": "apiato-container",
.
- Upgrade Mail to use Laravel 5.5 Mails. And add Ship directory for Mail in addition to user mail sample in the User container.
- Change default Mail driver from smtp to log.
- Rename Middleware from
ResponseHeadersMiddleware
toValidateJsonContent
. - Move Model traits from the Core Abstract class to the Ship Parent Class. To give user more control.
- Remove Exception when accept header is not provided by the request.
- Changed Generators to add various fields (e.g., the
as
name forRoutes
) - Refactor the Stripe container to work with the new payment gateway.
- Changed the "namespace" of all
generator
commands (fromapiato:x
toapiato:generate:x
) - When seeding data, the default Super Admin will be given the
admin
Role, but theadmin
role will not be given any permission. Can optionally usephp artisan apiato:permissions:toRole admin
to give theadmin
role all system permissions. - Renamed
FindUserAction
toFindUserByIdAction
. And the controller functionfindUser
tofindUserById
, and update the endpoint calling it. - Renamed
FindMyProfileAction
toGetAuthenticatedUserAction
. And rename the controller functionfindUserProfile
togetAuthenticatedUserAction
, and update the endpoint calling it. Also rename it's request fromFindMyProfileRequest
toGetAuthenticatedUserRequest
. - Renamed
GetAllAndSearchUsersAction
toGetAllUsersAction
. - Used
Apiato::call
in Seeder classes, instead ofApp::make('Task')
. - Renamed
authentication.php
config file toauthentication-container.php
. - Renamed
apidoc.php
config file todocumentation-container.php
. - Renamed
localization.php
config file tolocalization-container.php
. - Renamed
payment.php
config file topayment-container.php
. - Renamed
wepay.php
config file towepay-container.php
. - Rename
ListAll
toGetAll
in every Actions/Tasks/controller functions/route files/requests - Rename
Get
toFind
in every Actions/Tasks/controller functions/route files/requests - Slight adaptations to the
Exception
message format (due toExceptionFormatters
) - Change Containers Installer repository.
- Moved
AccountFailedException
from User container to the Socialauth container. - Moved
App\Ship\Handlers\ExceptionsHandler
toApp\Ship\Exceptions\Handlers\ExceptionsHandler
. - Change the directory of the Core Exceptions handler and rename it to become
Apiato\Core\Exceptions\Handlers\ExceptionsHandler
.
- Fix Social Authentication errors.
- Removed the
App/Ship/Payment
container as it now lives inApp/Containers/Payment
- Removed the
ShipButler
andContainerButler
in favor of the new Apiato class. - Removed the
App/Containers/User/Exceptions/UserNotFoundException
- Removed the
App/Containers/User/Exceptions/UserNotFoundException
and replace it withApp/Ship/Exceptions/NotFoundException
. - Removed
MailsAbstract.php
andMailsInterface.php
from the Ship. To use the new Mail support in Apiato.