मुख्य सामग्री पर जाएं

उपस्थिति एंडपॉइंट

Attendance मॉड्यूल कैम्पस स्थानों, सेवाओं, सेवा समय, उपस्थिति सत्रों, विज़िट और विज़िट सत्रों का प्रबंधन करता है। यह ट्रैक करने के लिए बुनियादी ढाँचा प्रदान करता है कि किसने किस सेवा या समूह बैठक में भाग लिया, चेक-इन वर्कफ़्लो का समर्थन करता है, और उपस्थिति प्रवृत्ति व सारांश रिपोर्टिंग प्रदान करता है।

बेस पथ: /attendance

कैम्पस

बेस पथ: /attendance/campuses

मानक CRUD कंट्रोलर (GenericCrudController को विस्तारित करता है)। CRUD बेस क्लास के माध्यम से getById, getAll, post, और delete रूट प्रदान करता है।

MethodPathAuthPermissionविवरण
GET/JWTचर्च के सभी कैम्पस सूचीबद्ध करें
GET/:idJWTID द्वारा कैम्पस प्राप्त करें
POST/JWTServices.Editकैम्पस बनाएँ या अपडेट करें
DELETE/:idJWTServices.Editकैम्पस हटाएँ

सेवाएँ

बेस पथ: /attendance/services

GenericCrudController को CRUD रूट getById, getAll, post, और delete के साथ विस्तारित करता है। getAll (GET /) और search एंडपॉइंट कस्टम कार्यान्वयन के साथ ओवरराइड किए गए हैं।

MethodPathAuthPermissionविवरण
GET/JWTसभी सेवाएँ सूचीबद्ध करें (कैम्पस जानकारी सहित)
GET/:idJWTID द्वारा सेवा प्राप्त करें
GET/search?campusId=JWTकैम्पस ID द्वारा सेवाएँ खोजें
POST/JWTServices.Editसेवाएँ बनाएँ या अपडेट करें
DELETE/:idJWTServices.Editसेवा हटाएँ

उदाहरण: कैम्पस द्वारा सेवाएँ खोजें

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

सेवा समय

बेस पथ: /attendance/servicetimes

GenericCrudController को CRUD रूट getById, post, और delete के साथ विस्तारित करता है। getAll और search एंडपॉइंट कस्टम कार्यान्वयन हैं।

MethodPathAuthPermissionविवरण
GET/JWTसभी सेवा समय सूचीबद्ध करें। ?serviceId= से फ़िल्टर करें। समूह डेटा जोड़ने के लिए ?include=groups जोड़ें
GET/:idJWTID द्वारा सेवा समय प्राप्त करें
GET/search?campusId=&serviceId=JWTकैम्पस और सेवा द्वारा सेवा समय खोजें
POST/JWTServices.Editसेवा समय बनाएँ या अपडेट करें
DELETE/:idJWTServices.Editसेवा समय हटाएँ

समूह सेवा समय

बेस पथ: /attendance/groupservicetimes

समूहों को विशिष्ट सेवा समय से जोड़ता है।

MethodPathAuthPermissionविवरण
GET/JWTसभी समूह-सेवा-समय संबंध सूचीबद्ध करें। सेवा नामों के साथ संबंध प्राप्त करने के लिए ?groupId= से फ़िल्टर करें
GET/:idJWTID द्वारा समूह-सेवा-समय संबंध प्राप्त करें
POST/JWTServices.Editसमूह-सेवा-समय संबंध बनाएँ या अपडेट करें
DELETE/:idJWTServices.Editसमूह-सेवा-समय संबंध हटाएँ

उपस्थिति रिकॉर्ड

बेस पथ: /attendance/attendancerecords

रिपोर्टिंग और प्रदर्शन के लिए उपस्थिति डेटा के केवल-पठन एग्रीगेट दृश्य प्रदान करता है।

MethodPathAuthPermissionविवरण
GET/JWTAttendance.Viewकिसी व्यक्ति के लिए उपस्थिति रिकॉर्ड लोड करें। ?personId= आवश्यक है
GET/treeJWTपूर्ण उपस्थिति ट्री लोड करें (कैम्पस, सेवाएँ, सेवा समय, समूह)
GET/trend?campusId=&serviceId=&serviceTimeId=&groupId=JWTAttendance.View Summaryवैकल्पिक फ़िल्टर के साथ उपस्थिति प्रवृत्ति डेटा लोड करें
GET/groups?serviceId=&week=JWTAttendance.Viewकिसी दिए गए सप्ताह में सेवा के लिए समूह उपस्थिति लोड करें
GET/search?campusId=&serviceId=&serviceTimeId=&groupId=&startDate=&endDate=JWTAttendance.Viewफ़िल्टर के साथ उपस्थिति रिकॉर्ड खोजें (कैम्पस, सेवा, सेवा समय, समूह, तिथि सीमा)

