App: encode primary key (#5143)

* app: encode primary key
Since primary keys could be manually entered strings,
we should encode those in order to prevent accessing
inexistent routes.
E.g.
Document with primary key: 'clients/John Doe'

* fixup! app: encode primary key Since primary keys could be manually entered strings, we should encode those in order to prevent accessing inexistent routes. E.g. Document with primary key: 'clients/John Doe'

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
This commit is contained in:
José Varela
2021-04-19 16:35:01 +01:00
committed by GitHub
parent 7fbba272ad
commit acc145006c
10 changed files with 12 additions and 12 deletions

View File

@@ -234,7 +234,7 @@ export default defineComponent({
try {
const endpoint = relatedCollection.value.collection.startsWith('directus_')
? `/${relatedCollection.value.collection.substring(9)}/${props.value}`
: `/items/${relatedCollection.value.collection}/${props.value}`;
: `/items/${relatedCollection.value.collection}/${encodeURIComponent(props.value)}`;
const response = await api.get(endpoint, {
params: {

View File

@@ -149,7 +149,7 @@ export default defineComponent({
loading.value = true;
try {
const response = await api.get(`/items/${props.collection}/${props.primaryKey}`, {
const response = await api.get(`/items/${props.collection}/${encodeURIComponent(props.primaryKey)}`, {
params: {
fields: getFieldsToFetch(),
},