Skip to content

Commit f57e30d

Browse files
authored
Merge pull request #5800 from nextcloud-libraries/feat/public_reference
feat(NcRichText): Call public reference API when unauthenticated
2 parents 2c8d7a4 + d39b28a commit f57e30d

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

package-lock.json

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"@nextcloud/l10n": "^3.0.1",
7676
"@nextcloud/logger": "^3.0.1",
7777
"@nextcloud/router": "^3.0.0",
78+
"@nextcloud/sharing": "^0.2.2",
7879
"@nextcloud/timezones": "^0.1.1",
7980
"@nextcloud/vue-select": "^3.25.0",
8081
"@vueuse/components": "^10.9.0",

src/components/NcRichText/NcReferenceList.vue

+18-6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import NcReferenceWidget from './NcReferenceWidget.vue'
1515
import { URL_PATTERN } from './helpers.js'
1616

1717
import axios from '@nextcloud/axios'
18+
import { getSharingToken } from '@nextcloud/sharing/public'
19+
import { getCurrentUser } from '@nextcloud/auth'
1820
import { generateOcsUrl } from '@nextcloud/router'
1921

2022
export default {
@@ -118,15 +120,25 @@ export default {
118120
},
119121
resolve() {
120122
const match = (new RegExp(URL_PATTERN).exec(this.text.trim()))
123+
const isPublic = getCurrentUser() === null
121124
if (this.limit === 1 && match) {
122-
return axios.get(generateOcsUrl('references/resolve', 2) + `?reference=${encodeURIComponent(match[0])}`)
125+
return isPublic
126+
? axios.get(generateOcsUrl('references/resolvePublic') + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`)
127+
: axios.get(generateOcsUrl('references/resolve') + `?reference=${encodeURIComponent(match[0])}`)
123128
}
124129

125-
return axios.post(generateOcsUrl('references/extract', 2), {
126-
text: this.text,
127-
resolve: true,
128-
limit: this.limit,
129-
})
130+
return isPublic
131+
? axios.post(generateOcsUrl('references/extractPublic'), {
132+
text: this.text,
133+
resolve: true,
134+
limit: this.limit,
135+
sharingToken: getSharingToken(),
136+
})
137+
: axios.post(generateOcsUrl('references/extract'), {
138+
text: this.text,
139+
resolve: true,
140+
limit: this.limit,
141+
})
130142
},
131143
},
132144
}

0 commit comments

Comments
 (0)