Hopp til hovedinnhold

Attendance-endepunkter

Attendance-modulen administrerer campuslokasjoner, gudstjenester, gudstjenestetider, oppmøteøkter, besøk og besøksøkter. Den tilbyr infrastruktur for sporing av hvem som deltok på hvilken gudstjeneste eller gruppemøte, støtter innsjekkingsarbeidsflyter og tilbyr oppmøtetrend- og oppsummeringsrapportering.

Basissti: /attendance

Campuser

Basissti: /attendance/campuses

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

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

Gudstjenester

Basissti: /attendance/services

Utvider GenericCrudController med CRUD-ruter getById, getAll, post og delete. getAll (GET /) og search-endepunktene er overstyrt med egendefinerte implementasjoner.

MethodPathAuthPermissionDescription
GET/JWTList alle gudstjenester (inkluderer campusinformasjon)
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-ruter getById, post og delete. getAll- og search-endepunktene er egendefinerte implementasjoner.

MethodPathAuthPermissionDescription
GET/JWTList alle gudstjenestetider. Filtrer med ?serviceId=. Legg til ?include=groups for å legge ved gruppedata
GET/:idJWTHent en gudstjenestetid etter ID
GET/search?campusId=&serviceId=JWTSøk gudstjenestetider etter campus og gudstjeneste
POST/JWTServices.EditOpprett eller oppdater gudstjenestetider
DELETE/:idJWTServices.EditSlett en gudstjenestetid

Gruppe-gudstjenestetider

Basissti: /attendance/groupservicetimes

Kobler grupper til spesifikke gudstjenestetider.

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

Oppmøteregistreringer

Basissti: /attendance/attendancerecords

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

MethodPathAuthPermissionDescription
GET/JWTAttendance.ViewLast oppmøteregistreringer for en person. Krever ?personId=
GET/treeJWTLast det fullstendige oppmøtetreet (campuser, 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 på en gitt uke
GET/search?campusId=&serviceId=&serviceTimeId=&groupId=&startDate=&endDate=JWTAttendance.ViewSøk oppmøteregistreringer med filtre (campus, gudstjeneste, gudstjenestetid, gruppe, datoperiode)

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 }
]

Økter

Basissti: /attendance/sessions

Utvider GenericCrudController med CRUD-ruter getById og delete. getAll- og save-endepunktene er egendefinerte implementasjoner som også lar gruppeledere administrere økter for sine grupper.

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

Besøk

Basissti: /attendance/visits

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

MethodPathAuthPermissionDescription
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 ved en gudstjeneste. Returnerer besøk med besøksøkter fra sist loggede dato
POST/JWTAttendance.EditOpprett eller oppdater besøk
POST/checkin?serviceId=&peopleIds=JWTAttendance.Edit eller Attendance.CheckinSend innsjekkingsdata. Oppretter/oppdaterer besøk og besøksøkter, fjerner utdaterte oppføringer
DELETE/:idJWTAttendance.EditSlett et besøk

Eksempel: Innsjekkingsflyt

Steg 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"
}
}
]
}
]

Steg 2 -- Send 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øksøkter

Basissti: /attendance/visitsessions

Administrerer tilknytningen mellom besøk og økter (hvilken spesifikk økt en person deltok på under et besøk). Tilbyr også et hurtigloggingsendepunkt og et nedlastings-/eksportendepunkt.

MethodPathAuthPermissionDescription
GET/JWTAttendance.View eller gruppelederList besøksøkter. Filtrer med ?sessionId=. Gruppeledere kan se besøksøkter for sine egne grupper
GET/:idJWTAttendance.ViewHent en besøksøkt etter ID
GET/download/:sessionIdJWTAttendance.ViewLast ned oppmøte for en økt (returnerer personnavn med tilstede-/fraværsstatus)
POST/JWTAttendance.EditOpprett eller oppdater besøksøkter
POST/logJWTAttendance.Edit eller gruppelederHurtiglogg en persons oppmøte til en økt. Oppretter besøk automatisk ved behov. Gruppeledere kan logge oppmøte for sine egne grupper
DELETE/:idJWTAttendance.EditSlett en besøksøkt etter ID
DELETE/?personId=&sessionId=JWTAttendance.Edit eller gruppelederFjern en person fra en økt. Sletter besøksøkten og det overordnede besøket hvis ingen økter gjenstår. Gruppeledere kan fjerne oppmøte for sine egne grupper

Eksempel: Hurtiglogging av oppmøte

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

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

Eksempel: Last ned øktoppmø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"
}
]

Relaterte sider