draft-redmine_users_from_csv/src/create_users.ts

29 lines
691 B
TypeScript

import { Redmine } from 'bluemine'
import { CsvEntry } from '../type.ts'
import { capitalize, log, sanitize, toLogin } from '../utils.ts'
export async function createUsers(
redmine: Redmine,
csv: CsvEntry[],
) {
for (const { firstname, lastname, mail } of csv) {
const login = toLogin(firstname, lastname)
try {
const { user } = await redmine.users.create({
firstname: capitalize(sanitize(firstname)),
lastname: capitalize(sanitize(lastname)),
mail: mail,
login,
sendCreationMail: true,
generatePassword: true,
})
log.info(`create user ${login}#${user.id}`)
} catch (error) {
log.error(`create user ${login}`)
console.error(error)
}
}
}