mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
feat: auth users search (#20362)
* auth users search uid * update new users UI --------- Co-authored-by: Alaister Young <a@alaisteryoung.com>
This commit is contained in:
1 parent
ff0a368fab
commit
97a38375f0
3 files changed
+17
-16
No files matched your search
@@ -81,10 +81,10 @@ export const Users = () => {
|
||||
onKeyDown={(e) => {
|
||||
if (e.keyCode == 13) setFilterKeywords(search)
|
||||
}}
|
||||
className="min-w-[275px]"
|
||||
className="min-w-[300px]"
|
||||
name="email"
|
||||
id="email"
|
||||
placeholder="Search by email or phone number"
|
||||
placeholder="Search by email, phone number or UID"
|
||||
icon={<Search size={14} />}
|
||||
actions={[
|
||||
search && (
|
||||
|
||||
@@ -385,7 +385,7 @@ export const UsersV2 = () => {
|
||||
size="tiny"
|
||||
className="w-64"
|
||||
icon={<Search size={14} className="text-foreground-lighter" />}
|
||||
placeholder="Search by email or phone number"
|
||||
placeholder="Search by email, phone number or UID"
|
||||
value={search}
|
||||
onChange={(e) => setSearch(e.target.value)}
|
||||
onKeyDown={(e) => {
|
||||
|
||||
@@ -35,12 +35,13 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
let queryUsers = ''
|
||||
|
||||
if (hasValidKeywords && !hasVerifiedValue) {
|
||||
queryCount = SqlString.format('SELECT count(*) from auth.users WHERE email ilike ?;', [
|
||||
`%${keywords}%`,
|
||||
])
|
||||
queryCount = SqlString.format(
|
||||
'SELECT count(*) from auth.users WHERE (email ilike ? OR id::text ilike ?);',
|
||||
[`%${keywords}%`, `%${keywords}%`]
|
||||
)
|
||||
queryUsers = SqlString.format(
|
||||
'SELECT * from auth.users WHERE email ilike ? ORDER BY created_at DESC LIMIT ? OFFSET ?;',
|
||||
[`%${keywords}%`, limitInt, offsetInt]
|
||||
'SELECT * from auth.users WHERE (email ilike ? OR id::text ilike ?) ORDER BY created_at DESC LIMIT ? OFFSET ?;',
|
||||
[`%${keywords}%`, `%${keywords}%`, limitInt, offsetInt]
|
||||
)
|
||||
}
|
||||
|
||||
@@ -68,22 +69,22 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
if (hasValidKeywords && hasVerifiedValue) {
|
||||
if (verified === 'verified') {
|
||||
queryCount = SqlString.format(
|
||||
'SELECT count(*) from auth.users WHERE (email_confirmed_at IS NOT NULL or phone_confirmed_at IS NOT NULL) AND email ilike ?;',
|
||||
[`%${keywords}%`]
|
||||
'SELECT count(*) from auth.users WHERE (email_confirmed_at IS NOT NULL or phone_confirmed_at IS NOT NULL) AND (email ilike ? OR id::text ilike ?);',
|
||||
[`%${keywords}%`, `%${keywords}%`]
|
||||
)
|
||||
queryUsers = SqlString.format(
|
||||
'SELECT * from auth.users WHERE (email_confirmed_at IS NOT NULL or phone_confirmed_at IS NOT NULL) AND email ilike ? ORDER BY created_at DESC LIMIT ? OFFSET ?;',
|
||||
[`%${keywords}%`, limitInt, offsetInt]
|
||||
'SELECT * from auth.users WHERE (email_confirmed_at IS NOT NULL or phone_confirmed_at IS NOT NULL) AND (email ilike ? OR id::text ilike ?) ORDER BY created_at DESC LIMIT ? OFFSET ?;',
|
||||
[`%${keywords}%`, `%${keywords}%`, limitInt, offsetInt]
|
||||
)
|
||||
}
|
||||
if (verified === 'unverified') {
|
||||
queryCount = SqlString.format(
|
||||
'SELECT count(*) from auth.users WHERE (email_confirmed_at IS NULL AND phone_confirmed_at IS NULL) AND email ilike ?;',
|
||||
[`%${keywords}%`]
|
||||
'SELECT count(*) from auth.users WHERE (email_confirmed_at IS NULL AND phone_confirmed_at IS NULL) AND (email ilike ? OR id::text ilike ?);',
|
||||
[`%${keywords}%`, `%${keywords}%`]
|
||||
)
|
||||
queryUsers = SqlString.format(
|
||||
'SELECT * from auth.users WHERE (email_confirmed_at IS NULL AND phone_confirmed_at IS NULL) AND email ilike ? ORDER BY created_at DESC LIMIT ? OFFSET ?;',
|
||||
[`%${keywords}%`, limitInt, offsetInt]
|
||||
'SELECT * from auth.users WHERE (email_confirmed_at IS NULL AND phone_confirmed_at IS NULL) AND (email ilike ? OR id::text ilike ?) ORDER BY created_at DESC LIMIT ? OFFSET ?;',
|
||||
[`%${keywords}%`, `%${keywords}%`, limitInt, offsetInt]
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user