Skip to content

Profiles-Endpoint Refactor #4

Description

@chgad

Ziel des Refactor ist es, dass der endpoint nicht mehr die komplette Baumstruktur ausgibt sonder selektiv nur bestimmte Äste bzw. einzelne Nodes ausgibt.

Proposed Changes:

  1. Die Response Struktur:

    TreeNode gibt den key level mit aus.

    Der key children gibt statt eines Array(<TreeNode>) nur noch die ID's der <TreeNode>s an.*

  2. Die Endpoint Struktur:
    Das hinzufügen des QueryParameters level=<Integer>
    ---> Somit ist es möglich die oberste Ebene der Steckbriefe mittels /profiles?level=0 zu erhalten.
    Das hinzufügen des QueryParameters parent=<Integer>
    ---> Somit ist es möglich Alle children einer TreeNode mit id=<id> mittels /profiles?parent=<id> zu erhalten.
    Neuer Endpoint /contentItem/<related_name>
    ---> Dieser Endpoint gibt alle Steckbriefe ohne die Baumstruktur aus.
    Neuer Endpoint /contentItem/<id>/<related_name>
    ---> Dieser Endpoint ermöglicht es einen einzelnen Steckbrief anzufragen.

    Notiz: Durch die geänderte Response Struktur * ist es auch möglich den Baum via lazyloading Stück für Stück im Hintergrund
    aufzubauen.

Eine Weitere Idee wäre es eine Setting DETAILED_PROFILES=<Boolean> anzulegen welcher es erlaubt app spezifisch zu
steuern ob <model>_related Array(<ProfileModel>) oder einen Array() mit den IDs der <ProfileModel>s ausgibt (In Analogie zu *).
@sheepyhollow Ist das verständlich?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions