Authenticated user has to be the only one able to edit/delete a post. Using express js

Viewed 22

My app is adding posts, editing and deleting using mongodb but it does not matter who signs in, anybody can modify any post and what I am trying to do is only allow the user who posted it to be able to do CRDU.

This is my UserProvider.js for client:

import axios from "axios";
import UserContext from "./UserContext";
import React from "react";

export const UserProvider = (props) => {

    const baseUrl = "http://localhost:3000/api/users";

    function createUser(username, password, firstName, lastName) {       
        let user = { username, password, firstName, lastName };
        // changes here
        return axios.post(baseUrl, user)
            .then(response => {
                return new Promise(resolve => resolve(response.data));
            }
        );
    }

    function signInUser(username, password) {
        let user = { username, password };

        return axios.post(`${baseUrl}/login`, user)
            .then(response => {
                localStorage.setItem('myCoffeeToken', response.data.token)
                return new Promise(resolve => resolve(response.data));
            }
        );
    }

    return (
        <UserContext.Provider value={{
            createUser,
            signInUser
        }}>
            { props.children }
        </UserContext.Provider>
    )
}
0 Answers
Related