Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
aisbf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexlab
aisbf
Commits
2cccd183
Commit
2cccd183
authored
May 10, 2026
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: replace deprecated fastapi query regex constraints
parent
70701894
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
9 deletions
+13
-9
settings.py
aisbf/routes/dashboard/settings.py
+5
-5
test_dashboard_studio.py
tests/routes/test_dashboard_studio.py
+8
-4
No files found.
aisbf/routes/dashboard/settings.py
View file @
2cccd183
...
@@ -756,11 +756,11 @@ async def dashboard_users(
...
@@ -756,11 +756,11 @@ async def dashboard_users(
page
:
int
=
Query
(
1
,
ge
=
1
),
page
:
int
=
Query
(
1
,
ge
=
1
),
limit
:
int
=
Query
(
25
,
ge
=
1
,
le
=
100
),
limit
:
int
=
Query
(
25
,
ge
=
1
,
le
=
100
),
search
:
str
=
Query
(
None
,
max_length
=
100
),
search
:
str
=
Query
(
None
,
max_length
=
100
),
order_by
:
str
=
Query
(
'created_at'
,
regex
=
'^(username|last_login|created_at|tier_name)$'
),
order_by
:
str
=
Query
(
'created_at'
,
pattern
=
'^(username|last_login|created_at|tier_name)$'
),
direction
:
str
=
Query
(
'desc'
,
regex
=
'^(asc|desc)$'
),
direction
:
str
=
Query
(
'desc'
,
pattern
=
'^(asc|desc)$'
),
status_filter
:
str
=
Query
(
None
,
regex
=
'^(active|inactive)$'
),
status_filter
:
str
=
Query
(
None
,
pattern
=
'^(active|inactive)$'
),
role_filter
:
str
=
Query
(
None
,
regex
=
'^(admin|user)$'
)
role_filter
:
str
=
Query
(
None
,
pattern
=
'^(admin|user)$'
)
):
):
"""Admin user management page"""
"""Admin user management page"""
auth_check
=
require_admin
(
request
)
auth_check
=
require_admin
(
request
)
if
auth_check
:
if
auth_check
:
...
...
tests/routes/test_dashboard_studio.py
View file @
2cccd183
...
@@ -584,10 +584,14 @@ def test_dashboard_user_query_uses_pattern_constraints():
...
@@ -584,10 +584,14 @@ def test_dashboard_user_query_uses_pattern_constraints():
route
=
next
(
route
for
route
in
dashboard_settings
.
router
.
routes
if
route
.
endpoint
is
dashboard_settings
.
dashboard_users
)
route
=
next
(
route
for
route
in
dashboard_settings
.
router
.
routes
if
route
.
endpoint
is
dashboard_settings
.
dashboard_users
)
query_params
=
{
param
.
name
:
param
for
param
in
route
.
dependant
.
query_params
}
query_params
=
{
param
.
name
:
param
for
param
in
route
.
dependant
.
query_params
}
assert
query_params
[
"order_by"
]
.
field_info
.
json_schema_extra
==
{
"pattern"
:
"^(username|last_login|created_at|tier_name)$"
}
def
pattern_for
(
param_name
):
assert
query_params
[
"direction"
]
.
field_info
.
json_schema_extra
==
{
"pattern"
:
"^(asc|desc)$"
}
metadata
=
query_params
[
param_name
]
.
field_info
.
metadata
assert
query_params
[
"status_filter"
]
.
field_info
.
json_schema_extra
==
{
"pattern"
:
"^(active|inactive)$"
}
return
next
((
item
.
pattern
for
item
in
metadata
if
hasattr
(
item
,
"pattern"
)),
None
)
assert
query_params
[
"role_filter"
]
.
field_info
.
json_schema_extra
==
{
"pattern"
:
"^(admin|user)$"
}
assert
pattern_for
(
"order_by"
)
==
"^(username|last_login|created_at|tier_name)$"
assert
pattern_for
(
"direction"
)
==
"^(asc|desc)$"
assert
pattern_for
(
"status_filter"
)
==
"^(active|inactive)$"
assert
pattern_for
(
"role_filter"
)
==
"^(admin|user)$"
source
=
inspect
.
getsource
(
dashboard_settings
.
dashboard_users
)
source
=
inspect
.
getsource
(
dashboard_settings
.
dashboard_users
)
assert
"regex="
not
in
source
assert
"regex="
not
in
source
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment