From 6730db7e199bf868f55fd4cdf035320b006ab95f Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Wed, 16 Oct 2019 03:04:33 +0300 Subject: [PATCH] update readme and reference.conf --- README.md | 84 ++----------------------------- src/main/resources/reference.conf | 13 ++++- 2 files changed, 16 insertions(+), 81 deletions(-) diff --git a/README.md b/README.md index c29c8d4..fb786da 100644 --- a/README.md +++ b/README.md @@ -4,98 +4,22 @@ Service which allows to manage savage loot distribution easy. ## Installation and usage -This service requires python >= 3.7. For other dependencies see `setup.py`. - In general installation process looks like: ```bash -python setup.py build install -python setup.py test # if you want to run tests +sbt assembly ``` -With virtualenv (make sure that virtualenv package was installed) the process may look like: +Service can be run by using command: ```bash -virtualenv -p python3.7 env -source env/bin/activate -python setup.py install -pip install aiosqlite # setup.py does not handle extras +java -cp ./target/scala-2.13/ffxivbis-scala-assembly-0.1.jar me.arcanis.ffxivbis.ffxivbis ``` -Service can be run by using command (if you don't use virtualenv, you have to run it from `src` directory): - -```bash -python -m ffxivbis.application.application -``` - -To see all available options type `--help`. - ## Web service -REST API documentation is available at `http://0.0.0.0:8000/api-docs`. HTML representation is available at `http://0.0.0.0:8000`. +REST API documentation is available at `http://0.0.0.0:8000/swagger`. HTML representation is available at `http://0.0.0.0:8000`. *Note*: host and port depend on configuration settings. -### Authorization - -Default admin user is `admin:qwerty`, but it may be changed by generating new hash, e.g.: - -```python -from passlib.hash import md5_crypt -md5_crypt.hash('newstrongpassword') -``` - and add new password to configuration. - -## Configuration - -* `settings` section - - General project settings. - - * `include`: path to include configuration directory, string, optional. - * `logging`: path to logging configuration, see `logging.ini` for reference, string, optional. - * `database`: database provide name, string, required. Allowed values: `sqlite`, `postgres`. - * `priority`: methods of `Player` class which will be called to sort players for loot priority, space separated list of strings, required. - -* `ariyala` section - - Settings related to ariyala parser. - - * `ariyala_url`: ariyala base url, string, required. - * `xivapi_key`: xivapi developer key, string, optional. - * `xivapi_url`: xivapi base url, string, required. - -* `auth` section - - Authentication settings. - - * `enabled`: whether authentication enabled or not, boolean, required. - * `root_username`: username of administrator, string, required. - * `root_password`: md5 hashed password of administrator, string, required. - -* `postgres` section - - Database settings for `postgres` provider. - - * `database`: database name, string, required. - * `host`: database host, string, required. - * `password`: database password, string, required. - * `port`: database port, int, required. - * `username`: database username, string, required. - * `migrations_path`: path to database migrations, string, required. - -* `sqlite` section - - Database settings for `sqlite` provider. - - * `database_path`: path to sqlite database, string, required. - * `migrations_path`: path to database migrations, string, required. - -* `web` section - - Web server related settings. - - * `host`: address to bind, string, required. - * `port`: port to bind, int, required. - * `templates`: path to directory with jinja templates, string, required. \ No newline at end of file diff --git a/src/main/resources/reference.conf b/src/main/resources/reference.conf index 5adab1a..e1432b4 100644 --- a/src/main/resources/reference.conf +++ b/src/main/resources/reference.conf @@ -1,16 +1,22 @@ me.arcanis.ffxivbis { ariyala { + // ariyala base url, string, required ariyala-url = "https://ffxiv.ariyala.com" + // xivapi base url, string, required xivapi-url = "https://xivapi.com" + // xivapi developer key, string, optional + # xivapi-key = "abc-def" } database { + // database section. Section must be declared inside + // for more detailed section descriptions refer to slick documentation mode = "sqlite" sqlite { profile = "slick.jdbc.SQLiteProfile$" db { - url = "jdbc:sqlite:/home/arcanis/Documents/github/ffxivbis-scala/ffxivbis.db" + url = "jdbc:sqlite:ffxivbis.db" user = "user" password = "password" } @@ -19,14 +25,19 @@ me.arcanis.ffxivbis { } settings { + // counters of Player class which will be called to sort players for loot priority + // list of strings, required priority = [ "isRequired", "lootCountBiS", "priority", "lootCount", "lootCountTotal" ] + // general request timeout, duratin, required request-timeout = 10s } web { + // address to bind, string, required host = "0.0.0.0" + // port to bind, int, required port = 8000 } }