Обновление отношения типа один к одному - PullRequest
0 голосов
/ 21 апреля 2020

Я столкнулся со следующей проблемой: Когда я пытаюсь обновить изображение (объект 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});
    }

...