dolphin-server-modules 2.11.3 → 2.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DOLPHIN_MASTER_GUIDE_NEPALI.md +4 -4
- package/README.md +6 -6
- package/TUTORIAL_NEPALI.md +109 -181
- package/dist/adapters/mongoose/index.js +13 -0
- package/dist/adapters/mongoose/index.js.map +1 -1
- package/dist/authController/authController.d.ts +2 -1
- package/dist/authController/authController.js +35 -21
- package/dist/authController/authController.js.map +1 -1
- package/dist/authController/authController.test.js +2 -0
- package/dist/authController/authController.test.js.map +1 -1
- package/dist/bin/cli.js +142 -111
- package/dist/bin/cli.js.map +1 -1
- package/dist/client.test.js +6 -6
- package/dist/client.test.js.map +1 -1
- package/dist/curd/crud.d.ts +18 -0
- package/dist/curd/crud.js +11 -1
- package/dist/curd/crud.js.map +1 -1
- package/dist/curd/crud.test.js +10 -2
- package/dist/curd/crud.test.js.map +1 -1
- package/dist/realtime/core.d.ts +4 -4
- package/dist/realtime/core.js +3 -3
- package/dist/realtime/core.js.map +1 -1
- package/dist/realtime/devicemanager.d.ts +102 -0
- package/dist/realtime/devicemanager.js +209 -1
- package/dist/realtime/devicemanager.js.map +1 -1
- package/dist/realtime/devicemanager.test.d.ts +1 -0
- package/dist/realtime/devicemanager.test.js +156 -0
- package/dist/realtime/devicemanager.test.js.map +1 -0
- package/dist/realtime/index.d.ts +1 -0
- package/dist/realtime/index.js +1 -0
- package/dist/realtime/index.js.map +1 -1
- package/dist/server/client-serve.d.ts +1 -0
- package/dist/server/client-serve.js +17 -0
- package/dist/server/client-serve.js.map +1 -0
- package/dist/server/server.js +12 -14
- package/dist/server/server.js.map +1 -1
- package/dist/templates/index.d.ts +6 -0
- package/dist/templates/index.js +139 -20
- package/dist/templates/index.js.map +1 -1
- package/package.json +7 -2
- package/scripts/client.js +12 -11
- package/scripts/client.mjs +9 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Dolphin Framework: Absolute Master Guide (100+ Pages Equivalent) 🐬🇳🇵
|
|
2
|
-
Latest Version: v2.
|
|
2
|
+
Latest Version: v2.11.4 | Updated: 2026-05-27 | License: ISC
|
|
3
3
|
|
|
4
4
|
यो डकुमेन्ट Dolphin Framework को आधिकारिक र विस्तृत गाइड हो। यसले तपाईँलाई एउटा साधारण कोड लेख्ने डेभलपरबाट "Framework Master" बनाउन मद्दत गर्नेछ।
|
|
5
5
|
|
|
@@ -52,9 +52,9 @@ Latest Version: v2.2.5 | Updated: 2026-04-24 | License: ISC
|
|
|
52
52
|
|
|
53
53
|
१५. स्वतन्त्र अटो-स्वैगर जेनेरेसन
|
|
54
54
|
|
|
55
|
-
१६. DolphinStore: रिएक्टिभ स्टेट म्यानेजमेन्ट र फिल्टरिङ (New v2.
|
|
55
|
+
१६. DolphinStore: रिएक्टिभ स्टेट म्यानेजमेन्ट र फिल्टरिङ (New v2.11.4)
|
|
56
56
|
|
|
57
|
-
१७. DolphinPersist: अफलाइन क्यासिङ र Persistence (New v2.
|
|
57
|
+
१७. DolphinPersist: अफलाइन क्यासिङ र Persistence (New v2.11.4)
|
|
58
58
|
|
|
59
59
|
१८. API रेफरेन्स
|
|
60
60
|
|
|
@@ -791,7 +791,7 @@ app.get('/docs', (ctx) => {
|
|
|
791
791
|
app.get('/docs/json', (ctx) => ctx.json(apiDocs));
|
|
792
792
|
rt.register(deviceId, socket?, metadata?) डिभाइस रजिस्टर
|
|
793
793
|
१६. DolphinStore: रिएक्टिभ स्टेट म्यानेजमेन्ट र फिल्टरिङ (Reactive State) 🐬
|
|
794
|
-
Dolphin v2.
|
|
794
|
+
Dolphin v2.11.4 मा थपिएको `DolphinStore` ले फ्रन्टइन्डमा डेटा म्यानेजमेन्टलाई अर्को स्तरमा पुर्याउँछ। यसले ब्याकइन्डको डेटालाई अटोमेटिक सिङ्क मात्र गर्दैन, तर फिल्टरिङ, सर्टिङ र लोड स्टेटहरू पनि म्यानेज गर्छ।
|
|
795
795
|
|
|
796
796
|
१६.१ स्टेट ट्र्याकिङ (State Tracking)
|
|
797
797
|
प्रत्येक कलेक्सनमा अब निम्न स्टेटहरू हुन्छन्:
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 🐬 Dolphin Framework (v2.
|
|
1
|
+
# 🐬 Dolphin Framework (v2.11.4)
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|

|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
### 📘 Official Master Guide (Nepal)
|
|
14
14
|
Dolphin Framework को विस्तृत र आधिकारिक गाइड उपलब्ध छ। यसमा **Auth, CRUD, Models, र Controllers** को १००% ट्युटोरियल समावेश छ।
|
|
15
15
|
|
|
16
|
-
👉 **[Dolphin Master Guide (
|
|
16
|
+
👉 **[Dolphin Master Guide (Web Version)](https://phuyalshankar.github.io/dolphin-server-modules/guide.html)** *(Most Up-to-Date)*
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
## 🤖 Cursor-Level AI Features (New in v2.
|
|
20
|
+
## 🤖 Cursor-Level AI Features (New in v2.11.4)
|
|
21
21
|
|
|
22
|
-
Dolphin v2.
|
|
22
|
+
Dolphin v2.11.4 introduces a complete overhaul of the AI Agent, bringing it closer to professional AI editors like Cursor.
|
|
23
23
|
|
|
24
24
|
### 1. Semantic Project Search
|
|
25
25
|
The AI doesn't just look at one file; it indexes your entire project. When you ask a question, it uses semantic token overlap to find the 5 most relevant files automatically.
|
|
@@ -79,7 +79,7 @@ app.get('/ping', (ctx) => {
|
|
|
79
79
|
return { message: 'pong', status: 'swimming' };
|
|
80
80
|
});
|
|
81
81
|
|
|
82
|
-
app.listen(3000, () => console.log("🐬 Dolphin v2.
|
|
82
|
+
app.listen(3000, () => console.log("🐬 Dolphin v2.11.4 swimming on 3000"));
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
---
|
|
@@ -89,7 +89,7 @@ app.listen(3000, () => console.log("🐬 Dolphin v2.9.5 swimming on 3000"));
|
|
|
89
89
|
| Framework | RPS (Req/sec) | Cold Start | Realtime Throughput |
|
|
90
90
|
| :--- | :--- | :--- | :--- |
|
|
91
91
|
| Express.js | ~15,000 | 180ms | N/A |
|
|
92
|
-
| **Dolphin V2.
|
|
92
|
+
| **Dolphin V2.11** | **45,000+** | **< 10ms** | **35,000+ msgs/sec** |
|
|
93
93
|
|
|
94
94
|
---
|
|
95
95
|
|
package/TUTORIAL_NEPALI.md
CHANGED
|
@@ -1,181 +1,109 @@
|
|
|
1
|
-
# Dolphin Framework: 0 to 100% Full Tutorial (Nepali) 🐬 [v2.
|
|
2
|
-
|
|
3
|
-
Dolphin Framework मा तपाईँलाई स्वागत छ! यो गाइडमा हामी Dolphin प्रयोग गरेर एउटा शक्तिशाली, आधुनिक र एआई-संचालित (AI-Powered) ब्याकइन्ड कसरी बनाउने भनेर सिक्नेछौँ।
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## १. Dolphin के हो? (Introduction)
|
|
8
|
-
|
|
9
|
-
**Dolphin** एउटा "Zero-Dependency" ब्याकइन्ड फ्रेमवर्क हो। यो २०२६ को आधुनिक आवश्यकताहरूका लागि तयार पारिएको छ। अहिले यसमा **Cursor-Level Agentic AI** थपिएको छ, जसले गर्दा तपाईँको कोडिङ अनुभव पूर्ण रूपमा बदलिनेछ।
|
|
10
|
-
|
|
11
|
-
**मुख्य विशेषताहरू:**
|
|
12
|
-
- **Advanced AI Agent**: प्रोजेक्ट बुझ्ने र आफैं कोड लेख्ने एजेन्ट।
|
|
13
|
-
- **Ultra-Fast**: एक्सप्रेस (Express) भन्दा ५ गुणा सम्म छिटो।
|
|
14
|
-
- **Multi-Model Support**: Gemini, Groq (Llama 3), र Local Ollama सपोर्ट।
|
|
15
|
-
- **ESM Ready**: आधुनिक `import/export` सिन्ट्याक्समा आधारित।
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## २. सुरुवाती सेटअप र एआई (Project Setup & AI)
|
|
20
|
-
|
|
21
|
-
Dolphin v2.
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# १. नयाँ फोल्डर बनाउनुहोस्
|
|
25
|
-
mkdir my-dolphin-app && cd my-dolphin-app
|
|
26
|
-
|
|
27
|
-
# २. एआई एजेन्ट सुरु गर्नुहोस् (Cursor Mode)
|
|
28
|
-
# यसले तपाईँको कुरा बुझ्छ र कोड लेख्न मद्दत गर्छ
|
|
29
|
-
npx dolphin chat
|
|
30
|
-
|
|
31
|
-
# ३. एआई मार्फत पूर्ण प्रोजेक्ट स्ट्रक्चर बनाउनुहोस्
|
|
32
|
-
npx dolphin generate-full "e-commerce backend with orders and mongoose"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## ३. एआई एजेन्टसँग कुरा गर्ने (Chatting with Agent)
|
|
38
|
-
|
|
39
|
-
Dolphin Agent ले अहिले **Roman Nepali** बुझ्छ। तपाईँले यसरी सोध्न सक्नुहुन्छ:
|
|
40
|
-
|
|
41
|
-
> "Hey Dolphin, `real-test` फोल्डरमा एउटा नयाँ `order.js` मोडल बनाइदेऊ र `app.js` मा त्यसको रुट थपिदेऊ।"
|
|
42
|
-
|
|
43
|
-
एजेन्टले तपाईँको प्रोजेक्टका सबै फाइलहरू हेर्छ र सिधै कोड अपडेट गरिदिन्छ। यसका लागि कुनै पनि `require` प्रयोग नगर्नुहोस्, सधैँ **`import`** प्रयोग गर्नुहोस्।
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## ४. पहिलो सर्भर (Modern ESM Server)
|
|
48
|
-
|
|
49
|
-
हामी आधुनिक `import` सिन्ट्याक्स मात्र प्रयोग गर्छौं, किनभने `require` ले पुराना समस्याहरू निम्त्याउन सक्छ।
|
|
50
|
-
|
|
51
|
-
```javascript
|
|
52
|
-
import { createDolphinServer } from 'dolphin-server-modules/server';
|
|
53
|
-
|
|
54
|
-
const app = createDolphinServer();
|
|
55
|
-
|
|
56
|
-
// एउटा सामान्य गेट (GET) रूट
|
|
57
|
-
app.get('/', (ctx) => {
|
|
58
|
-
return {
|
|
59
|
-
message: "Dolphin ko sansar ma swagat chha! 🐬",
|
|
60
|
-
version: "2.
|
|
61
|
-
mode: "Agentic AI Ready"
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// सर्भर सुन्न (Listen) सुरु गर्नुहोस्
|
|
66
|
-
app.listen(3000, () => {
|
|
67
|
-
console.log("Server http://localhost:3000 ma chaliraheko chha!");
|
|
68
|
-
});
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## ५. एआई बिनाका शक्तिशाली कमाण्डहरू
|
|
74
|
-
|
|
75
|
-
यदि तपाईँलाई एआई प्रयोग गर्न मन छैन भने, डल्फिनमा पहिले देखि नै बनेका टेम्पलेटहरू प्रयोग गर्न सक्नुहुन्छ:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# अथेन्टिकेसन सिस्टम थप्न
|
|
79
|
-
npx dolphin add auth
|
|
80
|
-
|
|
81
|
-
# कुनै मोडलको लागि CRUD थप्न
|
|
82
|
-
npx dolphin add crud Product
|
|
83
|
-
|
|
84
|
-
# मङ्गोस (Mongoose) सेटअप गर्न
|
|
85
|
-
npx dolphin add adapter mongoose
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## ६. लोकल एआई (Ollama Support) [NEW]
|
|
91
|
-
|
|
92
|
-
यदि तपाईँ आफ्नो डेटा क्लाउडमा पठाउन चाहनुहुन्न भने, आफ्नो कम्प्युटरमै **Ollama** चलाउन सक्नुहुन्छ। `.env` फाइलमा यो सेट गर्नुहोस्:
|
|
93
|
-
|
|
94
|
-
```env
|
|
95
|
-
USE_OLLAMA=true
|
|
96
|
-
OLLAMA_MODEL=gemma3:latest
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## ७. अन्तिममा (Conclusion)
|
|
102
|
-
|
|
103
|
-
Dolphin Framework अब एउटा सामान्य फ्रेमवर्क मात्र होइन, यो तपाईँको एउटा "एआई साथी" पनि हो। यसले तपाईँको कोडिङ स्पिड १० गुणा बढाउन मद्दत गर्छ।
|
|
104
|
-
|
|
105
|
-
**थप जानकारीको लागि:**
|
|
106
|
-
- [README.md](README.md) हेर्नुहोस्।
|
|
107
|
-
- [Dolphin Master Guide](DOLPHIN_MASTER_GUIDE_NEPALI.md) पढ्नुहोस्।
|
|
108
|
-
|
|
109
|
-
**Happy Coding in Nepali! 🇳🇵🐬**
|
|
110
|
-
sole.log("डेटा आयो:", products.items);
|
|
111
|
-
}
|
|
112
|
-
</script>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### ख. फिल्टर र सर्टिङ (Filtering & Sorting)
|
|
116
|
-
तपाईंले स्टोरमै डेटा फिल्टर र सर्ट गर्न सक्नुहुन्छ, जुन एकदमै 'Reactive' हुन्छ:
|
|
117
|
-
|
|
118
|
-
```javascript
|
|
119
|
-
// १. मूल्य १००० भन्दा बढी भएका सामान मात्र फिल्टर गर्ने
|
|
120
|
-
dolphin.store.products.where(p => p.price > 1000);
|
|
121
|
-
|
|
122
|
-
// २. नामको आधारमा मिलाउने (A to Z)
|
|
123
|
-
dolphin.store.products.orderBy('name', 'asc');
|
|
124
|
-
|
|
125
|
-
// ३. सबै फिल्टर हटाउने
|
|
126
|
-
dolphin.store.products.clear();
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## ५. DolphinPersist: अफलाइन क्यासिङ [NEW v2.2.5]
|
|
132
|
-
|
|
133
|
-
यदि तपाईं इन्टरनेट नहुँदा पनि आफ्नो डेटा स्टोरमा राखिरहन चाहनुहुन्छ भने `DolphinPersist` प्रयोग गर्नुहोस्।
|
|
134
|
-
|
|
135
|
-
```html
|
|
136
|
-
<script src="/dolphin-client.js"></script>
|
|
137
|
-
<script src="path/to/dolphin-persist.js"></script>
|
|
138
|
-
|
|
139
|
-
<script>
|
|
140
|
-
// IndexedDB प्रयोग गरेर अफलाइन क्यासिङ सेट गर्ने
|
|
141
|
-
const persist = new DolphinPersist({ driver: 'indexeddb' });
|
|
142
|
-
enablePersist(dolphin.store, persist);
|
|
143
|
-
|
|
144
|
-
// अब पेज रिफ्रेस गर्दा वा इन्टरनेट नहुँदा पनि पुरानो डेटा तुरुन्तै देखिन्छ।
|
|
145
|
-
</script>
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## ६. अटोमेटेड CRUD (Mongoose सँग)
|
|
151
|
-
|
|
152
|
-
Dolphin ले डेटाबेससँग काम गर्न अटोमेटेड CRUD सुविधा दिन्छ।
|
|
153
|
-
|
|
154
|
-
```javascript
|
|
155
|
-
import { createMongooseAdapter } from 'dolphin-server-modules/adapters/mongoose';
|
|
156
|
-
import { createCRUD } from 'dolphin-server-modules/curd';
|
|
157
|
-
|
|
158
|
-
// १. एड्याप्टर बनाउने
|
|
159
|
-
const db = createMongooseAdapter({ User, Product });
|
|
160
|
-
|
|
161
|
-
// २. CRUD सर्भिस सुरु गर्ने
|
|
162
|
-
const crud = createCRUD(db, {
|
|
163
|
-
enforceOwnership: false, // सबैका लागि खुला गर्न
|
|
164
|
-
realtime: true // रियल-टाइम सिङ्क इनेबल गर्न
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// ३. रुटहरूमा जोड्ने
|
|
168
|
-
app.get('/products', async (ctx) => ctx.json(await crud.read('Product')));
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## ७. अन्तिममा (Conclusion)
|
|
174
|
-
|
|
175
|
-
Dolphin Framework अब एउटा पूर्ण 'Full-stack' ब्याकइन्ड इकोसिस्टम बनेको छ। यसले ब्याकइन्डमा मात्र होइन, फ्रन्टइन्डको डेटा सिङ्क र अफलाइन म्यानेजमेन्टमा पनि मद्दत गर्छ।
|
|
176
|
-
|
|
177
|
-
**थप जानकारीको लागि:**
|
|
178
|
-
- [Official Documentation](https://github.com/Phuyalshankar/dolphin-server-modules)
|
|
179
|
-
- [README.md](README.md) हेर्नुहोस्।
|
|
180
|
-
|
|
181
|
-
**Happy Coding in Nepali! 🇳🇵🐬**
|
|
1
|
+
# Dolphin Framework: 0 to 100% Full Tutorial (Nepali) 🐬 [v2.11.4]
|
|
2
|
+
|
|
3
|
+
Dolphin Framework मा तपाईँलाई स्वागत छ! यो गाइडमा हामी Dolphin प्रयोग गरेर एउटा शक्तिशाली, आधुनिक र एआई-संचालित (AI-Powered) ब्याकइन्ड कसरी बनाउने भनेर सिक्नेछौँ।
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## १. Dolphin के हो? (Introduction)
|
|
8
|
+
|
|
9
|
+
**Dolphin** एउटा "Zero-Dependency" ब्याकइन्ड फ्रेमवर्क हो। यो २०२६ को आधुनिक आवश्यकताहरूका लागि तयार पारिएको छ। अहिले यसमा **Cursor-Level Agentic AI** थपिएको छ, जसले गर्दा तपाईँको कोडिङ अनुभव पूर्ण रूपमा बदलिनेछ।
|
|
10
|
+
|
|
11
|
+
**मुख्य विशेषताहरू:**
|
|
12
|
+
- **Advanced AI Agent**: प्रोजेक्ट बुझ्ने र आफैं कोड लेख्ने एजेन्ट।
|
|
13
|
+
- **Ultra-Fast**: एक्सप्रेस (Express) भन्दा ५ गुणा सम्म छिटो।
|
|
14
|
+
- **Multi-Model Support**: Gemini, Groq (Llama 3), र Local Ollama सपोर्ट।
|
|
15
|
+
- **ESM Ready**: आधुनिक `import/export` सिन्ट्याक्समा आधारित।
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## २. सुरुवाती सेटअप र एआई (Project Setup & AI)
|
|
20
|
+
|
|
21
|
+
Dolphin v2.11.4 मा एआईको प्रयोग गरेर १ मिनेटमै प्रोजेक्ट तयार गर्न सकिन्छ:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# १. नयाँ फोल्डर बनाउनुहोस्
|
|
25
|
+
mkdir my-dolphin-app && cd my-dolphin-app
|
|
26
|
+
|
|
27
|
+
# २. एआई एजेन्ट सुरु गर्नुहोस् (Cursor Mode)
|
|
28
|
+
# यसले तपाईँको कुरा बुझ्छ र कोड लेख्न मद्दत गर्छ
|
|
29
|
+
npx dolphin chat
|
|
30
|
+
|
|
31
|
+
# ३. एआई मार्फत पूर्ण प्रोजेक्ट स्ट्रक्चर बनाउनुहोस्
|
|
32
|
+
npx dolphin generate-full "e-commerce backend with orders and mongoose"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## ३. एआई एजेन्टसँग कुरा गर्ने (Chatting with Agent)
|
|
38
|
+
|
|
39
|
+
Dolphin Agent ले अहिले **Roman Nepali** बुझ्छ। तपाईँले यसरी सोध्न सक्नुहुन्छ:
|
|
40
|
+
|
|
41
|
+
> "Hey Dolphin, `real-test` फोल्डरमा एउटा नयाँ `order.js` मोडल बनाइदेऊ र `app.js` मा त्यसको रुट थपिदेऊ।"
|
|
42
|
+
|
|
43
|
+
एजेन्टले तपाईँको प्रोजेक्टका सबै फाइलहरू हेर्छ र सिधै कोड अपडेट गरिदिन्छ। यसका लागि कुनै पनि `require` प्रयोग नगर्नुहोस्, सधैँ **`import`** प्रयोग गर्नुहोस्।
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## ४. पहिलो सर्भर (Modern ESM Server)
|
|
48
|
+
|
|
49
|
+
हामी आधुनिक `import` सिन्ट्याक्स मात्र प्रयोग गर्छौं, किनभने `require` ले पुराना समस्याहरू निम्त्याउन सक्छ।
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
import { createDolphinServer } from 'dolphin-server-modules/server';
|
|
53
|
+
|
|
54
|
+
const app = createDolphinServer();
|
|
55
|
+
|
|
56
|
+
// एउटा सामान्य गेट (GET) रूट
|
|
57
|
+
app.get('/', (ctx) => {
|
|
58
|
+
return {
|
|
59
|
+
message: "Dolphin ko sansar ma swagat chha! 🐬",
|
|
60
|
+
version: "2.11.4",
|
|
61
|
+
mode: "Agentic AI Ready"
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// सर्भर सुन्न (Listen) सुरु गर्नुहोस्
|
|
66
|
+
app.listen(3000, () => {
|
|
67
|
+
console.log("Server http://localhost:3000 ma chaliraheko chha!");
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## ५. एआई बिनाका शक्तिशाली कमाण्डहरू
|
|
74
|
+
|
|
75
|
+
यदि तपाईँलाई एआई प्रयोग गर्न मन छैन भने, डल्फिनमा पहिले देखि नै बनेका टेम्पलेटहरू प्रयोग गर्न सक्नुहुन्छ:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# अथेन्टिकेसन सिस्टम थप्न
|
|
79
|
+
npx dolphin add auth
|
|
80
|
+
|
|
81
|
+
# कुनै मोडलको लागि CRUD थप्न
|
|
82
|
+
npx dolphin add crud Product
|
|
83
|
+
|
|
84
|
+
# मङ्गोस (Mongoose) सेटअप गर्न
|
|
85
|
+
npx dolphin add adapter mongoose
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## ६. लोकल एआई (Ollama Support) [NEW]
|
|
91
|
+
|
|
92
|
+
यदि तपाईँ आफ्नो डेटा क्लाउडमा पठाउन चाहनुहुन्न भने, आफ्नो कम्प्युटरमै **Ollama** चलाउन सक्नुहुन्छ। `.env` फाइलमा यो सेट गर्नुहोस्:
|
|
93
|
+
|
|
94
|
+
```env
|
|
95
|
+
USE_OLLAMA=true
|
|
96
|
+
OLLAMA_MODEL=gemma3:latest
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## ७. अन्तिममा (Conclusion)
|
|
102
|
+
|
|
103
|
+
Dolphin Framework अब एउटा सामान्य फ्रेमवर्क मात्र होइन, यो तपाईँको एउटा "एआई साथी" पनि हो। यसले तपाईँको कोडिङ स्पिड १० गुणा बढाउन मद्दत गर्छ।
|
|
104
|
+
|
|
105
|
+
**थप जानकारीको लागि:**
|
|
106
|
+
- [README.md](README.md) हेर्नुहोस्।
|
|
107
|
+
- [Dolphin Master Guide](DOLPHIN_MASTER_GUIDE_NEPALI.md) पढ्नुहोस्।
|
|
108
|
+
|
|
109
|
+
**Happy Coding in Nepali! 🇳🇵🐬**
|
|
@@ -54,6 +54,19 @@ export function createMongooseAdapter(config) {
|
|
|
54
54
|
return RefreshToken;
|
|
55
55
|
if (models[collection])
|
|
56
56
|
return models[collection];
|
|
57
|
+
// Dynamic lookup via User/RefreshToken mongoose connection model registry
|
|
58
|
+
if (User && typeof User.db?.model === 'function') {
|
|
59
|
+
try {
|
|
60
|
+
return User.db.model(collection);
|
|
61
|
+
}
|
|
62
|
+
catch { }
|
|
63
|
+
}
|
|
64
|
+
if (RefreshToken && typeof RefreshToken.db?.model === 'function') {
|
|
65
|
+
try {
|
|
66
|
+
return RefreshToken.db.model(collection);
|
|
67
|
+
}
|
|
68
|
+
catch { }
|
|
69
|
+
}
|
|
57
70
|
throw new Error(`Model '${collection}' not found`);
|
|
58
71
|
};
|
|
59
72
|
const adapter = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/mongoose/index.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,EACJ,IAAI,EACJ,YAAY,EACZ,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,IAAI,EACpB,QAAQ,GAAG,GAAG,EACd,UAAU,GAAG,KAAK,EAClB,eAAe,GAAG,WAAW,EAC9B,GAAG,MAAM,CAAC;IAEX,uBAAuB;IACvB,MAAM,MAAM,GAAG,CAAC,GAAQ,EAAE,EAAE;QAC1B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,oBAAoB;IACpB,MAAM,QAAQ,GAAG,CAAC,QAAa,EAAE,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;QAEjC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,CAAC;QAED,eAAe;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,GAAG;YAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtD,4BAA4B;QAC5B,IAAI,UAAU,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAqC,EAAE,EAAE;QACxD,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAc,EAAE;QAClD,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,UAAU,KAAK,cAAc;YAAE,OAAO,YAAY,CAAC;QACvD,IAAI,MAAM,CAAC,UAAU,CAAC;YAAE,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,aAAa,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,yDAAyD;QACzD,KAAK,CAAC,UAAU,CAAC,IAAS;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAa;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,EAAU;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,IAAS;YACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACrG,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,IAAS;YAC9B,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;YAClC,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;YACpC,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,yDAAyD;QAEzD,SAAS;QACT,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,IAAS,EAAE,MAAe;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC5B,IAAI,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,WAAW;QACX,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,EAAU,EAAE,MAAe;YAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAC/B,IAAI,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAClC,IAAI,UAAU;gBAAE,KAAK,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YAE9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,2BAA2B;QAC3B,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,QAAa,EAAE,EAAE,UAAe,EAAE,EAAE,MAAe;YACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAEnC,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE1D,IAAI,OAAO,CAAC,IAAI;gBAAE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM;gBAAE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAErE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,KAAK;gBAAE,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;YAChC,OAAQ,IAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,aAAa;QACb,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,EAAU,EAAE,IAAS,EAAE,MAAe;YACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAC/B,IAAI,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAClC,IAAI,UAAU;gBAAE,KAAK,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YAE9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CACtC,KAAK,EACL,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAClC,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,cAAc;QACd,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,KAAU,EAAE,IAAS,EAAE,MAAe;YACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CACnC,MAAM,EACN,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CACnC,CAAC;YAEF,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED,aAAa;QACb,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,EAAU,EAAE,MAAe;YAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAC/B,IAAI,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAElC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CACtC,KAAK,EACL,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EACxD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,cAAc;QACd,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,KAAU,EAAE,MAAe;YAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAEnC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CACnC,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CACzD,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,YAAY,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,EAAU,EAAE,MAAe;YAC3D,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAE5D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;YACjE,IAAI,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAElC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CACtC,KAAK,EACL,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAClD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,aAAa;QACb,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,SAAc,EAAE,EAAE,OAAe,CAAC,EAAE,QAAgB,EAAE,EAAE,MAAe;YACxG,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAElC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAEpC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACjE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;aAC5B,CAAC,CAAC;YAEH,OAAO;gBACL,KAAK,EAAG,KAAe,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnC,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACxC,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,KAAK;gBACjC,OAAO,EAAE,IAAI,GAAG,CAAC;aAClB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAa,EAAE,EAAE,UAAe,EAAE,EAAE,MAAe;YACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzC,IAAI,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,OAAO,CAAC,IAAI;gBAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,OAAO,CAAC,QAAQ;gBAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,KAAK;gBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAExC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,OAAQ,IAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,QAAQ;QACR,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,SAAc,EAAE,EAAE,MAAe;YAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAClC,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,SAAS;QACT,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,SAAc,EAAE,EAAE,MAAe;YAChE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,0FAA0F;QAE1F,kCAAkC;QAClC,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,QAAa,EAAE;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YAEnC,mEAAmE;YACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE/B,uCAAuC;YACvC,IAAI,UAAU,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxD,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YACjC,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,OAAQ,IAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,oCAAoC;QACpC,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,KAAU,EAAE,IAAS;YACpD,oBAAoB;YACpB,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;YAED,sCAAsC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,UAAU,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxD,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YACjC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CACnC,MAAM,EACN,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CACnC,CAAC;YAEF,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED,oCAAoC;QACpC,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,KAAU;YACzC,oBAAoB;YACpB,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,sCAAsC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CACnC,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CACzD,CAAC;gBACF,OAAO,MAAM,CAAC,aAAa,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,YAAY,CAAC;YAC7B,CAAC;QACH,CAAC;KACF,CAAC;IAEF,yBAAyB;IACzB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,OAAe,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEA,OAAe,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACvD,OAAe,CAAC,YAAY,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IAExE,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/mongoose/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export declare const createDolphinAuthController: (db: any, authConfig
|
|
1
|
+
export declare const createDolphinAuthController: (db: any, authConfig?: any) => {
|
|
2
2
|
sanitize: (user: any) => any;
|
|
3
|
+
middleware: (opts?: any) => (ctx: any, next?: Function) => Promise<void>;
|
|
3
4
|
requireAuth: (ctx: any, next?: Function) => Promise<void>;
|
|
4
5
|
require2FA: (ctx: any, next?: Function) => Promise<void>;
|
|
5
6
|
requireAdmin: (ctx: any, next?: Function) => Promise<void>;
|
|
@@ -10,13 +10,22 @@ const getCookie = (req, name) => {
|
|
|
10
10
|
return match ? match[2] : undefined;
|
|
11
11
|
};
|
|
12
12
|
export const createDolphinAuthController = (db, authConfig) => {
|
|
13
|
+
let realDb = db;
|
|
14
|
+
let realConfig = authConfig;
|
|
15
|
+
// Supports both positional createDolphinAuthController(db, config)
|
|
16
|
+
// and single object configuration createDolphinAuthController({ adapter: db, jwtSecret: '...' })
|
|
17
|
+
if (db && !authConfig && db.adapter) {
|
|
18
|
+
realDb = db.adapter;
|
|
19
|
+
realConfig = db;
|
|
20
|
+
}
|
|
21
|
+
const secretKey = realConfig?.secret || realConfig?.jwtSecret;
|
|
13
22
|
const authCore = createAuth({
|
|
14
|
-
secret:
|
|
15
|
-
cookieMaxAge:
|
|
16
|
-
issuer:
|
|
17
|
-
rateLimit:
|
|
18
|
-
redisClient:
|
|
19
|
-
secureCookies:
|
|
23
|
+
secret: secretKey,
|
|
24
|
+
cookieMaxAge: realConfig?.cookieMaxAge,
|
|
25
|
+
issuer: realConfig?.issuer,
|
|
26
|
+
rateLimit: realConfig?.rateLimit,
|
|
27
|
+
redisClient: realConfig?.redisClient,
|
|
28
|
+
secureCookies: realConfig?.secureCookies ?? false
|
|
20
29
|
});
|
|
21
30
|
const verifyPassword = async (password, hash) => {
|
|
22
31
|
try {
|
|
@@ -39,7 +48,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
39
48
|
const handlers = {
|
|
40
49
|
register: async (ctx) => {
|
|
41
50
|
try {
|
|
42
|
-
const user = await authCore.register(
|
|
51
|
+
const user = await authCore.register(realDb, ctx.body);
|
|
43
52
|
return { success: true, data: user };
|
|
44
53
|
}
|
|
45
54
|
catch (err) {
|
|
@@ -56,7 +65,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
56
65
|
ctx.res.setHeader('Set-Cookie', `${name}=${value}; HttpOnly; Max-Age=${maxAgeSec}; Path=/; SameSite=Lax${secureFlag}`);
|
|
57
66
|
}
|
|
58
67
|
};
|
|
59
|
-
const result = await authCore.login(
|
|
68
|
+
const result = await authCore.login(realDb, ctx.body, dolphinRes);
|
|
60
69
|
return { success: true, ...result };
|
|
61
70
|
}
|
|
62
71
|
catch (err) {
|
|
@@ -77,7 +86,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
77
86
|
ctx.res.setHeader('Set-Cookie', `${name}=${value}; HttpOnly; Max-Age=${maxAgeSec}; Path=/; SameSite=Lax${secureFlag}`);
|
|
78
87
|
}
|
|
79
88
|
};
|
|
80
|
-
const result = await authCore.refresh(
|
|
89
|
+
const result = await authCore.refresh(realDb, refreshToken, dolphinRes);
|
|
81
90
|
return { success: true, ...result };
|
|
82
91
|
}
|
|
83
92
|
catch (err) {
|
|
@@ -90,7 +99,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
90
99
|
const refreshToken = getCookie(ctx.req, 'rt');
|
|
91
100
|
// ✅ Safe check: only call logout if token exists
|
|
92
101
|
if (refreshToken) {
|
|
93
|
-
await authCore.logout(
|
|
102
|
+
await authCore.logout(realDb, refreshToken);
|
|
94
103
|
}
|
|
95
104
|
// ✅ Path=/ नभए कुकी पूर्ण रुपमा डिलेट हुँदैन
|
|
96
105
|
ctx.res.setHeader('Set-Cookie', 'rt=; HttpOnly; Max-Age=0; Path=/; SameSite=Lax');
|
|
@@ -122,14 +131,14 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
122
131
|
throw new Error('Old and new password required');
|
|
123
132
|
if (newPassword.length < 8)
|
|
124
133
|
throw new Error('Password must be at least 8 characters');
|
|
125
|
-
const user = await
|
|
134
|
+
const user = await realDb.findUserById(userId);
|
|
126
135
|
if (!user)
|
|
127
136
|
throw new Error('User not found');
|
|
128
137
|
const isValid = await verifyPassword(oldPassword, user.password);
|
|
129
138
|
if (!isValid)
|
|
130
139
|
throw new Error('Current password is incorrect');
|
|
131
140
|
const hashedPassword = await hashPassword(newPassword);
|
|
132
|
-
await
|
|
141
|
+
await realDb.updateUser(userId, { password: hashedPassword });
|
|
133
142
|
return { success: true, message: 'Password changed successfully' };
|
|
134
143
|
}
|
|
135
144
|
catch (err) {
|
|
@@ -141,12 +150,12 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
141
150
|
const { email } = ctx.body;
|
|
142
151
|
if (!email)
|
|
143
152
|
throw new Error('Email required');
|
|
144
|
-
const user = await
|
|
153
|
+
const user = await realDb.findUserByEmail(email);
|
|
145
154
|
if (!user)
|
|
146
155
|
return { success: true, message: 'If email exists, reset link sent' };
|
|
147
156
|
const resetToken = generateResetToken();
|
|
148
157
|
const resetExpires = new Date(Date.now() + 3600000);
|
|
149
|
-
await
|
|
158
|
+
await realDb.updateUser(user.id, { resetPasswordToken: resetToken, resetPasswordExpires: resetExpires });
|
|
150
159
|
const resetLink = `${process.env.APP_URL || 'http://localhost:3000'}/reset-password?token=${resetToken}`;
|
|
151
160
|
return { success: true, message: 'Reset link sent', ...(process.env.NODE_ENV !== 'production' && { resetLink }) };
|
|
152
161
|
}
|
|
@@ -161,13 +170,13 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
161
170
|
throw new Error('Token and password required');
|
|
162
171
|
if (newPassword.length < 8)
|
|
163
172
|
throw new Error('Password must be at least 8 characters');
|
|
164
|
-
let user =
|
|
173
|
+
let user = realDb.read ? (await realDb.read('User', { resetPasswordToken: token }))?.[0] : await realDb.findUserByResetToken(token);
|
|
165
174
|
if (!user)
|
|
166
175
|
throw new Error('Invalid or expired reset token');
|
|
167
176
|
if (user.resetPasswordExpires && new Date(user.resetPasswordExpires) < new Date())
|
|
168
177
|
throw new Error('Reset token has expired');
|
|
169
178
|
const hashedPassword = await hashPassword(newPassword);
|
|
170
|
-
await
|
|
179
|
+
await realDb.updateUser(user.id, { password: hashedPassword, resetPasswordToken: null, resetPasswordExpires: null });
|
|
171
180
|
return { success: true, message: 'Password reset successfully' };
|
|
172
181
|
}
|
|
173
182
|
catch (err) {
|
|
@@ -179,12 +188,12 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
179
188
|
const { email } = ctx.body;
|
|
180
189
|
if (!email)
|
|
181
190
|
throw new Error('Email required');
|
|
182
|
-
const user = await
|
|
191
|
+
const user = await realDb.findUserByEmail(email);
|
|
183
192
|
if (!user)
|
|
184
193
|
return { success: true, message: 'If email exists, reset link sent' };
|
|
185
194
|
const resetToken = generateResetToken();
|
|
186
195
|
const resetExpires = new Date(Date.now() + 3600000);
|
|
187
|
-
await
|
|
196
|
+
await realDb.updateUser(user.id, { resetPasswordToken: resetToken, resetPasswordExpires: resetExpires });
|
|
188
197
|
const resetLink = `${process.env.APP_URL || 'http://localhost:3000'}/reset-password?token=${resetToken}`;
|
|
189
198
|
return { success: true, message: 'Reset link sent', ...(process.env.NODE_ENV !== 'production' && { resetLink }) };
|
|
190
199
|
}
|
|
@@ -194,7 +203,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
194
203
|
},
|
|
195
204
|
enable2FA: async (ctx) => {
|
|
196
205
|
try {
|
|
197
|
-
const result = await authCore.enable2FA(
|
|
206
|
+
const result = await authCore.enable2FA(realDb, ctx.req.user.id);
|
|
198
207
|
return { success: true, ...result };
|
|
199
208
|
}
|
|
200
209
|
catch (err) {
|
|
@@ -204,7 +213,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
204
213
|
verify2FA: async (ctx) => {
|
|
205
214
|
try {
|
|
206
215
|
const { totp } = ctx.body;
|
|
207
|
-
const result = await authCore.verify2FA(
|
|
216
|
+
const result = await authCore.verify2FA(realDb, ctx.req.user.id, totp);
|
|
208
217
|
return { success: true, ...result };
|
|
209
218
|
}
|
|
210
219
|
catch (err) {
|
|
@@ -214,7 +223,7 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
214
223
|
disable2FA: async (ctx) => {
|
|
215
224
|
try {
|
|
216
225
|
const { totp } = ctx.body;
|
|
217
|
-
await authCore.disable2FA(
|
|
226
|
+
await authCore.disable2FA(realDb, ctx.req.user.id, totp);
|
|
218
227
|
return { success: true };
|
|
219
228
|
}
|
|
220
229
|
catch (err) {
|
|
@@ -223,6 +232,11 @@ export const createDolphinAuthController = (db, authConfig) => {
|
|
|
223
232
|
},
|
|
224
233
|
};
|
|
225
234
|
const middleware = {
|
|
235
|
+
middleware: (opts) => {
|
|
236
|
+
return async (ctx, next) => {
|
|
237
|
+
await authCore.middleware(opts)(ctx.req, ctx.res, next);
|
|
238
|
+
};
|
|
239
|
+
},
|
|
226
240
|
requireAuth: async (ctx, next) => {
|
|
227
241
|
await authCore.middleware()(ctx.req, ctx.res, next);
|
|
228
242
|
},
|