Commit Graph

1184 Commits

Author SHA1 Message Date
luukas
57ef5e27dd
Add route for viewing user Crafty permissions
The route includes the permission mask, counters and limits
2022-05-25 00:55:49 +03:00
luukas
6dadce2c9a
Enable changing more of yourself with superuser
Enable modifying your own superuser status, permissions and roles if you
have superuser status
2022-05-25 00:43:49 +03:00
luukas
b0d342e949
Check if something is in a dict with a simpler way
* Replace `data.get("key", None) is not None` with `"key" in data`
2022-05-25 00:39:16 +03:00
luukas
2aa2d14f5e
Improve the invalidate tokens API handler
* Remove the TODO
* Replace the Console.info with logger.debug
2022-05-25 00:35:11 +03:00
luukas
9a9d101015
Add pasword hashing to API user modification 2022-05-25 00:32:31 +03:00
luukas
54ff888002
Fix user modification via the API 2022-05-25 00:29:31 +03:00
Iain Powrie
db13b11f18 Merge branch 'tweak/pretzel-wss-error' into 'dev'
Add link to documentation to WSS error

See merge request crafty-controller/crafty-4!272
2022-05-24 18:14:06 +00:00
Zedifus
f69cf39c1d Add Hebrew lang file
Up to date to 3.5, altered credits trans keys amended,
Patreon will need amended to Patreon / Ko-fi like en lang,
this will be done on final beta translation update.

Thanks thefourcraft
2022-05-24 18:58:37 +01:00
Andrew
5104c34513 Add link to documentation to WSS error 2022-05-23 21:23:29 -04:00
Zedifus
d0596af4c9 Add exemption orjson no-member falsepositive 2022-05-23 22:54:06 +01:00
Zedifus
2a4295d9b3 Add subscription source parsing & format html 2022-05-23 22:21:32 +01:00
Zedifus
11335b58f3 Update Translations for kofi credit support
More sane key naming as multiple sources, title & desc update too.
2022-05-23 22:20:19 +01:00
luukas
afdffcd836
Optimize get_user_permissions_mask 2022-05-23 23:03:50 +03:00
luukas
4c981f50c2
Add more permission validation in user creation 2022-05-23 22:45:27 +03:00
luukas
0d62223982 Merge branch 'dev' into bugfix/api-v2-bugfixes 2022-05-23 20:20:49 +03:00
Iain Powrie
da483b9291 Merge branch 'bug/pretzel-database-exit' into 'dev'
Fix error where database atomic is not needed

See merge request crafty-controller/crafty-4!269
2022-05-23 10:05:46 +00:00
Iain Powrie
f01f04ef97 Merge branch 'merge/cleanup-nosquash' into 'dev'
New merge request for cleanup

See merge request crafty-controller/crafty-4!268
2022-05-23 10:01:40 +00:00
Andrew
f099639cc6 Fix error where database atomic is not needed 2022-05-21 14:26:58 -04:00
luukas
8f8b2aa22f
Simplify MainPrompt.emptyline. 2022-05-21 02:04:03 +03:00
luukas
b49bca3279
Use a tab character in the threads prompt command
https://i.imgur.com/jy0Rlgm.png
2022-05-21 01:57:40 +03:00
luukas
b724fc500d
Improve the startup process 2022-05-21 01:53:17 +03:00
luukas
eff7aefb6e
Use local date and time formatting for Console 2022-05-21 01:41:48 +03:00
luukas
d97bcc608f
Fix info message in tornado server starter
Yes I know it's a 1 character replace
2022-05-21 00:00:21 +03:00
luukas
f82241f728
Fix circular import and linting for stats.py 2022-05-20 23:33:42 +03:00
luukas
ed9d994083
Fix linting in models/crafty_permissions.py 2022-05-20 23:23:18 +03:00
luukas
c1ebb16dff
Add typings to minecraft/stats.py 2022-05-20 22:05:37 +03:00
luukas
02f5318f76
Merge branch 'dev' into merge/pretzel-lukas-cleanup-nosquash 2022-05-20 22:04:41 +03:00
luukas
9ddcd13f2f
Fix W0611 & R1734 lint issues 2022-05-20 14:06:46 +03:00
luukas
dba3fafa87
Use shorthand for Controller.check_system_user
This reduced the code from 4 lines to 1 line.

