async update(id, content, { force, refresh, retryOnConflict, userId } = {}) {
    const updated = await this.fromDTO({
      // /!\ order is important
      ...content,
      // Always last, in case content contains these keys
      _id: id,
      _kuzzle_info: {
        updatedAt: Date.now(),
        updater: userId,
      },
    });

    return this.validateAndSaveRole(updated, {
      force,
      method: "replace",
      refresh,
      retryOnConflict,
    });
  }
Updates a role (replaces the entire content)

@todo  (breaking change) make this function able to handle partial updates
       instead of replacing the entire role content (hint: _.merge)

@param  {String} id
@param  {Object} content
@param  {Object} [opts]
@returns {Promise}