@@ -12,6 +12,7 @@ import logger from '~/utils/logger'
12
12
import { paginationUrlParams } from '~/utils/postgrestUrl'
13
13
import { RsdAccountInfo } from './useRsdAccounts'
14
14
import { LockAccountProps } from './LockUserModal'
15
+ import { orcidRegex } from '~/utils/getORCID'
15
16
16
17
type getLoginApiParams = {
17
18
token : string ,
@@ -36,13 +37,16 @@ export async function getRsdAccounts({page,rows,token,searchFor,adminsOnly,locke
36
37
}
37
38
// search
38
39
if ( searchFor ) {
39
- if ( searchFor . match ( / ^ [ 0 - 9 A - F ] { 8 } - [ 0 - 9 A - F ] { 4 } - [ 4 ] [ 0 - 9 A - F ] { 3 } - [ 8 9 A B ] [ 0 - 9 A - F ] { 3 } - [ 0 - 9 A - F ] { 12 } $ / i) !== null ) {
40
- // if searchFor is uuid we search by account id
40
+ if ( / ^ [ 0 - 9 A - F ] { 8 } - [ 0 - 9 A - F ] { 4 } - 4 [ 0 - 9 A - F ] { 3 } - [ 8 9 A B ] [ 0 - 9 A - F ] { 3 } - [ 0 - 9 A - F ] { 12 } $ / i. test ( searchFor ) ) {
41
+ // if searchFor is a UUID we search by account ID
41
42
query += `&id=eq.${ searchFor } `
42
- } else {
43
- // else we search by name, email or organisation
44
- query += `&login_for_account_text_filter.or=(name.ilike."*${ searchFor } *",email.ilike."*${ searchFor } *",home_organisation.ilike."*${ searchFor } *")`
45
- }
43
+ } else if ( orcidRegex . test ( searchFor ) ) {
44
+ // else if searchFor is an ORCID we search on login_for_account sub
45
+ query += `&login_for_account_text_filter.sub=eq.${ searchFor } &login_for_account_text_filter.provider=eq.orcid`
46
+ } else {
47
+ // else we search by name, email or organisation
48
+ query += `&login_for_account_text_filter.or=(name.ilike."*${ searchFor } *",email.ilike."*${ searchFor } *",home_organisation.ilike."*${ searchFor } *")`
49
+ }
46
50
}
47
51
// complete url
48
52
const url = `${ getBaseUrl ( ) } /account?${ query } `
@@ -168,7 +172,7 @@ export async function lockRsdAcount({
168
172
169
173
let resp
170
174
171
- if ( account . lock_account === true ) {
175
+ if ( account . lock_account ) {
172
176
resp = await fetch ( url , {
173
177
method : 'PUT' ,
174
178
headers : {
0 commit comments