aboutsummaryrefslogtreecommitdiff
path: root/src/components/remote_user_resolver/remote_user_resolver.js
diff options
context:
space:
mode:
authorHakaba Hitoyo <hakabahitoyo@yahoo.co.jp>2019-11-08 22:27:25 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2019-11-08 22:27:25 +0000
commite4820012a3573ad02846d254fedb0cfa36582fdf (patch)
tree0f932a94beb495065409a2a32749b138b99f5808 /src/components/remote_user_resolver/remote_user_resolver.js
parent2b68134ab01266913b89b79ea6c3e9575278ecb2 (diff)
redirect /remote-users/:username@:hostname -> /users/:id, /remote-users/:hostname/:username -> /users/:id
Diffstat (limited to 'src/components/remote_user_resolver/remote_user_resolver.js')
-rw-r--r--src/components/remote_user_resolver/remote_user_resolver.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/components/remote_user_resolver/remote_user_resolver.js b/src/components/remote_user_resolver/remote_user_resolver.js
new file mode 100644
index 00000000..9b5e511e
--- /dev/null
+++ b/src/components/remote_user_resolver/remote_user_resolver.js
@@ -0,0 +1,31 @@
+const RemoteUserResolver = {
+ data: () => ({
+ error: false
+ }),
+ mounted () {
+ this.redirect()
+ },
+ methods: {
+ redirect () {
+ const acct = this.$route.params.username + '@' + this.$route.params.hostname
+ this.$store.state.api.backendInteractor.fetchUser({ id: acct })
+ .then((externalUser) => {
+ if (externalUser.error) {
+ this.error = true
+ } else {
+ this.$store.commit('addNewUsers', [externalUser])
+ const id = externalUser.id
+ this.$router.replace({
+ name: 'external-user-profile',
+ params: { id }
+ })
+ }
+ })
+ .catch(() => {
+ this.error = true
+ })
+ }
+ }
+}
+
+export default RemoteUserResolver