कार्य एंडपॉइंट
Doing मॉड्यूल सेवा योजना, स्वयंसेवक शेड्यूलिंग, कार्य प्रबंधन और ऑटोमेशन का प्रबंधन करता है। यह सेवा योजनाओं को समय और पदों के साथ बनाने, स्वयंसेवकों को असाइन करने, ब्लॉकआउट तिथियों का प्रबंधन करने, सेवा क्रम आइटम बनाने, बाहरी सामग्री प्रदाताओं से कनेक्ट करने और शर्तों और क्रियाओं के साथ स्वचालित वर्कफ़्लो कॉन्फ़िगर करने के उपकरण प्रदान करता है।
बेस पथ: /doing
योजनाएँ
बेस पथ: /doing/plans
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | / | JWT | — | चर्च की सभी योजनाएँ सूचीबद्ध करें |
| GET | /:id | JWT | — | ID द्वारा योजना प्राप्त करें |
| GET | /ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा कई योजनाएँ प्राप्त करें |
| GET | /types/:planTypeId | JWT | — | योजना प्रकार द्वारा योजनाएँ प्राप्त करें |
| GET | /presenter | JWT | — | अगले 7 दिनों के लिए योजनाएँ प्राप्त करें (प्रस्तुतकर्ता दृश्य) |
| GET | /public/current/:planTypeId | Public | — | योजना प्रकार के लिए वर्तमान योजना प्राप्त करें |
| POST | / | JWT | — | योजनाएँ बनाएँ या अपडेट करें (एकल ऑब्जेक्ट या एरे स्वीकार करता है) |
| POST | /copy/:id | JWT | — | पद, समय, असाइनमेंट और सेवा क्रम आइटम सहित योजना कॉपी करें। बॉडी में copyMode ("none", "positions", "all") और copyServiceOrder (boolean) शामिल है |
| POST | /autofill/:id | JWT | — | योजना के लिए स्वयंसेवक असाइनमेंट स्वचालित-भरें। बॉडी: { teams: [{ positionId, personIds }] } |
| DELETE | /:id | JWT | — | योजना और सभी संबंधित समय, असाइनमेंट, पद और योजना आइटम हटाएँ |
उदाहरण: योजना कॉपी करें
POST /doing/plans/copy/abc-123
Authorization: Bearer <token>
{
"serviceDate": "2026-03-01T10:00:00.000Z",
"copyMode": "all",
"copyServiceOrder": true
}
{
"id": "def-456",
"churchId": "church-1",
"serviceDate": "2026-03-01T10:00:00.000Z"
}
योजना प्रकार
बेस पथ: /doing/planTypes
CRUD बेस क्लास विस्तारित (GET /, GET /:id, POST /, DELETE /:id — कोई अनुमति जाँच नहीं)।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | / | JWT | — | सभी योजना प्रकार सूचीबद्ध करें |
| GET | /:id | JWT | — | ID द्वारा योजना प्रकार प्राप्त करें |
| GET | /ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा कई योजना प्रकार प्राप्त करें |
| GET | /ministryId/:ministryId | JWT | — | मंत्रालय के लिए योजना प्रकार प्राप्त करें |
| POST | / | JWT | — | योजना प्रकार बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | योजना प्रकार हटाएँ |
योजना आइटम
बेस पथ: /doing/planItems
सेवा क्रम आइटम (हेडर, खंड, गीत, आदि) को पैरेंट-चाइल्ड ट्री संरचना में प्रबंधित करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:id | JWT | — | ID द्वारा योजना आइटम प्राप्त करें |
| GET | /ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा कई योजना आइटम प्राप्त करें |
| GET | /plan/:planId | JWT | — | योजना के सभी योजना आइटम प्राप्त करें (ट्री संरचना लौटाता है) |
| GET | /presenter/:churchId/:planId | Public | — | प्रस्तुतकर्ता दृश्य के लिए योजना आइटम प्राप्त करें (ट्री संरचना लौटाता है) |
| POST | / | JWT | — | योजना आइटम बनाएँ या अपडेट करें |
| POST | /sort | JWT | — | योजना आइटम के लिए क्रम अपडेट करें (सहोदर पुनः-क्रमित) |
| DELETE | /:id | JWT | — | योजना आइटम हटाएँ |
योजना फ़ीड
बेस पथ: /doing/planFeed
प्रस्तुतकर्ता के लिए योजना आइटम फ़ीड प्रदान करता है। यदि कोई योजना आइटम मौजूद नहीं है, तो योजना के contentId का उपयोग करके Lessons.church वेन्यू फ़ीड से स्वचालित रूप से भरता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /presenter/:churchId/:planId | Public | — | प्रस्तुतकर्ता के लिए योजना फ़ीड प्राप्त करें (खाली होने पर वेन्यू फ़ीड से स्वचालित भरता है) |
पद
बेस पथ: /doing/positions
CRUD बेस क्लास विस्तारित (GET /:id, POST /, DELETE /:id — कोई अनुमति जाँच नहीं)।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:id | JWT | — | ID द्वारा पद प्राप्त करें |
| GET | /ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा कई पद प्राप्त करें |
| GET | /plan/ids?planIds= | JWT | — | कॉमा-सेपरेटेड योजना ID द्वारा कई योजनाओं के पद प्राप्त करें |
| GET | /plan/:planId | JWT | — | योजना के सभी पद प्राप्त करें |
| POST | / | JWT | — | पद बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | पद हटाएँ |
समय
बेस पथ: /doing/times
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /all | JWT | — | चर्च के सभी समय सूचीबद्ध करें |
| GET | /:id | JWT | — | ID द्वारा समय प्राप्त करें |
| GET | /plans?planIds= | JWT | — | कॉमा-सेपरेटेड योजना ID द्वारा कई योजनाओं के समय प्राप्त करें |
| GET | /plan/:planId | JWT | — | योजना के सभी समय प्राप्त करें |
| POST | / | JWT | — | समय बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | समय हटाएँ |
असाइनमेंट
बेस पथ: /doing/assignments
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /my | JWT | — | वर्तमान उपयोगकर्ता के असाइनमेंट प्राप्त करें |
| GET | /:id | JWT | — | ID द्वारा असाइनमेंट प्राप्त करें |
| GET | /plan/ids?planIds= | JWT | — | कॉमा-सेपरेटेड योजना ID द्वारा कई योजनाओं के असाइनमेंट प्राप्त करें |
| GET | /plan/:planId | JWT | — | योजना के सभी असाइनमेंट प्राप्त करें |
| POST | / | JWT | — | असाइनमेंट बनाएँ या अपडेट करें (डिफ़ॉल्ट स्थिति "Unconfirmed") |
| POST | /accept/:id | JWT | — | असाइनमेंट स्वीकार करें (असाइन किया गया व्यक्ति होना चाहिए) |
| POST | /decline/:id | JWT | — | असाइनमेंट अस्वीकार करें (असाइन किया गया व्यक्ति होना चाहिए) |
| DELETE | /:id | JWT | — | असाइनमेंट हटाएँ |
उदाहरण: असाइनमेंट स्वीकार करें
POST /doing/assignments/accept/assign-123
Authorization: Bearer <token>
{
"id": "assign-123",
"personId": "person-456",
"positionId": "pos-789",
"planId": "plan-abc",
"status": "Accepted"
}
ब्लॉकआउट तिथियाँ
बेस पथ: /doing/blockoutDates
CRUD बेस क्लास विस्तारित (GET /:id, DELETE /:id — कोई अनुमति जाँच नहीं)।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:id | JWT | — | ID द्वारा ब्लॉकआउट तिथि प्राप्त करें |
| GET | /ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा कई ब्लॉकआउट तिथियाँ प्राप्त करें |
| GET | /my | JWT | — | वर्तमान उपयोगकर्ता की ब्लॉकआउट तिथियाँ प्राप्त करें |
| GET | /upcoming | JWT | — | चर्च की सभी आगामी ब्लॉकआउट तिथियाँ प्राप्त करें |
| POST | / | JWT | — | ब्लॉकआउट तिथियाँ बनाएँ या अपडेट करें (प्रदान न किए जाने पर personId डिफ़ॉल्ट रूप से वर्तमान उपयोगकर्ता) |
| DELETE | /:id | JWT | — | ब्लॉकआउट तिथि हटाएँ |
कार्य
बेस पथ: /doing/tasks
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | / | JWT | — | वर्तमान उपयोगकर्ता के खुले कार्य प्राप्त करें |
| GET | /:id | JWT | — | ID द्वारा कार्य प्राप्त करें |
| GET | /closed | JWT | — | वर्तमान उपयोगकर्ता के बंद कार्य प्राप्त करें |
| GET | /timeline?taskIds= | JWT | — | कॉमा-सेपरेटेड कार्य ID द्वारा कार्यों के लिए टाइमलाइन डेटा प्राप्त करें |
| GET | /directoryUpdate/:personId | JWT | — | व्यक्ति के लिए डायरेक्टरी अपडेट कार्य प्राप्त करें |
| POST | / | JWT | — | कार्य बनाएँ या अपडेट करें। डायरेक्टरी अपडेट कार्यों को संभालने के लिए ?type=directoryUpdate जोड़ें (फ़ोटो स्वचालित अपलोड) |
| POST | /loadForGroups | JWT | — | विशिष्ट समूहों के लिए कार्य लोड करें। बॉडी: { groupIds: [], status: "Open" } |
ऑटोमेशन
बेस पथ: /doing/automations
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | / | JWT | — | चर्च के सभी ऑटोमेशन सूचीबद्ध करें |
| GET | /:id | JWT | — | ID द्वारा ऑटोमेशन प्राप्त करें |
| GET | /check | Public | — | सभी ऑटोमेशन की जाँच ट्रिगर करें |
| POST | / | JWT | — | ऑटोमेशन बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | ऑटोमेशन हटाएँ |
क्रियाएँ
बेस पथ: /doing/actions
क्रियाएँ परिभाषित करती हैं कि जब ऑटोमेशन ट्रिगर होता है तो क्या होता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:id | JWT | — | ID द्वारा क्रिया प्राप्त करें |
| GET | /automation/:id | JWT | — | ऑटोमेशन की सभी क्रियाएँ प्राप्त करें |
| POST | / | JWT | — | क्रियाएँ बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | क्रिया हटाएँ |
शर्तें
बेस पथ: /doing/conditions
शर्तें वे मानदंड परिभाषित करती हैं जो ऑटोमेशन को ट्रिगर करते हैं।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:id | JWT | — | ID द्वारा शर्त प्राप्त करें |
| GET | /automation/:id | JWT | — | ऑटोमेशन की सभी शर्तें प्राप्त करें |
| POST | / | JWT | — | शर्तें बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | शर्त हटाएँ |
संयोजन
बेस पथ: /doing/conjunctions
संयोजन एक ऑटोमेशन में कई शर्तों को जोड़ते हैं (AND/OR लॉजिक)।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | /:id | JWT | — | ID द्वारा संयोजन प्राप्त करें |
| GET | /automation/:id | JWT | — | ऑटोमेशन के सभी संयोजन प्राप्त करें |
| POST | / | JWT | — | संयोजन बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | संयोजन हटाएँ |
सामग्री प्रदाता प्रमाणीकरण
बेस पथ: /doing/contentProviderAuths
CRUD बेस क्लास विस्तारित (GET /, GET /:id, POST /, DELETE /:id — कोई अनुमति जाँच नहीं)।
बाहरी सामग्री प्रदाताओं (जैसे प्रेजेंटेशन सॉफ़्टवेयर एकीकरण) के लिए OAuth प्रमाणीकरण रिकॉर्ड प्रबंधित करता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| GET | / | JWT | — | सभी सामग्री प्रदाता प्रमाणीकरण सूचीबद्ध करें |
| GET | /:id | JWT | — | ID द्वारा सामग्री प्रदाता प्रमाणीकरण प्राप्त करें |
| GET | /ids?ids= | JWT | — | कॉमा-सेपरेटेड ID द्वारा कई सामग्री प्रदाता प्रमाणीकरण प्राप्त करें |
| GET | /ministry/:ministryId | JWT | — | मंत्रालय के सभी सामग्री प्रदाता प्रमाणीकरण प्राप्त करें |
| GET | /ministry/:ministryId/:providerId | JWT | — | विशिष्ट मंत्रालय और प्रदाता के लिए प्रमाणीकरण रिकॉर्ड प्राप्त करें |
| POST | / | JWT | — | सामग्री प्रदाता प्रमाणीकरण बनाएँ या अपडेट करें |
| DELETE | /:id | JWT | — | सामग्री प्रदाता प्रमाणीकरण हटाएँ |
प्रदाता प्रॉक्सी
बेस पथ: /doing/providerProxy
बाहरी सामग्री प्रदाताओं (जैसे ProPresenter, EasyWorship) को अनुरोध प्रॉक्सी करता है। टोकन समाप्त होने पर टोकन रिफ्रेश स्वचालित रूप से संभालता है।
| Method | Path | Auth | Permission | विवरण |
|---|---|---|---|---|
| POST | /browse | JWT | — | सामग्री प्रदाता फ़ाइलें ब्राउज़ करें। बॉडी: { ministryId, providerId, path } |
| POST | /getPresentations | JWT | — | सामग्री प्रदाता से प्रेजेंटेशन प्राप्त करें। बॉडी: { ministryId, providerId, path } |
| POST | /getPlaylist | JWT | — | सामग्री प्रदाता से प्लेलिस्ट प्राप्त करें। बॉडी: { ministryId, providerId, path, resolution } |
| POST | /getInstructions | JWT | — | सामग्री आइटम के लिए निर्देश प्राप्त करें। बॉडी: { ministryId, providerId, path } |
| POST | /getExpandedInstructions | JWT | — | सामग्री आइटम के लिए विस्तारित निर्देश प्राप्त करें। बॉडी: { ministryId, providerId, path } |
संबंधित पृष्ठ
- Membership एंडपॉइंट — लोग, समूह, भूमिकाएँ और अनुमतियाँ
- Attendance एंडपॉइंट — सेवा और विज़िट ट्रैकिंग
- मॉड्यूल संरचना — कोड संगठन पैटर्न