Hackware Web Services Core

Felix Freeman 433f16fa7a Authorization 5 years ago
config 1b21a82c8f Mail based authentication 5 years ago
database bfdd6772b1 User model and Authentication based on password or Token 5 years ago
resources 1b21a82c8f Mail based authentication 5 years ago
routes a9307b90a5 fixes a few code style issues 5 years ago
src 433f16fa7a Authorization 5 years ago
LICENSE dc76cb0305 Turn the project into packages 5 years ago
README.md f2f104399a README: Unaccurate description of user features 5 years ago
composer.json 1b21a82c8f Mail based authentication 5 years ago


Hackware Web Services Core


Code shared among Hackware Web Services projects.

Main goals

  • Standardize output of JSON based HTTP responses.
  • Provide lightweight base class for table based models.
  • Centralize common helpers.


  • As consumer I can get JSON based exceptions (instead of HTML based exceptions) out of the box, so that I'm able to process it with a JSON based consumer.
  • As consumer I can get a pager with customizable limit on every collection of objects out of the box, so that I'm able to consult massive amounts of data with ease.
  • As consumer I can sort every collection of objects in ascending or descending order so that I'm able to work with that functionality out of the box.

Sorry, I owe you a better description for this last 2:

  • As programmer I can create a table based model with ease.
  • User model, password and passwordless (token) authentication.

Run it


As it's a Laravel/Lumen 5.8+ package, your server must meet the following requirements:

  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Composer


composer require hackware/hawese-core

Error codes

  1. ModelValidationException: Failed model attribute validation.
  2. UnknownForeignObjectException: Can't find the foreign relationship in model::$foreign_keys.
  3. ModelObjectNotFoundException: A model object could not be found based on a key and a value.
  4. WrongCredentialsException: Wrong login password or secret.
  5. RuntimeException: Too many failed requests.
  6. RuntimeException: Unacceptable origin url or HTTP_REFERER, must listed on cors.default_profile.allow_origins config.

Copyright and licensing

Copyright 2019 Hackware SpA.

This project is released under the MIT License terms. You can sublicense this work. I will greatly appreaciate your contributions back. Releasing your creative works under free licenses makes the world a little better.