The code
    if <condition>:
        return True
    else:
        return False
can be shortened to
    return <condition>
2022-05-20 13:31:30 +03:00
luukas
1b059b24df
Update get_*_column functions
Use getattr instead of model_to_dict in single columns. We might want to
change the functions later on so peewee's ForeignKeyField primary key
shorthand like model.server_id instead of model.server.server_id
will work.

This will very likely increase performance of the get_*_column functions
due to not having to call the model_to_dict function from Peewee's
helper library.
2022-05-20 13:15:50 +03:00
luukas
48948423c9
Fix various things in create_api_server 2022-05-20 01:33:02 +03:00
Iain Powrie
379f680312 Merge branch 'bug/pretzel-stats-db-name' into 'dev'
Change naming of servers stats to generic name

See merge request crafty-controller/crafty-4!264
2022-05-19 21:13:07 +00:00
amcmanu3
ca170b86e0 Change naming of servers stats to generic name 2022-05-19 12:14:30 -04:00
luukas
7a7c7501e6 Use relative path for latest.log 2022-05-19 17:27:36 +03:00
luukas
73175d0f82 Remove the root example from the new server schema
* It messed up https://json-schema-faker.js.org
* It wasn't updated for agree_to_eula
2022-05-19 16:32:18 +03:00
luukas
bd4a35b418 Make role add and edit use API v2 internal APIs 2022-05-19 16:13:25 +03:00
luukas
f763fa9d0c Fix API v2 server modification 2022-05-19 16:01:03 +03:00
Iain Powrie
1e96e7a6c9 Merge branch 'merge/api-v2' into 'dev'
New API v2 PR

See merge request crafty-controller/crafty-4!254
2022-05-18 23:27:19 +00:00
amcmanu3
67e20302c9 Add get_perms_server back 2022-05-18 19:19:58 -04:00
Iain Powrie
11b7817a11 Merge branch 'dev-BetterDisplayMobile' into 'dev'
Better display on mobile

See merge request crafty-controller/crafty-4!229
2022-05-18 23:13:05 +00:00
Zedifus
4a83aaac0e Fix W0404 & C0412 Lint issues 2022-05-18 23:14:00 +01:00
luukas
87085cec3c Fix an IndexError in get_lang_page 2022-05-19 01:10:06 +03:00
Andrew
b7780682d5 Merge branch 'dev' into 'merge/api-v2'
# Conflicts:
#   app/classes/controllers/crafty_perms_controller.py
2022-05-18 21:56:39 +00:00
luukas
6407900609 Merge branch 'dev' into experimental/lukas-cleanup 2022-05-19 00:52:59 +03:00
Andrew
505364d7d5 Merge branch 'feature/pretzel-password-reset' into 'dev'
Add password reset to Crafty Console

