Fix API count decoding
Some checks failed
Build and Deploy / build-push-deploy (push) Has been cancelled

This commit is contained in:
2026-06-15 15:49:03 +02:00
parent 5c13de1b8f
commit 5101eb5c73
3 changed files with 35 additions and 6 deletions

View File

@@ -27,7 +27,7 @@ checkRateLimitAndLog ::
checkRateLimitAndLog consumer endpoint method = do
-- Check rate limit: requests in last 60 seconds
rows1 <- sqlQuery
"SELECT COUNT(*) FROM api_request_log \
"SELECT COUNT(*)::int FROM api_request_log \
\WHERE api_consumer_id = ? AND requested_at >= NOW() - INTERVAL '60 seconds'"
(Only consumer.id)
let reqCount = case rows1 of
@@ -43,7 +43,7 @@ checkRateLimitAndLog consumer endpoint method = do
-- Check daily quota
rows2 <- sqlQuery
"SELECT COUNT(*) FROM api_request_log \
"SELECT COUNT(*)::int FROM api_request_log \
\WHERE api_consumer_id = ? AND requested_at >= ? - INTERVAL '1 day'"
(consumer.id, consumer.quotaResetsAt)
let quotaUsed = case rows2 of

View File

@@ -12,7 +12,7 @@ validateWidgetType ::
Text -> IO (Either Text ())
validateWidgetType name = do
rows <- sqlQuery
"SELECT COUNT(*) FROM widget_type_registry WHERE name = ? AND status = 'active'"
"SELECT COUNT(*)::int FROM widget_type_registry WHERE name = ? AND status = 'active'"
(Only name)
case rows of
[Only (n :: Int)] | n > 0 -> pure (Right ())
@@ -24,7 +24,7 @@ validateEventType ::
Text -> IO (Either Text ())
validateEventType name = do
rows <- sqlQuery
"SELECT COUNT(*) FROM event_type_registry WHERE name = ? AND status = 'active'"
"SELECT COUNT(*)::int FROM event_type_registry WHERE name = ? AND status = 'active'"
(Only name)
case rows of
[Only (n :: Int)] | n > 0 -> pure (Right ())
@@ -36,7 +36,7 @@ validateAnnotationCategory ::
Text -> IO (Either Text ())
validateAnnotationCategory name = do
rows <- sqlQuery
"SELECT COUNT(*) FROM annotation_category_registry WHERE name = ? AND status = 'active'"
"SELECT COUNT(*)::int FROM annotation_category_registry WHERE name = ? AND status = 'active'"
(Only name)
case rows of
[Only (n :: Int)] | n > 0 -> pure (Right ())
@@ -48,7 +48,7 @@ validatePolicyScope ::
Text -> IO (Either Text ())
validatePolicyScope name = do
rows <- sqlQuery
"SELECT COUNT(*) FROM policy_scope_registry WHERE name = ? AND status = 'active'"
"SELECT COUNT(*)::int FROM policy_scope_registry WHERE name = ? AND status = 'active'"
(Only name)
case rows of
[Only (n :: Int)] | n > 0 -> pure (Right ())