Skip to content

WIP: POC: Non recursive group export serialization

Kassio Borges requested to merge non-recursive-group-export-serialization into master

What does this MR do?

As part of the effort to introduce .ndjson on the group import/export feature, we need to reduce the number of nested structures. This is the initial effort to remove the nested groups on export.

Related to: #199430 (closed)

Currently the export is like:

{
  "name": "group1",
  /* attributes */
  "children": [
    {
      "name": "group2",
      /* attributes */
      "children": [
        {
          "name": "group3",
          /* attributes */
        }
      ]
    }
  ]
}

With the feature flag enabled the export will be like:

[
  {
    "name": "group2",
    "parent_id": 1,
    /* attributes */
  },
  {
    "name": "group3",
    "parent_id": 2,
    /* attributes */
  },
  {
    "name": "group1",
    "parent_id": null,
    /* attributes */
]

DO NOT MERGE

A re-architecture is being done on !26501 (merged), the non-recursive group serialization must be done on the new Writer abstraction. Until the new architecture is done, I'll work on this POC to be later implemented on the new abstractions.

Edited by 🤖 GitLab Bot 🤖

Merge request reports