async create(id, profileIds, content, { userId, refresh = "false" } = {}) {
    const user = await this.fromDTO({
      ...content,
      // Profile Ids and content are stored at the same level... for now.
      profileIds,
      // Always last, in case content contains these keys
      /* eslint-disable-next-line sort-keys */
      _id: id,
      _kuzzle_info: {
        author: userId,
        createdAt: Date.now(),
        updatedAt: null,
        updater: null,
      },
    });

    try {
      return await this.persist(user, {
        database: { method: "create", refresh },
      });
    } catch (error) {
      if (error.id === "services.storage.document_already_exists") {
        throw kerror.get("security", "user", "already_exists", id);
      }

      throw error;
    }
  }
Creates a user
@param {String} id
@param {Array} profileIds - profiles to associate to this user
@param {Object} content
@param {Object} [opts]