Skip to content
Snippets Groups Projects
Commit a8efdd61 authored by Chif Gergő's avatar Chif Gergő
Browse files

Add register mutation

parent f4091167
No related branches found
No related tags found
2 merge requests!19fix type imports,!17Authentication
......@@ -3,10 +3,17 @@ import { UserResponse } from './types';
type MeQuery = () => Promise<UserResponse>;
type LogoutQuery = () => Promise<any>;
type RegisterQuery = (data: ProfileData) => Promise<any>;
export type ProfileData = {
studentCardNumber: string;
roomNumber: number;
};
export type AuthClient = {
me: MeQuery;
logout: LogoutQuery;
register: RegisterQuery;
};
export function auth(config: AxiosRequestConfig): AuthClient {
......@@ -23,8 +30,13 @@ export function auth(config: AxiosRequestConfig): AuthClient {
return (await axios.get<any>('/logout')).data;
};
const register: RegisterQuery = async (data: ProfileData): Promise<any> => {
return (await axios.post('/users/me', data)).data;
};
return {
me,
logout,
register,
};
}
import { useMutation, UseMutationResult } from 'react-query';
import { ProfileData } from '../client/auth';
import useClientContext from './useClientContext';
export default function useRegister(): UseMutationResult<any, Error, ProfileData> {
const client = useClientContext();
return useMutation<any, Error, ProfileData>('register', async (data: ProfileData) =>
client.client.auth.register(data),
);
}
import { Box, makeStyles, Theme, useMediaQuery } from '@material-ui/core';
import React from 'react';
import React, { useEffect } from 'react';
import DrawerMenu from '../components/DrawerMenu';
import Footer from '../components/Footer';
import Header from '../components/Header';
import MobileHeader from '../components/MobileHeader';
import useLogout from '../hooks/useLogout';
import useRegister from '../hooks/useRegister';
import { useToggle } from '../hooks/useToggle';
const useStyles = makeStyles((theme) => ({
......@@ -22,6 +23,12 @@ const Page: React.FC = ({ children }) => {
const { refetch: logout } = useLogout({ enabled: false });
const classes = useStyles();
const { mutate } = useRegister();
useEffect(() => {
mutate({ roomNumber: 1300, studentCardNumber: '122223455' });
}, [mutate]);
const handleLogout = (): void => {
logout();
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment