The code below shows functionality that can potentially be used to register a user. The request body takes in multiple nested parameters such as firstName
, lastName
, and more. How can I adequately document these nested parameters with tsdoc?
/**
* @remarks
* This method creates a user.
*
* @param req - The request object
* @param res - The response object
*
* @returns Created user object showing the created user
* ```
*{
"message": {
"_id": "5ef3249f6a01c1006e091f92",
"id": "1u_RGoYwV",
"firstName": "test",
"lastName": "User",
"password": "$2a$10$ZQf23Qx910iJLzHO65BOO.RShufiU.YAT/IXnGQwreQ0rdoElrSQG",
"email": "test@gmail.com",
"avatarUrl": "https://www.image.com/cat.jpg",
* }
* }
* ```
*
*/
async create(req: Request, res: Response) {
let user = new UserModel(this.db);
const {
firstName,
lastName,
email,
password,
currentOrganization,
avatarUrl
} = req.body;
const hashedPassword = await PasswordHelper.hashPassword(password);
user.setFirstName(firstName);
user.setLastName(lastName);
user.setEmail(email);
user.setPassword(hashedPassword);
user.setAvatarUrl(avatarUrl);
user.setCurrentOrganization(currentOrganization);
await user.save();
const users = user.get();
res.status(200).send({ message: users });
}