Проблема с типом возвращаемого значения при расширении метода списка обслуживания клиентов в medusa js

Я хочу добавить еще одно поле в ответ на список клиентов, которое показывает его статус: клиент активен, деактивирован или удален. Мой код отправляет мне поле customerStatus в ответ на другие поля клиента, но перед вставкой в ​​моем обновленном результате отображается ошибка вставки, в последней строке возвращается [updatedResult, count].

Вот мой кусок кода

      async listAndCount(
  selector: Selector<Customer> & { q?: string; groups?: string[] },
  config: FindConfig<Customer> = {
    relations: [],
    skip: 0,
    take: 50,
    order: { created_at: "DESC" },
  }
): Promise<[Customer[], number]> {

  const [result, count]: [Customer[], number] = await super.listAndCount(selector, config);
  let customerStatus = '';
 
  const updatedResult = result.map(data => { 

    if(data.isActive === true && data.isDeleted === false)
    customerStatus = 'Active';
    else if (data.isActive === false && data.isDeleted === false)
    customerStatus = 'Deactivated'; 
    else if (data.isActive === false && data.isDeleted === true)
    customerStatus = 'Deleted';

    return { ...data, customerStatus: customerStatus };
  });
  
  return [updatedResult, count] ;
}
}

Ошибка, которую он показывает, упомянута ниже:

      Type '{ customerStatus: string; isActive: boolean; isDeleted: boolean; email: string; first_name: string; last_name: string; billing_address_id: string; billing_address: Address; shipping_addresses: Address[]; ... 9 more ...; updated_at: Date; }[]' is not assignable to type 'Customer[]'.
  Property 'beforeInsert' is missing in type '{ customerStatus: string; isActive: boolean; isDeleted: boolean; email: string; first_name: string; last_name: string; billing_address_id: string; billing_address: Address; shipping_addresses: Address[]; ... 9 more ...; updated_at: Date; }' but required in type 'Customer'.ts(2322)

customer.d.ts(18, 13): здесь объявлено «beforeInsert».

Кроме того, этот метод beforeInsert является частным в классе клиентов и не позволяет мне изменить тип возвращаемого значения метода listAndCount.

Я попытался изменить тип возвращаемого значения и изучить метод перед вставкой, но он частный. В операторе returnResult отображается ошибка, но это не мешает мне запускать код.

0 ответов

Другие вопросы по тегам