Skip to content
Snippets Groups Projects
Commit 183cbee8 authored by Sarthak Shrivastava's avatar Sarthak Shrivastava
Browse files

really messy semi functional code

parent c058a04e
No related branches found
No related tags found
No related merge requests found
......@@ -8,15 +8,39 @@ import {
Register,
UpdatePassword,
} from "./components/user/index";
import { useState } from "react";
import useToken from "./components/useToken";
// function setToken(userToken) {
// sessionStorage.setItem('token', JSON.stringify(userToken.data));
// }
// function getToken() {
// const tokenString = sessionStorage.getItem('token');
// if (!tokenString)
// return null;
// const userToken = JSON.parse(tokenString);
// if (userToken.user != null)
// return tokenString;
// return null;
// }
function App() {
// const [token, setToken] = useState();
const { token, setToken } = useToken();
// const token = getToken();
if (!token)
{
return <Login setToken={setToken}/>
}
return (
<div className="App">
<Navbar />
<Routes>
<Route path="/" element={<Home />} />
<Route path="/register" element={<Register />} />
<Route path="/login" element={<Login />} />
<Route path="/register" element={<Register />} />
<Route path="/deleteUser" element={<DeleteUser />} />
<Route path="/updatepassword" element={<UpdatePassword />} />
</Routes>
......
import { useState } from 'react';
export default function useToken() {
const getToken = () => {
const tokenString = sessionStorage.getItem('token');
if (!tokenString)
return null;
const userToken = JSON.parse(tokenString);
if (userToken.user != null)
return tokenString;
return null;
};
const [token, setToken] = useState(getToken());
const saveToken = userToken => {
sessionStorage.setItem('token', JSON.stringify(userToken.data));
setToken(userToken.token);
};
return {
setToken: saveToken,
token
}
}
\ No newline at end of file
import React, { useState } from "react";
import Axios from "axios";
export const Login = (props) => {
const [email, setEmail] = useState("");
const [pass, setPass] = useState("");
import PropTypes from "prop-types";
export const Login = ({setToken}) => {
const [email, setEmail] = useState();
const [pass, setPass] = useState();
const handleSubmit = (e) => {
e.preventDefault();
console.log(email);
console.log(pass);
Axios.post("http://localhost:8080/auth/login", {
email: email,
password: pass,
}).then((response) => {
// console.log(typeof(response));
setToken(response);
console.log(response.data);
});
};
return (
......@@ -39,5 +45,7 @@ export const Login = (props) => {
</div>
);
};
Login.propTypes = {
setToken: PropTypes.func.isRequired
};
export default Login;
......@@ -52,6 +52,18 @@
<artifactId>jackson-databind</artifactId>
<version>2.14.2</version>
</dependency>
<!-- JAX-RS Implementation (for example, Jersey) -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
......
package com.example.accessingdatamysql.auth;
import org.springframework.web.bind.annotation.RequestMapping;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import java.util.Map;
import java.util.HashMap;
import java.util.Optional;
import javax.print.attribute.standard.Media;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.example.accessingdatamysql.UserRepository;
import com.example.accessingdatamysql.User;
@Controller
@CrossOrigin
@RequestMapping(path="/auth") // This means URL's start with /demo (after Application path)
public class AuthController {
@Autowired // This means to get the bean called userRepository
// Which is auto-generated by Spring, we will use it to handle the data
private UserRepository userRepository;
@PostMapping(path="/login")
public @ResponseBody Map<String, String> login(@RequestBody Map<String, String> json)
{
// Assuming you have a JSON library for Java, you can use it to build the response
Map<String, String> res = new HashMap<String, String>();
if (!json.containsKey("email") || !json.containsKey("password"))
{
res.put("login", "bad request");
return res;
}
Optional<User> user = userRepository.findById(json.get("email"));
if (user.isPresent())
{
User usr = user.get();
if (usr.getEmail().equals(json.get("email")) && usr.getPassword().equals(json.get("password")))
{
res.put("user", user.get().getEmail());
return res;
}
res.put("login", "failed");
return res;
}
res.put("login", "failed");
return res;
}
}
package com.example.accessingdatamysql.auth;
public class Token {
String token;
}
......@@ -2,6 +2,6 @@
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/inventory
spring.datasource.username=root
spring.datasource.password=CSD@mysql-1872
spring.datasource.password=czarthak
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.jpa.show-sql: true
\ No newline at end of file
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