It's admittedly been some time since I've looked at this code or maintained it, primarily since I'm no longer in a role that actually utilizes it. Having said that, this code is terrible.
It's not unit tested
It follows no reasonable coding standards (specifically looking at PSR-2)
The one test that's actually an integration test, and even there it only creates a client - no actual testing functionality.
Documentation is terrible
It doesn't follow any discernible SOLID principles
It doesn't support any versioning of the OneSignal API
It hard-requires Guzzle6, and instead should utilize a PSR-18 compatible client.
I'd strongly recommend that viewers of this package use an alternative - berkayk/onesignal-laravel seems to be the most popular, and was the package I had originally used before writing this one.
Having said all of that, if I find the spare time I might go through this whole thing and build a new major version that adheres to the above principles. If anyone else is willing to help, I'll try and publish some vision documentation on what I'd like the code to look like before we start building.
It's admittedly been some time since I've looked at this code or maintained it, primarily since I'm no longer in a role that actually utilizes it. Having said that, this code is terrible.
I'd strongly recommend that viewers of this package use an alternative - berkayk/onesignal-laravel seems to be the most popular, and was the package I had originally used before writing this one.
Having said all of that, if I find the spare time I might go through this whole thing and build a new major version that adheres to the above principles. If anyone else is willing to help, I'll try and publish some vision documentation on what I'd like the code to look like before we start building.