async _findAll(model, options) {
    if (options.where) {
      options.where = {...options.where};

      for (const key of Object.keys(options.where)) {
        if (!key.endsWith('Id') && key !== 'token') continue;
        // @ts-ignore - `options.where` is not indexable in tsc's eyes
        options.where[key] = validateUuidOrEmpty(options.where[key]);
      }
    }

    const result = await model.findAll(options);
    return result.map(this._value);
  }
@template {Object} T1
@template {Object} T2
@param {import('sequelize').ModelDefined<T1, T2>} model
@param {import('sequelize').FindOptions<T1 & T2>} options
@return {Promise<T1[]>}