Merge branch 'fix-page-accessible-without-login' into 'master'

Fix page accessible without login

See merge request framasoft/mobilizon!645
This commit is contained in:
Thomas Citharel 2020-10-24 17:52:19 +02:00
commit c3bada8428
4 changed files with 17 additions and 9 deletions

View file

@ -13,7 +13,7 @@ export const discussionRoutes: RouteConfig[] = [
component: () =>
import(/* webpackChunkName: "DiscussionsList" */ "@/views/Discussions/DiscussionsList.vue"),
props: true,
meta: { requiredAuth: false },
meta: { requiredAuth: true },
},
{
path: "/@:preferredUsername/discussions/new",
@ -29,6 +29,6 @@ export const discussionRoutes: RouteConfig[] = [
component: () =>
import(/* webpackChunkName: "Discussion" */ "@/views/Discussions/Discussion.vue"),
props: true,
meta: { requiredAuth: false },
meta: { requiredAuth: true },
},
];

View file

@ -83,12 +83,14 @@ export const groupsRoutes: RouteConfig[] = [
component: () => import("@/views/Posts/Edit.vue"),
props: true,
name: GroupsRouteName.POST_CREATE,
meta: { requiredAuth: true },
},
{
path: "/p/:slug/edit",
component: () => import("@/views/Posts/Edit.vue"),
props: (route: Route) => ({ ...route.params, ...{ isUpdate: true } }),
name: GroupsRouteName.POST_EDIT,
meta: { requiredAuth: true },
},
{
path: "/p/:slug",

View file

@ -40,6 +40,7 @@ export const settingsRoutes: RouteConfig[] = [
path: "account",
name: SettingsRouteName.ACCOUNT_SETTINGS,
redirect: { name: SettingsRouteName.ACCOUNT_SETTINGS_GENERAL },
meta: { requiredAuth: true },
},
{
path: "account/general",
@ -69,6 +70,7 @@ export const settingsRoutes: RouteConfig[] = [
path: "admin",
name: SettingsRouteName.ADMIN,
redirect: { name: SettingsRouteName.ADMIN_DASHBOARD },
meta: { requiredAuth: true },
},
{
path: "admin/dashboard",
@ -136,27 +138,30 @@ export const settingsRoutes: RouteConfig[] = [
name: SettingsRouteName.RELAYS,
redirect: { name: SettingsRouteName.RELAY_FOLLOWINGS },
component: () => import(/* webpackChunkName: "Follows" */ "@/views/Admin/Follows.vue"),
meta: { requiredAuth: true },
children: [
{
path: "followings",
name: SettingsRouteName.RELAY_FOLLOWINGS,
component: () =>
import(/* webpackChunkName: "Followings" */ "@/components/Admin/Followings.vue"),
meta: { requiredAuth: true },
},
{
path: "followers",
name: SettingsRouteName.RELAY_FOLLOWERS,
component: () =>
import(/* webpackChunkName: "Followers" */ "@/components/Admin/Followers.vue"),
meta: { requiredAuth: true },
},
],
props: true,
meta: { requiredAuth: true },
},
{
path: "/moderation",
name: SettingsRouteName.MODERATION,
redirect: { name: SettingsRouteName.REPORTS },
meta: { requiredAuth: true },
},
{
path: "/moderation/reports/:filter?",
@ -185,6 +190,7 @@ export const settingsRoutes: RouteConfig[] = [
path: "/identity",
name: SettingsRouteName.IDENTITIES,
redirect: { name: SettingsRouteName.UPDATE_IDENTITY },
meta: { requiredAuth: true },
},
{
path: "/identity/create",
@ -194,6 +200,7 @@ export const settingsRoutes: RouteConfig[] = [
/* webpackChunkName: "EditIdentity" */ "@/views/Account/children/EditIdentity.vue"
),
props: (route) => ({ identityName: route.params.identityName, isUpdate: false }),
meta: { requiredAuth: true },
},
{
path: "/identity/update/:identityName?",
@ -203,6 +210,7 @@ export const settingsRoutes: RouteConfig[] = [
/* webpackChunkName: "EditIdentity" */ "@/views/Account/children/EditIdentity.vue"
),
props: (route) => ({ identityName: route.params.identityName, isUpdate: true }),
meta: { requiredAuth: true },
},
],
},

View file

@ -27,12 +27,10 @@ import RouteName from "../router/name";
skip() {
try {
const url = this.$route.query.url as string;
new URL(url);
return false;
const uri = new URL(url);
return !(uri instanceof URL);
} catch (e) {
if (e instanceof TypeError) {
return true;
}
return true;
}
},
async result({ data }) {
@ -42,7 +40,7 @@ import RouteName from "../router/name";
data.searchEvents.elements.length > 0
) {
const event = data.searchEvents.elements[0];
return await this.$router.replace({
await this.$router.replace({
name: RouteName.EVENT,
params: { uuid: event.uuid },
});