draft-redmine_users_from_csv/main.ts

33 lines
846 B
TypeScript
Raw Normal View History

2024-01-15 22:55:53 +01:00
import { Redmine } from 'bluemine'
import * as CSV from 'std:csv'
import { CsvEntry } from "./type.ts"
import { createUsers } from './src/create_users.ts'
import { appendToGroup } from './src/append_to_group.ts'
const endpoint = Deno.env.get('ENDPOINT')
const apiKey = Deno.env.get('API_KEY')
if (apiKey === undefined) {
throw new Error(
'Redmine REST API key is missing, please define API_KEY',
)
}
if (endpoint === undefined) {
throw new Error(
'Redmine REST endpoint is missing, please define ENDPOINT',
)
}
const redmine = new Redmine({ endpoint, apiKey })
const file = await Deno.readTextFile(
prompt('Full path of the CSV file ?: ') ?? '',
)
const csv = CSV.parse(file.replaceAll(';', ','), {
skipFirstRow: true,
}) as CsvEntry[]
createUsers(redmine, csv)
appendToGroup(redmine, csv, prompt('Enter a group name ?: ') ?? '')