Hopp til hovedinnhold

Oppmøte-endepunkter

Oppmøte-modulen administrerer campus-lokasjoner, gudstjenester, gudstjenestetider, oppmøtesesjoner, besøk og besøkssesjoner. Den gir infrastrukturen for å spore hvem som deltok på hvilken gudstjeneste eller gruppemøte, støtter innsjekkingsarbeidsflyter, og tilbyr rapportering av oppmøtetrender og -sammendrag.

Basissti: /attendance

Campus

Basissti: /attendance/campuses

Standard CRUD-kontroller (utvider GenericCrudController). Tilbyr rutene getById, getAll, post og delete via CRUD-basisklassen.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTList alle campus for kirken
GET/:idJWTHent et campus etter ID
POST/JWTServices.EditOpprett eller oppdater campus
DELETE/:idJWTServices.EditSlett et campus

Gudstjenester

Basissti: /attendance/services

Utvider GenericCrudController med CRUD-rutene getById, getAll, post og delete. Endepunktene getAll (GET /) og search overstyres med egendefinerte implementasjoner.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTList alle gudstjenester (inkluderer campus-info)
GET/:idJWTHent en gudstjeneste etter ID
GET/search?campusId=JWTSøk gudstjenester etter campus-ID
POST/JWTServices.EditOpprett eller oppdater gudstjenester
DELETE/:idJWTServices.EditSlett en gudstjeneste

Eksempel: Søk gudstjenester etter campus

GET /attendance/services/search?campusId=abc-123
Authorization: Bearer <token>
[
{
"id": "svc-001",
"churchId": "church-123",
"campusId": "abc-123",
"name": "Sunday Morning"
}
]

Gudstjenestetider

Basissti: /attendance/servicetimes

Utvider GenericCrudController med CRUD-rutene getById, post og delete. Endepunktene getAll og search er egendefinerte implementasjoner.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTList alle gudstjenestetider. Filtrer med ?serviceId=. Legg til ?include=groups for å inkludere gruppedata
GET/:idJWTHent en gudstjenestetid etter ID
GET/search?campusId=&serviceId=JWTSøk gudstjenestetider etter campus og gudstjeneste
GET/public/:churchIdPublicHent campus → gudstjeneste → tid-treet for en kirke. Driver nettstedbyggerens serviceTimes-element
POST/JWTServices.EditOpprett eller oppdater gudstjenestetider
DELETE/:idJWTServices.EditSlett en gudstjenestetid

Gruppe-gudstjenestetider

Basissti: /attendance/groupservicetimes

Kobler grupper til spesifikke gudstjenestetider.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTList alle gruppe-gudstjenestetid-koblinger. Filtrer med ?groupId= for å hente koblinger med gudstjenestenavn
GET/:idJWTHent en gruppe-gudstjenestetid-kobling etter ID
POST/JWTServices.EditOpprett eller oppdater gruppe-gudstjenestetid-koblinger
DELETE/:idJWTServices.EditSlett en gruppe-gudstjenestetid-kobling

Oppmøteoppføringer

Basissti: /attendance/attendancerecords

Tilbyr skrivebeskyttede aggregerte visninger av oppmøtedata for rapportering og visning.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTAttendance.ViewLast oppmøteoppføringer for en person. Krever ?personId=
GET/treeJWTLast hele oppmøtetreet (campus, gudstjenester, gudstjenestetider, grupper)
GET/trend?campusId=&serviceId=&serviceTimeId=&groupId=JWTAttendance.View SummaryLast oppmøtetrenddata med valgfrie filtre
GET/groups?serviceId=&week=JWTAttendance.ViewLast gruppeoppmøte for en gudstjeneste i en gitt uke
GET/search?campusId=&serviceId=&serviceTimeId=&groupId=&startDate=&endDate=JWTAttendance.ViewSøk oppmøteoppføringer med filtre (campus, gudstjeneste, gudstjenestetid, gruppe, datointervall)

Eksempel: Oppmøtetrend

GET /attendance/attendancerecords/trend?serviceId=svc-001
Authorization: Bearer <token>
[
{ "week": "2025-01-05", "count": 142 },
{ "week": "2025-01-12", "count": 156 },
{ "week": "2025-01-19", "count": 138 }
]

Sesjoner

Basissti: /attendance/sessions

Utvider GenericCrudController med CRUD-rutene getById og delete. Endepunktene getAll og save er egendefinerte implementasjoner som også lar gruppeledere administrere sesjoner for sine egne grupper.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTAttendance.View eller gruppelederList alle sesjoner. Filtrer med ?groupId= (inkluderer navn). Gruppeledere kan se sesjoner for sine egne grupper
GET/:idJWTAttendance.ViewHent en sesjon etter ID
POST/JWTAttendance.Edit eller gruppelederOpprett eller oppdater sesjoner. Gruppeledere kan lagre sesjoner for sine egne grupper
DELETE/:idJWTAttendance.EditSlett en sesjon

