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
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 Standardvorerst für Personen (people) realisiert werden:... werden.
Tech-Spec
apiScope in den RoutesToDo