async getCountsByPost(ids) {
        const results = await this.db.knex('comments')
            .select(this.db.knex.raw(`COUNT(*) AS count, post_id`))
            .groupBy('post_id')
            .where('status', 'published')
            .whereIn('post_id', ids);

        const counts = ids.reduce((memo, id) => {
            const result = results.find(x => x.post_id === id);
            return {
                ...memo,
                [id]: result?.count || 0
            };
        }, {});

        return counts;
    }
@param {string[]} ids - List of post ids to fetch counts for
@returns {Promise<Object<string, number>>}