import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import * as bcrypt from 'bcryptjs';
import { Constants } from './common/constants';
import { Users,UserRoles } from './entities/users.entity';

@Injectable()
export class SeederService {
  constructor(

    @InjectRepository(Users)
    private Users: Repository<Users>,

  ) {}

    async seedUsers(): Promise<void>
    {
        const usersToCreate = [
            {   first_name : "iTellU",
                last_name : "Admin",
                email : "itelluadmin@yopmail.com",
                role : UserRoles.ADMIN,
                password : await bcrypt.hash("12345678", Constants.salt_rounds),
                language : 'en',
            },
        ];

        for (const userData of usersToCreate) {
            const existUser = await this.Users.findOne({where:[ {email:userData.email}]});
            if(!existUser){

                await this.Users.insert(userData);
                // const user = this.Users.create(userData);
                // await this.Users.save(user);
            }
        }
    }
}