2023-07-26 19:36:51 +02:00

55 lines
1.6 KiB
TypeScript

// import { getConnection } from "@/db";
import { Post, postPlaceholder } from "@/model/Models";
import { getPosts, IPost } from "@/controller/Post";
import { NextApiRequest, NextApiResponse } from "next";
// import { MPost, MUser, MAuth } from "@/model/Models"
// import { MPost } from "@/model/sequelize/Post";
// import { MAuth } from "@/model/sequelize/Auth";
import { MUser } from "@/model/sequelize/User";
import { DataType, Model, Sequelize, UUID } from "sequelize";
import { validatePassword, hashPassword } from "@/util/Auth";
async function POST(req: NextApiRequest, res: NextApiResponse){
MUser.sync();
const username = req.body.username;
const password = req.body.password;
await MUser.sync()
var user = await MUser.findOne({ where: { username: username } });
if (user != undefined){
res.status(500).json("User with that username already exists");
return;
}
const hash = await hashPassword(password)
user = await MUser.create({
username: username,
password: hash
})
res.status(200).json(user);
return;
}
async function GET(req: NextApiRequest, res: NextApiResponse){
MUser.sync();
const username = req.body.username;
const password = req.body.password;
await MUser.sync()
var users = await MUser.findAll();
res.status(200).json(users);
return;
}
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
if (req.method === 'POST') {
POST(req,res);
}
else if(req.method === 'GET'){
GET(req,res);
}
}