import groups and members from CSV
using https://gabrielsroka.github.io/console (but i can't test the owner part)
// import groups and members from CSV using https://gabrielsroka.github.io/console
/* Requires a CSV in the following format (name is required, description is optional, userLogins is semicolon-separated)
name,description,ownerLogin,userLogins
Group 1,desc 1,owner1@gmail.com,member1a@gmail.com;member1b@gmail.com
Group 2,desc 2,owner2@gmail.com,member2a@gmail.com;member2b@gmail.com
*/
rows = await readCSV()
results.innerHTML = ''
for (row of rows) {
group = await postJson('/api/v1/groups', {profile: {name: row.name, description: row.description}})
results.innerHTML += link(`/admin/group/${group.id}`, group.profile.name) + ' ' + group.profile.description + '<br>'
owner = await getJson(`/api/v1/users/${row.ownerLogin}`)
await postJson(`/api/v1/groups/${group.id}/owners`, {id: owner.id, type: 'USER'})
for (userLogin of row.userLogins.split(';')) {
user = await getJson(`/api/v1/users/${userLogin}`)
await put(`/api/v1/groups/${group.id}/users/${user.id}`)
}
if (cancel) break
}
log('done')
Posted Nov 14, 2025, 6:57 PM UTC
10