See merge request crafty-controller/crafty-4!261
2022-05-18 21:40:04 +00:00
amcmanu3
d235d0b70b Add error for no user 2022-05-18 17:37:07 -04:00
amcmanu3
49965bf31f Add explaination to password fail. 2022-05-18 17:22:39 -04:00
luukas
0ecc0a62ca Fix a comment regarding the Logs permission 2022-05-19 00:04:14 +03:00
amcmanu3
bc6309c91b Appease the linter 2022-05-18 16:56:54 -04:00
Andrew
ca73a5f60b Merge branch 'dev' into 'experimental/feature/permission-matrix'
# Conflicts:
#   app/classes/web/panel_handler.py
2022-05-18 20:47:43 +00:00
luukas
2b34e2c824 Remove role_id from role modify response 2022-05-18 23:41:28 +03:00
amcmanu3
cfcc446d17 Remove TODO 2022-05-18 16:41:14 -04:00
amcmanu3
0f661d5400 Disable checkboxes until server access 2022-05-18 16:37:38 -04:00
Silversthorn
bef099a5a8 Merge branch 'dev' into dev-BetterDisplayMobile 2022-05-18 22:13:44 +02:00
luukas
d64756a30c Make modify role not fetch the role again 2022-05-18 23:13:22 +03:00
luukas
ae7984c784 Change modify role's server id type to integer 2022-05-18 23:11:40 +03:00
Silversthorn
8c21eddf2b Fixed Table occupation 2022-05-18 22:00:20 +02:00
luukas
4c397ff454 Only allow number IDs to the user handlers 2022-05-18 22:54:44 +03:00
luukas
2bc26ef3fd Check invalid IDs on roles
* Only allow number IDs to the role handlers
* Catch DoesNotExist errors
2022-05-18 22:34:33 +03:00
luukas
8b0da5da4c Remove unnecessary prints or use logger.debug 2022-05-18 22:06:33 +03:00
amcmanu3
a833a29fb7 Allow super users to add roles/users 2022-05-18 14:35:51 -04:00
amcmanu3
12390306fd Add permissions checks for quantity for users/role
Remove the ability to add quantities for general users.
2022-05-18 14:33:22 -04:00
amcmanu3
e3248e8657 Change cron validation to allow day abbreviations 2022-05-18 13:53:55 -04:00
amcmanu3
3432d660ef Expand Cron explain 2022-05-19 11:04:13 -04:00
luukas
74198ff81c Add a try..except to audit log broadcast 2022-05-18 16:51:46 +03:00
luukas
4c64497a2f Add a JSON schema route 2022-05-18 15:58:54 +03:00
luukas
5bff6c12b4 Fix cq degradation: R1721 2022-05-18 13:05:58 +03:00
luukas
d67711e898 Fix cq degradation: C0411 2022-05-18 13:04:38 +03:00
luukas
7c85496eb8 Clean up enum-related functions 2022-05-18 01:55:05 +03:00
luukas
559a345f25 Merge branch 'dev' into merge/api-v2 2022-05-18 01:49:19 +03:00
luukas
14665042c6 Add and improve audit logging in the API 2022-05-18 01:34:31 +03:00
luukas
8c8ae652c8 Fix a bug in update_role_advanced
where you could not modify server permissions
2022-05-18 01:25:27 +03:00
luukas
f9e5b9bc5f Fix the duplicated add_server_creation in the API 2022-05-18 01:23:32 +03:00
luukas
8737c15fcf Add a permission matrix to the role add and edit 2022-05-18 01:09:58 +03:00
amcmanu3
e12814d0b0 Appease the linter 2022-05-17 16:01:37 -04:00
luukas
821ed7ef5d Make get_server_obj raise an error
Reason being: There is nothing that checks if it returns False
2022-05-17 21:43:15 +03:00
luukas
42af86b6f7 Merge branch 'dev' into experimental/lukas-cleanup 2022-05-17 21:21:47 +03:00
luukas
5dfd1aae12 Make more places use the check_server_id function. 2022-05-17 20:52:32 +03:00
Iain Powrie
1c15e6c0a9 Update it_IT lang to 3.5
Thanks Gallu
2022-05-16 20:38:49 +00:00
amcmanu3
a2b711b5ac Add password reset to Crafty Console 2022-05-16 15:39:10 -04:00
luukas
e7e337bea1 Improve the start_server function 2022-05-16 18:16:04 +03:00
luukas
d83b964267 Improve server permission related functions 2022-05-16 18:01:15 +03:00
luukas
cd87a63f1e Improve permission related functions 2022-05-16 17:52:09 +03:00
luukas
d415c27a89 Make add_or_update_user more efficient with upsert 2022-05-16 17:15:46 +03:00
luukas
8d2f4ba32e Make get_all_permission_quantity_list dynamic 2022-05-16 17:10:57 +03:00
luukas
fbf820fd38 Make some model removals way more efficient 2022-05-16 01:18:08 +03:00
luukas
65ba65a67d Make model *_exists functions way more efficient 2022-05-16 01:12:03 +03:00
luukas
0115421243 Make queries narrower 2022-05-16 01:02:17 +03:00
luukas
27d310e2de Declutter set()s 2022-05-16 00:55:22 +03:00
Andrew
7d8515321b Revert bad changes for schedules 2022-05-15 15:59:55 -05:00
Andrew
4f6a90eb6a Remove unused import 2022-05-15 14:05:23 -05:00
Andrew
490fc86d4e Cleanup server schedule on delete 2022-05-15 14:00:24 -05:00
Andrew
e161e2cf0b Add cleanup method for server stats on delete 2022-05-15 13:28:02 -05:00
Andrew
0f19c0c787 Realtime server stats all the time 2022-05-15 13:16:28 -05:00
Andrew
984f4cc4d6 Change Files Aesthetic 2022-05-15 12:38:48 -05:00
Andrew
30618c7456 Term spacing between player name and message 2022-05-14 20:53:18 -05:00
Andrew
5fa209bf52 Add date to uptime calc.
Big assist from Zedifus
2022-05-14 18:51:05 -05:00
luukas
930c6936d9 Add more advanced role APIs 2022-05-10 02:08:49 +03:00
Andrew
184e50a825 Fix bug where excluded dir not persistant 2022-05-09 13:34:45 -04:00
luukas
bf59e2de6c Add and fix API v2 and db
* Add basic role routes
* Add API v2 404 handler
* Add API v2 home handler pointing to the wiki
* Add tons more todos
* Add get_*_columns and get_*_column functions for many db models
* Modify and add tons of model and controller functions
2022-05-08 00:07:55 +03:00
luukas
721c9cfe12 Add the server creation endpoint 2022-05-05 14:02:23 +03:00
luukas
53459d83dc Merge branch 'feature/api-v2' into merge/api-v2 2022-05-05 03:32:09 +03:00
Silversthorn
84078935e8 Sorry, I forgot this one :/ 2022-04-28 22:40:27 +02:00
Silversthorn
0dcdc8ffc7 pylint happy ? ^^ 2022-04-28 22:40:24 +02:00
Silversthorn
16bbac7fd6 Moving Server Stats DB to Server Folder 2022-04-28 22:40:15 +02:00
Andrew
3c666e5702 Fix stack thrown on page refresh after clean db 2022-04-17 13:33:45 -04:00
Andrew
77bbde149a Fix fresh install side effects from DB rework 2022-04-17 13:27:00 -04:00
Andrew
fc1304d729 Fix file size bug when destination does not exist 2022-04-17 13:00:05 -04:00
Andrew
816c66b134 version bump to beta 🎉 🥳 2022-04-14 20:25:37 -04:00
Andrew
704ffc2742 Fix file unzip 2022-04-14 20:03:19 -04:00
Andrew
9fcd510be2 Make unzip_server snake case 2022-04-14 19:45:13 -04:00
Andrew
2dc85e6f27 Add table name for audit_log 2022-04-14 19:34:30 -04:00
Andrew
b380f09b06 Rename get_lang_page 2022-04-14 19:34:21 -04:00
luukas
20d32c04ce Fix login and token stuff 2022-04-14 18:48:46 +03:00
luukas
1aa0d65cf7 Merge branch feature/external-frontend to feature/api-v2 without the frontend 2022-04-14 15:33:53 +03:00
Zedifus
20141f3cba Fix typo at EOF
'0' is my Discord P-T-T Toggle 😅
2022-04-14 03:19:56 +01:00
Zedifus
92c8fc04f3 Refactor to standardize class/variable naming 2022-04-14 03:10:25 +01:00
Iain Powrie
5d209b0827 Merge branch 'macgeek.db' into 'dev'
Macgeek database refactor

