[ 
https://issues.apache.org/jira/browse/USERGRID-1338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhinav Sinha updated USERGRID-1338:
------------------------------------
    Description: 
Both the new Edge UI, and API calls to email addresses or usernames with + in 
the string return no results. It appears the character is being stripped out 
and replaced with a space.

Tests, where both username and email address are set to 
'[email protected]':

GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where 
username='[email protected]'
GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where 
email='[email protected]'

{code}
{
  "action": "get",
  "params": {
    "ql": [
      "select * where email='brandon [email protected]'"
    ]
  },
  "path": "/users",
  "uri": "https://apibaas-trial.apigee.net/org/app/users";,
  "entities": [],
  "timestamp": 1488398745552,
  "duration": 40,
  "organization": "org",
  "applicationName": "global",
  "count": 0
}
{code}

I tried working around this by url-encoding the + character to %2b, but while 
the response shows the character correctly, there are still no results found:

{code}
"params": {
    "ql": [
      "select * where email = '[email protected]'"
    ]
  },
{code}

There are two workarounds so far:

1. access the user entity directly through the / notation:
[baasurl]/users/[email protected]

2. URLencode the '+' char manually in the UI to '%2b'. The ui then encodes this 
again into '%252b', and can then retrieve the correct entity

  was:
Both the new Edge UI, and API calls to email addresses or usernames with + in 
the string return no results. It appears the character is being stripped out 
and replaced with a space.

Tests, where both username and email address are set to 
'[email protected]':

GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where 
username='[email protected]'
GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where 
email='[email protected]'

{code}
{
  "action": "get",
  "params": {
    "ql": [
      "select * where email='brandon [email protected]'"
    ]
  },
  "path": "/users",
  "uri": "https://apibaas-trial.apigee.net/org/app/users";,
  "entities": [],
  "timestamp": 1488398745552,
  "duration": 40,
  "organization": "org",
  "applicationName": "global",
  "count": 0
}
{code}

I tried working around this by url-encoding the + character to %2b, but while 
the response shows the character correctly, there are still no results found:

{code}
"params": {
    "ql": [
      "select * where email = '[email protected]'"
    ]
  },
{code}

The only workaround so far is to use the / notation to access users:

[baasurl]/users/[email protected]


> Email addresses or usernames with + character do not appear in search results 
> for users
> ---------------------------------------------------------------------------------------
>
>                 Key: USERGRID-1338
>                 URL: https://issues.apache.org/jira/browse/USERGRID-1338
>             Project: Usergrid
>          Issue Type: Bug
>          Components: Portal, Stack
>    Affects Versions: 2.2.0
>            Reporter: Brandon Shelley
>
> Both the new Edge UI, and API calls to email addresses or usernames with + in 
> the string return no results. It appears the character is being stripped out 
> and replaced with a space.
> Tests, where both username and email address are set to 
> '[email protected]':
> GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where 
> username='[email protected]'
> GET https://apibaas-trial.apigee.net/org/app/users/?ql=select * where 
> email='[email protected]'
> {code}
> {
>   "action": "get",
>   "params": {
>     "ql": [
>       "select * where email='brandon [email protected]'"
>     ]
>   },
>   "path": "/users",
>   "uri": "https://apibaas-trial.apigee.net/org/app/users";,
>   "entities": [],
>   "timestamp": 1488398745552,
>   "duration": 40,
>   "organization": "org",
>   "applicationName": "global",
>   "count": 0
> }
> {code}
> I tried working around this by url-encoding the + character to %2b, but while 
> the response shows the character correctly, there are still no results found:
> {code}
> "params": {
>     "ql": [
>       "select * where email = '[email protected]'"
>     ]
>   },
> {code}
> There are two workarounds so far:
> 1. access the user entity directly through the / notation:
> [baasurl]/users/[email protected]
> 2. URLencode the '+' char manually in the UI to '%2b'. The ui then encodes 
> this again into '%252b', and can then retrieve the correct entity



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to