Проблема с типом возвращаемого значения при расширении метода списка обслуживания клиентов в 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 отображается ошибка, но это не мешает мне запускать код.