do rate limit based on as_permissioned_as

This commit is contained in:
Ruben Fiszel
2022-08-07 14:04:17 +02:00
parent 69dcdbd00b
commit 373d8085a7
2 changed files with 46 additions and 46 deletions
+42 -42
View File
@@ -1893,27 +1893,6 @@
]
}
},
"8dbab3cc7d25a38301c54756a26827a0957c4edb5e68b788c19d3e60b5f038ea": {
"query": "SELECT COUNT(id) FROM queue WHERE created_by = $1 AND workspace_id = $2",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "count",
"type_info": "Int8"
}
],
"parameters": {
"Left": [
"Text",
"Text"
]
},
"nullable": [
null
]
}
},
"8ede6fb740b145b3a8320adb789500870c7a8ec807a7b156b9ff7a15791b78f8": {
"query": "DELETE FROM usr WHERE workspace_id = $1 AND username = $2",
"describe": {
@@ -2047,6 +2026,27 @@
]
}
},
"92ee6274b2287bc4d368bfdb47d6452df75bd265cdd891f55112df2795294dac": {
"query": "SELECT COUNT(id) FROM queue WHERE permissioned_as = $1 AND workspace_id = $2",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "count",
"type_info": "Int8"
}
],
"parameters": {
"Left": [
"Text",
"Text"
]
},
"nullable": [
null
]
}
},
"9490a4388f43e45e32911f1129e623f2d73ce2da7a948fe134bea1c87cdbefd1": {
"query": "SELECT value from resource WHERE path = $1 AND (workspace_id = $2 OR workspace_id = 'starter')",
"describe": {
@@ -2795,27 +2795,6 @@
]
}
},
"d9beef36b05f9889794d0eb9bae309974abc85240305ca154de25a54bc7d60f9": {
"query": "\n SELECT SUM(duration_ms)\n FROM completed_job\n WHERE created_by = $1\n AND created_at > NOW() - INTERVAL '1200 seconds'\n AND workspace_id = $2",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "sum",
"type_info": "Int8"
}
],
"parameters": {
"Left": [
"Text",
"Text"
]
},
"nullable": [
null
]
}
},
"d9c8f6ec7bd10e533876526255c15e376ccb4f898b9c0ab8840b2930bda24fdc": {
"query": "SELECT * FROM group_ WHERE name = $1 AND workspace_id = $2",
"describe": {
@@ -2963,6 +2942,27 @@
]
}
},
"e69142610bd94f6c65022cca5ccf7458b7c5bb77b3ed0278715222dd920d8644": {
"query": "\n SELECT SUM(duration_ms)\n FROM completed_job\n WHERE permissioned_as = $1\n AND created_at > NOW() - INTERVAL '1200 seconds'\n AND workspace_id = $2",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "sum",
"type_info": "Int8"
}
],
"parameters": {
"Left": [
"Text",
"Text"
]
},
"nullable": [
null
]
}
},
"e94abd39ec51b7e0c48c190d47ed766fd4f401187c3b60b3e599426c95232f7f": {
"query": "UPDATE queue SET last_ping = $1 WHERE id = $2",
"describe": {
+4 -4
View File
@@ -1049,8 +1049,8 @@ pub async fn push<'c>(
if !premium_workspace && std::env::var("CLOUD_HOSTED").is_ok() {
let rate_limiting_queue = sqlx::query_scalar!(
"SELECT COUNT(id) FROM queue WHERE created_by = $1 AND workspace_id = $2",
user,
"SELECT COUNT(id) FROM queue WHERE permissioned_as = $1 AND workspace_id = $2",
permissioned_as,
workspace_id
)
.fetch_one(&mut tx)
@@ -1070,10 +1070,10 @@ pub async fn push<'c>(
"
SELECT SUM(duration_ms)
FROM completed_job
WHERE created_by = $1
WHERE permissioned_as = $1
AND created_at > NOW() - INTERVAL '1200 seconds'
AND workspace_id = $2",
user,
permissioned_as,
workspace_id
)
.fetch_one(&mut tx)