ekoetki/database/user.js

53 lines
1.2 KiB
JavaScript

const crypto = require("node:crypto");
const DB = require("./connection");
exports.createUser = createUser;
exports.hasUser = hasUser;
exports.getUser = getUser;
async function createUser(
name,
surname,
email,
password
)
{
const [id] = await DB.table("users")
.insert({
name,
surname,
email,
password: sha256(password)
})
.returning("id");
return id;
}
async function hasUser(email)
{
let data = await DB.table("users")
.select("id")
.where("email",email)
.first();
return data != null;
}
async function getUser(id)
{
return await DB.table("users")
.where("id",id)
.first();getUser
}
function sha256(key)
{
return crypto.createHash("sha256").update(key).digest("hex");
}
/*
table.string('name').notNullable();
table.string('surname').notNullable();
table.string('email').unique().index();
table.string('password',255).notNullable();
table.dateTime("created_at").defaultTo(knex.fn.now());;
table.dateTime("update_at").defaultTo(knex.fn.now());;
table.dateTime("deleted_at");
*/