उदाहरण: उपस्थिति प्रवृत्ति

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

सत्र

बेस पथ: /attendance/sessions

GenericCrudController को CRUD रूट getById और delete के साथ विस्तारित करता है। getAll और save एंडपॉइंट कस्टम कार्यान्वयन हैं जो समूह नेताओं को अपने समूहों के लिए सत्र प्रबंधित करने की अनुमति भी देते हैं।

MethodPathAuthPermissionविवरण
GET/JWTAttendance.View या Group Leaderसभी सत्र सूचीबद्ध करें। ?groupId= से फ़िल्टर करें (नाम सहित)। समूह नेता अपने समूहों के सत्र देख सकते हैं
GET/:idJWTAttendance.ViewID द्वारा सत्र प्राप्त करें
POST/JWTAttendance.Edit या Group Leaderसत्र बनाएँ या अपडेट करें। समूह नेता अपने समूहों के लिए सत्र सहेज सकते हैं
DELETE/:idJWTAttendance.Editसत्र हटाएँ

विज़िट

बेस पथ: /attendance/visits

व्यक्तिगत विज़िट रिकॉर्ड (किसी विशिष्ट तिथि पर एक व्यक्ति की उपस्थिति) का प्रबंधन करता है और चेक-इन वर्कफ़्लो प्रदान करता है।

MethodPathAuthPermissionविवरण
GET/JWTAttendance.Viewसभी विज़िट सूचीबद्ध करें। ?personId= से फ़िल्टर करें
GET/:idJWTAttendance.ViewID द्वारा विज़िट प्राप्त करें
GET/checkin?serviceId=&peopleIds=JWTAttendance.View या Attendance.Checkinकिसी सेवा में लोगों के लिए चेक-इन डेटा लोड करें। अंतिम लॉग तिथि से विज़िट सत्रों के साथ विज़िट लौटाता है
POST/JWTAttendance.Editविज़िट बनाएँ या अपडेट करें
POST/checkin?serviceId=&peopleIds=JWTAttendance.Edit या Attendance.Checkinचेक-इन डेटा सबमिट करें। विज़िट और विज़िट सत्र बनाता/अपडेट करता है, पुराने रिकॉर्ड हटाता है
DELETE/:idJWTAttendance.Editविज़िट हटाएँ

उदाहरण: चेक-इन प्रवाह

चरण 1 -- मौजूदा चेक-इन डेटा लोड करें:

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

चरण 2 -- चेक-इन सबमिट करें:

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

विज़िट सत्र

बेस पथ: /attendance/visitsessions

विज़िट और सत्रों के बीच संबंध का प्रबंधन करता है (एक विज़िट के दौरान किसी व्यक्ति ने किस विशिष्ट सत्र में भाग लिया)। त्वरित लॉग एंडपॉइंट और डाउनलोड/निर्यात एंडपॉइंट भी प्रदान करता है।

MethodPathAuthPermissionविवरण
GET/JWTAttendance.View या Group Leaderविज़िट सत्र सूचीबद्ध करें। ?sessionId= से फ़िल्टर करें। समूह नेता अपने समूहों के विज़िट सत्र देख सकते हैं
GET/:idJWTAttendance.ViewID द्वारा विज़िट सत्र प्राप्त करें
GET/download/:sessionIdJWTAttendance.Viewसत्र के लिए उपस्थिति डाउनलोड करें (उपस्थित/अनुपस्थित स्थिति के साथ व्यक्ति नाम लौटाता है)
POST/JWTAttendance.Editविज़िट सत्र बनाएँ या अपडेट करें
POST/logJWTAttendance.Edit या Group Leaderकिसी सत्र में व्यक्ति की उपस्थिति त्वरित-लॉग करें। यदि आवश्यक हो तो स्वचालित रूप से विज़िट बनाता है। समूह नेता अपने समूहों के लिए उपस्थिति लॉग कर सकते हैं
DELETE/:idJWTAttendance.EditID द्वारा विज़िट सत्र हटाएँ
DELETE/?personId=&sessionId=JWTAttendance.Edit या Group Leaderकिसी सत्र से व्यक्ति को हटाएँ। विज़िट सत्र और पैरेंट विज़िट हटाता है यदि कोई सत्र शेष नहीं है। समूह नेता अपने समूहों की उपस्थिति हटा सकते हैं

उदाहरण: त्वरित-लॉग उपस्थिति

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

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

उदाहरण: सत्र उपस्थिति डाउनलोड करें

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

संबंधित पृष्ठ