refactored installer and removed RequireSuperuserAuthOnlyIfAny
This commit is contained in:
@@ -9,85 +9,81 @@ import PageMail from "@/components/settings/PageMail.svelte";
|
||||
import PageStorage from "@/components/settings/PageStorage.svelte";
|
||||
import PageSuperuserLogin from "@/components/superusers/PageSuperuserLogin.svelte";
|
||||
import ApiClient from "@/utils/ApiClient";
|
||||
import { replace } from "svelte-spa-router";
|
||||
import { isTokenExpired } from "pocketbase";
|
||||
import { wrap } from "svelte-spa-router/wrap";
|
||||
|
||||
const baseConditions = [
|
||||
async (details) => {
|
||||
const realQueryParams = new URLSearchParams(window.location.search);
|
||||
|
||||
if (details.location !== "/" && realQueryParams.has(import.meta.env.PB_INSTALLER_PARAM)) {
|
||||
return replace("/")
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
];
|
||||
|
||||
const routes = {
|
||||
"/pbinstal/:token": wrap({
|
||||
asyncComponent: () => import("@/components/base/PageInstaller.svelte"),
|
||||
conditions: [(details) => {
|
||||
return details.params.token && !isTokenExpired(details.params.token)
|
||||
}],
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
"/login": wrap({
|
||||
component: PageSuperuserLogin,
|
||||
conditions: baseConditions.concat([(_) => !ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => !ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
"/request-password-reset": wrap({
|
||||
asyncComponent: () => import("@/components/superusers/PageSuperuserRequestPasswordReset.svelte"),
|
||||
conditions: baseConditions.concat([(_) => !ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => !ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
"/confirm-password-reset/:token": wrap({
|
||||
asyncComponent: () => import("@/components/superusers/PageSuperuserConfirmPasswordReset.svelte"),
|
||||
conditions: baseConditions.concat([(_) => !ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => !ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
"/collections": wrap({
|
||||
component: PageRecords,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/logs": wrap({
|
||||
component: PageLogs,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/settings": wrap({
|
||||
component: PageApplication,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/settings/mail": wrap({
|
||||
component: PageMail,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/settings/storage": wrap({
|
||||
component: PageStorage,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/settings/export-collections": wrap({
|
||||
component: PageExportCollections,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/settings/import-collections": wrap({
|
||||
component: PageImportCollections,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
"/settings/backups": wrap({
|
||||
component: PageBackups,
|
||||
conditions: baseConditions.concat([(_) => ApiClient.authStore.isValid]),
|
||||
conditions: [(_) => ApiClient.authStore.isValid],
|
||||
userData: { showAppSidebar: true },
|
||||
}),
|
||||
|
||||
@@ -98,48 +94,40 @@ const routes = {
|
||||
// @deprecated
|
||||
"/users/confirm-password-reset/:token": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageRecordConfirmPasswordReset.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
"/auth/confirm-password-reset/:token": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageRecordConfirmPasswordReset.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
// @deprecated
|
||||
"/users/confirm-verification/:token": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageRecordConfirmVerification.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
"/auth/confirm-verification/:token": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageRecordConfirmVerification.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
// @deprecated
|
||||
"/users/confirm-email-change/:token": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageRecordConfirmEmailChange.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
"/auth/confirm-email-change/:token": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageRecordConfirmEmailChange.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
"/auth/oauth2-redirect-success": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageOAuth2RedirectSuccess.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
"/auth/oauth2-redirect-failure": wrap({
|
||||
asyncComponent: () => import("@/components/records/PageOAuth2RedirectFailure.svelte"),
|
||||
conditions: baseConditions,
|
||||
userData: { showAppSidebar: false },
|
||||
}),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user