import type { ReqHandler } from "@ethicdevs/react-monolith";
import { AppRoute } from "../../routes";
import { makeUsersService } from "../../services/user";
import DashboardView, {
DashboardViewProps,
} from "../../views/auth/DashboardView";
const getDashboardView: ReqHandler = async (request, reply) => {
const { authenticated, curr_user_uid } = request.session.data;
if (authenticated === false || curr_user_uid == null) {
reply.redirect(307, request.namedViewsPathMap[AppRoute.AUTH_LOGIN]);
return reply;
}
const usersService = makeUsersService({ request });
const currentUser = await usersService.getUserById(curr_user_uid);
const repositories = await usersService.getUserRepositories(curr_user_uid);
const reqHandler = reply.makeRequestHandler(request, reply);
return reqHandler<DashboardViewProps>(DashboardView.name, {
currentUser,
repositories,
});
};
export default getDashboardView;