progress / JSDO

Client side TypeScript library to access Progress® Data Object Services
Other
23 stars 27 forks source link

I can't properly read a catalog with nested resources, #279

Open W1nstar opened 4 years ago

W1nstar commented 4 years ago

After debugging the whole read process, I'm finding some things that I don't really understand.

My backend offers a catalog with multiple nested tables and it's relationships. The catalog parse works as expected, assigning relationships.

There's a parent table that has a few other children tables:

table 1: [
    field1,
    field2,
    table2: [
        field1,
        table3: [
            field 1, field 2
        ]
    ]
]

When it comes to read operation, server is responding with all the expected data, but there's this line:

        // Check if we should return this table with its nested child table's data as nested
        else if (this._jsdo._nestChildren) {
            data = this._getDataWithNestedChildren(this._data);
        }
        else {
            data = this._getRelatedData();
        }

The property _nestChildren is never true. Process goes to getRelatedData function, and there it simply ends returning the _data property, wich doesn't contain the nested table's records.

The _nestChildren property is only set to true in the _getDataObjectAsNested function, but this function is never called.

So what's happening here? Am I asking the JSDO something it can't do? Because we were told it could.