Updated redirect implementation
This commit is contained in:
@@ -23,11 +23,11 @@ export function getServerSideProps({
|
|||||||
res: any;
|
res: any;
|
||||||
}) {
|
}) {
|
||||||
if (!query || !query.oobCode || !query.mode) {
|
if (!query || !query.oobCode || !query.mode) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {},
|
redirect: {
|
||||||
|
destination: "/login",
|
||||||
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,24 +10,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user)) {
|
if (shouldRedirectHome(user)) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,24 +10,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user)) {
|
if (shouldRedirectHome(user)) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,24 +26,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user) || user.type !== "developer") {
|
if (shouldRedirectHome(user) || user.type !== "developer") {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import Select from "react-select";
|
|||||||
import {USER_TYPE_LABELS} from "@/resources/user";
|
import {USER_TYPE_LABELS} from "@/resources/user";
|
||||||
|
|
||||||
export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
||||||
|
debugger;
|
||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
const envVariables: {[key: string]: string} = {};
|
const envVariables: {[key: string]: string} = {};
|
||||||
@@ -45,14 +46,11 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
envVariables,
|
permanent: false,
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +59,13 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
};
|
};
|
||||||
}, sessionOptions);
|
}, sessionOptions);
|
||||||
|
|
||||||
export default function Home({envVariables}: {envVariables: {[key: string]: string}}) {
|
interface Props {
|
||||||
|
user: any;
|
||||||
|
envVariables: {[key: string]: string};
|
||||||
|
}
|
||||||
|
export default function Home(props: Props) {
|
||||||
|
const { envVariables} = props;
|
||||||
|
debugger;
|
||||||
const [showDiagnostics, setShowDiagnostics] = useState(false);
|
const [showDiagnostics, setShowDiagnostics] = useState(false);
|
||||||
const [showDemographicInput, setShowDemographicInput] = useState(false);
|
const [showDemographicInput, setShowDemographicInput] = useState(false);
|
||||||
const [selectedScreen, setSelectedScreen] = useState<Type>("admin");
|
const [selectedScreen, setSelectedScreen] = useState<Type>("admin");
|
||||||
|
|||||||
@@ -22,14 +22,11 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
envVariables,
|
permanent: false,
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,14 +31,11 @@ export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (user && user.isVerified) {
|
if (user && user.isVerified) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
envVariables,
|
permanent: false,
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,24 +42,20 @@ export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user) || !["admin", "developer"].includes(user.type)) {
|
if (shouldRedirectHome(user) || !["admin", "developer"].includes(user.type)) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import PaymentDue from "./(status)/PaymentDue";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
|
|
||||||
export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
||||||
|
debugger;
|
||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
const envVariables: { [key: string]: string } = {};
|
const envVariables: { [key: string]: string } = {};
|
||||||
@@ -17,14 +18,11 @@ export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
envVariables,
|
permanent: false,
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,6 +36,7 @@ export default function Home({
|
|||||||
}: {
|
}: {
|
||||||
envVariables: { [key: string]: string };
|
envVariables: { [key: string]: string };
|
||||||
}) {
|
}) {
|
||||||
|
debugger;
|
||||||
const { user } = useUser({ redirectTo: "/login" });
|
const { user } = useUser({ redirectTo: "/login" });
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
|||||||
@@ -37,24 +37,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user)) {
|
if (shouldRedirectHome(user)) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,24 +30,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user)) {
|
if (shouldRedirectHome(user)) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,24 +18,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user) || user.type !== "developer") {
|
if (shouldRedirectHome(user) || user.type !== "developer") {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,24 +35,20 @@ export const getServerSideProps = withIronSessionSsr(({req, res}) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldRedirectHome(user)) {
|
if (shouldRedirectHome(user)) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,13 +35,11 @@ export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
|||||||
const user = req.session.user;
|
const user = req.session.user;
|
||||||
|
|
||||||
if (!user || !user.isVerified) {
|
if (!user || !user.isVerified) {
|
||||||
res.setHeader("location", "/login");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/login",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,13 +47,11 @@ export const getServerSideProps = withIronSessionSsr(({ req, res }) => {
|
|||||||
shouldRedirectHome(user) ||
|
shouldRedirectHome(user) ||
|
||||||
["admin", "developer", "agent"].includes(user.type)
|
["admin", "developer", "agent"].includes(user.type)
|
||||||
) {
|
) {
|
||||||
res.setHeader("location", "/");
|
|
||||||
res.statusCode = 302;
|
|
||||||
res.end();
|
|
||||||
return {
|
return {
|
||||||
props: {
|
redirect: {
|
||||||
user: null,
|
destination: "/",
|
||||||
},
|
permanent: false,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user