यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase में, हर अनुरोध (request) एक ctx ऑब्जेक्ट बनाता है, जो Context का एक इंस्टेंस (instance) होता है। Context अनुरोध और प्रतिक्रिया (response) की जानकारी को समाहित करता है, साथ ही NocoBase की खास सुविधाएँ भी प्रदान करता है, जैसे डेटाबेस एक्सेस, कैश (cache) ऑपरेशन, अनुमति प्रबंधन (permission management), अंतर्राष्ट्रीयकरण (internationalization) और लॉगिंग (logging)।
NocoBase का Application Koa पर आधारित है, इसलिए ctx मूल रूप से एक Koa Context ही है। लेकिन NocoBase ने इसमें कई उपयोगी API जोड़कर इसे और भी बेहतर बनाया है, जिससे डेवलपर्स Middleware और Action में व्यावसायिक तर्क (business logic) को आसानी से संभाल सकें। हर अनुरोध का अपना एक अलग ctx होता है, जो अनुरोधों के बीच डेटा अलगाव (data isolation) और सुरक्षा सुनिश्चित करता है।
ctx.action आपको वर्तमान अनुरोध के लिए निष्पादित (execute) हो रहे Action तक पहुँच प्रदान करता है। इसमें शामिल हैं:
अंतर्राष्ट्रीयकरण (i18n) के लिए समर्थन।
ctx.i18n भाषा और क्षेत्र (locale) से संबंधित जानकारी प्रदान करता है।ctx.t() का उपयोग अनुरोध की भाषा के आधार पर स्ट्रिंग का अनुवाद करने के लिए किया जाता है।ctx.db डेटाबेस तक पहुँचने के लिए एक इंटरफ़ेस प्रदान करता है, जिससे आप सीधे मॉडल पर ऑपरेशन कर सकते हैं और क्वेरी (query) चला सकते हैं।
ctx.cache कैश (cache) ऑपरेशन प्रदान करता है। यह कैश से डेटा पढ़ने और उसमें लिखने का समर्थन करता है। इसका उपयोग अक्सर डेटा एक्सेस को तेज़ करने या अस्थायी स्थिति (temporary state) को सहेजने के लिए किया जाता है।
ctx.app NocoBase एप्लीकेशन का इंस्टेंस है। यह आपको वैश्विक कॉन्फ़िगरेशन (global configuration), प्लगइन (plugin) और सेवाओं (services) तक पहुँचने की सुविधा देता है।
ctx.auth.user वर्तमान में प्रमाणित (authenticated) उपयोगकर्ता की जानकारी प्राप्त करता है। यह अनुमति जाँच (permission checks) या व्यावसायिक तर्क (business logic) में उपयोग के लिए उपयुक्त है।
ctx.state का उपयोग मिडलवेयर (middleware) चेन में डेटा साझा करने के लिए किया जाता है।
ctx.logger लॉगिंग (logging) क्षमताएँ प्रदान करता है। यह कई स्तरों पर लॉग आउटपुट का समर्थन करता है।
ctx.permission का उपयोग अनुमति प्रबंधन (permission management) के लिए किया जाता है। ctx.can() का उपयोग यह जाँचने के लिए किया जाता है कि क्या वर्तमान उपयोगकर्ता को किसी विशेष ऑपरेशन को निष्पादित करने की अनुमति है।
ctx ऑब्जेक्ट होता है।ctx Koa Context का एक विस्तार है, जो NocoBase की कार्यक्षमताओं को एकीकृत (integrate) करता है।ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t() आदि।ctx का उपयोग करके आप अनुरोधों, प्रतिक्रियाओं, अनुमतियों, लॉग और डेटाबेस को आसानी से संभाल सकते हैं।