我有两个模型Media和department_media。 department_media具有来自Media的外键。在将媒体URL传递给frontEnd之前,会将其转换为签名URL。我正在使用挂钩来实现该功能。
现在,我已经编写了一个afterHook来获取signedURL。这就是我所做的。谁可以帮我这个事?预先感谢
MediaModel.hook("afterFind", async (media) => {
let descripJson = media.description;
let hdUrl = descripJson.hd
if (hdUrl)
descripJson.hd = await s3Auth(descripJson.hd)
let imageUrl = descripJson.image
if (imageUrl)
descripJson.image = await s3Auth(descripJson.image)
if (media.url)
let url = mediaDesp.url
url = await s3Auth(url)
media.description = descripJson
media.url = url
return media
});
使用findAll或findOne调用它时有效。
但是当我使用include时,它不起作用。 有人可以帮我吗
const query = {
where: where,
include: [{
as: "media",
model: MediaModel,
separate: true
}],
limit,
offset,
order
};
let result = await this.model.paginate(query);