Can't get createdBy from api

the rest api should be like this

'use strict';

/**
 *  article controller
 */

const { createCoreController } = require('@strapi/strapi').factories;

module.exports = createCoreController('api::article.article', ({ strapi }) => ({
  async find(ctx) {
    // Calling the default core action
    const { data, meta } = await super.find(ctx);

    const query = strapi.db.query('api::article.article');

    await Promise.all(
      data.map(async (item, index) => {
        const article = await query.findOne({
          where: {
            id: item.id,
          },
          populate: ['createdBy'],
        });
        
        data[index].attributes.createdBy = {
          id: page.createdBy.id,
          // not work on me
          // firstname: page.createdBy.firstname,
          // lastname: page.createdBy.lastname,

          // change the page into article so it work
          firstname: article.createdBy.firstname,
          lastname: article.createdBy.lastname,
        };
      })
    );

    return { data, meta };
  },
}));
3 Likes