import { userData } from "../Classes/userData.js"; import { DatabaseController, dbUser } from "../Database/dbcontroller.js"; export class userCheckResponse{ result : userCheckResult userData : userData constructor(result : userCheckResult, userData : userData){ this.result = result; this.userData = userData; } } export enum userCheckResult{ OK, IncorrectPassword, NotExist } export class users{ static async createUser(db: DatabaseController, login : string, password : string){ await db.run('INSERT INTO users (login, password) VALUES (?, ?)', [login, password]); return await this.readUser(db, login, password) } static async readUser(db: DatabaseController, login : string, password : string): Promise{ let user = await db.select(`SELECT * FROM users WHERE login = ? LIMIT 1`, [login]) if (user.length > 0){ let row = user[0] if (row.password != password){ return new userCheckResponse(userCheckResult.IncorrectPassword, null) } return new userCheckResponse(userCheckResult.OK, new userData({...row})) } else{ return new userCheckResponse(userCheckResult.NotExist, null) } } static async readUserID(db: DatabaseController, id : number){ let user = await db.select(`SELECT * FROM users WHERE id = ?`, [id]) return user; } }