55 lines
1.6 KiB
TypeScript
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);
|
|
}
|
|
} |