luukas
89b6e239bc
Merge branch 'dev' into experimental/lukas-codebase-improvements
2022-06-01 22:35:11 +03:00
Andrew
28ffbe4627
Remove unnecessary pass
2022-06-01 15:20:16 -04:00
Andrew
3946a926bf
Remove print statement
2022-06-01 15:17:13 -04:00
Andrew
fdc88451b9
Add exception for permissions in helpers check
2022-06-01 15:11:37 -04:00
Zedifus
de96844276
Remove useless return from a_backup_server
...
(Pylint R1711)
2022-06-01 18:34:04 +01:00
Zedifus
256c6567fd
Remove temporary directory on backup completion
...
When running backups, the temporary directory wasn't being properly removed.
Added logic to remove the temporary directory upon backup completion,
cleaned up the try/except a bit.
2022-06-01 18:28:24 +01:00
luukas
45a1b835fb
Fix server error checking in API stdin endpoint
2022-06-01 14:17:33 +03:00
luukas
e0b0e52bd5
Add stdin route for the API
2022-05-31 00:11:17 +03:00
Silversthorn
ec2d967419
Fixing Commands to server
2022-05-30 22:49:42 +02:00
Silversthorn
150e8e5794
Renaming Server in shared to ServerInstance
2022-05-30 22:40:34 +02:00
Silversthorn
f597a26e5b
Trying to fix stuff
2022-05-30 22:05:36 +02:00
Silversthorn
b0ea943992
Fixing lasts pylint warning
2022-05-30 19:32:11 +02:00
Silversthorn
8f5c688b72
Fixing Pylint issues
2022-05-30 19:28:39 +02:00
luukas
290c398198
Add command queue stdin commands back
2022-05-30 18:23:37 +03:00
Silversthorn
37bda32164
Fixing moved functions calls
2022-05-30 07:36:25 +02:00
luukas
7885b2c8f7
Fix null writer
2022-05-28 21:11:09 +03:00
luukas
b0e356f999
Fix host stats error messages
2022-05-28 19:43:37 +03:00
luukas
0df5fedf2b
Add try-excepts for host stats
2022-05-28 19:32:54 +03:00
luukas
d1beb2f125
Redirect stderr to null during psutil's import.
...
On some systems /proc might be unavailable and psutil would freak out
printing several exceptions to stderr but strangely not raising the
exceptions for upper scope to handle
2022-05-28 19:00:25 +03:00
Silversthorn
3b4253de9b
Fixing get_authorized_server
2022-05-26 23:19:59 +02:00
Silversthorn
6fae395185
Fixing issues for latest stats
2022-05-26 15:43:24 +02:00
Silversthorn
99b28efd33
Merge branch 'dev' into dev-StatsDBImprovement
2022-05-26 15:39:52 +02:00
Silversthorn
be1930c7c7
fixing server shutdown gracefull exit
2022-05-26 15:28:54 +02:00
Silversthorn
2b484d5a07
fixing download jar
2022-05-26 15:20:21 +02:00
Silversthorn
056856cf98
Fixing Helpers issue
2022-05-26 15:02:47 +02:00
Silversthorn
8423cc24c1
I'm breaking/fixing stuff
2022-05-26 14:50:20 +02:00
Andrew
39915ef53c
Fix critical bad stats push
2022-05-26 06:49:51 -04:00
luukas
47fc398f26
Fix CORS preflight
2022-05-26 00:31:58 +03:00
Andrew
b0b9936df7
Merge branch 'bugfix/stats-db-select' into 'dev'
...
Get rid of the stats database proxy
See merge request crafty-controller/crafty-4!276
2022-05-25 18:29:23 +00:00
Andrew
b293164e12
Add crash detection to realtime stats
2022-05-25 14:26:13 -04:00
luukas
8ce7a96071
Use a better ANSI escape regex in the API logs
2022-05-25 18:41:41 +03:00
luukas
2e51fa9629
Remove newline characters from API file logs
2022-05-25 18:41:16 +03:00
luukas
3956d9c699
Remove stdin sending from command_watcher
...
Reasons:
* It's unused in our program
* It can be a start to security vulnerabilities.
I've seen many routes add commands to `Commands` without validation.
2022-05-25 17:44:09 +03:00
Silversthorn
5a1353373a
trying something new
2022-05-25 15:54:35 +02:00
luukas
ca450f21ed
Document set_passwd and threads prompt commands
...
Help messages:
set_passwd: Set a user's password. Example: set_passwd admin
threads: Get all of the Python threads used by Crafty
2022-05-25 16:25:49 +03:00
luukas
8e13b4e11d
Simplify helpers setting methods
2022-05-25 16:21:34 +03:00
luukas
0eac0721ea
Remove unused DatabaseShortcuts imports
2022-05-25 16:17:01 +03:00
luukas
4e84eee5a5
Rename server stats variables to server_stats
2022-05-25 16:15:51 +03:00
luukas
83018c6860
Calculate the min stats date with timedelta
...
This is more correct than just using days.
I've also tested this working in a completely separate Peewee project.
2022-05-25 16:14:42 +03:00
luukas
a937a94ac8
Use a better variable name for stat disappear date
...
* Rename occurences of `last_week` with `minimum_to_exist`
2022-05-25 14:49:17 +03:00
luukas
4b707aa9d1
Don't use get_latest_server_stats
...
Use get_server_stats_by_id instead of get_latest_server_stats
The reasoning behind this is that all usages of get_latest_server_stats
had `DatabaseShortcuts.return_rows(latest)[0]`, which
get_server_stats_by_id already did
2022-05-25 14:43:05 +03:00
luukas
166272e12c
Replace .count() != 0
with .exists()
2022-05-25 14:24:34 +03:00
luukas
fae4aeb492
Fix CQ C0412
2022-05-25 14:16:14 +03:00
luukas
cf2ff2f2d5
Try to get rid of database_stats_proxy
2022-05-25 14:00:22 +03:00
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
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
Zedifus
0461c0c420
Cleanup unused import
2022-04-13 20:24:42 +01:00