import { prismaClient as prisma } from '../../../prismaClient' import { condoManagerLogger } from '../../logger' export default async function createMissingManagingCompanyUsers({ managingCompanyId, condoManagerUsers, }: { managingCompanyId: string condoManagerUsers: any[] }) { condoManagerLogger.info('Creating managing company users if there\'s any missing') const existingManagingCompanyUsers = await prisma.user.findMany({ where: { managingCompany: { id: managingCompanyId, }, }, select: { email: true, }, }) await prisma.managingCompany.update({ where: { id: managingCompanyId, }, data: { users: { create: condoManagerUsers .filter( (userCM) => (userCM.courriel || userCM.AdresseCourrielFAI) && !existingManagingCompanyUsers.some( (user) => user.email === userCM.courriel || user.email === userCM.AdresseCourrielFAI ) ) .map((userCM) => ({ email: userCM.courriel || userCM.AdresseCourrielFAI, firstName: userCM.NomComplet, password: process.env.DEFAULT_MANAGER_PASSWORD, role: 'MANAGER', })), }, }, }) condoManagerLogger.info('Done creating managing company users if there\'s any missing') }