refactor: extract subscripts in functions
This commit is contained in:
parent
65bba68feb
commit
c43a64033b
2
.env
Normal file
2
.env
Normal file
|
@ -0,0 +1,2 @@
|
|||
API_KEY=""
|
||||
ENDPOINT="https://projets.cohabit.fr/redmine"
|
|
@ -1,23 +1,12 @@
|
|||
import * as CSV from 'std:csv';
|
||||
import { Redmine } from 'bluemine';
|
||||
|
||||
const endpoint = 'https://projets.cohabit.fr/redmine';
|
||||
const apiKey = '';
|
||||
const redmine = new Redmine({ endpoint, apiKey });
|
||||
|
||||
type CsvEntry = {
|
||||
firstname: string;
|
||||
lastname: string;
|
||||
mail: string;
|
||||
};
|
||||
|
||||
const file = await Deno.readTextFile(
|
||||
'C:/Users/Julien/Documents/Stage/FabLab/entrepreneur_full.csv',
|
||||
);
|
||||
const csv = CSV.parse(file.replaceAll(';', ','), {
|
||||
skipFirstRow: true,
|
||||
}) as CsvEntry[];
|
||||
|
||||
async function createUsers(redmine: Redmine, csv: CsvEntry[]) {
|
||||
const userIds: number[] = [];
|
||||
|
||||
function capitalize(str: string): string {
|
||||
|
@ -45,3 +34,4 @@ for (const { firstname, lastname, mail } of csv) {
|
|||
}
|
||||
|
||||
await redmine.unstableGroups.create({ name: 'entrepreneur-01-24', userIds });
|
||||
}
|
||||
|
|
|
@ -1,23 +1,12 @@
|
|||
import * as CSV from 'std:csv';
|
||||
import { Redmine } from 'bluemine';
|
||||
|
||||
const endpoint = 'https://projets.cohabit.fr/redmine';
|
||||
const apiKey = '';
|
||||
const redmine = new Redmine({ endpoint, apiKey });
|
||||
|
||||
type CsvEntry = {
|
||||
firstname: string;
|
||||
lastname: string;
|
||||
mail: string;
|
||||
};
|
||||
|
||||
const file = await Deno.readTextFile(
|
||||
'C:/Users/Julien/Documents/Stage/FabLab/entrepreneur_full.csv',
|
||||
);
|
||||
const csv = CSV.parse(file.replaceAll(';', ','), {
|
||||
skipFirstRow: true,
|
||||
}) as CsvEntry[];
|
||||
|
||||
async function addUsersToGroup(redmine: Redmine, csv: CsvEntry[]) {
|
||||
const users: { id: number; login: string }[] = [];
|
||||
|
||||
for (const { firstname, lastname } of csv) {
|
||||
|
@ -48,3 +37,4 @@ for (const user of users) {
|
|||
console.error(`error: ${user.login}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
19
mod.ts
Normal file
19
mod.ts
Normal file
|
@ -0,0 +1,19 @@
|
|||
import { Redmine } from 'bluemine';
|
||||
import * as CSV from 'std:csv';
|
||||
|
||||
if (import.meta.main) {
|
||||
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(
|
||||
'path',
|
||||
);
|
||||
const csv = CSV.parse(file.replaceAll(';', ','), {
|
||||
skipFirstRow: true,
|
||||
}) as CsvEntry[];
|
||||
}
|
Loading…
Reference in a new issue