Validate upload size against the node limit before uploading

Expose the node's upload_size on the client server resource and reject
files over it in the file manager before any bytes are sent.
This commit is contained in:
dualfroz committed 2026-10-14 18:16:57 +02:00
1 parent 56e5db2059
commit 2e78dfef1e
12 files changed
+144 -2

No files matched your search

@@ -14,6 +14,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -420,6 +421,7 @@
"name": "Admin Lab",
"node": "node-beta",
"is_node_under_maintenance": false,
"upload_size": 256,
"sftp_details": {
"ip": "beta.example.test",
"port": 2222
@@ -17,6 +17,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -200,6 +201,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -17,6 +17,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -106,6 +107,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -203,6 +205,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -291,6 +294,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -17,6 +17,7 @@
"name": "Admin Lab",
"node": "node-beta",
"is_node_under_maintenance": true,
"upload_size": 256,
"sftp_details": {
"ip": "beta.example.test",
"port": 2222
@@ -131,6 +132,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -237,6 +239,7 @@
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -338,6 +341,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -451,6 +455,7 @@
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -561,6 +566,7 @@
"name": "Admin Lab",
"node": "node-beta",
"is_node_under_maintenance": true,
"upload_size": 256,
"sftp_details": {
"ip": "beta.example.test",
"port": 2222
@@ -17,6 +17,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -123,6 +124,7 @@
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -224,6 +226,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -391,6 +394,7 @@
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -521,6 +525,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -648,6 +653,7 @@
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -771,6 +777,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -905,6 +912,7 @@
"name": "Creative",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -14,6 +14,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -130,6 +131,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -253,6 +255,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022
@@ -423,6 +426,7 @@
"name": "Survival",
"node": "node-alpha",
"is_node_under_maintenance": false,
"upload_size": 100,
"sftp_details": {
"ip": "alpha.example.test",
"port": 2022