Hackware Web Services Core

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

README.md

Hackware Web Services Core

Overview

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.

Features

  • 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

Requirements

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

Installation

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.