Я столкнулся со следующей проблемой: Когда я пытаюсь обновить изображение (объект FIle), который имеет отношение один к одному с пользователем, то в базе данных у меня сохраняется новый идентификатор пользователя, вместо сохранения существующего идентификатора, я хотел бы, чтобы справка.
Юридические лица:
@OneToOne(type => User, user => user.file)
user: User | User['id'];
@OneToOne(type => FileModel, file => file.user, {onUpdate: 'CASCADE', onDelete: 'CASCADE'})
@JoinColumn()
file: FileModel;
Код:
async update(newUserData, userId: number, picture?) {
const userExists = await User.findOne(userId, {relations: ["file"]});
if (picture) {
if (userExists.file) {
await fileService.removeS3(userExists.file.fileName);
await fileService.deleteFile(userExists.file.id);
}
const fileModel = new FileModel();
const {Location, Key} = await fileService.uploadImage(picture.filename, picture.originalname);
fileModel.fileName = Key;
fileModel.filePath = Location;
userExists.file = await fileService.saveImage(fileModel);
}
return await User.save({...userExists, ...newUserData});
}