Besøk

Basissti: /attendance/visits

Administrerer individuelle besøksoppføringer (en person som deltar på en bestemt dato) og tilbyr innsjekkingsarbeidsflyten.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTAttendance.ViewList alle besøk. Filtrer med ?personId=
GET/:idJWTAttendance.ViewHent et besøk etter ID
GET/checkin?serviceId=&peopleIds=JWTAttendance.View eller Attendance.CheckinLast innsjekkingsdata for personer på en gudstjeneste. Returnerer besøk med besøkssesjoner fra siste loggførte dato
POST/JWTAttendance.EditOpprett eller oppdater besøk
POST/checkin?serviceId=&peopleIds=JWTAttendance.Edit eller Attendance.CheckinSend inn innsjekkingsdata. Oppretter/oppdaterer besøk og besøkssesjoner, fjerner utdaterte oppføringer
DELETE/:idJWTAttendance.EditSlett et besøk

Eksempel: Innsjekkingsflyt

Trinn 1 -- Last eksisterende innsjekkingsdata:

GET /attendance/visits/checkin?serviceId=svc-001&peopleIds=person-1,person-2
Authorization: Bearer <token>
[
{
"id": "visit-001",
"personId": "person-1",
"visitDate": "2025-01-19T00:00:00.000Z",
"visitSessions": [
{
"id": "vs-001",
"sessionId": "sess-001",
"visitId": "visit-001",
"session": {
"id": "sess-001",
"groupId": "group-001",
"serviceTimeId": "st-001",
"sessionDate": "2025-01-19T00:00:00.000Z"
}
}
]
}
]

Trinn 2 -- Send inn innsjekking:

POST /attendance/visits/checkin?serviceId=svc-001&peopleIds=person-1,person-2
Authorization: Bearer <token>

[
{
"personId": "person-1",
"visitSessions": [
{
"session": { "serviceTimeId": "st-001", "groupId": "group-001" }
}
]
}
]

Besøkssesjoner

Basissti: /attendance/visitsessions

Administrerer koblingen mellom besøk og sesjoner (hvilken bestemt sesjon en person deltok på under et besøk). Tilbyr også et hurtiglogg-endepunkt og et nedlastings-/eksportendepunkt.

MetodeStiAuthTillatelseBeskrivelse
GET/JWTAttendance.View eller gruppelederList besøkssesjoner. Filtrer med ?sessionId=. Gruppeledere kan se besøkssesjoner for sine egne grupper
GET/:idJWTAttendance.ViewHent en besøkssesjon etter ID
GET/download/:sessionIdJWTAttendance.ViewLast ned oppmøte for en sesjon (returnerer personnavn med til stede/fraværende-status)
POST/JWTAttendance.EditOpprett eller oppdater besøkssesjoner
POST/logJWTAttendance.Edit eller gruppelederHurtiglogg en persons oppmøte til en sesjon. Oppretter automatisk besøk om nødvendig. Gruppeledere kan logge oppmøte for sine egne grupper
DELETE/:idJWTAttendance.EditSlett en besøkssesjon etter ID
DELETE/?personId=&sessionId=JWTAttendance.Edit eller gruppelederFjern en person fra en sesjon. Sletter besøkssesjonen og det overordnede besøket hvis ingen sesjoner gjenstår. Gruppeledere kan fjerne oppmøte for sine egne grupper

Eksempel: Hurtiglogg oppmøte

POST /attendance/visitsessions/log
Authorization: Bearer <token>

{
"personId": "person-001",
"visitSessions": [
{ "sessionId": "sess-001" }
]
}
{}

Eksempel: Last ned sesjonsoppmøte

GET /attendance/visitsessions/download/sess-001
Authorization: Bearer <token>
[
{
"id": "vs-001",
"personId": "person-001",
"visitId": "visit-001",
"sessionDate": "2025-01-19T00:00:00.000Z",
"personName": "John Smith",
"status": "present"
},
{
"id": "",
"personId": "person-002",
"visitId": "",
"sessionDate": "2025-01-19T00:00:00.000Z",
"personName": "Jane Doe",
"status": "absent"
}
]

Rekker

Basissti: /attendance/streaks

Sporer oppmøterekker for enkeltpersoner -- sammenhengende uker en person har deltatt. Nyttig for engasjementsmålinger og gamification.

MetodeStiAuthTillatelseBeskrivelse
GET/person/:personIdJWTLast oppmøterekker for en person

Relaterte sider