conveyal/modeify

View on GitHub
scripts/2016/stormpath-conversion/create-groups-for-orgs

Summary

Maintainability
Test Coverage
#!/usr/bin/env babel-node

import {createGroups, getClient, getDefaultDirectory} from '../../lib/stormpath'
import Organization from '../../lib/organization/model'

let directory = null

getClient()
  .then(client => {
    return getDefaultDirectory(client)
  })
  .then(defaultDirectory => {
    directory = defaultDirectory
    return Organization.find().exec()
  })
  .then(orgs => {
    console.log(`Creating groups for ${orgs.length} organization(s)`)
    return Promise.all(orgs.map(o => createGroups(directory, [`organization-${o._id}`, `organization-${o._id}-manager`])))
  })
  .then(groups => {
    console.log(groups[0])
    console.log(`Created ${groups.length} groups`)
    process.exit()
  })
  .catch(err => {
    console.error(err)
    console.error(err.stack)
    process.exit(1)
  })