Как на клиенте получить все вложенные данные postgreSQL + nestjs?

Суть проблемы следующая: имеется бэкэнд на nest.js, orm sequalize, бд PostgreSQL, есть несколько таблиц со связанными стобцами.

@Table({ tableName: 'posts' })
export class Post extends Model<Post> {

    @Column({...})
    id: number
    
    @BelongsToMany(() => Step, () => PostSteps)
    scrypt: Step[]
}

@Table({ tableName: 'steps' })
export class Step extends Model<Step> {

    @Column({...})
    id: number
    
    @BelongsToMany(() => Act, () => StepActs)
    content: Act[]
}

@Table({ tableName: 'acts' })
export class Act extends Model<Act> {

    @Column({...})
    id: number
    
    @Column({...})
    value: string[]
}

При запросе к таблице posts для получения одного поста по id, сервер возвращает объект поста свойство scrypt которого является массивом id строк из таблицы steps. А хотелось бы, что бы данный запрос возвращал вложенные данные а не просто id

async getPostById(id: number) {
        const post = await this.postRepository.findOne({
            where: { id },
            include: { all: true }
        })
        return advice
}
возвращает
{
    id: 1,
    scrypt: [1, 2, 3]
}
а нужно
{
    id: 1,
    scrypt: [
        {
            id: 1,
            content: [
                {
                    id: 1,
                    value: ['someString']
                }
            ]
        }
    ]
}

Есть ли какой-то способ сделать это на стороне сервера?


Ответы (0 шт):