Commit Graph

876 Commits

Author SHA1 Message Date
luukas
2ac9118152 Merge remote's bugfix/api-v2-bugfixes to local 2022-05-25 00:58:32 +03:00
luukas
cbc73b7e92
Fix routing for the user permissions handler 2022-05-25 00:58:10 +03:00
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
Zedifus
d0596af4c9 Add exemption orjson no-member falsepositive 2022-05-23 22:54:06 +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
amcmanu3
67e20302c9 Add get_perms_server back 2022-05-18 19:19:58 -04: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
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
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
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
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
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
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