Compare commits

...
851 Commits
Author SHA1 Message Date
edraft 9c9bbf1760 Fixed test action installation
Test before pr merge / test (pull_request) Failing after 8s
Test before pr merge / test-lint (pull_request) Successful in 8s
2026-01-16 16:16:04 +01:00
edraft c18777656c Added test action
Test before pr merge / test (pull_request) Failing after 4s
Test before pr merge / test-lint (pull_request) Successful in 15s
2026-01-16 16:07:09 +01:00
edraft c8de1284fb Fixed formatting
Test before pr merge / test-lint (pull_request) Successful in 7s
2026-01-16 15:55:28 +01:00
edraft 17408d5cd2 Added first tests #191
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-12-10 23:21:52 +01:00
edraft cc76227199 Moved hosted service base
Build on push / prepare (push) Successful in 13s
Build on push / query (push) Successful in 24s
Build on push / core (push) Successful in 25s
Build on push / dependency (push) Successful in 18s
Build on push / cli (push) Successful in 24s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / database (push) Successful in 23s
Build on push / translation (push) Successful in 26s
Build on push / auth (push) Successful in 17s
Build on push / api (push) Successful in 22s
Test before pr merge / test-lint (pull_request) Successful in 13s
2025-10-22 11:40:25 +02:00
edraft dfbb0a8c1f Updated cpl structure model json handling
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 12s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 19s
Build on push / cli (push) Successful in 19s
Build on push / dependency (push) Successful in 19s
Build on push / database (push) Successful in 16s
Build on push / application (push) Successful in 17s
Build on push / translation (push) Successful in 19s
Build on push / mail (push) Successful in 22s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
2025-10-19 20:17:17 +02:00
edraft 472aba5990 Removed ws with_parents
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 22s
Build on push / cli (push) Successful in 16s
Build on push / dependency (push) Successful in 19s
Build on push / mail (push) Successful in 17s
Build on push / application (push) Successful in 21s
Build on push / translation (push) Successful in 20s
Build on push / database (push) Successful in 21s
Build on push / auth (push) Successful in 19s
Build on push / api (push) Successful in 15s
2025-10-19 20:03:43 +02:00
twente 9c75008c9f Add cpl-mail project
Test before pr merge / test-lint (pull_request) Successful in 8s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 19s
Build on push / dependency (push) Successful in 19s
Build on push / cli (push) Successful in 24s
Build on push / mail (push) Successful in 17s
Build on push / translation (push) Successful in 16s
Build on push / database (push) Successful in 21s
Build on push / application (push) Successful in 21s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
2025-10-19 20:03:43 +02:00
edraft df2c2b5b56 Workspace check project existence
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 11s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 19s
Build on push / dependency (push) Successful in 19s
Build on push / cli (push) Successful in 19s
Build on push / application (push) Successful in 16s
Build on push / translation (push) Successful in 17s
Build on push / database (push) Successful in 20s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 16s
2025-10-19 19:56:59 +02:00
edraft e3b19c9984 Fixed init command regarding structure
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / cli (push) Successful in 16s
Build on push / dependency (push) Successful in 19s
Build on push / application (push) Successful in 20s
Build on push / database (push) Successful in 21s
Build on push / translation (push) Successful in 20s
Build on push / mail (push) Successful in 23s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 14s
2025-10-19 19:48:41 +02:00
edraft 91269f351b Fixed init command regarding package handling
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 23s
Build on push / cli (push) Successful in 16s
Build on push / dependency (push) Successful in 19s
Build on push / database (push) Successful in 16s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / auth (push) Successful in 19s
Build on push / api (push) Successful in 15s
2025-10-19 19:37:13 +02:00
edraft 5d07973940 Fixed init command regarding package handling
Test before pr merge / test-lint (pull_request) Failing after 7s
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 20s
Build on push / cli (push) Successful in 19s
Build on push / dependency (push) Successful in 22s
Build on push / database (push) Successful in 16s
Build on push / translation (push) Successful in 16s
Build on push / mail (push) Successful in 17s
Build on push / application (push) Successful in 17s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 16s
2025-10-19 19:32:14 +02:00
edraft 0a9b7b81be Fixed init command regarding name None
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 11s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 24s
Build on push / cli (push) Successful in 19s
Build on push / dependency (push) Successful in 18s
Build on push / database (push) Successful in 17s
Build on push / mail (push) Successful in 18s
Build on push / application (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
2025-10-19 19:27:18 +02:00
edraft 21c88bc442 Fixed install.sh after renaming
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 20s
Build on push / dependency (push) Successful in 15s
Build on push / cli (push) Successful in 18s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / application (push) Successful in 21s
Build on push / mail (push) Successful in 24s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 18s
2025-10-19 19:17:14 +02:00
edraft 04e0884e1c Added readme for devs
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 12s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / api (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / database (push) Has been cancelled
Build on push / dependency (push) Has been cancelled
Build on push / cli (push) Has been cancelled
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
2025-10-19 19:16:39 +02:00
edraft 2ac7fa4568 Fixed dev build
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 14s
Build on push / core (push) Successful in 21s
Build on push / query (push) Successful in 22s
Build on push / cli (push) Successful in 19s
Build on push / dependency (push) Successful in 21s
Build on push / translation (push) Successful in 16s
Build on push / application (push) Successful in 22s
Build on push / mail (push) Successful in 24s
Build on push / database (push) Successful in 26s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
2025-10-19 14:42:40 +02:00
edraft 43947055e5 Merge pull request 'cli' (#199) from cli into dev
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 13s
Build on push / core (push) Failing after 9s
Build on push / query (push) Failing after 10s
Build on push / api (push) Has been skipped
Build on push / application (push) Has been skipped
Build on push / auth (push) Has been skipped
Build on push / cli (push) Has been skipped
Build on push / database (push) Has been skipped
Build on push / dependency (push) Has been skipped
Build on push / mail (push) Has been skipped
Build on push / translation (push) Has been skipped
Reviewed-on: #199
2025-10-19 14:40:45 +02:00
edraft ba9edfa3fc Added cli dev build
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-19 14:40:24 +02:00
edraft 6d3e435da6 cpl new use venv & install deps on creation
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-19 14:39:27 +02:00
edraft 76b44ca517 Added cpl new
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-18 18:19:39 +02:00
edraft 8ebac05dd8 Cleanup
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-16 18:19:36 +02:00
edraft 98ed458d7c Added cpl generate
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-16 12:47:06 +02:00
edraft 8d0bc13cc0 Added live dev server
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-13 06:22:04 +02:00
edraft 33728cdec3 Added internal extra url
Test before pr merge / test-lint (pull_request) Failing after 6s
2025-10-12 20:45:11 +02:00
edraft f1604f1477 Removed ref for dev
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-12 20:22:40 +02:00
edraft a02c101438 Improved spinner
Test before pr merge / test-lint (pull_request) Failing after 8s
2025-10-12 20:02:45 +02:00
edraft 9647923647 Improved build 2025-10-12 18:19:58 +02:00
edraft 883fa2d691 Added build command
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-11 18:25:32 +02:00
edraft 3c26c73b41 Added run command
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-11 16:31:04 +02:00
edraft faedf328cb Added build command
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-11 15:50:38 +02:00
edraft 849dd7a733 [WIP] Started run command 2025-10-11 14:13:28 +02:00
edraft 6e0ae1f25e Cleanup & fixes 2025-10-11 11:43:23 +02:00
edraft 45dcb400da Added remove & add commands
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-11 11:05:04 +02:00
edraft 104b736778 Moved commands by context 2025-10-11 09:39:46 +02:00
edraft 90ff8d466d Renamed project dirs
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-11 09:32:13 +02:00
edraft f1aaaf2a5b Set version to all packages
Test before pr merge / test-lint (pull_request) Successful in 9s
2025-10-09 21:24:25 +02:00
edraft 5f8519d4b3 Added version
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-09 21:08:05 +02:00
edraft c4334f32ed Fixed install & added update 2025-10-09 19:59:02 +02:00
edraft 0a6a17acf6 Added cpl-cli 2025-10-09 17:17:39 +02:00
edraft c02903b009 Merge pull request 'master' (#198) from master into dev
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 11s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 19s
Build on push / dependency (push) Successful in 18s
Build on push / mail (push) Successful in 16s
Build on push / translation (push) Successful in 19s
Build on push / database (push) Successful in 20s
Build on push / application (push) Successful in 29s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 18s
Reviewed-on: #198
2025-10-08 21:31:55 +02:00
edraft b6cf5962aa Merge pull request 'Removed tools & docs' (#197) from dev_cleanup into master
Reviewed-on: #197
2025-10-08 21:30:47 +02:00
edraft d3084041a9 Removed tools & docs 2025-10-08 21:30:01 +02:00
edraft d4af923e4c Merge pull request 'Added gql base #181' (#196) from #181_gql into dev
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 12s
Build on push / query (push) Successful in 23s
Build on push / core (push) Successful in 23s
Build on push / dependency (push) Successful in 29s
Build on push / translation (push) Successful in 17s
Build on push / application (push) Successful in 22s
Build on push / database (push) Successful in 22s
Build on push / mail (push) Successful in 23s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
Reviewed-on: #196
Closes #181
2025-10-08 21:25:41 +02:00
edraft 545540d05d Added subscriptions final #181
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-08 21:22:51 +02:00
edraft 3774cef56a Updated permissions #181
Test before pr merge / test-lint (pull_request) Successful in 10s
2025-10-08 17:27:46 +02:00
edraft cdb5e4ff89 [WIP] Subscriptions
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-04 06:57:14 +02:00
edraft e362b7fb61 Added/Fixed api_key/user/role gql #181
Test before pr merge / test-lint (pull_request) Failing after 6s
2025-10-04 05:44:13 +02:00
edraft 262e26cb83 Internal api key gql #181 2025-10-04 05:44:13 +02:00
edraft 5b3872a1fe Added possibility to put auth schema to root graphs #181 2025-10-04 05:44:13 +02:00
edraft e7e3712e08 Renamed AuthUsers -> Users & completed user gql #181 2025-10-04 05:44:13 +02:00
edraft df69f1c725 Recursive filter #181 2025-10-04 05:44:13 +02:00
edraft 39351a5eb9 Recursive types #181 2025-10-04 05:44:13 +02:00
edraft 39d06dfe48 Added mutations #181 2025-10-04 05:44:13 +02:00
edraft 3286a95cbf require any #181 2025-10-04 05:44:13 +02:00
edraft 6f46b94998 [WIP] with authentication #181 2025-10-04 05:44:13 +02:00
edraft 20e5da5770 Recursive complex filtering #181 2025-10-04 05:44:13 +02:00
edraft a12a4082db Dao complex filtering #181 2025-10-04 05:44:13 +02:00
edraft d8c60defba Further gql improvements & added test data #181 2025-10-04 05:44:13 +02:00
edraft ada50c693e Changed to strawberry #181 2025-10-04 05:44:13 +02:00
edraft a35b44b3b5 [WIP] collection #181 2025-10-04 05:44:13 +02:00
edraft 683805137a Added arguments to field #181 2025-10-04 05:44:13 +02:00
edraft b0f1fb9839 Removed query base #181 2025-10-04 05:44:13 +02:00
edraft e1ab9cf0db Added gql base #181 2025-10-04 05:44:13 +02:00
edraft 685c20e3bf Added cron jobs as hosted services
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / database (push) Successful in 15s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / translation (push) Successful in 29s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 18s
2025-10-04 05:38:21 +02:00
edraft e0f6e1c241 Console & file logging format msg seperate & removed timestamp from console & minor fixes to di
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / translation (push) Successful in 16s
Build on push / mail (push) Successful in 17s
Build on push / application (push) Successful in 19s
Build on push / database (push) Successful in 19s
Build on push / auth (push) Successful in 25s
Build on push / api (push) Successful in 14s
2025-09-26 15:48:33 +02:00
edraft c410a692be Better modules
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / mail (push) Successful in 16s
Build on push / translation (push) Successful in 16s
Build on push / application (push) Successful in 18s
Build on push / database (push) Successful in 19s
Build on push / auth (push) Successful in 17s
Build on push / api (push) Successful in 14s
2025-09-26 12:55:00 +02:00
edraft 56a16cbeba Module dependencies as static var
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 20s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 16s
Build on push / mail (push) Successful in 18s
Build on push / translation (push) Successful in 22s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 17s
2025-09-26 08:46:30 +02:00
edraft d05d947d54 Import cleanup
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 12s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 18s
Build on push / database (push) Successful in 20s
Build on push / auth (push) Successful in 17s
Build on push / api (push) Successful in 13s
2025-09-26 00:03:12 +02:00
edraft 0529269747 Fixed formatting
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / mail (push) Successful in 16s
Build on push / application (push) Successful in 19s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 15s
2025-09-25 10:37:29 +02:00
edraft e3e1703ff8 Fixed versioning
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / api (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
Build on push / database (push) Has been cancelled
2025-09-25 10:36:36 +02:00
edraft cf4aa8291f Minor DI fixes & cleanup
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 27s
Build on push / dependency (push) Successful in 18s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 19s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-25 10:29:40 +02:00
edraft 55a727c482 Modularization
Test before pr merge / test-lint (pull_request) Failing after 7s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 16s
Build on push / mail (push) Successful in 15s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 18s
Build on push / auth (push) Successful in 23s
Build on push / api (push) Successful in 16s
2025-09-25 09:42:07 +02:00
edraft ecb92fca3e Minor fixes 2025-09-25 08:46:02 +02:00
edraft 0ca5e5757a Added hosted services #186
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 18s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / translation (push) Successful in 17s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 24s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-25 00:54:09 +02:00
edraft 75417966eb Moved general example 2025-09-25 00:15:26 +02:00
edraft 15d3c59f02 StartupTask #186 2025-09-25 00:11:26 +02:00
edraft 6a3fdb3ebd Fixed formatting #186
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 16s
Build on push / database (push) Successful in 17s
Build on push / mail (push) Successful in 18s
Build on push / translation (push) Successful in 18s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-24 21:48:57 +02:00
edraft b49f663ae0 API scoped requests #186
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 21s
Build on push / dependency (push) Successful in 14s
Build on push / api (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / database (push) Has been cancelled
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
2025-09-24 21:47:52 +02:00
edraft 287f5e3149 New implementation of scopes #186 2025-09-24 21:27:28 +02:00
edraft 4c8cd988cc Removed ServiceProviderABC #186 2025-09-24 20:53:01 +02:00
edraft cdb4a0fb34 DI Provider ctx #186 2025-09-24 20:46:43 +02:00
edraft cf8edafd39 Added enumerable order & added array & removed collection
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 20s
Build on push / dependency (push) Successful in 17s
Build on push / translation (push) Successful in 20s
Build on push / application (push) Successful in 21s
Build on push / mail (push) Successful in 24s
Build on push / database (push) Successful in 24s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 14s
2025-09-24 19:41:12 +02:00
edraft 01a2ff7166 Added query@v2 2025-09-24 19:09:11 +02:00
edraft 2da6d679ad Moved test projects 2025-09-24 16:57:24 +02:00
edraft a1cfe76047 Added cache 2025-09-24 12:04:37 +02:00
edraft c71a3df62c More efficient wrapped logger by getting service type not service
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 24s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / database (push) Successful in 19s
Build on push / mail (push) Successful in 19s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-24 08:28:50 +02:00
edraft e296c0992b Merge pull request 'Added structured and wrapped logger #187' (#193) from #187_structured_logging into dev
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 18s
Build on push / dependency (push) Successful in 18s
Build on push / mail (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / database (push) Successful in 19s
Build on push / application (push) Successful in 19s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 17s
Reviewed-on: #193
2025-09-23 23:35:55 +02:00
edraft 6639946346 Improved wrapped logging #187
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-09-23 23:34:45 +02:00
edraft b9ac11e15f Added structured and wrapped logger #187
Test before pr merge / test-lint (pull_request) Successful in 5s
2025-09-22 23:24:46 +02:00
edraft 77d821bb6e Added internal imports
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 18s
Build on push / dependency (push) Successful in 14s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / translation (push) Successful in 19s
Build on push / mail (push) Successful in 19s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 14s
2025-09-22 22:08:59 +02:00
edraft 86ad953ff1 Authorization via with_route
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 18s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / mail (push) Successful in 18s
Build on push / translation (push) Successful in 18s
Build on push / database (push) Successful in 19s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-22 22:04:36 +02:00
edraft d6b7eb9b30 Authorization via decorator 2025-09-22 21:16:47 +02:00
edraft 12b7c62b69 Fixed formatting
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / translation (push) Successful in 14s
Build on push / application (push) Successful in 18s
Build on push / database (push) Successful in 17s
Build on push / mail (push) Successful in 18s
Build on push / auth (push) Successful in 13s
Build on push / api (push) Successful in 17s
Test before pr merge / test-lint (pull_request) Successful in 5s
2025-09-21 23:48:09 +02:00
edraft 7fc70747bb Added black test
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / api (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / mail (push) Has started running
Build on push / translation (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / database (push) Has been cancelled
2025-09-21 23:47:15 +02:00
edraft 6de4f3c03a Middleware updated & Fixed mysql pool
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 18s
Build on push / dependency (push) Successful in 17s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / application (push) Successful in 21s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-21 23:41:25 +02:00
edraft ea3055527c Changed middleware to asgi 2025-09-21 21:22:19 +02:00
edraft 7b37748ca6 [WIP] validate token via keycloak 2025-09-21 21:07:09 +02:00
edraft 073b35f71a App deps check 2025-09-21 20:11:47 +02:00
edraft eceff6128b [WIP] Authentication
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 16s
Build on push / mail (push) Successful in 16s
Build on push / translation (push) Successful in 18s
Build on push / database (push) Successful in 22s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 13s
2025-09-19 23:01:41 +02:00
edraft 17dfb245bf Minor cleanup 2025-09-19 21:54:08 +02:00
edraft 4f698269b5 Fixed api build
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 18s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 14s
2025-09-19 21:12:33 +02:00
edraft ddc62dfb9a Added api & route handling
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / translation (push) Successful in 23s
Build on push / auth (push) Successful in 16s
Build on push / api (push) Failing after 14s
2025-09-19 21:03:33 +02:00
edraft 1a67318091 Config model options handling. Closes #185
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 25s
Build on push / translation (push) Successful in 17s
Build on push / database (push) Successful in 20s
Build on push / application (push) Successful in 21s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 14s
2025-09-19 17:47:49 +02:00
edraft 2be58f6577 Introduced fernet to credential manager. Closes #183
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 22s
Build on push / dependency (push) Successful in 15s
Build on push / application (push) Successful in 20s
Build on push / database (push) Successful in 21s
Build on push / translation (push) Successful in 21s
Build on push / mail (push) Successful in 22s
Build on push / auth (push) Successful in 18s
2025-09-19 15:01:16 +02:00
edraft 9c6078f4fd with_logging & logger level fix
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 18s
Build on push / dependency (push) Successful in 14s
Build on push / translation (push) Successful in 15s
Build on push / database (push) Successful in 17s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 18s
2025-09-17 22:18:38 +02:00
edraft dfdc31512d App with extension functions
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 14s
Build on push / translation (push) Successful in 14s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / application (push) Successful in 22s
Build on push / auth (push) Successful in 14s
2025-09-17 21:56:47 +02:00
edraft ab7ff7da93 Made startup/app extensions static 2025-09-17 20:54:21 +02:00
edraft 41087a838b Removed pass from empty functions
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / translation (push) Successful in 14s
Build on push / mail (push) Successful in 18s
Build on push / database (push) Successful in 18s
Build on push / application (push) Successful in 24s
Build on push / auth (push) Successful in 14s
2025-09-17 20:49:15 +02:00
edraft 836b92ccbf Further console test 2025-09-17 20:44:25 +02:00
edraft 8aaba22940 Improved application structure
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 22s
Build on push / query (push) Successful in 22s
Build on push / dependency (push) Successful in 20s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / application (push) Successful in 22s
Build on push / mail (push) Successful in 23s
Build on push / auth (push) Successful in 16s
2025-09-17 19:23:14 +02:00
edraft 504dc5e188 Added auth & improved database
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 24s
Build on push / dependency (push) Successful in 17s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 18s
Build on push / application (push) Successful in 19s
Build on push / auth (push) Successful in 16s
2025-09-17 12:21:32 +02:00
edraft 4625b626e6 Added dao base
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 16s
Build on push / core (push) Successful in 23s
Build on push / translation (push) Successful in 14s
Build on push / mail (push) Successful in 14s
2025-09-17 00:12:25 +02:00
edraft 58dbd3ed1e Cleanup for mysql
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 18s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 17s
2025-09-16 20:21:33 +02:00
edraft cd7dfaf2b4 Fixed spinner thread & remove log thread
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 18s
2025-09-16 18:41:57 +02:00
edraft 8ad3e3bdb4 Removed ConfigModel from_dict
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 16s
Build on push / query (push) Successful in 17s
Build on push / mail (push) Successful in 17s
Build on push / translation (push) Successful in 18s
2025-09-16 08:51:56 +02:00
edraft b97bc0a3ed Restructuring
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 26s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 17s
2025-09-16 08:48:07 +02:00
edraft 5f25400bcd Updated config & environment 2025-09-16 08:39:00 +02:00
edraft 5edabbf8c1 Removed docs from sources
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 18s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 16s
2025-09-15 23:08:17 +02:00
edraft 62b6435470 Improved logging closes #180
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 18s
Build on push / mail (push) Successful in 17s
Build on push / translation (push) Successful in 18s
2025-09-15 23:06:38 +02:00
edraft d9d7802f33 Fixed translation build
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 20s
Build on push / mail (push) Successful in 15s
Build on push / translation (push) Successful in 18s
2025-09-15 21:08:40 +02:00
edraft 25b4ca0696 Added cpl-mail
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 25s
Build on push / translation (push) Failing after 8s
Build on push / mail (push) Successful in 14s
2025-09-15 20:56:07 +02:00
edraft 3b120370b8 Added cpl-mail
Build on push / prepare (push) Successful in 9s
Build on push / translation (push) Successful in 20s
Build on push / mail (push) Successful in 21s
Build on push / query (push) Successful in 21s
Build on push / core (push) Successful in 21s
2025-09-15 18:38:34 +02:00
edraft aac038ef63 Added cpl-mail
Build on push / core (push) Failing after 9s
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
Build on push / prepare (push) Has been cancelled
Build on push / query (push) Has been cancelled
2025-09-15 18:35:36 +02:00
edraft 784632a0b4 Updated ci
Build on push / core (push) Has been cancelled
Build on push / query (push) Has been cancelled
Build on push / translation (push) Has been cancelled
Build on push / prepare (push) Has been cancelled
2025-09-15 18:17:23 +02:00
edraft 4719c32457 Updated ci
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Failing after 18s
Build on push / core (push) Successful in 15s
2025-09-15 16:55:57 +02:00
edraft 516fa3fb7e Updated ci
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 18s
Build on push / core (push) Failing after 18s
2025-09-15 15:28:09 +02:00
edraft 2d2bb86720 First update towards cpl2
Build on push / prepare (push) Failing after 6s
Build on push / build (push) Has been skipped
2025-09-15 15:02:47 +02:00
edraft c1e65bf0dc Set correct version 2024-07-25 17:56:25 +02:00
edraft 688381b106 Merge pull request 'py12' (#177) from py12 into master
Reviewed-on: sh-edraft.de/sh_cpl#177
2024-07-25 17:55:07 +02:00
edraft c3e3367264 Removed bundle project 2024-07-25 17:54:24 +02:00
edraft c3d51e29fc Set version 2024-07-25 17:34:24 +02:00
edraft cae2e6d92e Hopefully fixed db errors 2024-01-13 14:26:36 +01:00
edraft 347418bdc5 Added ssl_disabled option 2023-12-06 17:56:13 +01:00
edraft 153fc8922e Fixed dc collection 2023-10-13 15:20:26 +02:00
edraft cdbfaeb013 Merge pull request 'Updated deps' (#176) from 2023.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#176
2023-10-13 15:01:06 +02:00
edraft 4062a6ebe4 Updated deps 2023-10-13 14:57:46 +02:00
edraft 46ef6b3938 Merge pull request '2023.10' (#175) from 2023.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#175
2023-10-13 14:48:39 +02:00
edraft c1b9c0fb4a Added R as return type 2023-10-12 21:20:36 +02:00
edraft 8ede2998fe Fixed configuration typing 2023-10-12 21:14:49 +02:00
edraft 41f974fe6e Fixed cpl-discord deps 2023-10-12 21:06:10 +02:00
edraft e7af5ce322 Fixed cpl-query typing 2023-10-12 21:05:38 +02:00
edraft 7881294554 Fixed types 2023-10-12 20:55:24 +02:00
edraft b3fd122fcd Build cpl-discord new version 2023-10-12 20:42:24 +02:00
edraft 1dd48899d7 Improved cpl-discords service loading for commands and events 2023-10-12 20:41:34 +02:00
edraft f357e97ce5 Build and formatted new version 2023-10-12 20:16:16 +02:00
edraft 2d8ecd424a Switched mysql package 2023-10-12 20:11:14 +02:00
edraft affbbc822d Removed handled vars from values in JP 2023-07-19 11:34:19 +02:00
edraft 43ea732c5f Fixed config loading 2023-07-19 11:28:33 +02:00
edraft 708918464f Improved config loading 2023-07-19 11:16:04 +02:00
edraft ed2377c288 Updated discord.py 2023-06-13 16:22:54 +02:00
edraft b819eb439c Fixed translaiton settings 2023-06-13 16:14:38 +02:00
edraft b3ed7101fc Fixed update command 2023-06-13 15:56:46 +02:00
edraft a3504af376 Fixed update command 2023-06-13 15:47:44 +02:00
edraft 81c2f1cba9 Fixed discord service config loading 2023-06-13 15:38:04 +02:00
edraft bea5b22251 Fixed db settings default port 2023-06-13 15:08:04 +02:00
edraft e04d0beb68 Fixed circular import from query package 2023-06-13 13:27:37 +02:00
edraft 08ba097aaa Merge pull request '#173' (#174) from #173 into master
Reviewed-on: sh-edraft.de/sh_cpl#174
2023-06-12 20:48:34 +02:00
edraft ea968d94e4 Build app 2023-06-12 20:47:14 +02:00
edraft 8e12c72b07 Fixed cpl update dev deps bug #170 2023-06-12 20:47:13 +02:00
edraft 8dee4d8f70 Fixed config type 2023-04-15 11:47:31 +02:00
edraft 315b8e631a Merge pull request '2023.4' (#168) from 2023.4 into master
Reviewed-on: sh-edraft.de/sh_cpl#168
2023-04-12 13:57:50 +02:00
edraft cbb1860f25 Fixed internal settings 2023-04-12 13:47:38 +02:00
edraft 9839bcaa14 Removed unused imports 2023-04-12 13:34:43 +02:00
edraft da54337221 Fixed ProjectSettings 2023-04-12 13:31:59 +02:00
edraft a6a1e764d1 Updated deps 2023-04-12 13:30:13 +02:00
edraft eb6aa08c10 Updated deps 2023-04-12 12:57:58 +02:00
edraft 14a190a67f Merge pull request '#166' (#167) from #166 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#167
Closes #166
2023-04-11 14:49:21 +02:00
edraft cf5ae89884 Fixed start test 2023-04-11 14:26:17 +02:00
edraft 558dfb8ced Deactivated test output 2023-04-11 12:51:49 +02:00
edraft 2ec8fc22b3 Improved generic type hints 2023-04-11 12:50:05 +02:00
edraft c94700495b Merge pull request '#157' (#165) from #157 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#165
Closes #157
2023-04-11 11:48:48 +02:00
edraft 69a3bc5e31 Fixed cwd handling 2023-04-10 15:10:39 +02:00
edraft d189f49418 Improved service_provider_tests 2023-04-10 14:53:59 +02:00
edraft 60fb416b67 Added service_provider_tests 2023-04-10 14:47:25 +02:00
edraft 792429d19d Added console argument tests 2023-04-10 13:35:11 +02:00
edraft 106975015e Improved config tests 2023-04-09 12:51:57 +02:00
edraft 1117735f2e Added configuration tests & improved json parsing by converting into target types 2023-04-09 12:31:31 +02:00
edraft 0378f8944a Added AppEnv tests 2023-04-09 12:05:05 +02:00
edraft 75fde0f444 Added pipe tests 2023-04-07 14:52:17 +02:00
edraft 04f610c799 Removed obsolete pipes 2023-04-07 14:41:11 +02:00
edraft 3178b59147 Added JSONProcessorTestCase 2023-04-07 14:40:03 +02:00
edraft 9c7008e179 Improved core test suite 2023-04-07 14:08:06 +02:00
edraft 7ff7dbc56b Added core test suite 2023-04-07 14:04:39 +02:00
edraft 823d524a81 Added core.utils.string tests & fixed some functions 2023-04-07 14:03:45 +02:00
edraft 1b60debba7 Fixed cli schematics & added tests 2023-04-07 13:42:20 +02:00
edraft 3fc713cc8d Merge pull request '#154' (#164) from #154 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#164
Closes #154
2023-04-05 22:30:38 +02:00
edraft bb26c7e94d Updated docs 2023-04-05 22:01:15 +02:00
edraft 52404cf5d3 Updated docs 2023-04-05 21:59:58 +02:00
edraft 32223bcfc2 Updated docs 2023-04-05 21:43:21 +02:00
edraft 4e2bdb2b59 Fixed translation settings 2023-04-05 18:17:57 +02:00
edraft d72514205c Updated PipSettings 2023-04-05 18:13:29 +02:00
edraft 9b4afdbe18 Updated TranslationSettings & formatted code 2023-04-05 18:12:31 +02:00
edraft 6751541269 Updated DiscordBotSettings 2023-04-05 18:11:16 +02:00
edraft fe9918af16 Updated discord deps 2023-04-05 18:10:33 +02:00
edraft d2c56f1a3f Fixed some broken references 2023-04-05 18:07:31 +02:00
edraft 8624549aa6 Fixed some broken references 2023-04-05 18:03:13 +02:00
edraft 9a6ce704b7 Removed from_dict from build and project settings 2023-04-05 16:30:02 +02:00
edraft 9af2a1962d Improved internal settings 2023-04-04 23:19:59 +02:00
edraft a8d4a7a362 Added JSONProcessor to utils & Added JSONProcessor as settings parser 2023-04-04 22:52:13 +02:00
edraft 943f5ad50b Improved service scope 2023-04-04 21:45:32 +02:00
edraft 4cd8fea07a Merge pull request 'Added more version operator support' (#163) from #160 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#163
Closes #160
2023-04-04 21:36:54 +02:00
edraft 82b3a22ac8 Added more version operator support 2023-04-04 21:36:24 +02:00
edraft 2c6367a408 Improved cpl query 2023-04-04 21:05:53 +02:00
edraft af94a0c52d Formatted code 2023-04-04 15:56:37 +02:00
edraft 9c374f6bb2 Merge pull request '#161' (#162) from #161 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#162
Closes #161
2023-04-04 14:52:30 +02:00
edraft d0a19458c5 Formatted code 2023-04-04 14:50:19 +02:00
edraft 5d6e7677de Improved typing in query 2023-04-04 14:42:43 +02:00
edraft 01309e3124 Cleaned code 2023-04-04 13:58:37 +02:00
edraft 083e1ce4a1 Fixed OrderedQueryable imports 2023-04-04 13:55:50 +02:00
edraft 8c012e5902 Set Self type 2023-04-04 13:33:45 +02:00
edraft 5e6d17cc86 Updated some stuff 2023-04-04 13:30:10 +02:00
edraft c4a71de83f Formatted code 2023-04-04 13:30:00 +02:00
edraft 01bc746092 Merge branch 'master' into 2023.4
# Conflicts:
#	src/cpl_cli/.cpl/__init__.py
#	src/cpl_cli/__init__.py
#	src/cpl_cli/_templates/__init__.py
#	src/cpl_cli/_templates/build/__init__.py
#	src/cpl_cli/_templates/publish/__init__.py
#	src/cpl_cli/abc/__init__.py
#	src/cpl_cli/command/__init__.py
#	src/cpl_cli/configuration/__init__.py
#	src/cpl_cli/cpl-cli.json
#	src/cpl_cli/helper/__init__.py
#	src/cpl_cli/live_server/__init__.py
#	src/cpl_cli/migrations/__init__.py
#	src/cpl_cli/migrations/base/__init__.py
#	src/cpl_cli/migrations/service/__init__.py
#	src/cpl_cli/publish/__init__.py
#	src/cpl_cli/source_creator/__init__.py
#	src/cpl_cli/validators/__init__.py
#	src/cpl_core/__init__.py
#	src/cpl_core/application/__init__.py
#	src/cpl_core/configuration/__init__.py
#	src/cpl_core/console/__init__.py
#	src/cpl_core/cpl-core.json
#	src/cpl_core/database/__init__.py
#	src/cpl_core/database/connection/__init__.py
#	src/cpl_core/database/context/__init__.py
#	src/cpl_core/dependency_injection/__init__.py
#	src/cpl_core/dependency_injection/service_provider.py
#	src/cpl_core/dependency_injection/service_provider_abc.py
#	src/cpl_core/environment/__init__.py
#	src/cpl_core/logging/__init__.py
#	src/cpl_core/mailing/__init__.py
#	src/cpl_core/pipes/__init__.py
#	src/cpl_core/time/__init__.py
#	src/cpl_core/utils/__init__.py
#	src/cpl_discord/.cpl/__init__.py
#	src/cpl_discord/.cpl/schematic_discord_event.py
#	src/cpl_discord/__init__.py
#	src/cpl_discord/application/__init__.py
#	src/cpl_discord/command/__init__.py
#	src/cpl_discord/configuration/__init__.py
#	src/cpl_discord/container/__init__.py
#	src/cpl_discord/cpl-discord.json
#	src/cpl_discord/events/__init__.py
#	src/cpl_discord/helper/__init__.py
#	src/cpl_discord/service/__init__.py
#	src/cpl_discord/service/discord_bot_service.py
#	src/cpl_discord/service/discord_bot_service_abc.py
#	src/cpl_discord/service/discord_service.py
#	src/cpl_query/__init__.py
#	src/cpl_query/base/__init__.py
#	src/cpl_query/base/queryable_abc.py
#	src/cpl_query/cpl-query.json
#	src/cpl_query/enumerable/__init__.py
#	src/cpl_query/extension/__init__.py
#	src/cpl_query/iterable/__init__.py
2023-04-04 13:29:45 +02:00
edraft 87d023ef7f Merge pull request 'Updated docs' (#159) from #150 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#159
Closes #150
2023-04-04 13:16:38 +02:00
edraft 119052f9a2 Updated docs 2023-04-04 13:16:19 +02:00
edraft 43710717c9 Fixed cpl-discord deps 2023-03-11 01:33:56 +01:00
edraft 7bf5e25c5e Fixed typing 2023-03-06 19:03:35 +01:00
edraft faa030df96 Fixed typing 2023-03-06 19:03:01 +01:00
edraft b2efe285a9 Added line counter 2023-02-20 15:59:33 +01:00
edraft 9e28dce5ce Updated docs 2023-02-20 15:55:20 +01:00
edraft 8179508248 Added scheduled event support for cpl-discord 2023-02-13 16:58:46 +01:00
edraft 2c3664c1b9 Fixed schematic schematic 2023-01-15 10:01:19 +01:00
edraft 269f083662 Fixed static inject args order 2023-01-15 02:34:09 +01:00
edraft 8b40c65661 Fixed discord event schematic 2023-01-12 13:49:15 +01:00
edraft 7be3cf38dc Fixed cpl-cli deps 2023-01-12 09:05:36 +01:00
edraft b18a7297a7 Build fix version 2023-01-12 08:58:05 +01:00
edraft 7f46fbe87a Added *args and **kwargs support to discord bot and DI 2023-01-12 08:57:01 +01:00
edraft e0ca7c2ae6 Build fixed version 2023-01-07 15:03:21 +01:00
edraft 6389a940bc Fixed static di injection 2023-01-07 15:00:38 +01:00
edraft 48d0daabf5 Updated copyright 2022-12-25 12:05:02 +01:00
edraft 8fc3c04720 Updated deps 2022-12-25 12:02:47 +01:00
edraft 351f953fdb Merge pull request '2022.12' (#133) from 2022.12 into master
Reviewed-on: sh-edraft.de/sh_cpl#133
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2022-12-25 11:58:34 +01:00
edraft e1560dfab5 Merge pull request '2022.12.1' (#158) from 2022.12.1 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#158
2022-12-25 11:29:56 +01:00
edraft c9bc6a026a Build release 2022.12.1 2022-12-25 11:26:51 +01:00
edraft 83f0e8bd42 Set version 2022-12-25 11:25:53 +01:00
edraft 7af83b49a5 Merge pull request 'Added multiple instance handling (#152)' (#156) from #152 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#156
Closes #152
2022-12-23 17:29:15 +01:00
edraft 59263ece6e Added multiple instance handling #152 2022-12-23 17:28:38 +01:00
edraft a507ed9f46 Fixed publish all script 2022-12-23 16:45:14 +01:00
edraft 6b451142e2 Merge pull request 'Static dependency injection (#148)' (#155) from #148 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#155
Closes #148
2022-12-23 16:36:21 +01:00
edraft 12beea05a7 Merge branch '2022.12' into #148 2022-12-23 16:35:24 +01:00
edraft 713fa5243c Fixed publisher service 2022-12-23 16:09:28 +01:00
edraft d600852bec Added logic to support global service provider #148 2022-12-22 18:52:17 +01:00
edraft c09f2f8e83 Fixed scoped #148 2022-12-20 14:50:35 +01:00
edraft 2fb515195c Improved query performance test 2022-12-20 14:34:55 +01:00
edraft 889f51f5c5 Fixed python path in settings 2022-12-20 14:29:43 +01:00
edraft 742ba8314a Merge pull request 'cpl n l -> keine Fragen... (#144)' (#149) from #144 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#149
Closes #144
2022-12-19 08:39:30 +01:00
edraft b95d90a191 Fixed python path in project settings #144 2022-12-19 08:36:40 +01:00
edraft 46fa49a102 Updated project type library logic & fixed tests #144 2022-12-18 14:27:41 +01:00
edraft d5e89d6e2a Fixed cpl cli build #144 2022-12-18 12:03:41 +01:00
edraft 086fc75fec Build cpl query 2022-12-12 20:59:43 +01:00
edraft 05c33990bb Performance improvements 2022-12-12 20:59:04 +01:00
edraft cbae40ef4d Fixed skip function 2022-12-11 10:44:23 +01:00
edraft 002ba6b4e0 Added split function 2022-12-11 09:16:38 +01:00
edraft 85f75b4677 Fixed group by 2022-12-11 08:58:55 +01:00
edraft 95d8df5bea Merge pull request 'Added new schematics & fixed run command #145' (#147) from #145 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#147
Closes #145
2022-12-10 21:44:17 +01:00
edraft ac1cd9bdde Added new schematics & fixed run command #145 2022-12-10 21:43:46 +01:00
edraft 2d9bb79af7 Merge pull request 'cli discord unterstützung (#143)' (#146) from #143 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#146
Closes #143
2022-12-09 15:07:27 +01:00
edraft 120c9e6800 Fixed tests #143 2022-12-08 16:08:48 +01:00
edraft 6f3099a8db Updated packages & improved docs #143 2022-12-08 15:29:48 +01:00
edraft e46711dc54 Added unittests #143 2022-12-08 14:23:46 +01:00
edraft 59920c59e0 Added cpl g & n discord support #143 2022-12-08 12:14:58 +01:00
edraft 604bb8f55c Updated discord test app #143 2022-12-08 11:02:54 +01:00
edraft 2f8dc63cdc Added discord command & event to cpl g schematics #143 2022-12-08 10:36:23 +01:00
edraft 4fbb3ec838 Updated readme 2022-12-07 20:12:07 +01:00
edraft 6818fe9a5c Improved cpl new appsettings template 2022-12-07 20:06:54 +01:00
edraft 3854fa5aa6 Merge pull request 'cpl n <project-type> name (#139)' (#140) from #139 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#140
Closes #139
2022-12-07 16:16:14 +01:00
edraft 1ca459e67a Removed skip test case #139 2022-12-07 15:48:37 +01:00
edraft fe8ffb2839 Removed comments #139 2022-12-07 15:46:58 +01:00
edraft 42fb88c35d Removed old new command #139 2022-12-07 15:45:15 +01:00
edraft db7a0786a9 Merge branch '2022.12' into #139 2022-12-07 15:41:56 +01:00
edraft f9f2612356 Merge pull request 'configuration.add_configuration(value: any) type fix (#141)' (#142) from #141 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#142
Closes #141
2022-12-07 15:41:18 +01:00
edraft df81bb599f Merge branch '2022.12' into #141 2022-12-07 13:07:38 +01:00
edraft 6d2492c1cf Added generic typing to configuration #141 2022-12-07 13:06:50 +01:00
edraft e244535557 Improved cpl n custom templating #139 2022-12-06 17:42:55 +01:00
edraft 5f10603fe5 [WIP] Improved cpl new templating #139 2022-12-05 23:08:52 +01:00
edraft 6b8491eea2 Merge pull request 'cpl g <schematic> customizable (#137)' (#138) from #137 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#138
Closes #137
2022-12-05 20:34:45 +01:00
edraft b63bf41294 Fixed cpl help #137 2022-12-05 20:24:15 +01:00
edraft f6cc3a7ddf Removed cpl g arguments #137 2022-12-05 20:00:32 +01:00
edraft d1c93abe2c Improved cpl g templating & added custom templating #137 2022-12-05 19:57:33 +01:00
edraft d6e3b37f7f Fixed recursion in cpl 2022-12-05 14:37:25 +01:00
edraft 9840779af4 build new cpl version 2022-12-05 14:30:33 +01:00
edraft b893ec1fcf Merge pull request 'Removed old file #134' (#136) from #134 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#136
2022-12-05 14:16:55 +01:00
edraft d5e5bfe69d Removed old file #134 2022-12-05 14:15:01 +01:00
edraft 4afe5c4581 Fixed cpl query for now #134 2022-12-05 14:12:20 +01:00
edraft e054ac364e Updated docs 2022-12-04 00:50:24 +01:00
edraft 68e01afb5b Release 2022.12.0 2022-12-04 00:12:40 +01:00
edraft 2e0a8bb1ff Minor fixes to cpl query 2022-12-04 00:08:16 +01:00
edraft b02aebef35 Improved set-version tool & set version 2022-12-03 23:42:23 +01:00
edraft 099a51ed93 Merge pull request 'Fixed invalid output after console spinner #122' (#132) from #122 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#132
Closes #122
2022-12-03 23:31:20 +01:00
edraft e4aedb354b Fixed invalid output after console spinner #122 2022-12-03 23:30:54 +01:00
edraft 301768b842 Merge pull request 'cpl start & run - Bessere Einbindung mit den Build-Tools #124' (#131) from #124 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#131
Closes #124
2022-12-03 23:25:11 +01:00
edraft 856960d799 Added logic to run build code to cpl start #124 2022-12-02 19:38:03 +01:00
edraft d0877a4ea6 Added logic to run build code to cpl run #124 2022-12-02 18:41:58 +01:00
edraft 3c20ab296a Added --dev flag to cpl run & start #124 2022-12-02 17:48:35 +01:00
edraft 4dc7ee3314 Merge pull request 'cpl query Enumerable quatsch #129' (#130) from #129 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#130
Closes #129
2022-12-01 23:43:01 +01:00
edraft 05bd5e8593 Improved query performance test #129 2022-12-01 23:41:06 +01:00
edraft 2fe3912a07 Fixed version test #129 2022-12-01 23:34:00 +01:00
edraft 2840628443 Improved tests #129 2022-12-01 23:23:48 +01:00
edraft f0f79e7e3b Refactored cpl-query Iterable & Enumerable #129 2022-12-01 21:09:39 +01:00
edraft e8ae635c88 Improved tests #129 2022-12-01 17:00:17 +01:00
edraft d8f7e03815 Added group by & refactored Iterable #129 2022-12-01 16:27:29 +01:00
edraft ba1b5e49ae Merge pull request 'Added logic to change base path for cpl n #120' (#128) from #120 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#128
Closes #120
2022-12-01 14:00:46 +01:00
edraft 703a2c91b5 Added logic to change base path for cpl n #120 2022-12-01 13:55:55 +01:00
edraft 4a54bb62de Merge pull request 'cpl g in project directory #93' (#127) from #93 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#127
Closes #93
2022-12-01 12:26:01 +01:00
edraft 9e84c8359b Removed empty PythonPath #93 2022-12-01 12:25:36 +01:00
edraft 5139876d90 Merge branch '#93' of https://git.sh-edraft.de/sh-edraft.de/sh_cpl into #93 2022-12-01 12:22:20 +01:00
edraft 6aef49de40 Repaired build & publish #93 2022-12-01 12:22:14 +01:00
edraft 186b336bf3 Repaired build & publish #93 2022-12-01 12:22:14 +01:00
edraft 1bbec27d1a Fixed cpl g path problems & package names #93 2022-12-01 12:21:57 +01:00
edraft f0a8d69e22 Merge branch '2022.12' of https://git.sh-edraft.de/sh-edraft.de/sh_cpl into 2022.12 2022-12-01 12:21:17 +01:00
edraft 8bd237206c Fixed logging #123 2022-12-01 12:20:32 +01:00
edraft 6bf7c3a2bc Reverted #125 fix 2022-12-01 12:19:49 +01:00
edraft 2e8be741cc Repaired build & publish #93 2022-12-01 12:17:26 +01:00
edraft abd0352750 Repaired build & publish #93 2022-11-30 19:05:11 +01:00
edraft 25d91b85f3 Merge branch '2022.12' into #93 2022-11-30 18:06:49 +01:00
edraft f08eb42105 Merge pull request 'Logging Farben #123' (#126) from #123 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#126
Closes #123
2022-11-30 18:06:12 +01:00
edraft f450102c93 Fixed cpl g path problems & package names #93 2022-11-30 18:04:40 +01:00
edraft db28645e98 Fixed logging #123 2022-11-30 15:17:08 +01:00
edraft 23efb776e7 Call pre & post scripts with args of base command & Build cpl-core@2022.7.0.post9 2022-11-18 09:17:56 +01:00
edraft 7f621b282f Build cpl-core@2022.7.0.post8 2022-11-18 08:37:16 +01:00
edraft 5dc7fce1e7 Call pre & post scripts with args of base command 2022-11-18 08:36:21 +01:00
edraft 879f59b0d5 Fixed #125 2022-10-21 22:34:47 +02:00
edraft 511622820a Fixed translation loading 2022-10-19 17:38:21 +02:00
edraft 0914f969e5 Resolved deps conflicts 2022-10-18 20:58:19 +02:00
edraft c611045290 Removed german string 'this is a automatic...' in mail client 2022-10-18 20:44:08 +02:00
edraft 89ac9e90d6 Fixed take & skip 2022-10-15 13:17:08 +02:00
edraft ae2a98b3bc Fixed unicode problems with windoof 2022-10-12 20:29:18 +02:00
edraft bd242baa0a Removed exit from console warn in logger | WTF im so fckng sorry 2022-10-06 16:47:29 +02:00
edraft 8e4caeb2a8 Removed exit from console warn in logger | WTF im so fckng sorry 2022-10-06 16:46:44 +02:00
edraft 3b55b3d5a5 Fixed _append_log & create logic in logger_service 2022-10-06 16:45:20 +02:00
edraft cc3b1afaa1 Fixed _append_log & create logic in logger_service 2022-10-06 16:24:01 +02:00
edraft a22b6fdbdb Fixed typo | sry x2 :/ 2022-10-03 17:39:43 +02:00
edraft e3041c4b5b Fixed typo | sry :/ 2022-10-03 17:36:31 +02:00
edraft 8ad6d50a04 Added reaction raw events 2022-10-03 17:32:12 +02:00
edraft 4db000f6d7 Added protected log and path getter to logger in cpl-core 2022-10-02 23:15:07 +02:00
edraft 3821624c3b Removed content from on_message log in cpl-discord 2022-10-02 13:01:09 +02:00
edraft 60a722b4ec Improved app builder to return self in use_startup 2022-10-02 02:43:10 +02:00
edraft 65132aa107 Improved app builder to return self in use_extension 2022-10-02 02:39:03 +02:00
edraft 48eac124a5 Fixed settings handling in cpl-discord 2022-10-01 22:38:01 +02:00
edraft be23b18d33 Merge pull request 'Release 2022.10' (#112) from 2022.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#112
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2022-09-30 15:48:19 +02:00
edraft 748cc66946 Removed print 2022-09-30 15:47:54 +02:00
edraft 304b2e4255 Set new version & build projects 2022-09-30 15:39:41 +02:00
edraft 9fa183f143 Merge pull request '2022.10.11 - Added migrations to update command #114' (#117) from 2022.10.11-#114 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#117
Closes 117
2022-09-30 14:10:50 +02:00
edraft 82df528395 Merge pull request '2022.10.12 - Fixed cpl g existing __init__.py overwrite #116' (#118) from 2022.10.12-#116 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#118
Closes #118
2022-09-30 14:07:07 +02:00
edraft 49e3bddc91 Fixed cpl g existing __init__.py overwrite #116 2022-09-19 23:10:10 +02:00
edraft c52bf961e1 Added migrations to update command #114 2022-09-19 23:00:09 +02:00
edraft df3f9f0306 Merge pull request 'Fixed update & install commands #113' (#115) from 2022.10.10-#113 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#115
Closes #113
2022-09-19 21:48:56 +02:00
edraft ef2d73aadc Fixed update & install commands #113 2022-09-19 21:09:41 +02:00
edraft 1ed721cccb Updated packages (Build RC2) 2022-09-18 11:37:50 +02:00
edraft a724216563 Added dockerfile to test 2022-09-18 11:27:26 +02:00
edraft 2bcf4d7a97 Re-build correct version 2022-09-18 11:09:38 +02:00
edraft 2dfa2dd68f Improved project file structure 2022-09-18 10:59:29 +02:00
edraft e94ed0b7f0 Build rc1 2022-09-17 13:03:37 +02:00
edraft c7e2f8609c Merge pull request '2022.10.3 - Removed duplicated schematic name in generate command #92' (#111) from 2022.10.3 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#111
Closes #92
2022-09-17 12:12:52 +02:00
edraft 9d2321cc9c Merge branch '2022.10' into 2022.10.3 2022-09-17 12:12:40 +02:00
edraft 61d9912950 Removed duplicated schematic name in generate command #92 2022-09-17 12:09:05 +02:00
edraft f23d32a92a Merge pull request '2022.10.4 - Removed async from startup functions (#94)' (#110) from 2022.10.4 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#110
Closes #94
2022-09-17 11:59:38 +02:00
edraft dc489cbf7a Removed async from startup functions 2022-09-17 11:58:43 +02:00
edraft 41d24aae99 Merge pull request '2022.10.6 - Added error message when logging configuration not exists (#95)' (#109) from 2022.10.6 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#109
Closes #95
2022-09-17 11:40:46 +02:00
edraft 6b50bba139 Merge branch '2022.10' into 2022.10.6 2022-09-17 11:40:30 +02:00
edraft 139422fd32 Added error message when logging configuration not exists 2022-09-17 11:39:19 +02:00
edraft 409e11df42 Merge pull request '2022.10.5 Improved version command & fixed unittests (#97)' (#107) from 2022.10.5 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#107
Closes #97
2022-09-16 10:43:17 +02:00
edraft f3a11f9791 Improved version command & fixed unittests 2022-09-15 19:16:52 +02:00
edraft 8dcc5b4011 Merge pull request '2022.10.9 - Enumerable & List (#105)' (#106) from 2022.10.9 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#106
Closes #105
2022-09-15 18:21:25 +02:00
edraft d0f65834f1 Added performance test case 2022-09-15 18:14:40 +02:00
edraft 47ed0a705d Improved query 2022-09-15 17:00:22 +02:00
edraft ae3192b63c Removed SequenceABC 2022-09-15 12:48:05 +02:00
edraft bb461f5fba Improved query 2022-09-15 00:30:44 +02:00
edraft 52069b7bb3 Improved Sequences 2022-09-14 23:01:52 +02:00
edraft f0ed0bd2e1 Added sequence converters 2022-09-14 13:23:23 +02:00
edraft e868a120f0 Build cpl-query 2022-09-13 19:38:16 +02:00
edraft 70652aeb4c Changed structure of cpl-query 2022-09-13 19:33:26 +02:00
edraft 28adcc4e49 Implemented enumerable 2022-09-13 12:07:04 +02:00
edraft affbb1ee7b Merge pull request '2022.10.8 - Moved query functions to static query class (#102)' (#104) from 2022.10.8 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#104
Closes #102
2022-09-12 22:55:14 +02:00
edraft d8a4210c9b Moved query functions to static query class 2022-09-12 22:53:52 +02:00
edraft b16d555e33 Merge pull request '2022.10.2 - Code refactoring' (#103) from 2022.10.2 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#103
2022-09-12 22:31:04 +02:00
edraft 4380142ccd Merge branch '2022.10' into 2022.10.2 2022-09-12 22:30:41 +02:00
edraft 91f2d6cb21 Code refactoring 2022-09-12 22:29:46 +02:00
edraft 249b071ee9 Merge pull request '2022.10.2' (#101) from 2022.10.2 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#101
2022-09-12 22:29:22 +02:00
edraft 53fe437100 Added more data containers 2022-09-12 22:18:54 +02:00
edraft fc63f3616e Added tests for select & select many 2022-09-12 18:07:37 +02:00
edraft a528511732 Added tests for select & select many 2022-09-12 17:58:48 +02:00
edraft dbe1d37046 Build version 2022-09-11 22:02:10 +02:00
edraft 988965ed52 Improved cpl-query & added first types from discord 2022-09-11 21:57:27 +02:00
edraft 3c5ca594d5 Merge pull request '2022.10.1' (#100) from 2022.10.1 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#100
2022-09-11 19:30:39 +02:00
edraft 452b30c899 Build version 2022-09-11 19:30:19 +02:00
edraft 85c5b26fdf Added slash command support 2022-09-11 10:21:28 +02:00
edraft 92ed684866 First migrations 2022-09-10 10:27:31 +02:00
edraft 88e83db330 Improved scope handling 2022-07-31 13:32:02 +02:00
edraft 55609fc691 Renamed sh_cpl to cpl in docs 2022-07-31 11:33:45 +02:00
edraft e0d89f967f Improved docs 2022-07-31 11:30:05 +02:00
edraft b2ce8a6924 Added on_error to event types enum 2022-07-19 21:42:45 +02:00
edraft 71efbd1b42 Fixed database connection handling by reconnecting 2022-07-19 07:37:03 +02:00
edraft e36939a108 Fixed database port handling 2022-07-18 12:15:28 +02:00
edraft 721461fc1b Deployed cpl-discord==2022.7.0.post2 2022-07-17 16:11:33 +02:00
edraft 72ee59b2b4 Deployed cpl-core==2022.7.0.post3 2022-07-17 15:52:53 +02:00
edraft 95159da0fc Fixed pynput imports 2022-07-17 15:52:17 +02:00
edraft 330d702347 Fixed base class of translation service 2022-07-17 15:49:50 +02:00
edraft cbf669d3bd Fixed base class of translation service 2022-07-16 22:06:38 +02:00
edraft 7498fe3255 Fixed settings error 2022-07-16 19:37:40 +02:00
edraft 880998e8ca Published cpl-discord.post1 2022-07-16 19:23:00 +02:00
edraft ecc9657eaa Merge pull request '2022.7 - cpl-discord' (#96) from 2022.7 into master
Reviewed-on: sh-edraft.de/sh_cpl#96
Closes #91
2022-07-16 16:16:49 +02:00
edraft 125f65cf1b Published cpl-discord 2022-07-16 16:15:52 +02:00
edraft 1cd9c7d669 Fixed set-version 2022-07-16 16:07:39 +02:00
edraft 5165f31066 Build cpl-discord 2022-07-16 15:53:02 +02:00
edraft 10d33e5d1d Added logic to handle commands 2022-07-16 15:45:34 +02:00
edraft fb35e8b8b2 Added logic to create a bot 2022-07-16 14:53:54 +02:00
edraft 4402bcce73 Added test project 2022-07-16 12:22:10 +02:00
edraft 8839b26f00 Added event bases 2022-07-16 12:21:59 +02:00
edraft a79358725c Added cpl-discord project 2022-07-16 12:12:52 +02:00
edraft 2ab1576230 Fixed async init error & Fixed pip install 2022-07-14 16:29:08 +02:00
edraft c0be380f69 Removed vscode files 2022-07-14 15:22:10 +02:00
edraft c0ae0c8389 Merge pull request '2022.7 - cpl-translation' (#90) from 2022.7 into master
Reviewed-on: sh-edraft.de/sh_cpl#90
Closes #89
Closes #63
Closes #62
2022-07-10 18:10:30 +02:00
edraft 4a766e8284 Release 2022.7 2022-07-10 18:08:44 +02:00
edraft 2772ea8df2 Added translation unittests 2022-07-10 17:56:38 +02:00
edraft a604f0e821 Build package 2022-07-10 17:23:50 +02:00
edraft 6995b25518 Injected add_translation function from translation package 2022-07-10 17:17:45 +02:00
edraft e4f843829f Added logic to load translations and to translate texts 2022-06-29 20:03:13 +02:00
edraft 39b6ca790c Added test project 2022-06-29 19:05:12 +02:00
edraft 4c8d7a8031 Added translation project 2022-06-29 19:04:01 +02:00
edraft 6d75bc433e Merge pull request '2022.6' (#88) from 2022.6 into master
Reviewed-on: sh-edraft.de/sh_cpl#88
2022-06-29 17:50:06 +02:00
edraft 8bb7fbd1c4 Merge remote-tracking branch 'origin/2022.6' into 2022.6 2022-06-29 17:47:04 +02:00
edraft ad03e655e9 Build Release 2022.6.0 2022-06-29 17:46:59 +02:00
edraft 61d3974a47 Build Release 2022.6.0 2022-06-29 17:46:01 +02:00
edraft 3d852c87e2 Improved docs 2022-06-29 17:44:10 +02:00
edraft 0e46528f32 Merge pull request '2022.6.8 - Dokumentation' (#87) from 2022.6.8 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#87
Closes #56
2022-06-29 17:42:33 +02:00
edraft bb8fa1f6a8 Improved readme 2022-06-29 17:40:05 +02:00
edraft 9fdaa810c0 Build 2022.6.0rc2 2022-06-27 21:48:15 +02:00
edraft 4083ac0c14 Build docs and added tutorial files 2022-06-27 21:42:34 +02:00
edraft b9e0b7ccd0 Build 2022.6.0.rc1 2022-06-27 20:55:44 +02:00
edraft 4b9e428abb Updated tools 2022-06-27 20:52:27 +02:00
edraft 63ad13e09a Improved version handling of set-version 2022-06-27 20:46:01 +02:00
edraft cc06a308a1 Merge pull request '2022.6.10 - Dev dependencies' (#86) from 2022.6.10 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#86
Closes #71
2022-06-27 20:18:24 +02:00
edraft e9fdd20181 Updated unittests 2022-06-27 20:16:37 +02:00
edraft 8692686cb5 Added dev-deps support to new command 2022-06-27 20:07:52 +02:00
edraft db29ad36fe Added dev-deps support to cpl install without package 2022-06-27 20:05:34 +02:00
edraft 0710b25317 Added dev-dependencies to uninstall command 2022-06-27 20:04:19 +02:00
edraft cbd2964f42 Added dev-dependencies to install command 2022-06-27 20:02:01 +02:00
edraft f51118f13c Merge pull request '2022.6.2 - Venv support' (#85) from 2022.6.2 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#85
Closes #51
2022-06-27 11:52:17 +02:00
edraft 323e363b42 Improved venv support to all related commands 2022-06-27 11:50:22 +02:00
edraft e8a4fe6142 Added venv support to install command 2022-06-27 10:52:26 +02:00
edraft 587d9b359c Merge pull request '2022.6.17 - Unittests' (#84) from 2022.6.17 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#84
2022-06-27 10:03:54 +02:00
edraft c2632253ac Added tests for update command 2022-06-27 09:10:21 +02:00
edraft 45be77dd10 Added tests for version command 2022-06-26 19:51:18 +02:00
edraft 78ffbcc33d Readded all test cases 2022-06-26 01:07:10 +02:00
edraft d83d1a244e Fixed for start command [WIP] output is needed 2022-06-26 01:05:45 +02:00
edraft fa002a50ac Fixed for start command 2022-06-26 00:41:25 +02:00
edraft 32507afae9 Added tests for start command 2022-06-26 00:39:16 +02:00
edraft 6de3bbdaf4 Added tests for run command 2022-06-26 00:15:05 +02:00
edraft 6e50d0cb22 Added tests for publish command 2022-06-23 23:47:29 +02:00
edraft 9e978f3ece Fixed tests for un/install commands 2022-06-23 23:39:41 +02:00
edraft 32478926c8 Added tests for build command 2022-06-23 21:49:44 +02:00
edraft 2925788d01 Added tests for uninstall command 2022-06-21 09:24:56 +02:00
edraft c0789cf4f7 Added tests for install command 2022-06-21 08:56:26 +02:00
edraft 89d591ce0a Added project reference handling in cpl remove 2022-06-04 00:36:31 +02:00
edraft 77c560b40c Improved cpl remove test 2022-06-03 23:46:03 +02:00
edraft dad4913bcd Added cpl remove test 2022-06-03 23:44:26 +02:00
edraft 9b56650d4b Added cpl add test 2022-06-03 23:35:07 +02:00
edraft 9fca2018e5 Build dev10 2022-05-27 18:57:12 +02:00
edraft e5dd890931 Improved unittest for cpl new & Fixed subdirectory handling with cpl new 2022-05-27 18:57:00 +02:00
edraft beadbf8e91 Improved set-version to ignore skipped deps 2022-05-27 18:26:32 +02:00
edraft ff5f9b833d Improved unittest for cpl new 2022-05-27 18:07:12 +02:00
edraft 162f06001a Build dev8 & improved cpl new unittests 2022-05-26 23:27:32 +02:00
edraft 348fad24c7 Build dev8 & improved set-version change handling 2022-05-26 23:27:20 +02:00
edraft f9748cdb76 Improved gitignore 2022-05-26 23:03:18 +02:00
edraft 56380763a9 Improved unittests 2022-05-26 23:01:50 +02:00
edraft 3a1630b687 Added force option to set-version 2022-05-26 23:01:23 +02:00
edraft a593f34cde Build dev7 2022-05-26 23:00:55 +02:00
edraft 49cce5fa1a Extended cpl new options 2022-05-26 22:52:03 +02:00
edraft df7bd06629 Fixed additional argument & flag bug 2022-05-26 22:51:29 +02:00
edraft e0da77fd4b Added new test condition for cpl new 2022-05-26 22:24:19 +02:00
edraft 833dd83008 Improved unittests & added tests for cpl new 2022-05-26 22:21:16 +02:00
edraft ce0ad4013f [WIP] Improved unittest 2022-05-26 21:42:43 +02:00
edraft 698f80adfe Build dev6 2022-05-26 21:42:28 +02:00
edraft d0b0f4bfcb Fixed set-version 2022-05-26 21:41:42 +02:00
edraft d23ea86ccf Added logic to answer questions of new command dialog by flag arguments 2022-05-26 21:18:57 +02:00
edraft 15d938b172 Fixed handing of unregistered console arguments 2022-05-26 21:01:41 +02:00
edraft 6c1d7a3b29 Removed prints from CLITestSuite 2022-05-26 16:29:07 +02:00
edraft c28f551682 Added skip message to set-version 2022-05-26 16:26:55 +02:00
edraft def92c78c8 Added logic to change version only for projects with changes 2022-05-26 16:25:15 +02:00
edraft ddff9dec11 Fixed install command 2022-05-26 16:08:37 +02:00
edraft 9e0e85d646 Fixed install command 2022-05-26 16:06:56 +02:00
edraft b05ca7e980 Set dev version 2022-05-26 16:03:14 +02:00
edraft 8f8a9f7dd7 Moved query unittests 2022-05-26 15:53:23 +02:00
edraft df32978a31 Moved unittests 2022-05-26 15:49:52 +02:00
edraft 79b51cf8c5 Build dev4 & added unittest support to console 2022-05-26 15:41:47 +02:00
edraft a72dd0dc2e Improved tests 2022-05-26 15:29:49 +02:00
edraft d937c4c0e6 Added tests for generate command 2022-05-26 14:47:36 +02:00
edraft 46cceb0910 Registered CLI test cases 2022-05-26 13:59:46 +02:00
edraft e74e39c189 Added CLI command test cases 2022-05-26 13:49:31 +02:00
edraft c2706c7737 Added unittest projects 2022-05-26 13:37:15 +02:00
edraft d0e66d24bd Added logic to generate test cases 2022-05-26 13:17:58 +02:00
edraft c1a1849ad2 Added logic to create new unittest project 2022-05-26 13:12:35 +02:00
edraft 0675105731 Merge pull request '2022.6.16 - Build-Tools' (#83) from 2022.6.16 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#83
Closes #82
2022-05-26 12:13:45 +02:00
edraft 7ee0b951a8 Rebuild & improved workspace scripts 2022-05-25 19:59:38 +02:00
edraft d8168f024c Added logic to write PipPath & build dev2 2022-05-25 19:53:05 +02:00
edraft 2654dc7c69 Merge remote-tracking branch 'origin/2022.6.16' into 2022.6.16 2022-05-25 19:38:56 +02:00
edraft 4224960837 First dev build 2022-05-25 19:38:49 +02:00
edraft 907c3a8fff First dev build 2022-05-25 19:38:38 +02:00
edraft 28505479ba Added new project 2022-05-25 19:30:11 +02:00
edraft 84d3abce3f Merge pull request '2022.6.15 - set-version' (#81) from 2022.6.15 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#81
Closes #80
2022-05-25 19:10:35 +02:00
edraft 9050dffc53 Renamed projects && build dev6 2022-05-25 19:07:29 +02:00
edraft e0f69c9bdf Fixed old naming of cpl_core 2022-05-25 18:56:08 +02:00
edraft bbd0a60f98 Added functionality to set dependencies for all projects in workspace 2022-05-25 18:54:21 +02:00
edraft e23f4187fe Added logic to add internal pipes in ServiceCollection 2022-05-25 18:42:47 +02:00
edraft 15f200df3a Added version pipe 2022-05-25 18:40:01 +02:00
edraft a1a3ad6fb5 Build dev4 2022-05-25 17:09:31 +02:00
edraft d6677d53a3 Added empty lines to generate output 2022-05-25 17:08:03 +02:00
edraft 07e43b50d1 Fixed generate pipe argument 2022-05-25 17:07:22 +02:00
edraft ac83555b24 Added logic to handle cpl deps 2022-05-25 17:04:18 +02:00
edraft 1ab358059c Added more pre-build scripts 2022-05-25 16:57:21 +02:00
edraft 5bf83c0d77 Build dev2 2022-05-25 16:56:24 +02:00
edraft 03ac00c6e3 Bugfixes for set-version & CustomScriptService 2022-05-25 16:51:52 +02:00
edraft 0122d8fc78 Merge remote-tracking branch 'origin/2022.6.15' into 2022.6.15 2022-05-25 16:43:52 +02:00
edraft a66ce96dbf Added set-version logic && Fixed CustomScriptService to handle arguments 2022-05-25 16:43:43 +02:00
edraft 6da8e30446 Added set-version logic && Fixed CustomScriptService to handle arguments 2022-05-25 16:43:28 +02:00
edraft 539ed13be4 Bugfixes for run service 2022-05-25 16:06:44 +02:00
edraft 036a553f64 Dev build 2022.6.15.dev1 2022-05-25 15:12:36 +02:00
edraft 976a14584b Dev build 2022.6.15.dev1 2022-05-25 15:12:30 +02:00
edraft ed69f52927 Fixed generate service 2022-05-25 15:11:42 +02:00
edraft 98847495e6 Merge pull request '2022.6.14 - Pre & Post build scripts' (#79) from 2022.6.14 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#79
Closes #77
2022-05-25 14:15:24 +02:00
edraft 40f132da33 Added workspace scripts 2022-05-25 14:14:26 +02:00
edraft 5feb44595a Fixed cpl run command 2022-05-25 14:00:38 +02:00
edraft 48c6941f1a Added run command & tools/set-version project 2022-05-25 13:43:16 +02:00
edraft a8756d493a Fixed error with RemoveService 2022-05-25 13:19:12 +02:00
edraft 9f4077a073 Improved configuration 2022-05-25 13:11:41 +02:00
edraft 3e7a3d75c5 Merge pull request 'cpl@2022.6.13 - cpl run command' (#78) from 2022.6.13 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#78
Closes #76
2022-05-25 08:42:41 +02:00
edraft 477d2d87d3 Added run command 2022-05-25 08:41:35 +02:00
edraft 7a65dbe39b Readded logic to handle pre and post scripts from workspace 2022-05-24 22:28:38 +02:00
edraft f83755ac77 Removed console output & build new dev version 2022-05-24 20:20:42 +02:00
edraft a590cfd066 Bugfixes for start service 2022-05-24 20:12:59 +02:00
edraft f317035342 Bugfixes for test application & added validators to cli 2022-05-24 19:20:55 +02:00
edraft 8900bdd446 Removed invalid import && build for rc1 2022-05-24 18:20:31 +02:00
edraft 35ecf158a2 Fixed loading by base_type 2022-05-24 18:13:39 +02:00
edraft 353c1d30ec Merge pull request '2022.6.9 - Singleton initialisierung' (#75) from 2022.6.9 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#75
Closes #70
2022-05-24 17:52:13 +02:00
edraft 1c94fb5bd1 Added logic to load singletons when requested not when registered 2022-05-24 17:51:17 +02:00
edraft cf305aeebb Merge pull request '2022.6.12 - Alle Umgebungsvariablen' (#74) from 2022.6.12 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#74
Closes #73
2022-05-24 17:39:20 +02:00
edraft 90e97433e0 Added logic to load all environment variables by prefix 2022-05-24 17:37:31 +02:00
edraft 125a85a0af Merge pull request '2022.6.7 - Pipes' (#69) from 2022.6.7 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#69
Closes #60
2022-05-22 20:28:46 +02:00
edraft cfb8838c73 Added default pipes 2022-05-22 20:27:58 +02:00
edraft 824d491ebc Dev build projects 2022-05-22 18:49:31 +02:00
edraft d694c408c0 Added CLI logic to generate pipes 2022-05-22 18:48:33 +02:00
edraft d1bb266d49 Added Pipes 2022-05-22 18:43:10 +02:00
edraft 419fcc3d29 Merge pull request '2022.6.5 - CLI Erweiterung' (#68) from 2022.6.5 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#68
Closes #54
2022-05-22 18:34:44 +02:00
edraft 24ab6a51c1 Refactored executable arguments 2022-05-22 18:33:07 +02:00
edraft dec4a45d98 Added logic to add CLI commands from external packages 2022-05-22 18:32:34 +02:00
edraft d11c56db03 Merge pull request 'cpl@2022.6.3 - Verbesserung der Parameter' (#67) from 2022.6.3 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#67
2022-05-22 17:38:21 +02:00
edraft fc23315cc7 Build version 2022.6.3 2022-05-22 17:35:38 +02:00
edraft 1f503fe20d Build new version 2022-05-20 10:37:43 +02:00
edraft 4564f7ac0e Improved output & imports 2022-05-20 10:35:47 +02:00
edraft 7b823e1141 Added validator generation 2022-05-20 10:34:09 +02:00
edraft dac3d9c6bb Added validators (closes #59) 2022-05-20 10:27:55 +02:00
edraft ccca904cb8 Smaller output fixes 2022-05-20 09:17:51 +02:00
edraft c66a81c0ec Dev build & migrated custom scripts 2022-05-20 09:12:28 +02:00
edraft fb810e2943 Dev build & migrated custom scripts & add logic to prevent next executable 2022-05-20 09:10:29 +02:00
edraft 5cc663dedc Migrated generate command 2022-05-20 08:50:50 +02:00
edraft 593372699b BUild dev version 2022-05-20 08:44:32 +02:00
edraft 1899cb5b86 Added scripts to workspace 2022-05-19 20:49:48 +02:00
edraft 0a285f2d28 Improved help command 2022-05-19 20:23:21 +02:00
edraft 94c82e6701 Improved help command 2022-05-19 20:21:46 +02:00
edraft 0d37c86061 Removed console output 2022-05-19 20:05:22 +02:00
edraft 6c8e9ccd89 Migrated StartService to new argument parsing 2022-05-19 20:04:29 +02:00
edraft e7cf545502 Migrated NewService to new argument parsing 2022-05-19 19:52:36 +02:00
edraft 44182eec86 Fixed value handling for variable arguments 2022-05-19 19:41:02 +02:00
edraft 0f5b1b7586 Improved argument handling 2022-05-19 19:37:32 +02:00
edraft 4fe073580a Migrated first commands to new argument parser 2022-05-19 18:12:47 +02:00
edraft 2fed654c16 Improved argument handling 2022-05-19 18:09:25 +02:00
edraft 8ebd4864d3 Improved & added commands 2022-05-19 08:25:32 +02:00
edraft a495532a4d Removed console debug outputs 2022-05-18 22:29:44 +02:00
edraft d87ce72f07 Improved argument parsing 2022-05-18 22:26:11 +02:00
edraft 50201346e2 Added functions to define console arguments 2022-05-18 18:21:05 +02:00
edraft 773b154371 Improved service collection 2022-05-18 18:20:25 +02:00
edraft 5b59d1d384 Merge pull request '2022.6.4' (#58) from 2022.6.4 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#58
2022-04-30 18:33:54 +02:00
edraft dcd8583183 Build packages 2022-04-30 17:44:15 +02:00
edraft 97e52b39c0 Added logic to handle StartupExtension classes 2022-04-30 17:43:34 +02:00
edraft 581013b61a Merge pull request '2022.6.1' (#57) from 2022.6.1 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#57
2022-04-30 17:16:49 +02:00
edraft fd68d25a1d Updated to python3.10 2022-04-30 17:15:26 +02:00
edraft 588f93f7b1 Updated packages 2022-04-30 16:41:52 +02:00
edraft 96f402dcdd Updated packages 2022-04-30 16:33:30 +02:00
edraft c1b7fca8d5 Moved from pyfiglet to art 2022-01-19 22:06:59 +01:00
edraft 2e4e7ccc57 Fixed minor issues with console & updated packages 2022-01-19 15:06:26 +01:00
edraft ada3d133df Changed exit() to sys.exit() 2022-01-19 12:44:23 +01:00
edraft 61e7b9d684 Fixed cpl new command 2022-01-15 23:28:22 +01:00
edraft 24172c658c Fixed cpl new command 2022-01-15 22:16:17 +01:00
edraft 62ac976b99 Fixed where query typing 2022-01-15 11:11:14 +01:00
edraft 1f445a99b2 Fixed typing in count function of cpl_query 2022-01-08 18:09:03 +01:00
edraft 025286052b Fixed typing in service collection abc 2022-01-08 17:58:22 +01:00
edraft 32a856f8e8 Published new version 2021-12-07 16:07:21 +01:00
edraft 21f50f3b24 Fixed table_abc 2021-12-07 16:06:20 +01:00
edraft ce77d41246 Build new docs 2021-12-02 08:20:38 +01:00
edraft dec137220c Improved TableABC 2021-11-30 17:48:08 +01:00
edraft 01c7e155c3 Fixed typo 2021-11-30 15:24:01 +01:00
edraft dcbcb67ce8 Fixed db connection 2021-11-30 15:01:28 +01:00
edraft d57fd10718 Fixed add_db_context function 2021-11-30 14:14:34 +01:00
edraft 2b91db5d81 Removed unsued parameter 2021-11-30 14:05:52 +01:00
edraft dffa3de1ec Merge pull request '2021.11' (#50) from 2021.11 into master
Reviewed-on: sh-edraft.de/sh_cpl#50
2021-11-30 12:03:03 +01:00
edraft 403837901b Added logic to simulate uninstall command 2021-11-30 11:55:11 +01:00
edraft 0de725c907 Added logic to simulate install command 2021-11-30 11:51:45 +01:00
edraft e811e08c52 Changed version of cli 2021-11-30 11:22:02 +01:00
edraft 6518ae7516 Changed version of query 2021-11-30 11:21:19 +01:00
edraft 95b5f99f1f Changed core version 2021-11-30 11:20:15 +01:00
edraft de22e79b71 Removed console from db connection 2021-11-30 11:15:41 +01:00
edraft 127c67e566 Improved imports 2021-11-30 11:14:40 +01:00
edraft 3523dbd5c5 Improved typing 2021-11-30 11:12:13 +01:00
edraft b526a07e19 Added demo for SQL Support 2021-11-30 11:10:36 +01:00
edraft d9f10edbb7 [WIP] Added native mysql support 2021-11-29 20:55:43 +01:00
edraft 7616cd4c69 Changed version 2021-11-29 17:49:10 +01:00
edraft afe75f6848 Fixed custom scripts 2021-11-29 17:47:44 +01:00
edraft c0e2db8281 Build new CLI version 2021-11-29 09:30:46 +01:00
edraft 3727af11c4 Minor bugfixes with custom scripts 2021-11-29 09:30:10 +01:00
edraft 450295cfcf Build new version 2021-11-29 09:22:33 +01:00
edraft 457bce8aa9 Minor bugfixes 2021-11-29 09:21:55 +01:00
edraft 0f81497ea3 Changed version 2021-11-24 17:48:39 +01:00
edraft fa7ee800e1 Fixed cpl start reading full path 2021-11-24 17:48:19 +01:00
edraft 56b7452e55 Changed version 2021-11-23 19:02:15 +01:00
edraft 9d73566453 Fixed custom command handling 2021-11-23 19:01:00 +01:00
edraft 28ba0c174a Changed version 2021-11-22 20:54:07 +01:00
edraft 5d0444bcc0 Fixed type problems with ordered List 2021-11-22 20:52:10 +01:00
edraft 40876005d5 Changed vs code settings 2021-11-22 20:49:39 +01:00
edraft ac6d941822 Improved gitignore 2021-11-19 09:16:11 +01:00
edraft 113b365a47 Removed outdating line 2021-11-15 01:16:37 +01:00
edraft 2f785536e1 Improved path handling for new projects 2021-11-15 01:03:50 +01:00
edraft 9ab4013b4b Fixed async handling for new command 2021-11-15 00:20:39 +01:00
edraft b3b04f03ce Merge pull request '2021.10.2' (#48) from 2021.10.2 into master
Reviewed-on: sh-edraft.de/sh_cpl#48
Closed #47
2021-11-14 12:56:41 +01:00
edraft 57040f85f0 Changed versions 2021-11-14 12:53:09 +01:00
edraft 589ef4fd4c Added logic to generate new projects with async 2021-11-14 12:32:11 +01:00
edraft 4b829cc484 Added logic to handle async applicationBase 2021-11-14 12:16:50 +01:00
edraft 98e343a108 Added logic to handle scoped services 2021-11-14 11:56:42 +01:00
edraft 7749d5a789 Moved tests to src & added add scoped logic 2021-11-14 10:04:32 +01:00
edraft c3b48bfa41 Changed version 2021-11-14 09:55:27 +01:00
edraft 470e7ab2f4 Changed versions to new scheme 2021-11-14 09:52:07 +01:00
edraft 4ceea36926 Changed version 2021-11-02 18:42:13 +01:00
edraft b3f8174663 Added cpl_query to docs 2021-11-02 18:41:30 +01:00
edraft 58dccea28b Improved docs 2021-11-02 17:45:45 +01:00
edraft ca086e01d7 Improved docs 2021-11-02 17:30:10 +01:00
edraft c5b1a95661 Moved implementations to extensions 2021-11-02 17:28:36 +01:00
edraft d7881774a8 Improved docs by adding cpl_query.exceptions 2021-11-02 17:23:42 +01:00
edraft 6eec92243e Improved docs 2021-11-01 21:17:56 +01:00
edraft 124b236182 Improved docs 2021-11-01 20:43:25 +01:00
edraft 2dc96cdf3d Improved workspace 2021-11-01 18:49:22 +01:00
edraft 6f7923debc Moved tests 2021-11-01 18:47:23 +01:00
edraft 90d148b4a5 Added launch settings 2021-11-01 18:42:12 +01:00
edraft 73e2c5ec10 Added vs code 2021-11-01 18:24:41 +01:00
edraft f31522dcd9 Changed version 2021-10-27 14:25:33 +02:00
edraft a83607fd81 Fixed subclass support for Iterable 2021-10-27 14:24:43 +02:00
edraft 707df3f27d Fixed command handling 2021-10-26 23:23:56 +02:00
edraft 0f43e57831 Removed console.write_line 2021-10-26 13:09:44 +02:00
edraft c08ab33060 Changed deps 2021-10-26 13:06:14 +02:00
edraft ee2abd98b3 Changed version 2021-10-26 13:00:27 +02:00
edraft e39661a42a Fixed command handling 2021-10-26 13:00:16 +02:00
edraft 9518d19580 Fixed invalid lines in startup template 2021-10-08 08:22:36 +02:00
edraft adf95faaf8 Improved typo 2021-10-08 08:16:46 +02:00
edraft 2f92e9909d Improved env 2021-10-04 10:21:50 +02:00
edraft b18f2c4bcd Removed debug changes 2021-10-04 09:59:20 +02:00
edraft 784ba049ad Fixed new library problems 2021-10-04 09:56:33 +02:00
edraft 4d6d19d2e5 Fixed new command problems 2021-10-04 09:56:08 +02:00
edraft 6fa47f19af Merge pull request '2021.10' (#41) from 2021.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#41
2021-10-04 09:32:41 +02:00
edraft fb2872422e Added upload script 2021-10-04 09:30:27 +02:00
edraft 8460c0fa33 Published 2021.10 2021-10-04 09:23:08 +02:00
edraft 18f95341f4 Merge pull request '2021.10.6' (#39) from 2021.10.6 into 2021.10 | closed #38
Reviewed-on: sh-edraft.de/sh_cpl#39
2021-10-03 11:26:48 +02:00
edraft a8011267d9 Improved version command 2021-10-03 11:23:17 +02:00
edraft f8ebb4f1d7 Improved imports in test app 2021-10-03 11:02:08 +02:00
edraft 3903f85368 Added logic to handle extensions before running the app 2021-10-02 10:57:54 +02:00
edraft 05a9bdbf4a Improved docstrings 2021-08-07 11:29:00 +02:00
edraft 2809a9cd82 Improved imports 2021-08-07 11:24:17 +02:00
edraft 1c6794dc40 Renamed cpl to cpl_core & added config and services as arguments to startup 2021-08-07 11:21:30 +02:00
edraft cac80657df Renamed cpl to cpl_core 2021-08-05 14:21:42 +02:00
edraft 11241d8f99 Renamed project 2021-08-05 14:17:38 +02:00
edraft 308e5c9b0c Merge pull request '2021.10.4' (#37) from 2021.10.4 into 2021.10
Reviewed-on: sh-edraft.de/sh_cpl#37
Closed #32
2021-08-05 14:04:45 +02:00
edraft c12ff4f9e3 Added logic to migrate attributes from workspace and project settings 2021-08-05 14:02:00 +02:00
edraft 091c89df2c Changed version of CLI 2021-08-05 13:37:40 +02:00
edraft 63a67be0ee Improved new command 2021-08-05 13:27:08 +02:00
edraft c68224b31a Improved deps of cpl_query 2021-08-02 14:48:46 +02:00
edraft 9f219757c3 Merge pull request '2021.10.3' (#35) from 2021.10.3 into 2021.10
Reviewed-on: sh-edraft.de/sh_cpl#35
2021-08-02 14:36:45 +02:00
edraft e09a4402b3 Published sh_cpl-query to version 2021.10.0rc1 2021-08-02 14:36:00 +02:00
edraft 6867eb0e65 Improved scripts 2021-08-02 14:14:50 +02:00
edraft ffaa5c4a2b Refactoring 2021-08-02 14:09:42 +02:00
edraft b9499108d8 Build cpl_query 2021-08-02 14:03:51 +02:00
edraft 37175b7227 Added queries sum, skip & take 2021-07-27 13:57:42 +02:00
edraft 2b5831c5fe Improved numbered queries 2021-07-27 13:00:06 +02:00
edraft 62c8b9c68d Added reverse query 2021-07-27 12:54:49 +02:00
edraft a080119c44 Improved unittests 2021-07-27 12:48:22 +02:00
edraft a26c6f1bd9 Improved avg, max and min queries type handling 2021-07-27 12:42:33 +02:00
edraft daac14e099 Improved avg query 2021-07-27 12:35:14 +02:00
edraft d4b5c32a21 Added min and max queries 2021-07-27 11:57:42 +02:00
edraft c115afd736 Moved last queries 2021-07-27 11:47:13 +02:00
edraft e7863a92e0 Added last query 2021-07-27 11:43:45 +02:00
edraft 82a9e3a23a Improved index out of range exception 2021-07-27 11:40:24 +02:00
edraft a3a0a150a8 Added element at query 2021-07-27 11:29:52 +02:00
edraft 6951a19670 Renamed files 2021-07-27 11:22:29 +02:00
edraft 669133d491 Added distinct query 2021-07-27 11:20:35 +02:00
edraft c60598b3f6 Added count query 2021-07-27 11:01:43 +02:00
edraft 45733b30ef Improved error handling 2021-07-27 10:59:24 +02:00
edraft f8bd86692e Added contains query 2021-07-27 10:55:23 +02:00
edraft 5e5d86cf94 Added better exceptions 2021-07-27 09:41:51 +02:00
edraft e0b7728719 Added avg query 2021-07-27 09:26:30 +02:00
edraft 0f85d4b9bc Refactoring & added all query 2021-07-27 09:15:19 +02:00
edraft a3fff9c7d7 Build package 2021-07-26 15:55:08 +02:00
edraft 8dcf3a6768 Refactoring 2021-07-26 15:52:27 +02:00
edraft 94949394de Improved list to handle typing 2021-07-26 15:48:42 +02:00
edraft b7be439381 Changed func type from str to Callable 2021-07-26 15:32:28 +02:00
edraft 0cae3428b9 Added order by functions 2021-07-26 15:21:57 +02:00
edraft cc7755bafc Improved cli project builders 2021-07-25 19:18:06 +02:00
edraft 4e78b9c12b Added different queries & unittests 2021-07-25 19:15:02 +02:00
edraft 5c80cf2222 Added CPL Query 2021-07-25 12:24:58 +02:00
edraft d02548e1a8 Merge pull request '2021.10.2' (#33) from 2021.10.2 into 2021.10
Reviewed-on: sh-edraft.de/sh_cpl#33
2021-07-25 12:05:12 +02:00
edraft 51efe973e8 Improved logic to handle pre and post scripts 2021-07-25 12:00:12 +02:00
edraft 0bb272d89b Added logic to handle pre and post scripts 2021-07-25 11:42:46 +02:00
edraft 59f6843ea9 Changed version 2021-07-24 17:25:06 +02:00
edraft be6838f97b Added logic to handle custom scripts from workspaces 2021-07-24 17:24:01 +02:00
edraft d5b2d3605b CPL Release 2021.4.0.post2 2021-05-23 12:41:59 +02:00
edraft 7a48917fb4 CLI Release 2021.4.0.post3 2021-05-22 15:10:50 +02:00
edraft 59832742b6 CLI Release 2021.4.0.post2 2021-05-22 12:55:17 +02:00
edraft f9f04901c0 Bugfixes 2021-05-22 12:53:04 +02:00
edraft 593ffbb068 Updated cli project file 2021-05-19 09:03:31 +02:00
edraft 3d35f2ac63 Merge pull request '2021.4.post1' (#31) from 2021.4.post1 into master
Reviewed-on: sh-edraft.de/sh_cpl#31
2021-05-19 09:00:39 +02:00
edraft 5bfba581cb Release 2021.4.0.post1 2021-05-19 08:35:02 +02:00
edraft 8fb570468c More bugfixes & added generated test projects 2021-05-19 08:28:59 +02:00
edraft 128fda60b0 Release 2021.4.1.rc2 2021-05-19 08:19:21 +02:00
edraft ab539c15dd Fixed source creation bug 2021-05-19 08:03:04 +02:00
edraft b931ba6e17 Fixed source creation bug 2021-05-19 08:01:02 +02:00
edraft f611aa73db Publish 2021.4.post1.rc1 2021-05-17 19:43:09 +02:00
edraft 69f697e36f Merge pull request '2021.4.4' (#30) from 2021.4.4 into 2021.4.post1
Reviewed-on: sh-edraft.de/sh_cpl#30
2021-05-17 18:34:58 +02:00
edraft 654fb69295 Added cli docs 2021-05-17 18:32:09 +02:00
edraft 850d44a105 Added docs to cpl.utils 2021-05-17 18:07:08 +02:00
edraft 8d4597705d Build docs 2021-05-17 17:55:20 +02:00
edraft fa5655414a Added docs for cpl.mailing 2021-05-17 17:54:57 +02:00
edraft 6fc4cebbfe Added docs for cpl.logging 2021-05-17 17:45:22 +02:00
edraft 89f3c5833f Added docs for cpl.time 2021-05-17 17:30:26 +02:00
edraft adf9a33e83 Added docs for cpl.environment 2021-05-17 17:28:52 +02:00
edraft 4adf6bc834 Added docs for cpl.dependency_injection 2021-05-17 17:22:41 +02:00
edraft 9026f021ed Improved docs for cpl.database 2021-05-17 17:13:36 +02:00
edraft e562c31033 Added docs for cpl.database 2021-05-17 17:05:43 +02:00
edraft 7b90b5af57 Added docs for cpl.console 2021-05-16 17:42:09 +02:00
edraft cda1fabd4f Added docs for cpl.configuration 2021-05-16 16:57:59 +02:00
edraft 4209055d62 Improved documentation for cpl.application 2021-04-14 22:20:18 +02:00
edraft ed1a4eb88c Added cpl_cli docs & moved cpl_cli/templates -> cpl_cli/_templates 2021-04-14 10:58:47 +02:00
edraft 478f1ad0ff Added first sphinx generated doc 2021-04-14 10:45:39 +02:00
edraft 80eb1da0e1 Merge pull request '2021.4.7' (#29) from 2021.4.7 into 2021.4.post1
Reviewed-on: sh-edraft.de/sh_cpl#29
2021-04-13 15:47:24 +02:00
edraft ae39d43ea9 Added useful deployment scripts & closed #22 2021-04-13 15:43:05 +02:00
edraft 602c48bc06 Bugfixes for help command handling 2021-04-13 15:27:19 +02:00
edraft d34d501520 Bugfixes for help command 2021-04-12 20:22:28 +02:00
edraft 8f3ee53915 Fixed typos 2021-04-12 20:05:55 +02:00
edraft 7eca382cb3 Added help messages to cli commands 2021-04-12 20:02:45 +02:00
edraft f8f5d46491 Added help message to generate command 2021-04-12 19:44:29 +02:00
edraft 696c62292b Added logic to cli to use --help option for help command 2021-04-12 19:43:55 +02:00
edraft d94b25d9d8 Improved configuration console argument handling 2021-04-12 19:43:30 +02:00
edraft 93829027af Added help message to all cli commands 2021-04-11 16:36:59 +02:00
edraft cce4b6b191 Merge pull request '2021.4.6' (#25) from 2021.4.6 into 2021.4.post1
Reviewed-on: sh-edraft.de/sh_cpl#25
2021-04-11 15:54:37 +02:00
edraft 0876f06282 Improved cpl-project related files & closed #20 2021-04-11 15:50:13 +02:00
edraft c970412a66 Fixed relative path handling in add command 2021-04-11 15:42:34 +02:00
edraft 6af9328e14 Added cli command add 2021-04-11 15:36:04 +02:00
edraft 5987b71c80 Improved configuration to allow multiple arguments 2021-04-11 15:09:11 +02:00
edraft 79fdc0c60b Improved configuration to allow multiple arguments 2021-04-11 15:00:54 +02:00
edraft cfb6a84799 Fixed console argument handling 2021-04-11 14:44:46 +02:00
edraft faa7e701fd Fixed workspace loading error for update command 2021-04-11 14:21:59 +02:00
edraft d5b8286f68 Fixed workspace loading error for update command 2021-04-11 13:23:02 +02:00
edraft a3d5737eaf Fixed workspace loading error for update command 2021-04-11 13:20:32 +02:00
edraft 314bb1b722 Fixed workspace loading error for update command 2021-04-11 13:15:19 +02:00
edraft 1c353bbcdf Improved cli workspace handling 2021-04-11 13:00:26 +02:00
edraft 036b9dcc2d Added more functions to string 2021-04-11 13:00:05 +02:00
edraft 0fec5719bc Added remove to help command 2021-04-11 12:34:02 +02:00
edraft 3572081e43 Added remove command 2021-04-11 12:33:05 +02:00
edraft 8cf7f494b3 Improved configuration 2021-04-11 12:18:36 +02:00
edraft b1165e169a Improved console argument value handling in configuration 2021-04-11 11:42:48 +02:00
edraft 284ebe1b11 Added logic to cpl cli to change cwd only when wanted 2021-04-11 11:12:39 +02:00
edraft d51659db3e Improved cli build and publish to use project references 2021-04-11 11:01:57 +02:00
edraft 3aa3a874c9 Improved default cwd in ApplicationEnvironment 2021-04-11 10:04:55 +02:00
edraft 113d3199b1 Improved main.py templates for new command to handle local imports 2021-04-10 12:04:47 +02:00
edraft 5712a9ad67 Improved file creation new command 2021-04-10 11:50:35 +02:00
edraft 1f8d420749 Improved workspace handling in new command 2021-04-10 11:46:36 +02:00
edraft 9065ef901c Improved new command to handle existing projects better 2021-04-10 11:24:39 +02:00
edraft b2c5d304f8 Improved path and name handling in new command 2021-04-10 11:14:37 +02:00
edraft 70ae7dd9e6 Fixed workspace creation error 2021-04-10 11:06:58 +02:00
edraft 94b122d677 Removed unused import 2021-04-10 11:05:31 +02:00
edraft f6fc5d09e7 Improved path and name handling in new command 2021-04-10 11:01:56 +02:00
edraft 2b5c75cc67 Improved workspace handling to new command for console type 2021-04-09 22:41:04 +02:00
edraft 167f813bcf Removed dev outputs 2021-04-09 22:26:55 +02:00
edraft 7b9765e5b1 Improved readme 2021-04-09 22:16:43 +02:00
edraft 7ad01d4bdd Improved new command to use workspace when found 2021-04-09 22:09:55 +02:00
edraft d19c47e571 Added cpl-env to gitignore 2021-04-09 20:52:50 +02:00
edraft 4bfc647b91 Improved live dev server to use venv 2021-04-09 20:42:15 +02:00
edraft 98117ed7ad Moved templates/[..]/src to templates/[..]/source to prevent 'src' exclusion 2021-04-09 20:26:31 +02:00
edraft cc9b25356c Improved workspace and venv handling for uninstall and install command 2021-04-09 20:07:38 +02:00
edraft a95d6e7f8a Improved configuration to handle absolute paths in add_json_file 2021-04-08 21:40:50 +02:00
edraft fe5c41ac09 Added workspace handling to update command 2021-04-08 21:18:29 +02:00
edraft b672174960 Added workspace handling to uninstall command 2021-04-08 21:14:38 +02:00
edraft a8691ced5b Added workspace handling to install command 2021-04-08 21:12:00 +02:00
edraft fc53f90ecd Added workspace handling for new command 2021-04-08 20:58:55 +02:00
edraft 0f836b5c7d Published after file move 2021-04-08 20:28:34 +02:00
edraft 34ed7123d1 Improved workspace handling in publish and build command 2021-04-08 20:28:19 +02:00
edraft 5f668e17c9 Improved workspace handling in start command 2021-04-08 19:30:00 +02:00
edraft 806888bf49 Removed content_root_path 2021-04-08 17:50:54 +02:00
edraft e8756a09ca Improved general test project file 2021-04-08 16:46:46 +02:00
edraft e38988be1b Changed project files of general test project 2021-04-07 22:11:22 +02:00
edraft 4009c93353 Added workspace handling to live dev server 2021-04-07 22:00:56 +02:00
edraft 3ba5c10fad Publish CLI 2021.4 2021-04-07 19:19:20 +02:00
edraft 2552f1d43c Added workspace handling to publish command 2021-04-07 19:18:55 +02:00
edraft 5be2e83798 Improved configuration 2021-04-07 18:57:00 +02:00
edraft d4919e027c Removed console output 2021-04-07 18:37:57 +02:00
edraft 7ef238b64d Added workspace handling to build command 2021-04-07 18:36:08 +02:00
edraft 703d20f43f Improved version handling 2021-04-07 18:35:14 +02:00
edraft d9bd7911ef Improved start command to use workspace 2021-04-07 18:19:55 +02:00
edraft 6a5c832288 Added new file structure 2021-04-07 18:19:34 +02:00
edraft dc849c4f71 Improved application environment 2021-04-07 18:06:07 +02:00
edraft 76a6ba11fb Publish 2021.4.post1 for local dev 2021-04-07 17:01:39 +02:00
edraft 305a19730f Merge pull request 'Fixed #21 - Added logic to automatically add 'src' to path in generate command' (#24) from 2021.4.5 into 2021.4.post1
Reviewed-on: sh-edraft.de/sh_cpl#24
2021-04-07 16:59:24 +02:00
edraft de15e81703 Fixed #21 - Added logic to automatically add 'src' to path in generate command 2021-04-07 16:55:44 +02:00
edraft b91544a0da Edited LICENSE 2021-04-01 11:09:50 +02:00
edraft caca34168e Merge pull request '2021.4' (#19) from 2021.4 into master
Reviewed-on: sh-edraft.de/sh_common_py_lib#19
2021-04-01 10:13:32 +02:00
edraft 18b8ac589d Publish 2021.4.0 2021-04-01 10:04:13 +02:00
edraft d85e628784 Improved readme 2021-03-31 15:51:14 +02:00
edraft 1e150cf10c Improved readme 2021-03-31 15:49:52 +02:00
edraft 9b0f0b7559 Improved readme 2021-03-31 15:49:00 +02:00
edraft cc118b5030 Merge pull request '2021.04.03 - Readme' (#18) from 2021.04.03 into 2021.4
Reviewed-on: sh-edraft.de/sh_common_py_lib#18
2021-03-31 15:42:40 +02:00
edraft 3e7ff78861 Merge branch '2021.4' into 2021.04.03 2021-03-31 15:40:18 +02:00
edraft 448d538d21 Updated reame 2021-03-31 15:38:26 +02:00
edraft d368161eb3 Publish 2021.4.0rc7 2021-03-31 12:11:55 +02:00
edraft eef8488ca2 Bugfixes for new lib 2021-03-31 12:11:19 +02:00
edraft b22d04b145 Publish 2021.4.0rc6 2021-03-31 12:03:15 +02:00
edraft 6579e54c2b Improved windows support 2021-03-31 12:02:51 +02:00
edraft 88c0153ca2 Improved windows support for publisher 2021-03-31 11:55:46 +02:00
edraft f28c6ab309 Removed prints 2021-03-31 11:51:20 +02:00
edraft 976041f812 Publish 2021.4.0rc5 2021-03-31 11:48:26 +02:00
edraft 7693dd462f Bugfixes for publisher windows support 2021-03-31 11:47:47 +02:00
edraft df5e61cf98 Bugfixes for publisher windows support 2021-03-31 11:47:28 +02:00
edraft df87d08be3 Bugfix for live server windows support 2021-03-31 11:41:16 +02:00
edraft 33cb35e26f Publish 2021.4.0rc4.post1 2021-03-31 11:25:07 +02:00
edraft 18b2cd8f2f Publish 2021.4.0rc4 2021-03-31 11:01:08 +02:00
edraft 7ab2a881e8 Bugfixes 2021-03-31 10:47:14 +02:00
edraft 960de880ee Bugfixes 2021-03-31 10:44:54 +02:00
edraft c0d8904782 Bugfixes for the command new 2021-03-31 10:19:54 +02:00
edraft b6d508526a Bugfixes for the command new 2021-03-31 09:46:41 +02:00
edraft 31307485f0 Bugfixes in new command template 2021-03-31 09:13:04 +02:00
edraft 612c3583f1 Removed ununsed files 2021-03-30 21:02:36 +02:00
edraft 6cdd3376f1 Publish 2021.4.0rc3 2021-03-30 21:01:10 +02:00
edraft b947789779 Bugfixes 2021-03-30 20:59:09 +02:00
edraft 0da83935fc Bugfixes 2021-03-30 12:44:31 +02:00
edraft 3428c70b69 Bugfixes 2021-03-30 11:54:44 +02:00
edraft 3d511ff727 Bugfixes 2021-03-30 11:53:07 +02:00
edraft cf2f293290 Publish 2021.4.0rc2 2021-03-30 11:03:16 +02:00
edraft c39601a35d Improved publisher 2021-03-30 11:02:58 +02:00
edraft 5f36e0a43e Improved publisher 2021-03-30 10:43:39 +02:00
edraft 31fe1c5cd7 Improved service collection 2021-03-30 10:29:50 +02:00
edraft 0cdecd893a Improved database context 2021-03-30 10:06:07 +02:00
edraft 260fe06be8 Improved new command 2021-03-30 09:54:04 +02:00
edraft 8ddfd35a82 Improved generate command 2021-03-30 09:47:47 +02:00
edraft 099bae3d7c Removed usage of ServiceABC 2021-03-30 09:27:45 +02:00
edraft 9758e1fae2 Improved update command 2021-03-29 16:16:27 +02:00
edraft 211143d6ab Package update 2021-03-29 16:06:54 +02:00
edraft 70b49a098a Publish 2021.4.0rc1 2021-03-29 15:59:05 +02:00
617 changed files with 17021 additions and 7326 deletions
+83
View File
@@ -0,0 +1,83 @@
name: Build on push
run-name: Build on push
on:
push:
branches:
- dev
jobs:
prepare:
uses: ./.gitea/workflows/prepare.yaml
with:
version_suffix: 'dev'
secrets: inherit
api:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, application, auth, core, dependency ]
with:
working_directory: src/api
secrets: inherit
application:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/application
secrets: inherit
auth:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency, database ]
with:
working_directory: src/auth
secrets: inherit
cli:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/cli
secrets: inherit
core:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/core
secrets: inherit
database:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/database
secrets: inherit
dependency:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/dependency
secrets: inherit
mail:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/mail
secrets: inherit
query:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/query
secrets: inherit
translation:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/translation
secrets: inherit
+39
View File
@@ -0,0 +1,39 @@
name: Build on push
run-name: Build on push
on:
push:
branches:
- master
jobs:
prepare:
uses: ./.gitea/workflows/prepare.yaml
secrets: inherit
core:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/cpl-core
secrets: inherit
query:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/cpl-query
secrets: inherit
translation:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/cpl-translation
secrets: inherit
mail:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/cpl-mail
secrets: inherit
+71
View File
@@ -0,0 +1,71 @@
name: Build Package
run-name: Build Python Package
on:
workflow_call:
inputs:
version_suffix:
description: 'Suffix for version (z.B. "dev", "alpha", "beta")'
required: false
type: string
working_directory:
required: true
type: string
jobs:
build:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
defaults:
run:
working-directory: ${{ inputs.working_directory }}
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Download build version artifact
uses: actions/download-artifact@v3
with:
name: version
- name: Set version
run: |
sed -i -E "s/^version = \".*\"/version = \"$(cat /workspace/sh-edraft.de/cpl/version.txt)\"/" pyproject.toml
echo "Set version to $(cat /workspace/sh-edraft.de/cpl/version.txt)"
cat pyproject.toml
- name: Set package version
run: |
sed -i -E "s/^__version__ = \".*\"/__version__ = \"$(cat /workspace/sh-edraft.de/cpl/version.txt)\"/" cpl/*/__init__.py
echo "Set version to $(cat /workspace/sh-edraft.de/cpl/version.txt)"
cat cpl/*/__init__.py
- name: Set pip conf
run: |
cat > .pip.conf <<'EOF'
[global]
extra-index-url = https://git.sh-edraft.de/api/packages/sh-edraft.de/pypi/simple/
EOF
- name: Install Dependencies
run: |
export PIP_CONFIG_FILE=".pip.conf"
pip install build
- name: Build Package
run: |
python -m build --outdir dist
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
pip install twine
python -m twine upload --repository-url https://git.sh-edraft.de/api/packages/sh-edraft.de/pypi -u ${{ secrets.CI_USERNAME }} -p ${{ secrets.CI_ACCESS_TOKEN }} ./dist/*
+58
View File
@@ -0,0 +1,58 @@
name: Prepare Build
run-name: Prepare Build Version
on:
workflow_call:
inputs:
version_suffix:
description: 'Suffix for version (z.B. "dev", "alpha", "beta")'
required: false
type: string
jobs:
prepare:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Get Date and Build Number
run: |
git fetch --tags
git tag
DATE=$(date +'%Y.%m.%d')
TAG_COUNT=$(git tag -l "${DATE}.*" | wc -l)
if [ "$TAG_COUNT" -eq 0 ]; then
BUILD_NUMBER=0
else
BUILD_NUMBER=$(($TAG_COUNT + 1))
fi
VERSION_SUFFIX=${{ inputs.version_suffix }}
if [ -n "$VERSION_SUFFIX" ] && [ "$VERSION_SUFFIX" = "dev" ]; then
BUILD_VERSION="${DATE}.dev${BUILD_NUMBER}"
elif [ -n "$VERSION_SUFFIX" ]; then
BUILD_VERSION="${DATE}.${BUILD_NUMBER}${VERSION_SUFFIX}"
else
BUILD_VERSION="${DATE}.${BUILD_NUMBER}"
fi
echo "$BUILD_VERSION" > version.txt
echo "VERSION $BUILD_VERSION"
- name: Create Git Tag for Build
run: |
git config user.name "ci"
git config user.email "dev@sh-edraft.de"
echo "tag $(cat version.txt)"
git tag $(cat version.txt)
git push origin --tags
- name: Upload build version artifact
uses: actions/upload-artifact@v3
with:
name: version
path: version.txt
+45
View File
@@ -0,0 +1,45 @@
name: Test before pr merge
run-name: Test before pr merge
on:
pull_request:
types:
- opened
- edited
- reopened
- synchronize
- ready_for_review
jobs:
test-lint:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Installing black
run: python3.12 -m pip install black
- name: Checking black
run: python3.12 -m black src --check
test:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Setting up Python 3.12
run: |
apt install -y python3.12-dev
bash ./install.sh
bash ./install.sh -dev
- name: Testing with pytest
run: |
python3.12 -m pytest
+12 -1
View File
@@ -106,10 +106,15 @@ celerybeat.pid
.venv
env/
venv/
venv_*/
ENV/
env.bak/
venv.bak/
# Custom Environments
cpl-env/
.secret
# Spyder project settings
.spyderproject
.spyproject
@@ -129,5 +134,11 @@ dmypy.json
.pyre/
# IDE
.vscode/
.idea/
PythonImportHelper-v2-Completion.json
# cpl unittest stuff
unittests/test_*_playground
# cpl logs
**/logs/*.jsonl
+2
View File
@@ -0,0 +1,2 @@
[global]
extra-index-url = https://git.sh-edraft.de/api/packages/sh-edraft.de/pypi/simple/
+1 -1
View File
@@ -1,4 +1,4 @@
MIT License Copyright (c) <year> <copyright holders>
MIT License Copyright (c) 2020 - 2023 sh-edraft.de
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+21 -1
View File
@@ -1,2 +1,22 @@
# sh_common_py_lib
## Prepare for development
After cloning the repository, run the following commands to set up your development environment:
```bash
python -m venv .venv
source .venv/bin/activate
# On Windows use `.venv\Scripts\activate`
# On Windows with git bash use `source .venv/Scripts/activate`
bash install.sh
```
Install cpl-cli as a development package:
```bash
pip install -e src/core
pip install -e src/cli
# test with:
cpl v
```
When using Pycharm, mark all directories under `src/` as "Sources Root" and `exa` to ensure proper module resolution.
-56
View File
@@ -1,56 +0,0 @@
{
"ProjectSettings": {
"Name": "sh_cpl",
"Version": {
"Major": "2021",
"Minor": "04",
"Micro": "02"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",
"Description": "sh-edraft Common Python library",
"LongDescription": "sh-edraft Common Python library",
"URL": "https://www.sh-edraft.de",
"CopyrightDate": "2020 - 2021",
"CopyrightName": "sh-edraft.de",
"LicenseName": "MIT",
"LicenseDescription": "MIT, see LICENSE for more details.",
"Dependencies": [
"colorama==0.4.4",
"mysql-connector==2.2.9",
"psutil==5.8.0",
"packaging==20.9",
"pyfiglet==0.8.post1",
"pynput==1.7.3",
"SQLAlchemy==1.4.0",
"setuptools==54.1.2",
"tabulate==0.8.9",
"termcolor==1.1.0",
"watchdog==2.0.2",
"wheel==0.36.2"
],
"PythonVersion": ">=3.8",
"PythonPath": {},
"Classifiers": []
},
"BuildSettings": {
"SourcePath": "src",
"OutputPath": "dist",
"Main": "cpl_cli.main",
"EntryPoint": "cpl",
"IncludePackageData": true,
"Included": [
"*/templates"
],
"Excluded": [
"*/__pycache__",
"*/logs",
"*/tests"
],
"PackageData": {
"cpl_cli": [
"*.json"
]
}
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "cpl",
"projects": [
"src/cli/cpl.project.json",
"src/core/cpl.project.json",
"src/mail/cpl.project.json",
"test/cpl.project.json"
],
"defaultProject": "cpl-cli",
"scripts": {
"format": "black src"
}
}
-19
View File
@@ -1,19 +0,0 @@
prefix: cpl
commands:
build
generate:
abc | a
class | c
configmodel | cm
enum | e
service | s
help
new
console
start
publish
update
version
-2
View File
@@ -1,2 +0,0 @@
python setup.py install # for install
python setup.py sdist bdist_wheel # for build
-11
View File
@@ -1,11 +0,0 @@
upload:
prod:
twine upload --repository-url https://pip.sh-edraft.de dist/publish/setup/*
twine upload -r pip.sh-edraft.de dist/publish/setup/*
dev:
twine upload --repository-url https://pip-dev.sh-edraft.de dist/publish/setup/*
twine upload -r pip-dev.sh-edraft.de dist/publish/setup/*
install:
pip install --extra-index-url https://pip.sh-edraft.de/ sh_cpl
@@ -0,0 +1,8 @@
{
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "TRACE",
"Level": "TRACE"
}
}
@@ -0,0 +1,26 @@
{
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"Log": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "TRACE",
"Level": "TRACE"
},
"Database": {
"Host": "localhost",
"User": "cpl",
"Port": 3306,
"Password": "cpl",
"Database": "cpl",
"Charset": "utf8mb4",
"UseUnicode": "true",
"Buffered": "true"
}
}
@@ -1,15 +1,15 @@
{
"TimeFormatSettings": {
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"LoggingSettings": {
"Log": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLogLevel": "ERROR",
"FileLogLevel": "WARN"
"ConsoleLevel": "ERROR",
"Level": "WARNING"
}
}
+147
View File
@@ -0,0 +1,147 @@
from starlette.responses import JSONResponse
from cpl.dependency.event_bus import EventBusABC
from cpl.graphql.event_bus.memory import InMemoryEventBus
from queries.cities import CityGraphType, CityFilter, CitySort
from queries.hello import UserGraphType # , UserFilter, UserSort, UserGraphType
from queries.user import UserFilter, UserSort
from cpl.api.api_module import ApiModule
from cpl.application.application_builder import ApplicationBuilder
from cpl.auth.schema import User, Role
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.environment import Environment
from cpl.core.utils.cache import Cache
from cpl.database.mysql.mysql_module import MySQLModule
from cpl.graphql.application.graphql_app import GraphQLApp
from cpl.graphql.auth.graphql_auth_module import GraphQLAuthModule
from cpl.graphql.graphql_module import GraphQLModule
from model.author_dao import AuthorDao
from model.author_query import AuthorGraphType, AuthorFilter, AuthorSort
from model.post_dao import PostDao
from model.post_query import PostFilter, PostSort, PostGraphType, PostMutation, PostSubscription
from permissions import PostPermissions
from queries.hello import HelloQuery
from scoped_service import ScopedService
from service import PingService
from test_data_seeder import TestDataSeeder
def main():
builder = ApplicationBuilder[GraphQLApp](GraphQLApp)
Configuration.add_json_file(f"appsettings.json")
Configuration.add_json_file(f"appsettings.{Environment.get_environment()}.json")
Configuration.add_json_file(f"appsettings.{Environment.get_host_name()}.json", optional=True)
# builder.services.add_logging()
(
builder.services.add_structured_logging()
.add_transient(PingService)
.add_module(MySQLModule)
.add_module(ApiModule)
.add_module(GraphQLModule)
.add_module(GraphQLAuthModule)
.add_scoped(ScopedService)
.add_singleton(EventBusABC, InMemoryEventBus)
.add_cache(User)
.add_cache(Role)
.add_transient(CityGraphType)
.add_transient(CityFilter)
.add_transient(CitySort)
.add_transient(UserGraphType)
.add_transient(UserFilter)
.add_transient(UserSort)
# .add_transient(UserGraphType)
# .add_transient(UserFilter)
# .add_transient(UserSort)
.add_transient(HelloQuery)
# test data
.add_singleton(TestDataSeeder)
# authors
.add_transient(AuthorDao)
.add_transient(AuthorGraphType)
.add_transient(AuthorFilter)
.add_transient(AuthorSort)
# posts
.add_transient(PostDao)
.add_transient(PostGraphType)
.add_transient(PostFilter)
.add_transient(PostSort)
.add_transient(PostMutation)
.add_transient(PostSubscription)
)
app = builder.build()
app.with_logging()
app.with_migrations("./scripts")
app.with_authentication()
app.with_authorization()
app.with_route(
path="/route1",
fn=lambda r: JSONResponse("route1"),
method="GET",
# authentication=True,
# permissions=[Permissions.administrator],
)
app.with_routes_directory("routes")
schema = app.with_graphql()
schema.query.string_field("ping", resolver=lambda: "pong")
schema.query.with_query("hello", HelloQuery)
schema.query.dao_collection_field(AuthorGraphType, AuthorDao, "authors", AuthorFilter, AuthorSort)
(
schema.query.dao_collection_field(PostGraphType, PostDao, "posts", PostFilter, PostSort)
# .with_require_any_permission(PostPermissions.read)
.with_public()
)
schema.mutation.with_mutation("post", PostMutation).with_public()
schema.subscription.with_subscription(PostSubscription)
app.with_auth_root_queries(True)
app.with_auth_root_mutations(True)
app.with_playground()
app.with_graphiql()
app.with_permissions(PostPermissions)
provider = builder.service_provider
user_cache = provider.get_service(Cache[User])
role_cache = provider.get_service(Cache[Role])
if role_cache == user_cache:
raise Exception("Cache service is not working")
s1 = provider.get_service(ScopedService)
s2 = provider.get_service(ScopedService)
if s1.name == s2.name:
raise Exception("Scoped service is not working")
with provider.create_scope() as scope:
s3 = scope.get_service(ScopedService)
s4 = scope.get_service(ScopedService)
if s3.name != s4.name:
raise Exception("Scoped service is not working")
if s1.name == s3.name:
raise Exception("Scoped service is not working")
Console.write_line(
s1.name,
s2.name,
s3.name,
s4.name,
)
app.run()
if __name__ == "__main__":
main()
+30
View File
@@ -0,0 +1,30 @@
from datetime import datetime
from typing import Self
from cpl.core.typing import SerialId
from cpl.database.abc import DbModelABC
class Author(DbModelABC[Self]):
def __init__(
self,
id: int,
first_name: str,
last_name: str,
deleted: bool = False,
editor_id: SerialId | None = None,
created: datetime | None = None,
updated: datetime | None = None,
):
DbModelABC.__init__(self, id, deleted, editor_id, created, updated)
self._first_name = first_name
self._last_name = last_name
@property
def first_name(self) -> str:
return self._first_name
@property
def last_name(self) -> str:
return self._last_name
+11
View File
@@ -0,0 +1,11 @@
from cpl.database.abc import DbModelDaoABC
from model.author import Author
class AuthorDao(DbModelDaoABC):
def __init__(self):
DbModelDaoABC.__init__(self, Author, "authors")
self.attribute(Author.first_name, str, db_name="firstname")
self.attribute(Author.last_name, str, db_name="lastname")
+37
View File
@@ -0,0 +1,37 @@
from cpl.graphql.schema.db_model_graph_type import DbModelGraphType
from cpl.graphql.schema.filter.db_model_filter import DbModelFilter
from cpl.graphql.schema.sort.sort import Sort
from cpl.graphql.schema.sort.sort_order import SortOrder
from model.author import Author
class AuthorFilter(DbModelFilter[Author]):
def __init__(self):
DbModelFilter.__init__(self, public=True)
self.int_field("id")
self.string_field("firstName")
self.string_field("lastName")
class AuthorSort(Sort[Author]):
def __init__(self):
Sort.__init__(self)
self.field("id", SortOrder)
self.field("firstName", SortOrder)
self.field("lastName", SortOrder)
class AuthorGraphType(DbModelGraphType[Author]):
def __init__(self):
DbModelGraphType.__init__(self, public=True)
self.int_field(
"id",
resolver=lambda root: root.id,
).with_public(True)
self.string_field(
"firstName",
resolver=lambda root: root.first_name,
).with_public(True)
self.string_field(
"lastName",
resolver=lambda root: root.last_name,
).with_public(True)
+44
View File
@@ -0,0 +1,44 @@
from datetime import datetime
from typing import Self
from cpl.core.typing import SerialId
from cpl.database.abc import DbModelABC
class Post(DbModelABC[Self]):
def __init__(
self,
id: int,
author_id: SerialId,
title: str,
content: str,
deleted: bool = False,
editor_id: SerialId | None = None,
created: datetime | None = None,
updated: datetime | None = None,
):
DbModelABC.__init__(self, id, deleted, editor_id, created, updated)
self._author_id = author_id
self._title = title
self._content = content
@property
def author_id(self) -> SerialId:
return self._author_id
@property
def title(self) -> str:
return self._title
@title.setter
def title(self, value: str):
self._title = value
@property
def content(self) -> str:
return self._content
@content.setter
def content(self, value: str):
self._content = value
+15
View File
@@ -0,0 +1,15 @@
from cpl.database.abc import DbModelDaoABC
from model.author_dao import AuthorDao
from model.post import Post
class PostDao(DbModelDaoABC[Post]):
def __init__(self, authors: AuthorDao):
DbModelDaoABC.__init__(self, Post, "posts")
self.attribute(Post.author_id, int, db_name="authorId")
self.reference("author", "id", Post.author_id, "authors", authors)
self.attribute(Post.title, str)
self.attribute(Post.content, str)
+148
View File
@@ -0,0 +1,148 @@
from cpl.dependency.event_bus import EventBusABC
from cpl.graphql.query_context import QueryContext
from cpl.graphql.schema.db_model_graph_type import DbModelGraphType
from cpl.graphql.schema.filter.db_model_filter import DbModelFilter
from cpl.graphql.schema.input import Input
from cpl.graphql.schema.mutation import Mutation
from cpl.graphql.schema.sort.sort import Sort
from cpl.graphql.schema.sort.sort_order import SortOrder
from cpl.graphql.schema.subscription import Subscription
from model.author_dao import AuthorDao
from model.author_query import AuthorGraphType, AuthorFilter
from model.post import Post
from model.post_dao import PostDao
class PostFilter(DbModelFilter[Post]):
def __init__(self):
DbModelFilter.__init__(self, public=True)
self.int_field("id")
self.filter_field("author", AuthorFilter)
self.string_field("title")
self.string_field("content")
class PostSort(Sort[Post]):
def __init__(self):
Sort.__init__(self)
self.field("id", SortOrder)
self.field("title", SortOrder)
self.field("content", SortOrder)
class PostGraphType(DbModelGraphType[Post]):
def __init__(self, authors: AuthorDao):
DbModelGraphType.__init__(self, public=True)
self.int_field(
"id",
resolver=lambda root: root.id,
).with_optional().with_public(True)
async def _a(root: Post):
return await authors.get_by_id(root.author_id)
def r_name(ctx: QueryContext):
return ctx.user.username == "admin"
self.object_field("author", AuthorGraphType, resolver=_a).with_public(True) # .with_require_any([], [r_name]))
self.string_field(
"title",
resolver=lambda root: root.title,
).with_public(True)
self.string_field(
"content",
resolver=lambda root: root.content,
).with_public(True)
class PostCreateInput(Input[Post]):
title: str
content: str
author_id: int
def __init__(self):
Input.__init__(self)
self.string_field("title").with_required()
self.string_field("content").with_required()
self.int_field("author_id").with_required()
class PostUpdateInput(Input[Post]):
title: str
content: str
author_id: int
def __init__(self):
Input.__init__(self)
self.int_field("id").with_required()
self.string_field("title").with_required(False)
self.string_field("content").with_required(False)
class PostSubscription(Subscription):
def __init__(self, bus: EventBusABC):
Subscription.__init__(self)
self._bus = bus
def selector(event: Post, info) -> bool:
return event.id == 101
self.subscription_field("postChange", PostGraphType, selector).with_public()
class PostMutation(Mutation):
def __init__(self, posts: PostDao, authors: AuthorDao, bus: EventBusABC):
Mutation.__init__(self)
self._posts = posts
self._authors = authors
self._bus = bus
self.field("create", int, resolver=self.create_post).with_public().with_required().with_argument(
"input",
PostCreateInput,
).with_required()
self.field("update", bool, resolver=self.update_post).with_public().with_required().with_argument(
"input",
PostUpdateInput,
).with_required()
self.field("delete", bool, resolver=self.delete_post).with_public().with_required().with_argument(
"id",
int,
).with_required()
self.field("restore", bool, resolver=self.restore_post).with_public().with_required().with_argument(
"id",
int,
).with_required()
async def create_post(self, input: PostCreateInput) -> int:
return await self._posts.create(Post(0, input.author_id, input.title, input.content))
async def update_post(self, input: PostUpdateInput) -> bool:
post = await self._posts.get_by_id(input.id)
if post is None:
return False
post.title = input.title if input.title is not None else post.title
post.content = input.content if input.content is not None else post.content
await self._posts.update(post)
await self._bus.publish("postChange", post)
return True
async def delete_post(self, id: int) -> bool:
post = await self._posts.get_by_id(id)
if post is None:
return False
await self._posts.delete(post)
return True
async def restore_post(self, id: int) -> bool:
post = await self._posts.get_by_id(id)
if post is None:
return False
await self._posts.restore(post)
return True
+8
View File
@@ -0,0 +1,8 @@
from enum import Enum
class PostPermissions(Enum):
read = "post.read"
write = "post.write"
delete = "post.delete"
+39
View File
@@ -0,0 +1,39 @@
from cpl.graphql.schema.filter.filter import Filter
from cpl.graphql.schema.graph_type import GraphType
from cpl.graphql.schema.sort.sort import Sort
from cpl.graphql.schema.sort.sort_order import SortOrder
class City:
def __init__(self, id: int, name: str):
self.id = id
self.name = name
class CityFilter(Filter[City]):
def __init__(self):
Filter.__init__(self)
self.field("id", int)
self.field("name", str)
class CitySort(Sort[City]):
def __init__(self):
Sort.__init__(self)
self.field("id", SortOrder)
self.field("name", SortOrder)
class CityGraphType(GraphType[City]):
def __init__(self):
GraphType.__init__(self)
self.int_field(
"id",
resolver=lambda root: root.id,
)
self.string_field(
"name",
resolver=lambda root: root.name,
)
+70
View File
@@ -0,0 +1,70 @@
from queries.cities import CityFilter, CitySort, CityGraphType, City
from queries.user import User, UserFilter, UserSort, UserGraphType
from cpl.api.middleware.request import get_request
from cpl.auth.schema import UserDao, User
from cpl.graphql.schema.filter.filter import Filter
from cpl.graphql.schema.graph_type import GraphType
from cpl.graphql.schema.query import Query
from cpl.graphql.schema.sort.sort import Sort
from cpl.graphql.schema.sort.sort_order import SortOrder
users = [User(i, f"User {i}") for i in range(1, 101)]
cities = [City(i, f"City {i}") for i in range(1, 101)]
# class UserFilter(Filter[User]):
# def __init__(self):
# Filter.__init__(self)
# self.field("id", int)
# self.field("username", str)
#
#
# class UserSort(Sort[User]):
# def __init__(self):
# Sort.__init__(self)
# self.field("id", SortOrder)
# self.field("username", SortOrder)
#
# class UserGraphType(GraphType[User]):
#
# def __init__(self):
# GraphType.__init__(self)
#
# self.int_field(
# "id",
# resolver=lambda root: root.id,
# )
# self.string_field(
# "username",
# resolver=lambda root: root.username,
# )
class HelloQuery(Query):
def __init__(self):
Query.__init__(self)
self.string_field(
"message",
resolver=lambda name: f"Hello {name} {get_request().state.request_id}",
).with_argument("name", str, "Name to greet", "world")
self.collection_field(
UserGraphType,
"users",
UserFilter,
UserSort,
resolver=lambda: users,
)
self.collection_field(
CityGraphType,
"cities",
CityFilter,
CitySort,
resolver=lambda: cities,
)
# self.dao_collection_field(
# UserGraphType,
# UserDao,
# "Users",
# UserFilter,
# UserSort,
# )
+39
View File
@@ -0,0 +1,39 @@
from cpl.graphql.schema.filter.filter import Filter
from cpl.graphql.schema.graph_type import GraphType
from cpl.graphql.schema.sort.sort import Sort
from cpl.graphql.schema.sort.sort_order import SortOrder
class User:
def __init__(self, id: int, name: str):
self.id = id
self.name = name
class UserFilter(Filter[User]):
def __init__(self):
Filter.__init__(self)
self.field("id", int)
self.field("name", str)
class UserSort(Sort[User]):
def __init__(self):
Sort.__init__(self)
self.field("id", SortOrder)
self.field("name", SortOrder)
class UserGraphType(GraphType[User]):
def __init__(self):
GraphType.__init__(self)
self.int_field(
"id",
resolver=lambda root: root.id,
)
self.string_field(
"name",
resolver=lambda root: root.name,
)
+21
View File
@@ -0,0 +1,21 @@
from urllib.request import Request
from service import PingService
from starlette.responses import JSONResponse
from cpl.api import APILogger
from cpl.api.router import Router
from cpl.core.console import Console
from cpl.dependency import ServiceProvider
from scoped_service import ScopedService
@Router.authenticate()
# @Router.authorize(permissions=[Permissions.administrator])
# @Router.authorize(policies=["test"])
@Router.get(f"/ping")
async def ping(r: Request, ping: PingService, logger: APILogger, provider: ServiceProvider, scoped: ScopedService):
logger.info(f"Ping: {ping}")
Console.write_line(scoped.name)
return JSONResponse(ping.ping(r))
+14
View File
@@ -0,0 +1,14 @@
from cpl.core.console.console import Console
from cpl.core.utils.string import String
class ScopedService:
def __init__(self):
self._name = String.random(8)
@property
def name(self) -> str:
return self._name
def run(self):
Console.write_line(f"Im {self._name}")
+22
View File
@@ -0,0 +1,22 @@
CREATE TABLE IF NOT EXISTS `authors` (
`id` INT(30) NOT NULL AUTO_INCREMENT,
`firstname` VARCHAR(64) NOT NULL,
`lastname` VARCHAR(64) NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
editorId INT NULL,
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(`id`)
);
CREATE TABLE IF NOT EXISTS `posts` (
`id` INT(30) NOT NULL AUTO_INCREMENT,
`authorId` INT(30) NOT NULL REFERENCES `authors`(`id`) ON DELETE CASCADE,
`title` TEXT NOT NULL,
`content` TEXT NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
editorId INT NULL,
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(`id`)
);
+4
View File
@@ -0,0 +1,4 @@
class PingService:
def ping(self, r):
return "pong"
+48
View File
@@ -0,0 +1,48 @@
from faker import Faker
from cpl.database.abc import DataSeederABC
from cpl.query import Enumerable
from model.author import Author
from model.author_dao import AuthorDao
from model.post import Post
from model.post_dao import PostDao
fake = Faker()
class TestDataSeeder(DataSeederABC):
def __init__(self, authors: AuthorDao, posts: PostDao):
DataSeederABC.__init__(self)
self._authors = authors
self._posts = posts
async def seed(self):
if await self._authors.count() == 0:
await self._seed_authors()
if await self._posts.count() == 0:
await self._seed_posts()
async def _seed_authors(self):
authors = Enumerable.range(0, 35).select(
lambda x: Author(
0,
fake.first_name(),
fake.last_name(),
)
).to_list()
await self._authors.create_many(authors, skip_editor=True)
async def _seed_posts(self):
posts = Enumerable.range(0, 100).select(
lambda x: Post(
id=0,
author_id=fake.random_int(min=1, max=35),
title=fake.sentence(nb_words=6),
content=fake.paragraph(nb_sentences=6),
)
).to_list()
await self._posts.create_many(posts, skip_editor=True)
+41
View File
@@ -0,0 +1,41 @@
import time
from cpl.core.console import Console, ForegroundColorEnum
def test_spinner():
Console.write_line("test1")
Console.write_line("test2", 2)
Console.write_line("test3", 2, 3)
Console.write_line("test4", 2, 3, 4)
time.sleep(2)
Console.write_line("test5")
def test_console():
Console.write_line("Hello World")
Console.write("\nName: ")
Console.write_line(" Hello", Console.read_line())
Console.write_at(5, 5, "at 5, 5")
Console.write_at(10, 10, "at 10, 10")
if __name__ == "__main__":
Console.write_line("Hello World\n")
Console.clear()
Console.spinner(
"Test:", test_spinner, spinner_foreground_color=ForegroundColorEnum.cyan, text_foreground_color="green"
)
test_console()
Console.write_line("HOLD BACK")
opts = ["Option 1", "Option 2", "Option 3", "Option 4"]
selected = Console.select(
">",
"Select item:",
opts,
header_foreground_color=ForegroundColorEnum.blue,
option_foreground_color=ForegroundColorEnum.green,
cursor_foreground_color=ForegroundColorEnum.red,
)
Console.write_line(f"You selected: {selected}")
Console.write_line()
+40
View File
@@ -0,0 +1,40 @@
from cpl.application.abc import ApplicationABC
from cpl.auth.keycloak import KeycloakAdmin
from cpl.core.console import Console
from cpl.core.environment import Environment
from cpl.core.log import LoggerABC
from cpl.dependency import ServiceProvider
from cpl.dependency.typing import Modules
from model.city import City
from model.city_dao import CityDao
from model.user import User
from model.user_dao import UserDao
class Application(ApplicationABC):
def __init__(self, services: ServiceProvider, modules: Modules):
ApplicationABC.__init__(self, services, modules)
self._logger = services.get_service(LoggerABC)
async def test_daos(self):
userDao: UserDao = self._services.get_service(UserDao)
cityDao: CityDao = self._services.get_service(CityDao)
Console.write_line(await userDao.get_all())
if len(await cityDao.get_all()) == 0:
city_id = await cityDao.create(City(0, "Haren", "49733"))
await userDao.create(User(0, "NewUser", city_id))
Console.write_line(await userDao.get_all())
async def main(self):
self._logger.debug(f"Host: {Environment.get_host_name()}")
self._logger.debug(f"Environment: {Environment.get_environment()}")
await self.test_daos()
kc_admin: KeycloakAdmin = self._services.get_service(KeycloakAdmin)
x = kc_admin.get_users()
Console.write_line(x)
@@ -0,0 +1,8 @@
{
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "TRACE",
"Level": "TRACE"
}
}
@@ -1,22 +1,22 @@
{
"TimeFormatSettings": {
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"LoggingSettings": {
"Log": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLogLevel": "TRACE",
"FileLogLevel": "TRACE"
"ConsoleLevel": "TRACE",
"Level": "TRACE"
},
"DatabaseSettings": {
"Database": {
"AuthPlugin": "mysql_native_password",
"ConnectionString": "mysql+mysqlconnector://sh_cpl:$credentials@localhost/sh_cpl",
"Credentials": "MHZhc0Y2bjhKc1VUMWV0Qw==",
"ConnectionString": "mysql+mysqlconnector://cpl:$credentials@localhost/cpl",
"Credentials": "Y3Bs",
"Encoding": "utf8mb4"
}
}
@@ -0,0 +1,26 @@
{
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"Log": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "TRACE",
"Level": "TRACE"
},
"Database": {
"Host": "localhost",
"User": "cpl",
"Port": 3306,
"Password": "cpl",
"Database": "cpl",
"Charset": "utf8mb4",
"UseUnicode": "true",
"Buffered": "true"
}
}
@@ -1,15 +1,15 @@
{
"TimeFormatSettings": {
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"LoggingSettings": {
"Log": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLogLevel": "ERROR",
"FileLogLevel": "WARN"
"ConsoleLevel": "ERROR",
"Level": "WARNING"
}
}
@@ -0,0 +1,5 @@
from enum import Enum
class CustomPermissions(Enum):
test = "test"
+19
View File
@@ -0,0 +1,19 @@
from application import Application
from cpl.application import ApplicationBuilder
from custom_permissions import CustomPermissions
from startup import Startup
def main():
builder = ApplicationBuilder(Application).with_startup(Startup)
app = builder.build()
app.with_logging()
app.with_permissions(CustomPermissions)
app.with_migrations("./scripts")
app.with_seeders()
app.run()
if __name__ == "__main__":
main()
+27
View File
@@ -0,0 +1,27 @@
from application import Application
from cpl.application import ApplicationBuilder
from cpl.auth.permission.permissions_registry import PermissionsRegistry
from cpl.core.console import Console
from cpl.core.log import LogLevel
from cpl.database import DatabaseModule
from custom_permissions import CustomPermissions
from startup import Startup
def main():
builder = ApplicationBuilder(Application).with_startup(Startup)
builder.services.add_logging()
app = builder.build()
app.with_logging(LogLevel.trace)
app.with_permissions(CustomPermissions)
app.with_migrations("./scripts")
# app.with_seeders()
Console.write_line(CustomPermissions.test.value in PermissionsRegistry.get())
app.run()
Console.write_line("Hello from main_simplified.py!")
if __name__ == "__main__":
main()
+29
View File
@@ -0,0 +1,29 @@
from datetime import datetime
from typing import Optional
from cpl.core.typing import SerialId
from cpl.database.abc.db_model_abc import DbModelABC
class City(DbModelABC[Self]):
def __init__(
self,
id: int,
name: str,
zip: str,
deleted: bool = False,
editor_id: SerialId | None = None,
created: datetime | None= None,
updated: datetime | None= None,
):
DbModelABC.__init__(self, id, deleted, editor_id, created, updated)
self._name = name
self._zip = zip
@property
def name(self) -> str:
return self._name
@property
def zip(self) -> str:
return self._zip
+11
View File
@@ -0,0 +1,11 @@
from cpl.database.abc import DbModelDaoABC
from model.city import City
class CityDao(DbModelDaoABC[City]):
def __init__(self):
DbModelDaoABC.__init__(self, City, "city")
self.attribute(City.name, str)
self.attribute(City.zip, int)
+30
View File
@@ -0,0 +1,30 @@
from datetime import datetime
from typing import Optional
from cpl.core.typing import SerialId
from cpl.database.abc.db_model_abc import DbModelABC
class User(DbModelABC[Self]):
def __init__(
self,
id: int,
name: str,
city_id: int = 0,
deleted: bool = False,
editor_id: SerialId | None = None,
created: datetime | None= None,
updated: datetime | None= None,
):
DbModelABC.__init__(self, id, deleted, editor_id, created, updated)
self._name = name
self._city_id = city_id
@property
def name(self) -> str:
return self._name
@property
def city_id(self) -> int:
return self._city_id
+13
View File
@@ -0,0 +1,13 @@
from cpl.database.abc import DbModelDaoABC
from model.user import User
class UserDao(DbModelDaoABC[User]):
def __init__(self):
DbModelDaoABC.__init__(self, User, "users")
self.attribute(User.name, str)
self.attribute(User.city_id, int, db_name="CityId")
self.reference("city", "id", User.city_id, "city")
@@ -0,0 +1,22 @@
CREATE TABLE IF NOT EXISTS `city` (
`id` INT(30) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL,
`zip` VARCHAR(5) NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
editorId INT NULL,
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(`id`)
);
CREATE TABLE IF NOT EXISTS `users` (
`id` INT(30) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL,
`cityId` INT(30),
deleted BOOLEAN NOT NULL DEFAULT FALSE,
editorId INT NULL,
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (`cityId`) REFERENCES city(`id`),
PRIMARY KEY(`id`)
);
+35
View File
@@ -0,0 +1,35 @@
from cpl import auth
from cpl.application.abc.startup_abc import StartupABC
from cpl.auth import permission
from cpl.auth.auth_module import AuthModule
from cpl.auth.permission.permission_module import PermissionsModule
from cpl.core.configuration import Configuration
from cpl.core.environment import Environment
from cpl.core.log import Logger, LoggerABC
from cpl.database import mysql, DatabaseModule
from cpl.database.abc.data_access_object_abc import DataAccessObjectABC
from cpl.database.mysql.mysql_module import MySQLModule
from cpl.dependency import ServiceCollection
from model.city_dao import CityDao
from model.user_dao import UserDao
class Startup(StartupABC):
@staticmethod
async def configure_configuration():
Configuration.add_json_file(f"appsettings.json")
Configuration.add_json_file(f"appsettings.{Environment.get_environment()}.json")
Configuration.add_json_file(f"appsettings.{Environment.get_host_name()}.json", optional=True)
@staticmethod
async def configure_services(services: ServiceCollection):
services.add_module(MySQLModule)
services.add_module(DatabaseModule)
services.add_module(AuthModule)
services.add_module(PermissionsModule)
services.add_transient(DataAccessObjectABC, UserDao)
services.add_transient(DataAccessObjectABC, CityDao)
services.add_singleton(LoggerABC, Logger)
+15
View File
@@ -0,0 +1,15 @@
{
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "ERROR",
"Level": "WARN"
}
}
+45
View File
@@ -0,0 +1,45 @@
from cpl.application.abc import ApplicationABC
from cpl.core.console.console import Console
from cpl.dependency import ServiceProvider
from test_abc import TestABC
from test_service import TestService
from di_tester_service import DITesterService
from tester import Tester
class Application(ApplicationABC):
def __init__(self, services: ServiceProvider):
ApplicationABC.__init__(self, services)
def _part_of_scoped(self):
ts: TestService = self._services.get_service(TestService)
ts.run()
def main(self):
with self._services.create_scope() as scope:
Console.write_line("Scope1")
ts: TestService = scope.get_service(TestService)
ts.run()
dit: DITesterService = scope.get_service(DITesterService)
dit.run()
if ts.name != dit.name:
raise Exception("DI is broken!")
with self._services.create_scope() as scope:
Console.write_line("Scope2")
ts: TestService = scope.get_service(TestService)
ts.run()
dit: DITesterService = scope.get_service(DITesterService)
dit.run()
if ts.name != dit.name:
raise Exception("DI is broken!")
Console.write_line("Global")
self._part_of_scoped()
#from static_test import StaticTest
#StaticTest.test()
self._services.get_service(Tester)
Console.write_line(self._services.get_services(TestABC))
@@ -1,6 +1,6 @@
{
"ProjectSettings": {
"Name": "simple-console",
"Project": {
"Name": "di",
"Version": {
"Major": "0",
"Minor": "0",
@@ -16,19 +16,21 @@
"LicenseName": "",
"LicenseDescription": "",
"Dependencies": [
"sh_cpl==2021.4.2"
"cpl-core==2022.12.0"
],
"DevDependencies": [
"cpl-cli==2022.12.0"
],
"PythonVersion": ">=3.9.2",
"PythonPath": {
"linux": ""
},
"PythonPath": {},
"Classifiers": []
},
"BuildSettings": {
"SourcePath": "src",
"OutputPath": "dist",
"Main": "main",
"EntryPoint": "simple-console",
"Build": {
"ProjectType": "console",
"SourcePath": "",
"OutputPath": "../../dist",
"Main": "di.main",
"EntryPoint": "di",
"IncludePackageData": false,
"Included": [],
"Excluded": [
@@ -36,6 +38,7 @@
"*/logs",
"*/tests"
],
"PackageData": {}
"PackageData": {},
"ProjectReferences": []
}
}
+15
View File
@@ -0,0 +1,15 @@
from cpl.core.console.console import Console
from test_service import TestService
class DITesterService:
def __init__(self, ts: TestService):
self._ts = ts
@property
def name(self) -> str:
return self._ts.name
def run(self):
Console.write_line("DIT: ")
self._ts.run()
@@ -6,9 +6,9 @@ from startup import Startup
def main():
app_builder = ApplicationBuilder(Application)
app_builder.use_startup(Startup)
app_builder.with_startup(Startup)
app_builder.build().run()
if __name__ == '__main__':
if __name__ == "__main__":
main()
+27
View File
@@ -0,0 +1,27 @@
from cpl.application.abc import StartupABC
from cpl.dependency import ServiceProvider, ServiceCollection
from di_tester_service import DITesterService
from test1_service import Test1Service
from test2_service import Test2Service
from test_abc import TestABC
from test_service import TestService
from tester import Tester
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
@staticmethod
def configure_configuration(): ...
@staticmethod
def configure_services(services: ServiceCollection) -> ServiceProvider:
services.add_scoped(TestService)
services.add_scoped(DITesterService)
services.add_singleton(TestABC, Test1Service)
services.add_singleton(TestABC, Test2Service)
services.add_singleton(Tester)
return services.build()
+10
View File
@@ -0,0 +1,10 @@
from cpl.dependency import ServiceProvider, ServiceProvider
from cpl.dependency.inject import inject
from test_service import TestService
class StaticTest:
@staticmethod
@inject
def test(services: ServiceProvider, t1: TestService):
t1.run()
+12
View File
@@ -0,0 +1,12 @@
import string
from cpl.core.console.console import Console
from cpl.core.utils.string import String
from test_abc import TestABC
class Test1Service(TestABC):
def __init__(self):
TestABC.__init__(self, String.random(8))
def run(self):
Console.write_line(f"Im {self._name}")
+12
View File
@@ -0,0 +1,12 @@
import string
from cpl.core.console.console import Console
from cpl.core.utils.string import String
from test_abc import TestABC
class Test2Service(TestABC):
def __init__(self):
TestABC.__init__(self, String.random(8))
def run(self):
Console.write_line(f"Im {self._name}")
+9
View File
@@ -0,0 +1,9 @@
from abc import ABC
class TestABC(ABC):
def __init__(self, name: str):
self._name = name
def __repr__(self):
return f"<{type(self).__name__} {self._name}>"
+14
View File
@@ -0,0 +1,14 @@
from cpl.core.console.console import Console
from cpl.core.utils.string import String
class TestService:
def __init__(self):
self._name = String.random(8)
@property
def name(self) -> str:
return self._name
def run(self):
Console.write_line(f"Im {self._name}")
+7
View File
@@ -0,0 +1,7 @@
from cpl.core.console.console import Console
from test_abc import TestABC
class Tester:
def __init__(self, t1: TestABC, t2: TestABC, t3: TestABC, t: list[TestABC]):
Console.write_line("Tester:", t, t1, t2, t3)
+20
View File
@@ -0,0 +1,20 @@
from cpl_cli.abc.generate_schematic_abc import GenerateSchematicABC
class Custom(GenerateSchematicABC):
def __init__(self, *args: str):
GenerateSchematicABC.__init__(self, *args)
def get_code(self) -> str:
code = """\
class $Name:
def __init__(self):
print('hello')
"""
x = self.build_code_str(code, Name=self._class_name)
return x
@classmethod
def register(cls):
GenerateSchematicABC.register(cls, "custom", ["cm", "CM"])
+77
View File
@@ -0,0 +1,77 @@
import asyncio
import time
from cpl.application.abc import ApplicationABC
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.environment import Environment
from cpl.core.log import LoggerABC
from cpl.core.pipes import IPAddressPipe
from cpl.dependency import ServiceProvider
from cpl.dependency.typing import Modules
from cpl.mail import EMail, EMailClientABC
from cpl.query import List
from scoped_service import ScopedService
from test_service import TestService
from test_settings import TestSettings
class Application(ApplicationABC):
def __init__(self, services: ServiceProvider, modules: Modules):
ApplicationABC.__init__(self, services, modules)
self._logger = self._services.get_service(LoggerABC)
self._mailer = self._services.get_service(EMailClientABC)
def test_send_mail(self):
mail = EMail()
mail.add_header("Mime-Version: 1.0")
mail.add_header("Content-Type: text/plain; charset=utf-8")
mail.add_header("Content-Transfer-Encoding: quoted-printable")
mail.add_receiver("sven.heidemann@sh-edraft.de")
mail.subject = f"Test - {Environment.get_host_name()}"
mail.body = "Dies ist ein Test :D"
self._mailer.send_mail(mail)
@staticmethod
def _wait(time_ms: int):
time.sleep(time_ms)
async def main(self):
self._logger.debug(f"Host: {Environment.get_host_name()}")
self._logger.debug(f"Environment: {Environment.get_environment()}")
Console.write_line(List(range(0, 10)).select(lambda x: f"x={x}").to_list())
Console.spinner("Test", self._wait, 2, spinner_foreground_color="red")
test: TestService = self._services.get_service(TestService)
ip_pipe: IPAddressPipe = self._services.get_service(IPAddressPipe)
test.run()
test2: TestService = self._services.get_service(TestService)
ip_pipe2: IPAddressPipe = self._services.get_service(IPAddressPipe)
Console.write_line(f"DI working: {test == test2 and ip_pipe != ip_pipe2}")
Console.write_line(self._services.get_service(LoggerABC))
root_scoped_service = self._services.get_service(ScopedService)
with self._services.create_scope() as scope:
s_srvc1 = scope.get_service(ScopedService)
s_srvc2 = scope.get_service(ScopedService)
Console.write_line(root_scoped_service)
Console.write_line(s_srvc1)
Console.write_line(s_srvc2)
if root_scoped_service == s_srvc1 or s_srvc1 != s_srvc2:
raise Exception("Root scoped service should not be equal to scoped service")
root_scoped_service2 = self._services.get_service(ScopedService)
Console.write_line(root_scoped_service2)
if root_scoped_service == root_scoped_service2:
raise Exception("Root scoped service should be equal to root scoped service 2")
test_settings = Configuration.get(TestSettings)
Console.write_line(test_settings.value)
Console.write_line("reload config")
Configuration.add_json_file(f"appsettings.json")
Configuration.add_json_file(f"appsettings.{Environment.get_environment()}.json")
Configuration.add_json_file(f"appsettings.{Environment.get_host_name()}.json", optional=True)
test_settings1 = Configuration.get(TestSettings)
Console.write_line(test_settings1.value)
# self.test_send_mail()
@@ -0,0 +1,8 @@
{
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "TRACE",
"Level": "TRACE"
}
}
@@ -1,29 +1,20 @@
{
"TimeFormatSettings": {
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"LoggingSettings": {
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLogLevel": "TRACE",
"FileLogLevel": "TRACE"
"ConsoleLevel": "TRACE",
"Level": "TRACE"
},
"EMailClientSettings": {
"EMailClient": {
"Host": "mail.sh-edraft.de",
"Port": "587",
"UserName": "dev-srv@sh-edraft.de",
"Credentials": "RmBOQX1eNFYiYjgsSid3fV1nelc2WA=="
},
"DatabaseSettings": {
"AuthPlugin": "mysql_native_password",
"ConnectionString": "mysql+mysqlconnector://sh_cpl:$credentials@localhost/sh_cpl",
"Credentials": "MHZhc0Y2bjhKc1VUMWV0Qw==",
"Encoding": "utf8mb4"
}
}
@@ -0,0 +1,37 @@
{
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "TRACE",
"Level": "TRACE"
},
"EMailClient": {
"Host": "mail.sh-edraft.de",
"Port": "587",
"UserName": "dev-srv@sh-edraft.de",
"Credentials": "RmBOQX1eNFYiYjgsSid3fV1nelc2WA=="
},
"Database": {
"Host": "localhost",
"User": "sh_cpl",
"Password": "MHZhc0Y2bjhKc1VUMWV0Qw==",
"Database": "sh_cpl",
"Charset": "utf8mb4",
"UseUnicode": "true",
"Buffered": "true",
"AuthPlugin": "mysql_native_password"
},
"Test": {
"Value": 20
}
}
+15
View File
@@ -0,0 +1,15 @@
{
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "ERROR",
"Level": "WARN"
}
}
+1
View File
@@ -0,0 +1 @@
+30
View File
@@ -0,0 +1,30 @@
import asyncio
from datetime import datetime
from cpl.core.console import Console
from cpl.core.time.cron import Cron
from cpl.core.service.cronjob import CronjobABC
from cpl.core.service.hosted_service import HostedService
class Hosted(HostedService):
def __init__(self):
self._stopped = False
async def start(self):
Console.write_line("Hosted Service Started")
while not self._stopped:
Console.write_line("Hosted Service Running")
await asyncio.sleep(5)
async def stop(self):
Console.write_line("Hosted Service Stopped")
self._stopped = True
class MyCronJob(CronjobABC):
def __init__(self):
CronjobABC.__init__(self, Cron("*/1 * * * *")) # Every minute
async def loop(self):
Console.write_line(f"[{datetime.now()}] Hello from Cronjob!")
+19
View File
@@ -0,0 +1,19 @@
from application import Application
from cpl.application import ApplicationBuilder
from cpl.core.console import Console
from test_extension import TestExtension
from startup import Startup
from test_startup_extension import TestStartupExtension
def main():
Console.write_line("\n\n--- Application Starting ---\n")
app_builder = ApplicationBuilder(Application)
app_builder.with_startup(Startup)
app_builder.with_extension(TestStartupExtension)
app_builder.with_extension(TestExtension)
app_builder.build().run()
if __name__ == "__main__":
main()
+10
View File
@@ -0,0 +1,10 @@
from cpl.core.console import Console
class ScopedService:
def __init__(self):
self.value = "I am a scoped service"
Console.write_line(self.value, self)
def get_value(self):
return self.value
+28
View File
@@ -0,0 +1,28 @@
from cpl.application.abc import StartupABC
from cpl.core.configuration import Configuration
from cpl.core.environment import Environment
from cpl.core.pipes import IPAddressPipe
from cpl.dependency import ServiceCollection
from cpl.mail.mail_module import MailModule
from hosted_service import Hosted, MyCronJob
from scoped_service import ScopedService
from test_service import TestService
class Startup(StartupABC):
@staticmethod
def configure_configuration():
Configuration.add_json_file(f"appsettings.json")
Configuration.add_json_file(f"appsettings.{Environment.get_environment()}.json")
Configuration.add_json_file(f"appsettings.{Environment.get_host_name()}.json", optional=True)
@staticmethod
def configure_services(services: ServiceCollection):
services.add_logging()
services.add_module(MailModule)
services.add_transient(IPAddressPipe)
services.add_singleton(TestService)
services.add_scoped(ScopedService)
services.add_hosted_service(Hosted)
services.add_hosted_service(MyCronJob)
+10
View File
@@ -0,0 +1,10 @@
from cpl.application.abc import ApplicationExtensionABC
from cpl.core.console import Console
from cpl.dependency import ServiceProvider
class TestExtension(ApplicationExtensionABC):
@staticmethod
def run(services: ServiceProvider):
Console.write_line("Hello World from App Extension")
+13
View File
@@ -0,0 +1,13 @@
from cpl.core.console.console import Console
from cpl.dependency import ServiceProvider
from cpl.core.pipes.ip_address_pipe import IPAddressPipe
class TestService:
def __init__(self, provider: ServiceProvider):
self._provider = provider
def run(self):
Console.write_line("Hello World!", self._provider)
ip = [192, 168, 178, 30]
Console.write_line(ip, IPAddressPipe.to_str(ip))
+6
View File
@@ -0,0 +1,6 @@
from cpl.core.configuration import ConfigurationModelABC
class TestSettings(ConfigurationModelABC):
def __init__(self, value: int = None):
self.value = value
@@ -0,0 +1,14 @@
from cpl.application.abc import StartupExtensionABC
from cpl.core.console import Console
from cpl.dependency import ServiceCollection
class TestStartupExtension(StartupExtensionABC):
@staticmethod
def configure_configuration():
Console.write_line("config")
@staticmethod
def configure_services(services: ServiceCollection):
Console.write_line("services")
+60
View File
@@ -0,0 +1,60 @@
from cpl.core.console import Console
from cpl.core.utils.benchmark import Benchmark
from cpl.query.enumerable import Enumerable
from cpl.query.immutable_list import ImmutableList
from cpl.query.list import List
from cpl.query.set import Set
def _default():
Console.write_line(Enumerable.empty().to_list())
Console.write_line(Enumerable.range(0, 100).length)
Console.write_line(Enumerable.range(0, 100).to_list())
Console.write_line(Enumerable.range(0, 100).where(lambda x: x % 2 == 0).length)
Console.write_line(
Enumerable.range(0, 100).where(lambda x: x % 2 == 0).to_list().select(lambda x: str(x)).to_list()
)
Console.write_line(List)
s =Enumerable.range(0, 10).to_set()
Console.write_line(s)
s.add(1)
Console.write_line(s)
data = Enumerable(
[
{"name": "Alice", "age": 30},
{"name": "Dave", "age": 35},
{"name": "Charlie", "age": 25},
{"name": "Bob", "age": 25},
]
)
Console.write_line(data.order_by(lambda x: x["age"]).to_list())
Console.write_line(data.order_by(lambda x: x["age"]).then_by(lambda x: x["name"]).to_list())
Console.write_line(data.order_by(lambda x: x["name"]).then_by(lambda x: x["age"]).to_list())
def t_benchmark(data: list):
Benchmark.all("Enumerable", lambda: Enumerable(data).where(lambda x: x % 2 == 0).select(lambda x: x * 2).to_list())
Benchmark.all("Set", lambda: Set(data).where(lambda x: x % 2 == 0).select(lambda x: x * 2).to_list())
Benchmark.all("List", lambda: List(data).where(lambda x: x % 2 == 0).select(lambda x: x * 2).to_list())
Benchmark.all(
"ImmutableList", lambda: ImmutableList(data).where(lambda x: x % 2 == 0).select(lambda x: x * 2).to_list()
)
Benchmark.all("List comprehension", lambda: [x * 2 for x in data if x % 2 == 0])
def main():
N = 1_000_000
data = list(range(N))
t_benchmark(data)
Console.write_line()
_default()
if __name__ == "__main__":
main()
+9
View File
@@ -0,0 +1,9 @@
{
"Workspace": {
"DefaultProject": "translation",
"Projects": {
"translation": "src/translation/translation.json"
},
"Scripts": {}
}
}
+27
View File
@@ -0,0 +1,27 @@
from cpl.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.console import Console
from cpl.dependency import ServiceProvider
from cpl.translation.translate_pipe import TranslatePipe
from cpl.translation.translation_service_abc import TranslationServiceABC
from cpl.translation.translation_settings import TranslationSettings
class Application(ApplicationABC):
def __init__(self, config: ConfigurationABC, services: ServiceProvider):
ApplicationABC.__init__(self, config, services)
self._translate: TranslatePipe = services.get_service(TranslatePipe)
self._translation: TranslationServiceABC = services.get_service(TranslationServiceABC)
self._translation_settings: TranslationSettings = config.get_configuration(TranslationSettings)
self._translation.load_by_settings(config.get_configuration(TranslationSettings))
self._translation.set_default_lang("de")
def configure(self): ...
def main(self):
Console.write_line(self._translate.transform("main.text.hello_world"))
self._translation.set_lang("en")
Console.write_line(self._translate.transform("main.text.hello_world"))
Console.write_line(self._translate.transform("main.text.hello"))
+23
View File
@@ -0,0 +1,23 @@
{
"TimeFormat": {
"DateFormat": "%Y-%m-%d",
"TimeFormat": "%H:%M:%S",
"DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
"DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
},
"Logging": {
"Path": "logs/",
"Filename": "log_$start_time.log",
"ConsoleLevel": "ERROR",
"Level": "WARN"
},
"Translation": {
"Languages":[
"de",
"en"
],
"DefaultLanguage": "en"
}
}
@@ -1,14 +1,14 @@
from cpl.application import ApplicationBuilder
from application import Application
from startup import Startup
from translation.application import Application
from translation.startup import Startup
def main():
app_builder = ApplicationBuilder(Application)
app_builder.use_startup(Startup)
app_builder.with_startup(Startup)
app_builder.build().run()
if __name__ == '__main__':
if __name__ == "__main__":
main()
+17
View File
@@ -0,0 +1,17 @@
from cpl.application import StartupABC
from cpl.core.configuration import ConfigurationABC
from cpl.dependency import ServiceProvider, ServiceCollection
from cpl.core.environment import Environment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: Environment) -> ConfigurationABC:
configuration.add_json_file("appsettings.json")
return configuration
def configure_services(self, services: ServiceCollection, environment: Environment) -> ServiceProvider:
services.add_translation()
return services.build()
@@ -1,6 +1,6 @@
{
"ProjectSettings": {
"Name": "simple-app",
"Project": {
"Name": "translation",
"Version": {
"Major": "0",
"Minor": "0",
@@ -16,19 +16,21 @@
"LicenseName": "",
"LicenseDescription": "",
"Dependencies": [
"sh_cpl==2021.4.2"
"cpl-core>=2022.6.0"
],
"PythonVersion": ">=3.9.2",
"PythonPath": {
"linux": ""
},
"DevDependencies": [
"cpl-cli>=2022.6.0"
],
"PythonVersion": ">=3.10.4",
"PythonPath": {},
"Classifiers": []
},
"BuildSettings": {
"SourcePath": "src",
"OutputPath": "dist",
"Main": "main",
"EntryPoint": "simple-app",
"Build": {
"ProjectType": "console",
"SourcePath": "",
"OutputPath": "../../dist",
"Main": "translation.main",
"EntryPoint": "translation",
"IncludePackageData": false,
"Included": [],
"Excluded": [
@@ -36,6 +38,7 @@
"*/logs",
"*/tests"
],
"PackageData": {}
"PackageData": {},
"ProjectReferences": []
}
}
@@ -0,0 +1,7 @@
{
"main": {
"text": {
"hello_world": "Hallo Welt"
}
}
}
@@ -0,0 +1,7 @@
{
"main": {
"text": {
"hello_world": "Hello World"
}
}
}
+64
View File
@@ -0,0 +1,64 @@
#!/usr/bin/env bash
set -euo pipefail
# Optionaler Dev-Installationsmodus
dev_mode=false
if [[ "${1:-}" == "-dev" ]]; then
dev_mode=true
fi
shopt -s nullglob
# Wähle die passende Requirements-Datei
pattern='requirements.txt'
msg_hint='src/*/requirements.txt'
if $dev_mode; then
pattern='requirements.dev.txt'
msg_hint='src/*/requirements.dev.txt'
fi
req_files=(src/*/"$pattern")
if ((${#req_files[@]} == 0)); then
echo "Keine Requirements-Dateien gefunden unter '$msg_hint'" >&2
exit 1
fi
tmp_combined="$(mktemp)"
trap 'rm -f "$tmp_combined"' EXIT
# Kombiniere, filtere Kommentare/Whitespace, entferne cpl-*, dedupliziere.
awk '
function trim(s){ sub(/^[[:space:]]+/,"",s); sub(/[[:space:]]+$/,"",s); return s }
{
line=$0
if (line ~ /^[[:space:]]*#/) next
sub(/#[^!].*$/,"",line)
line=trim(line)
if (line == "") next
e = line
sub(/^-e[[:space:]]+/,"",e)
token = e
sub(/\[.*/,"",token)
n = split(token, a, /[<>=!~;@[:space:]]/)
name = tolower(a[1])
if (name ~ /^cpl-/) next
print line
}
' "${req_files[@]}" | sort -u > "$tmp_combined"
if ! [ -s "$tmp_combined" ]; then
echo "Nichts zu installieren nach dem Entfernen von cpl-* Paketen." >&2
exit 0
fi
echo "Installiere Abhängigkeiten (ohne cpl-*) aus:"
printf ' - %s\n' "${req_files[@]}"
echo
echo "Finale Menge zur Installation:"
cat "$tmp_combined"
echo
python -m pip install -r "$tmp_combined"
+18
View File
@@ -0,0 +1,18 @@
[tool.black]
line-length = 120
[tool.pytest.ini_options]
pythonpath = [
"src/api",
"src/application",
"src/auth",
"src/cli",
"src/core",
"src/database",
"src/dependency",
"src/graphql",
"src/mail",
"src/query",
"src/translation"
]
testpaths = ["test"]

Some files were not shown because too many files have changed in this diff Show More