See merge request crafty-controller/crafty-commander!246
2022-04-13 19:26:11 +00:00
Zedifus
0461c0c420 Cleanup unused import 2022-04-13 20:24:42 +01:00
Andrew
ed60e55ffe Add try catch around process kill 2022-04-12 21:52:53 -04:00
Andrew
3711c94ffe Beef up security on API 2022-04-12 21:52:40 -04:00
Andrew
64d2e5fedd Appease the linter 2022-04-12 19:54:35 -04:00
Andrew
92579280a2 Appease the linter 2022-04-12 19:38:18 -04:00
Andrew
e555274409 Add critical log message for None Backup path 2022-04-12 19:27:18 -04:00
Andrew
73b3571606 Appease the linter 2022-04-12 19:22:57 -04:00
Andrew
316d0aa17a Fix error thrown on task execution 2022-04-12 18:57:18 -04:00
Andrew
bb2c1de418 Fix bug where general user could not create sch 2022-04-12 18:49:50 -04:00
Andrew
add784df42 Fix stack when username is wrong. 2022-04-12 18:33:00 -04:00
Andrew
705da450e7 Fix bug where roles could not be deleted. 2022-04-12 17:58:59 -04:00
Andrew
47025bec2a Make helper not static when unzipping. 2022-04-12 17:38:05 -04:00
Andrew
ec6421b62c Disable Backups when no path 2022-04-12 17:37:20 -04:00
Andrew
12b0f8326d Fix bug where no backup dir would exist on clone 2022-04-12 17:17:12 -04:00
Andrew
cbd99f2ccc Fix bug where users could not drag files 2022-04-12 15:27:03 -04:00
computergeek125
d417950eae fix fstrings, refactored console to static 2022-04-11 20:34:46 -05:00
Zedifus
b5cac0e385 Fix remaining minor lint warnings
These can't be handled by black automatically
2022-04-11 11:14:32 +01:00
Zedifus
19f2429a4c Fix formatting to comply with Black 2022-04-11 11:08:36 +01:00
computergeek125
42ca4bb973 Refactored the yes to not pass objects in import
Merge Conflicts ᴙ Us
2022-04-11 00:23:55 -05:00
computergeek125
f42a697837 Merge branch 'dev' into macgeek.db 2022-04-10 18:10:22 -05:00
amcmanu3
3b50130f40 Fix bug - non-super users could not create servers 2022-04-10 19:01:53 -04:00
computergeek125
119c34535c Removed fn, reduced queries in login flow 2022-04-10 17:46:07 -05:00
amcmanu3
711d415335 Remove queue 2022-04-10 18:04:16 -04:00
Andrew
19d2c9ec1c Revert "Merge branch 'bug/DB_Lock' into 'dev'"
This reverts merge request !241
2022-04-10 22:00:44 +00:00
amcmanu3
63c199a835 Fix bug where any user could see all stats 2022-04-10 17:30:48 -04:00
amcmanu3
dd5dac6336 Appease Black 2022-04-10 17:02:48 -04:00
amcmanu3
3826cb3486 Change all databases to queue 2022-04-10 16:33:54 -04:00
Andrew
b1ed9ba2bd Add API routes from 3.x
Enhance security for permissions on API requests
Fix bug where server permissions and crafty permissions were flipped upon making a new token
Fix bug where new secret key would be created every time Crafty was started.
Fix bug where DB locks will occur with concurrent writes to the DB.
2022-04-10 19:39:31 +00:00
amcmanu3
9a6152abdd Add end quote 2022-04-02 23:34:58 -04:00
amcmanu3
f921f777eb Enhance file save feedback 2022-04-02 23:21:21 -04:00
amcmanu3
82df93c700 Fix bug where server id was hard coded on cmd send 2022-04-02 22:44:40 -04:00
amcmanu3
71fd416fd0 Appease Zedifus 2022-04-02 21:47:32 -04:00