'how can i get the specific info about a user
i'm working on a web app in which a user can create an address when logged in, how can i get the current logged in user address which was created by the user
these my address route
const router = require("express").Router();
const Address = require("../models/address");
const User = require("../models/user");
const jwt = require("jsonwebtoken");
router.get('/addresses', (req, res, next) => {
let token = req.headers.token; //token
jwt.verify(token, 'secretkey', (err, decoded) => {
if (err) return res.status(401).json({
title: 'unauthorized'
})
//token is valid
Address.findOne({ _id: decoded.addressId }, (err, user) => {
if (err) return console.log(err)
return res.status(200).json({
title: 'adress grabbed',
address: {
streetAddress: user.streetAddress,
fullName: user.fullName
}
})
})
})
})
i get unauthorised any time i want to get the address of the current user
my db schema
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const AddressSchema = new Schema({
user: { type: Schema.Types.ObjectId, ref: "User" },
country: String,
fullName: String,
streetAddress: String,
city: String,
state: String,
zipCode: Number,
phoneNumber: String,
deliverInstructions: String,
securityCode: String
});
module.exports = mongoose.model("Address", AddressSchema);
my auth route to get details of current user
//grabbing user info
router.get('/auth/user', (req, res, next) => {
let token = req.headers.token; //token
jwt.verify(token, 'secretkey', (err, decoded) => {
if (err) return res.status(401).json({
title: 'unauthorized'
})
//token is valid
User.findOne({ _id: decoded.userId }, (err, user) => {
if (err) return console.log(err)
return res.status(200).json({
title: 'user grabbed',
user: {
email: user.email,
name: user.name
}
})
})
})
})```
please how can i go about it
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
