import { User } from '../user.model';
import { InvalidIdError } from '../../controller/customErrors';

export class UserDao {

    async getUser(email: string) : Promise<User> {
        const user : User|null = await User.findOne({ where: { email: email} });
        if (user != null) {
            return user;
        } else {
            throw new InvalidIdError('No user with given e-mail address.');
        }
    }

    async addUser(user: User) : Promise<User> {
        return await User.create({
            email: user.email,
            password: user.password,
            username: user.username,
            role: user.role
        });
    }

}