Init
The following is the initial port of the tepid server code.
Most notably, this project aims to be a clean slate focused solely on the printing aspect of tepid. No ldap or rest components are considered (for now). The project deals with print requests and db storages, and uses Exposed
to allow for many sql options. Unit tests are done with H2 to minimize setup.
Apart from db storage and file stream storage, most of tepid is purely functional.
Notably, every job will be passed through Printer.print
.
Most of the code is already interfaced and documented, so you can have a look through. Load balancers have also been rewritten to use a very simple contract, and you may find implementations here
Since there is no focus on rest apis, a lot of the models are done more intelligently with sealed classes, which allows us to hide irrelevant information. For example, a printed job does not care about the error field, and a failed job does not care about the destination id.
As this project is intended as a library, all configs have been moved to one singleton
Projects are required to configure it before launching, but it makes it very easy to change as everything is done programmatically.