Commit Graph

557 Commits

Author SHA1 Message Date
Ferdinand Thiessen 44a7abab82 fix(app): Skip plugins with not satisfied dependencies. 2022-02-22 23:48:15 +01:00
Ferdinand Thiessen c161541b46 fix(plugins): Fix plugin version for plugin list API endpoint 2022-02-22 23:46:13 +01:00
Ferdinand Thiessen b03fe136be feat(cli): Added CLI command for handling plugins
* Install / Uninstall plugins
* List plugins
2022-02-22 23:46:13 +01:00
Ferdinand Thiessen 5c1fc19ca8 feat(plugins): Identify plugins by id, migrations must be provided at defined location, add utils for plugin functions 2022-02-22 23:46:13 +01:00
Ferdinand Thiessen 216b88c529 feat(docs): Add documentation on how to install tables
Also various documentation fixed and improvments
2022-02-22 23:45:59 +01:00
Ferdinand Thiessen cfb4776a3c feat(db): Add migrations support to plugins
* Add initial migrations for core Flaschengeist
* Add migrations to balance
* Add migrations to pricelist
2022-02-22 23:45:23 +01:00
Ferdinand Thiessen f1df5076ed fix(db): Add __repr__ to custom column types, same as done by SQLAlchemy 2022-02-22 23:24:14 +01:00
Ferdinand Thiessen 35a2f25e71 feat(db): Add database migration support, implements
Migrations allow us to keep track of database changes and upgrading databases if needed.
2022-02-22 23:24:14 +01:00
Ferdinand Thiessen e510c54bd8 chore(clean): Fix codestyle of config.py 2022-02-22 11:11:23 +01:00
Ferdinand Thiessen c5db932065 chore(clean): Drop `_module_path` from flaschengeist 2022-02-21 22:24:33 +01:00
Ferdinand Thiessen 1484d678ce feat(security): Enforce secret key for flask application. 2022-02-21 21:03:15 +01:00
Ferdinand Thiessen e82d830410 fix(app): Fix import_name for flask application 2022-02-21 21:02:45 +01:00
Ferdinand Thiessen 760ee9fe36 fix(cli): Fix logging when setting verbosity on the cli 2022-02-21 21:02:15 +01:00
Ferdinand Thiessen 90999bbefb chore(core): Seperated logic from the plugin code, reduces imports 2022-02-13 14:31:55 +01:00
Ferdinand Thiessen fb50ed05be deps: Require at lease python 3.9, fixes 2021-12-26 15:44:04 +01:00
Ferdinand Thiessen 54a789b772 fix(docs): PIP 21.0+ is required, some minor improvements 2021-12-26 15:42:31 +01:00
Ferdinand Thiessen a6cbc002f6 fix(cli): InterfaceGenerator now works even without a namespace defined 2021-12-23 02:48:28 +01:00
Ferdinand Thiessen 34ee95c66a feat(cli): Split CLI commands into seperate files 2021-12-23 02:48:02 +01:00
Ferdinand Thiessen 9bcba9c7f9 fix(users): Fix import error inside `set_roles` 2021-12-22 00:37:52 +01:00
Ferdinand Thiessen 016ed7739a fix(db): Fix Serial column type for SQLite 2021-12-22 00:36:41 +01:00
Ferdinand Thiessen 702b894f75 feat(tests): Added first unit test for the user controller 2021-12-22 00:34:32 +01:00
Ferdinand Thiessen 519eac8f25 feat(ci): Added pipeline for tests
Add all supported, meaning by flaschengeist, python versions.
Use slim image of python instead of alpine, because Pillow does not
provide any wheels for musllibc
2021-12-22 00:29:33 +01:00
Ferdinand Thiessen aaec6b43ae tests: Fix tests for current backend 2021-12-21 22:56:03 +01:00
Ferdinand Thiessen 9b42d2b5b7 fix(docs): Rename README 2021-12-20 00:56:16 +01:00
Ferdinand Thiessen 22fbb526bb fix(balance): Replace deprecated sqlalchemy functions 2021-12-19 19:01:48 +01:00
Ferdinand Thiessen d9be9430db docs(misc): Some more documentation fixes 2021-12-19 19:01:27 +01:00
Ferdinand Thiessen 4df7f1cc01 docs(plugins): Some more documentation on the plugin class 2021-12-19 18:58:57 +01:00
Ferdinand Thiessen b8ac6eb462 fix(users): Readd `create` flag on set_roles 2021-12-19 13:06:36 +01:00
Ferdinand Thiessen 25ba4d21aa feat(balance): Add option to allow active services to debit other users 2021-12-18 04:23:53 +01:00
Ferdinand Thiessen e1f919bd20 feat(scheduler): Add function to add scheduled tasks programmatically 2021-12-18 04:19:57 +01:00
Ferdinand Thiessen 691345cf40 fix(roles): Minor fix in set_permissions 2021-12-18 04:19:07 +01:00
Ferdinand Thiessen 1db3391826 fix(roles): Minor documentation + typings 2021-12-18 03:04:37 +01:00
Ferdinand Thiessen 2df5a61ff3 fix(cli): Fix logging level not set on run 2021-12-18 03:03:41 +01:00
Ferdinand Thiessen b8f086b4dd fix(app): Add AuthPlugin to FG_PLUGINS 2021-12-18 02:15:53 +01:00
Ferdinand Thiessen ab093c04bd fix(cli): Defaul logging level should be WARNING 2021-12-18 02:12:19 +01:00
Ferdinand Thiessen ee839ce6a3 fix(auth_plain): Fix post_install hook 2021-12-18 02:12:00 +01:00
Ferdinand Thiessen f507cd483d fix(docs): Fix script name in documentation 2021-12-18 02:00:46 +01:00
Ferdinand Thiessen bd371dfcf2 fix(users): Register: validate `mail`, handle duplicated `userid`, only send password mail if `mail` was set 2021-12-18 01:56:52 +01:00
Ferdinand Thiessen 9f6aa38925 fix(users): Reduce amount of SELECT queries in set_roles 2021-12-18 01:55:24 +01:00
Ferdinand Thiessen ec7bf39666 fix(roles): Map IntegrityError to BadRequest as this is an client error, no server error. 2021-12-18 01:51:38 +01:00
Ferdinand Thiessen 0a3da51b92 fix(logging): console logger should default to stderr 2021-12-18 01:50:03 +01:00
Ferdinand Thiessen ceba819ca7 fix(db): User.userid should be unique 2021-12-18 01:49:17 +01:00
Ferdinand Thiessen a3ccd6cea1 feat(db): Use named database constraints 2021-12-18 01:48:12 +01:00
Ferdinand Thiessen 53ed2d9d1a chore(package): Only use setup.cfg, drop setup.py 2021-12-18 01:46:35 +01:00
Ferdinand Thiessen ece6893675 feat(cli): Ported CLI to use native click / flask cli 2021-12-18 01:44:06 +01:00
Ferdinand Thiessen 38ebaf0e79 feat(hooks): Some more work on the hooks functions 2021-12-17 14:27:27 +01:00
Ferdinand Thiessen cfac55efe0 fix(app): Add some more debugging 2021-12-17 12:21:53 +01:00
Ferdinand Thiessen 1b80e39648 feat(ci): Added woodpecker CI 2021-12-14 15:36:08 +01:00
Tim Gröger dc9f70983b fix sync ldap 2021-12-07 20:48:33 +01:00
Tim Gröger d8db0aae3a fix sync with ldap 2021-12-07 18:35:05 +01:00