Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POST for Embedded Collections (Mezzio) #426

Closed
manuelmeister opened this issue Apr 21, 2020 · 2 comments
Closed

POST for Embedded Collections (Mezzio) #426

manuelmeister opened this issue Apr 21, 2020 · 2 comments
Assignees
Projects
Milestone

Comments

@manuelmeister
Copy link
Member

Ermögliche Post ohne hardcodierte URLs

#416 (comment)

@usu
Copy link
Member

usu commented May 2, 2020

Wenn ich mich richtig erinnere war dieses Ticket = Self-Links für Embedded Collections, oder? Bzw. collections embedded als auch als Link.

Hätte ganz viele Vorteile:

  • Ich kann die collection als eigener Eintrag im Store abspeichern
  • Bei einem Reload muss ich nur die Liste neu laden und nicht die ganze Parent-Entity
  • Ich kann den Self-Link zum Posten verwenden (kein hardcoding)
  • Ich kann die Antwort nach dem Post gleich verarbeiten und die Liste ergänzen ohne ein zusätzliches Reload (@carlobeltrame Meinst du du das würde funktionieren? Denkbar wär ja auch, dass ich nach einem Post mehrere Entites/Collections zurück sende, wenn sich durch den Post mehr als eine Entität ändert)

Letzter Punkt hat ein Denkfehler wegen sortierten Listen.

  • Option basis: Store macht Autoreload der Liste nach Post (falls schon im Store)
  • Luxus 1: Meta informiert ob sortiert oder nicht. Wenn unsortiert --> add to the end / no reload necessary
  • Luxus 2: Meta informiert bei sortiert nach welchem Schlüssel --> Frontend kann selber sortieren

@carlobeltrame
Copy link
Member

Das ist inzwischen möglich. Wenn das Backend einen Link mit dem selben Relationsnamen wie eine Embedded Collection mitsendet...

'contentNodes' => new EntityLinkCollection($activity->getAllContentNodes()),
'contentNodesLink' => Link::factory([
'rel' => 'contentNodes',
'route' => [
'name' => 'e-camp-api.rest.doctrine.content-node',
'options' => ['query' => ['ownerId' => $activity->getId()]],
],
]),

... dann kann hal-json-vuex die URI für diese Collection ausspucken und auch die Collection ohne die übergeordnete Entity neu laden.

Development automation moved this from Backlog (all) to Done Apr 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development
  
Done
Development

No branches or pull requests

4 participants