Skip to content

PEOPLE: JSON:API Standard API #1920

Description

@mtnstar

Hitobito besitzt heute ein API auf das nur lesend zugegriffen werden kann. Eine entsprechende Dokumentation befindet sich hier.

Mit diesem Epic soll eine neue API mit dem aktuellen JSON:API Standard vorerst für Personen (people) realisiert werden:

  • Endpoint /api/people, /api/people/:id
  • über das neue API können Personen:
    • gelistet (index)
    • angezeigt (show)
    • geändert (update)
    • erstellt (create) optional
    • gelöscht (delete) optional
      ... werden.
  • Die Authentifizierung erfolgt über:
    • ServiceTokens
    • Personal OAuth access token
    • aktuelle User Session
  • Authentifizierung via die deprecated Personal API tokens soll nicht möglich sein !
  • Berechtigungen werden via Abilities wie sonst in Hitobito validiert
  • Neben Personendaten sollen auch Telefonnummern (phone_numbers), Social Accounts (social_accounts) sowie Weitere Emails (additional_emails) aufgelistet und aktualisiert werden können. (nested in person) #show, #update, #create
  • Die Rollen sowie die Primary Group einer Person werden als Relationship ausgegeben

Tech-Spec

  • Feature Branch feature/json-api
  • Gem für json api: graphiti
  • Neuer Base Controller JsonApiController ohne Dry Crud
  • Neuer Controller JsonApi::PeopleController
  • Neuer api Scope in den Routes

ToDo

Activity

  1. changed the title [-]PEOPLE: JSON:API 1.1 für /api/people[/-] [+]PEOPLE: JSON:API 1.0 für /api/people[/+] on Nov 23, 2022
  2. changed the title [-]PEOPLE: JSON:API 1.0 für /api/people[/-] [+]PEOPLE: JSON:API Standard API /api/people[/+] on Nov 23, 2022
  3. changed the title [-]PEOPLE: JSON:API Standard API /api/people[/-] [+]PEOPLE: JSON:API Standard API people[/+] on Nov 23, 2022
  4. changed the title [-]PEOPLE: JSON:API Standard API people[/-] [+]PEOPLE: JSON:API Standard API[/+] on Nov 23, 2022
  5. self-assigned this
    on Dec 5, 2022
  6. added a commit that references this issue on Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions