29 lines
691 B
TypeScript
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)
|
|
}
|
|
}
|
|
}
|