swagger documentation for Api
This commit is contained in:
@@ -1,103 +1,103 @@
|
||||
import { Request, Response } from "express";
|
||||
import { Server } from 'http';
|
||||
import userModel from "../../shared/model/user-Model";
|
||||
import { isSharedArrayBuffer } from "util/types";
|
||||
const {hashGenerate,hashValidator} = require("../../shared/security/Hasing.ts")
|
||||
// import {hashGenerate} from '../security/Hasing'
|
||||
|
||||
let serverAlive = true;
|
||||
export class user {
|
||||
static async signup(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { userName, email, password,organization,profilePicture } = req.body;
|
||||
const caseChange = email.toLowerCase();
|
||||
const emailcheck = await userModel(organization).findOne({ email: caseChange });
|
||||
if (emailcheck!==null) {
|
||||
res.json({
|
||||
message:"User already exists"
|
||||
});
|
||||
} else {
|
||||
const hashpassword=await hashGenerate(password)
|
||||
const userCount = await userModel(organization).countDocuments({});
|
||||
role = userCount === 0 ? "Admin" : "User";
|
||||
const isShare = role === "Admin" ? "true" : "false";
|
||||
const newuser = await userModel(organization).create({
|
||||
userName: userName,
|
||||
email: caseChange,
|
||||
isShare:isShare,
|
||||
password: hashpassword,
|
||||
role:role,
|
||||
profilePicture:profilePicture
|
||||
});
|
||||
newuser.save();
|
||||
res.status(200).json({
|
||||
message:"New User created"
|
||||
});
|
||||
}
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
static async login(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { email, password,organization } = req.body;
|
||||
// console.log(' req.body: ', req.body);
|
||||
|
||||
const existingMail = await userModel(organization).findOne({
|
||||
email:email
|
||||
});
|
||||
|
||||
if (existingMail === null || !existingMail) {
|
||||
res.status(404).json({ message: "User Not Found!!! Kindly signup..." });
|
||||
} else {
|
||||
const hashedpassword= existingMail.password
|
||||
const checkpassword = await hashValidator(
|
||||
password,
|
||||
hashedpassword
|
||||
)
|
||||
// console.log('checkpassword: ', checkpassword);
|
||||
if (checkpassword) {
|
||||
// const tokenValidation=await tokenGenerator(existingMail.email)
|
||||
res.status(200).send({
|
||||
message: "login successfull",
|
||||
email: existingMail.email,
|
||||
name: existingMail.userName,
|
||||
userId: existingMail._id,
|
||||
isShare:existingMail.isShare,
|
||||
// token:tokenValidation
|
||||
|
||||
});
|
||||
} else {
|
||||
res.status(404).json({message:"email & password is invalid...Check the credentials"})
|
||||
}
|
||||
}
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
|
||||
// static async checkserverHealth(server:Server,organization: string){
|
||||
// try {
|
||||
// if (server.listening) {
|
||||
// console.log('Server is running');
|
||||
// serverAlive = true;
|
||||
// // Update all users to online status
|
||||
// } else {
|
||||
// // await userModel(organization).updateMany({}, { activeStatus: "offline" }); // Replace `activeStatus` with your actual field
|
||||
// throw new Error('Server is not running');
|
||||
// }
|
||||
// } catch (error:any) {
|
||||
// console.error('Server health check failed:', error.message);
|
||||
// serverAlive = false;
|
||||
|
||||
// // Update all users to offline status
|
||||
// // await userModel(organization).updateMany({}, { activeStatus: "offline" });
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
// export const startHealthCheck = (server: Server, organization: string) => {
|
||||
// setInterval(() => user.checkserverHealth(server, organization), 5000);
|
||||
// };
|
||||
import { Request, Response } from "express";
|
||||
import { Server } from 'http';
|
||||
import userModel from "../../shared/model/user-Model";
|
||||
import { isSharedArrayBuffer } from "util/types";
|
||||
const {hashGenerate,hashValidator} = require("../../shared/security/Hasing.ts")
|
||||
// import {hashGenerate} from '../security/Hasing'
|
||||
|
||||
let serverAlive = true;
|
||||
export class user {
|
||||
static async signup(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { userName, email, password,organization,profilePicture } = req.body;
|
||||
const caseChange = email.toLowerCase();
|
||||
const emailcheck = await userModel(organization).findOne({ email: caseChange });
|
||||
if (emailcheck!==null) {
|
||||
res.json({
|
||||
message:"User already exists"
|
||||
});
|
||||
} else {
|
||||
const hashpassword=await hashGenerate(password)
|
||||
const userCount = await userModel(organization).countDocuments({});
|
||||
role = userCount === 0 ? "Admin" : "User";
|
||||
const isShare = role === "Admin" ? "true" : "false";
|
||||
const newuser = await userModel(organization).create({
|
||||
userName: userName,
|
||||
email: caseChange,
|
||||
isShare:isShare,
|
||||
password: hashpassword,
|
||||
role:role,
|
||||
profilePicture:profilePicture
|
||||
});
|
||||
newuser.save();
|
||||
res.status(200).json({
|
||||
message:"New User created"
|
||||
});
|
||||
}
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
static async login(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { email, password,organization } = req.body;
|
||||
// console.log(' req.body: ', req.body);
|
||||
|
||||
const existingMail = await userModel(organization).findOne({
|
||||
email:email
|
||||
});
|
||||
|
||||
if (existingMail === null || !existingMail) {
|
||||
res.status(404).json({ message: "User Not Found!!! Kindly signup..." });
|
||||
} else {
|
||||
const hashedpassword= existingMail.password
|
||||
const checkpassword = await hashValidator(
|
||||
password,
|
||||
hashedpassword
|
||||
)
|
||||
// console.log('checkpassword: ', checkpassword);
|
||||
if (checkpassword) {
|
||||
// const tokenValidation=await tokenGenerator(existingMail.email)
|
||||
res.status(200).send({
|
||||
message: "login successfull",
|
||||
email: existingMail.email,
|
||||
name: existingMail.userName,
|
||||
userId: existingMail._id,
|
||||
isShare:existingMail.isShare,
|
||||
// token:tokenValidation
|
||||
|
||||
});
|
||||
} else {
|
||||
res.status(404).json({message:"email & password is invalid...Check the credentials"})
|
||||
}
|
||||
}
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
|
||||
// static async checkserverHealth(server:Server,organization: string){
|
||||
// try {
|
||||
// if (server.listening) {
|
||||
// console.log('Server is running');
|
||||
// serverAlive = true;
|
||||
// // Update all users to online status
|
||||
// } else {
|
||||
// // await userModel(organization).updateMany({}, { activeStatus: "offline" }); // Replace `activeStatus` with your actual field
|
||||
// throw new Error('Server is not running');
|
||||
// }
|
||||
// } catch (error:any) {
|
||||
// console.error('Server health check failed:', error.message);
|
||||
// serverAlive = false;
|
||||
|
||||
// // Update all users to offline status
|
||||
// // await userModel(organization).updateMany({}, { activeStatus: "offline" });
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
// export const startHealthCheck = (server: Server, organization: string) => {
|
||||
// setInterval(() => user.checkserverHealth(server, organization), 5000);
|
||||
// };
|
||||
|
||||
Reference in New Issue
Block a user