code: function update (params, cb) {
        let promise = null
        if (typeof cb !== 'function') [promise, cb] = asyncify()
  
        const { id, name, description, metadata } = params
  
        Joi.validate({ id, name, description, metadata }, validationRules.update, (err) => {
          if (err) return cb(Boom.badRequest(err))
  
          const sqlQuery = SQL`
            UPDATE organizations
            SET
              name = ${name},
              description = ${description},
              metadata = ${metadata}
            WHERE id = ${id}
          `
          db.query(sqlQuery, function (err, result) {
            if (utils.isUniqueViolationError(err)) return cb(Boom.conflict(err.detail))
            if (err) return cb(Boom.badImplementation(err))
            if (result.rowCount === 0) return cb(Boom.notFound())
  
            organizationOps.readById(id, cb)
          })
        })
  
        return promise
      }
docs: Updates all (for now) organization properties
  
  @param  {Object}   params {id, name, description, metadata} "metadata" optional
  @param  {Function} cb