fix(proxy): allow null-duration rows with stale reset timestamps to be fetched for self-healing

This commit is contained in:
pylrn 2026-09-03 19:46:48 +05:30
parent cc4e31e318
commit b71f58cb17

View file

@ -4045,7 +4045,6 @@ class PrismaClient:
response = await VerificationTokenRepository(self).table.find_many(
take=limit,
where={
"NOT": {"budget_duration": None},
"AND": [
{
"OR": [
@ -4055,8 +4054,18 @@ class PrismaClient:
},
{
"OR": [
{"budget_reset_at": None},
{"budget_reset_at": {"lt": reset_at}},
{
"NOT": {"budget_duration": None},
"OR": [
{"budget_reset_at": None},
{"budget_reset_at": {"lt": reset_at}},
],
},
{
"budget_duration": None,
"NOT": {"budget_reset_at": None},
"budget_reset_at": {"lt": reset_at},
},
]
},
],
@ -4121,10 +4130,19 @@ class PrismaClient:
# of the row, silently exceeding max_budget. Treat a
# NULL budget_reset_at with a non-NULL budget_duration
# as due, matching the budget-table query below.
"NOT": {"budget_duration": None},
"OR": [
{"budget_reset_at": None},
{"budget_reset_at": {"lt": reset_at}},
{
"NOT": {"budget_duration": None},
"OR": [
{"budget_reset_at": None},
{"budget_reset_at": {"lt": reset_at}},
],
},
{
"budget_duration": None,
"NOT": {"budget_reset_at": None},
"budget_reset_at": {"lt": reset_at},
},
],
},
)
@ -4212,10 +4230,19 @@ class PrismaClient:
# Same NULL budget_reset_at gap as the user query
# above: a team with a budget_duration but no
# initialized budget_reset_at would never be reset.
"NOT": {"budget_duration": None},
"OR": [
{"budget_reset_at": None},
{"budget_reset_at": {"lt": reset_at}},
{
"NOT": {"budget_duration": None},
"OR": [
{"budget_reset_at": None},
{"budget_reset_at": {"lt": reset_at}},
],
},
{
"budget_duration": None,
"NOT": {"budget_reset_at": None},
"budget_reset_at": {"lt": reset_at},
},
],
},
)