Ferdinand Thiessen
aa8f8f6e64
[core][plugin] Allow blueprints to be set on instance level
...
This ensures blueprints are read from the plugin instance
instead of the class, allowing custom routes to be added within the
`load()` function.
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-25 17:05:04 +02:00
Ferdinand Thiessen
6ad8cd1728
[cli] Users and roles can be now managed using the cli
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-25 17:04:22 +02:00
Ferdinand Thiessen
e2254b71b0
[core][plugin] Unify plugin model and real plugins
...
Plugins are now extensions of the database model,
allowing plugins to access all their properties.
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-25 15:39:05 +02:00
Ferdinand Thiessen
973b4527df
[core] UA parsing: Add backwards compatibility for platform names
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-25 14:55:49 +02:00
Ferdinand Thiessen
4248825af0
Revert future imports for annotations, PEP563 is still defered
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-25 12:06:59 +02:00
Ferdinand Thiessen
e22e38b304
Implement custom UA parsing, allowing to update Flask and Werkzeug
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-22 17:18:03 +02:00
Ferdinand Thiessen
ee38e46c12
[core] Cleanup + Fix loading migrations of (dis)abled plugins
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-18 22:59:19 +02:00
Ferdinand Thiessen
d3530cc15f
The enabled state of plugins is now loaded from database rather than config file
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-18 21:22:47 +02:00
Ferdinand Thiessen
e41be21c47
Restructure models and database import paths
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-18 19:53:58 +02:00
Ferdinand Thiessen
7f8aa80b0e
Update dependencies and increase python version to 3.10
...
Drop future imports, not needed with python 3.10
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-08-18 19:45:54 +02:00
Ferdinand Thiessen
dc2b949225
[cli] Fix exporting of plugin interfaces
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-07-31 19:28:11 +02:00
Ferdinand Thiessen
fa503fe142
[cli] Added install command to install the database and all plugins
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-07-31 19:07:40 +02:00
Ferdinand Thiessen
f1d6b6a2f2
[plugins][cli] Fix initial migration file + Make sure plugin permissions are installed
...
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2022-07-31 19:07:32 +02:00
Ferdinand Thiessen
573bea2da0
feat(cli): Added CLI command for handling plugins
...
ci/woodpecker/push/lint Pipeline was successful
Details
ci/woodpecker/push/test Pipeline was successful
Details
ci/woodpecker/pr/lint Pipeline was successful
Details
ci/woodpecker/pr/test Pipeline was successful
Details
* Install / Uninstall plugins
* List plugins
2022-03-08 17:22:55 +01:00
Ferdinand Thiessen
4fbd20f78e
feat(docs): Add documentation on how to install tables
...
Also various documentation fixed and improvments
2022-03-08 17:22:55 +01:00
Ferdinand Thiessen
6a35137a27
feat(db): Add database migration support, implements #19
...
Migrations allow us to keep track of database changes and upgrading databases if needed.
* Add initial migrations for core Flaschengeist
* Add migrations to balance
* Add migrations to pricelist
* Skip plugins with not satisfied dependencies.
2022-03-08 17:22:55 +01:00
Ferdinand Thiessen
bf02c0e21f
fix(db): Add __repr__ to custom column types, same as done by SQLAlchemy
2022-03-08 17:22:55 +01:00
Tim Gröger
e09d563e93
Merge pull request 'feat(plugins): Load metadata from entry points / distribution' ( #24 ) from proposal/metadata2 into develop
...
ci/woodpecker/push/lint Pipeline was successful
Details
ci/woodpecker/push/test Pipeline was successful
Details
Reviewed-on: #24
2022-03-08 08:13:52 +00:00
Ferdinand Thiessen
2d4c8ebfd9
fix(plugins): Fix functions using id instead of name property
ci/woodpecker/push/lint Pipeline was successful
Details
ci/woodpecker/push/test Pipeline was successful
Details
ci/woodpecker/pr/lint Pipeline was successful
Details
ci/woodpecker/pr/test Pipeline was successful
Details
2022-03-07 14:36:31 +01:00
Ferdinand Thiessen
6f35e17fba
feat(plugins): Load metadata from entry points / distribution
ci/woodpecker/push/lint Pipeline was successful
Details
ci/woodpecker/push/test Pipeline was successful
Details
ci/woodpecker/pr/lint Pipeline was successful
Details
ci/woodpecker/pr/test Pipeline was successful
Details
2022-02-23 15:20:31 +01:00
Ferdinand Thiessen
2f4472e708
feat(docs): Added more documentation on plugins
ci/woodpecker/push/lint Pipeline was successful
Details
ci/woodpecker/push/test Pipeline was successful
Details
2022-02-23 15:19:45 +01:00
Ferdinand Thiessen
e510c54bd8
chore(clean): Fix codestyle of config.py
ci/woodpecker/push/lint Pipeline was successful
Details
ci/woodpecker/push/test Pipeline was successful
Details
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 #22
continuous-integration/woodpecker the build was successful
Details
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
continuous-integration/woodpecker the build failed
Details
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`
continuous-integration/woodpecker the build failed
Details
2021-12-22 00:37:52 +01:00
Ferdinand Thiessen
016ed7739a
fix(db): Fix Serial column type for SQLite
continuous-integration/woodpecker the build failed
Details
2021-12-22 00:36:41 +01:00
Ferdinand Thiessen
702b894f75
feat(tests): Added first unit test for the user controller
continuous-integration/woodpecker the build failed
Details
2021-12-22 00:34:32 +01:00
Ferdinand Thiessen
519eac8f25
feat(ci): Added pipeline for tests
...
continuous-integration/woodpecker the build failed
Details
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
continuous-integration/woodpecker the build failed
Details
2021-12-20 00:56:16 +01:00
Ferdinand Thiessen
22fbb526bb
fix(balance): Replace deprecated sqlalchemy functions
continuous-integration/woodpecker the build failed
Details
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
continuous-integration/woodpecker the build failed
Details
2021-12-19 13:06:36 +01:00
Ferdinand Thiessen
25ba4d21aa
feat(balance): Add option to allow active services to debit other users
continuous-integration/woodpecker the build was successful
Details
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
continuous-integration/woodpecker the build was successful
Details
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