hitobito / hitobito

A web application to manage complex group hierarchies with members, events and a lot more.
https://hitobito.com
GNU Affero General Public License v3.0
366 stars 107 forks source link

GROUPS: Contactable Daten der Gruppe in Gruppen-API #2537

Closed carlobeltrame closed 3 weeks ago

carlobeltrame commented 5 months ago

!!! ACHTUNG: es gibt zu diesem Ticket einen PR in ALLEN wagons !!! (github verlinkt leider nur die ersten 10)

Als Person oder Applikation welche die JSON:API konsumiert möchte ich die Contactable Eigenschaften der Gruppe abrufen, um diese in hitobito als primäre Datenquelle zu behandeln.

Neu sollen social accounts, additional emails und phone numbers auch im Gruppen-Endpoint der JSON:API exponiert werden.

Mockup

GET /api/groups?include=additional_emails,social_accounts,phone_numbers

{
  "data": [
    {
      "id": "1",
      "type": "groups",
      "attributes": {
        // ...
      },
      "relationships": {
        "phone_numbers": {
          "data": [
            {
              "type": "phone_numbers",
              "id": "12345"
            }
          ]
        },
        "social_accounts": {
          "data": []
        },
        "additional_emails": {
          "data": []
        },
        // ...
      }
    },
    // ...
  ],
  "included": [
    {
      "id": "12345",
      "type": "phone_numbers",
      "attributes": {
        "label": "Privat",
        "public": true,
        "contactable_id": 1,
        "contactable_type": "Group",
        "number": "+41 44 123 45 67"
      }
    },
  "links": {
    "self": "/api/groups?include=additional_emails,social_accounts,phone_numbers&page%5Bnumber%5D=1\u0026page%5Bsize%5D=20",
    "first": "/api/groups?include=additional_emails,social_accounts,phone_numbers&page%5Bnumber%5D=1\u0026page%5Bsize%5D=20",
    "last": "/api/groups?include=additional_emails,social_accounts,phone_numbers&page%5Bnumber%5D=50\u0026page%5Bsize%5D=20",
    "next": "/api/groups?include=additional_emails,social_accounts,phone_numbers&page%5Bnumber%5D=2\u0026page%5Bsize%5D=20"
  },
  "meta": {}
}

Tech-Spec

ToDo

!!! ACHTUNG: es gibt zu diesem Ticket einen PR in ALLEN wagons !!! (github verlinkt leider nur die ersten 10)

daniel-illi commented 4 months ago

!!! ACHTUNG: es gibt zu diesem Ticket einen PR in ALLEN wagons !!! (github verlinkt leider nur die ersten 10)