meadow-connection-mongodb 1.0.1 → 1.0.3

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/docs/_cover.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # meadow-connection-mongodb
2
2
 
3
- <small>v1.0.0</small>
4
-
5
3
  > MongoDB connection service for the Meadow data access layer
6
4
 
7
5
  - **Fable Service Provider** -- seamless dependency injection integration
@@ -0,0 +1,7 @@
1
+ {
2
+ "Name": "meadow-connection-mongodb",
3
+ "Version": "1.0.2",
4
+ "Description": "Meadow MongoDB Connection Plugin",
5
+ "GeneratedAt": "2026-04-10T17:20:30.390Z",
6
+ "GitCommit": "a58bf9c"
7
+ }
@@ -42,7 +42,7 @@ sequenceDiagram
42
42
  Fable->>MCP: constructor(fable, options)
43
43
  MCP->>MCP: Read MongoDB config
44
44
  MCP->>MCP: Normalize property names
45
- Note over MCP: Serverhost, Portport, etc.
45
+ Note over MCP: Server->host, Port->port, etc.
46
46
 
47
47
  alt Auto-Connect Enabled
48
48
  MCP->>MCP: connect()
@@ -102,7 +102,7 @@ flowchart LR
102
102
  SET[fable.settings.MongoDB]
103
103
  end
104
104
  subgraph Normalization
105
- NORM["Property Mapping<br/>Server host<br/>Port port<br/>User user<br/>Password password<br/>Database database<br/>ConnectionPoolLimit maxPoolSize"]
105
+ NORM["Property Mapping<br/>Server -> host<br/>Port -> port<br/>User -> user<br/>Password -> password<br/>Database -> database<br/>ConnectionPoolLimit -> maxPoolSize"]
106
106
  end
107
107
  subgraph Output
108
108
  URI["Connection URI<br/>mongodb://[user:pass@]host:port/db"]
@@ -1,73 +1,327 @@
1
1
  /* ============================================================================
2
- Pict Docuserve - Base Styles
2
+ Pict Docuserve - Base Styles & Theme Variables
3
3
  ============================================================================ */
4
4
 
5
- /* Reset and base */
6
- *, *::before, *::after {
5
+ /* ----------------------------------------------------------------------------
6
+ Theme variables light defaults on :root.
7
+ Dark mode applies when either:
8
+ (a) the user explicitly selected dark via <html data-theme="dark">
9
+ (b) the user hasn't chosen anything AND the system prefers dark
10
+ An explicit <html data-theme="light"> pins the light palette regardless.
11
+ ---------------------------------------------------------------------------- */
12
+
13
+ :root
14
+ {
15
+ /* Surfaces */
16
+ --docuserve-bg: #FDFBF7;
17
+ --docuserve-bg-elevated: #FFFFFF;
18
+ --docuserve-border: #DDD6CA;
19
+ --docuserve-border-soft: #EAE3D8;
20
+
21
+ /* Text */
22
+ --docuserve-text: #2A241E;
23
+ --docuserve-text-strong: #3D3229;
24
+ --docuserve-text-muted: #5E5549;
25
+ --docuserve-text-dim: #8A7F72;
26
+
27
+ /* Accent / links */
28
+ --docuserve-accent: #2E7D74;
29
+ --docuserve-accent-hover: #236660;
30
+
31
+ /* Top bar */
32
+ --docuserve-topbar-bg: #3D3229;
33
+ --docuserve-topbar-text: #E8E0D4;
34
+ --docuserve-topbar-text-muted: #B5AA9A;
35
+ --docuserve-topbar-text-dim: #8A7F72;
36
+ --docuserve-topbar-hover-bg: #524438;
37
+ --docuserve-topbar-version-bg: rgba(255, 255, 255, 0.06);
38
+ --docuserve-topbar-version-border: rgba(255, 255, 255, 0.08);
39
+ --docuserve-topbar-version-text: #B5AA9A;
40
+
41
+ /* Sidebar */
42
+ --docuserve-sidebar-bg: #FAF7F1;
43
+ --docuserve-sidebar-border: #DDD6CA;
44
+ --docuserve-sidebar-border-soft: #E5DED1;
45
+ --docuserve-sidebar-text: #423D37;
46
+ --docuserve-sidebar-group-title: #3D3229;
47
+ --docuserve-sidebar-module-text: #5E5549;
48
+ --docuserve-sidebar-hover-bg: #EAE3D8;
49
+ --docuserve-sidebar-hover-text: #2E7D74;
50
+ --docuserve-sidebar-active-bg: #E5DED1;
51
+ --docuserve-sidebar-active-text: #2E7D74;
52
+ --docuserve-sidebar-search-bg: #FFFFFF;
53
+ --docuserve-sidebar-search-border: #DDD6CA;
54
+
55
+ /* Inline code */
56
+ --docuserve-inline-code-bg: #F0ECE4;
57
+ --docuserve-inline-code-text: #9E3A50;
58
+
59
+ /* Code block panel */
60
+ --docuserve-code-bg: #F6F3EE;
61
+ --docuserve-code-border: #E5DED1;
62
+ --docuserve-code-gutter-bg: #EFEAE0;
63
+ --docuserve-code-gutter-border: #DDD6CA;
64
+ --docuserve-code-gutter-text: #A59986;
65
+ --docuserve-code-text: #2A241E;
66
+
67
+ /* Syntax tokens — low-chroma dark-on-light palette */
68
+ --docuserve-tok-keyword: #A03472;
69
+ --docuserve-tok-string: #1A6640;
70
+ --docuserve-tok-number: #B25A00;
71
+ --docuserve-tok-comment: #8A7F72;
72
+ --docuserve-tok-operator: #2E7D74;
73
+ --docuserve-tok-punctuation: #2A241E;
74
+ --docuserve-tok-function: #2A5DB0;
75
+ --docuserve-tok-property: #9E3A50;
76
+ --docuserve-tok-tag: #9E3A50;
77
+ --docuserve-tok-attr-name: #B25A00;
78
+ --docuserve-tok-attr-value: #1A6640;
79
+
80
+ /* Tables, blockquotes, mermaid */
81
+ --docuserve-table-header-bg: #F5F0E8;
82
+ --docuserve-table-row-alt-bg: #F9F6F0;
83
+ --docuserve-blockquote-bg: #F7F5F0;
84
+ --docuserve-blockquote-border: #2E7D74;
85
+ --docuserve-blockquote-text: #5E5549;
86
+ --docuserve-mermaid-bg: #FFFFFF;
87
+
88
+ /* Scrollbars */
89
+ --docuserve-scrollbar-track: #F5F0E8;
90
+ --docuserve-scrollbar-thumb: #D4CCBE;
91
+ --docuserve-scrollbar-thumb-hover: #B5AA9A;
92
+ }
93
+
94
+ @media (prefers-color-scheme: dark)
95
+ {
96
+ :root:not([data-theme="light"])
97
+ {
98
+ --docuserve-bg: #15120F;
99
+ --docuserve-bg-elevated: #1B1814;
100
+ --docuserve-border: #2F2823;
101
+ --docuserve-border-soft: #26211C;
102
+
103
+ --docuserve-text: #E8E0D4;
104
+ --docuserve-text-strong: #F2ECE0;
105
+ --docuserve-text-muted: #B5AA9A;
106
+ --docuserve-text-dim: #7A6F62;
107
+
108
+ --docuserve-accent: #5DB8A8;
109
+ --docuserve-accent-hover: #7FCCB8;
110
+
111
+ --docuserve-topbar-bg: #1A1612;
112
+ --docuserve-topbar-text: #E8E0D4;
113
+ --docuserve-topbar-text-muted: #B5AA9A;
114
+ --docuserve-topbar-text-dim: #7A6F62;
115
+ --docuserve-topbar-hover-bg: #2A241E;
116
+ --docuserve-topbar-version-bg: rgba(255, 255, 255, 0.05);
117
+ --docuserve-topbar-version-border: rgba(255, 255, 255, 0.09);
118
+ --docuserve-topbar-version-text: #B5AA9A;
119
+
120
+ --docuserve-sidebar-bg: #1B1814;
121
+ --docuserve-sidebar-border: #2F2823;
122
+ --docuserve-sidebar-border-soft: #26211C;
123
+ --docuserve-sidebar-text: #C9C0B3;
124
+ --docuserve-sidebar-group-title: #F2ECE0;
125
+ --docuserve-sidebar-module-text: #B5AA9A;
126
+ --docuserve-sidebar-hover-bg: #2A241E;
127
+ --docuserve-sidebar-hover-text: #7FCCB8;
128
+ --docuserve-sidebar-active-bg: #2F2823;
129
+ --docuserve-sidebar-active-text: #7FCCB8;
130
+ --docuserve-sidebar-search-bg: #26211C;
131
+ --docuserve-sidebar-search-border: #2F2823;
132
+
133
+ --docuserve-inline-code-bg: #2A241E;
134
+ --docuserve-inline-code-text: #E8B07A;
135
+
136
+ --docuserve-code-bg: #1E1A17;
137
+ --docuserve-code-border: #2F2823;
138
+ --docuserve-code-gutter-bg: #17130F;
139
+ --docuserve-code-gutter-border: #2F2823;
140
+ --docuserve-code-gutter-text: #6A6052;
141
+ --docuserve-code-text: #E8E0D4;
142
+
143
+ --docuserve-tok-keyword: #C678DD;
144
+ --docuserve-tok-string: #98C379;
145
+ --docuserve-tok-number: #D19A66;
146
+ --docuserve-tok-comment: #7F848E;
147
+ --docuserve-tok-operator: #56B6C2;
148
+ --docuserve-tok-punctuation: #E8E0D4;
149
+ --docuserve-tok-function: #61AFEF;
150
+ --docuserve-tok-property: #E06C75;
151
+ --docuserve-tok-tag: #E06C75;
152
+ --docuserve-tok-attr-name: #D19A66;
153
+ --docuserve-tok-attr-value: #98C379;
154
+
155
+ --docuserve-table-header-bg: #26211C;
156
+ --docuserve-table-row-alt-bg: #1F1B17;
157
+ --docuserve-blockquote-bg: #1F1B17;
158
+ --docuserve-blockquote-border: #5DB8A8;
159
+ --docuserve-blockquote-text: #C9C0B3;
160
+ --docuserve-mermaid-bg: #E8E0D4;
161
+
162
+ --docuserve-scrollbar-track: #1B1814;
163
+ --docuserve-scrollbar-thumb: #3A322B;
164
+ --docuserve-scrollbar-thumb-hover: #524438;
165
+ }
166
+ }
167
+
168
+ :root[data-theme="dark"]
169
+ {
170
+ --docuserve-bg: #15120F;
171
+ --docuserve-bg-elevated: #1B1814;
172
+ --docuserve-border: #2F2823;
173
+ --docuserve-border-soft: #26211C;
174
+
175
+ --docuserve-text: #E8E0D4;
176
+ --docuserve-text-strong: #F2ECE0;
177
+ --docuserve-text-muted: #B5AA9A;
178
+ --docuserve-text-dim: #7A6F62;
179
+
180
+ --docuserve-accent: #5DB8A8;
181
+ --docuserve-accent-hover: #7FCCB8;
182
+
183
+ --docuserve-topbar-bg: #1A1612;
184
+ --docuserve-topbar-text: #E8E0D4;
185
+ --docuserve-topbar-text-muted: #B5AA9A;
186
+ --docuserve-topbar-text-dim: #7A6F62;
187
+ --docuserve-topbar-hover-bg: #2A241E;
188
+ --docuserve-topbar-version-bg: rgba(255, 255, 255, 0.05);
189
+ --docuserve-topbar-version-border: rgba(255, 255, 255, 0.09);
190
+ --docuserve-topbar-version-text: #B5AA9A;
191
+
192
+ --docuserve-sidebar-bg: #1B1814;
193
+ --docuserve-sidebar-border: #2F2823;
194
+ --docuserve-sidebar-border-soft: #26211C;
195
+ --docuserve-sidebar-text: #C9C0B3;
196
+ --docuserve-sidebar-group-title: #F2ECE0;
197
+ --docuserve-sidebar-module-text: #B5AA9A;
198
+ --docuserve-sidebar-hover-bg: #2A241E;
199
+ --docuserve-sidebar-hover-text: #7FCCB8;
200
+ --docuserve-sidebar-active-bg: #2F2823;
201
+ --docuserve-sidebar-active-text: #7FCCB8;
202
+ --docuserve-sidebar-search-bg: #26211C;
203
+ --docuserve-sidebar-search-border: #2F2823;
204
+
205
+ --docuserve-inline-code-bg: #2A241E;
206
+ --docuserve-inline-code-text: #E8B07A;
207
+
208
+ --docuserve-code-bg: #1E1A17;
209
+ --docuserve-code-border: #2F2823;
210
+ --docuserve-code-gutter-bg: #17130F;
211
+ --docuserve-code-gutter-border: #2F2823;
212
+ --docuserve-code-gutter-text: #6A6052;
213
+ --docuserve-code-text: #E8E0D4;
214
+
215
+ --docuserve-tok-keyword: #C678DD;
216
+ --docuserve-tok-string: #98C379;
217
+ --docuserve-tok-number: #D19A66;
218
+ --docuserve-tok-comment: #7F848E;
219
+ --docuserve-tok-operator: #56B6C2;
220
+ --docuserve-tok-punctuation: #E8E0D4;
221
+ --docuserve-tok-function: #61AFEF;
222
+ --docuserve-tok-property: #E06C75;
223
+ --docuserve-tok-tag: #E06C75;
224
+ --docuserve-tok-attr-name: #D19A66;
225
+ --docuserve-tok-attr-value: #98C379;
226
+
227
+ --docuserve-table-header-bg: #26211C;
228
+ --docuserve-table-row-alt-bg: #1F1B17;
229
+ --docuserve-blockquote-bg: #1F1B17;
230
+ --docuserve-blockquote-border: #5DB8A8;
231
+ --docuserve-blockquote-text: #C9C0B3;
232
+ --docuserve-mermaid-bg: #E8E0D4;
233
+
234
+ --docuserve-scrollbar-track: #1B1814;
235
+ --docuserve-scrollbar-thumb: #3A322B;
236
+ --docuserve-scrollbar-thumb-hover: #524438;
237
+ }
238
+
239
+ /* ----------------------------------------------------------------------------
240
+ Reset and base
241
+ ---------------------------------------------------------------------------- */
242
+
243
+ *, *::before, *::after
244
+ {
7
245
  box-sizing: border-box;
8
246
  }
9
247
 
10
- html, body {
248
+ html, body
249
+ {
11
250
  margin: 0;
12
251
  padding: 0;
13
252
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
14
253
  font-size: 16px;
15
254
  line-height: 1.5;
16
- color: #423D37;
17
- background-color: #fff;
255
+ color: var(--docuserve-text);
256
+ background-color: var(--docuserve-bg);
18
257
  -webkit-font-smoothing: antialiased;
19
258
  -moz-osx-font-smoothing: grayscale;
259
+ transition: background-color 0.15s ease, color 0.15s ease;
20
260
  }
21
261
 
22
262
  /* Typography */
23
- h1, h2, h3, h4, h5, h6 {
263
+ h1, h2, h3, h4, h5, h6
264
+ {
24
265
  margin-top: 0;
25
266
  line-height: 1.3;
267
+ color: var(--docuserve-text-strong);
26
268
  }
27
269
 
28
- a {
29
- color: #2E7D74;
270
+ a
271
+ {
272
+ color: var(--docuserve-accent);
30
273
  text-decoration: none;
31
274
  }
32
275
 
33
- a:hover {
34
- color: #256861;
276
+ a:hover
277
+ {
278
+ color: var(--docuserve-accent-hover);
35
279
  }
36
280
 
37
281
  /* Application container */
38
- #Docuserve-Application-Container {
282
+ #Docuserve-Application-Container
283
+ {
39
284
  min-height: 100vh;
40
285
  }
41
286
 
42
287
  /* Utility: scrollbar styling */
43
- ::-webkit-scrollbar {
288
+ ::-webkit-scrollbar
289
+ {
44
290
  width: 8px;
291
+ height: 8px;
45
292
  }
46
293
 
47
- ::-webkit-scrollbar-track {
48
- background: #F5F0E8;
294
+ ::-webkit-scrollbar-track
295
+ {
296
+ background: var(--docuserve-scrollbar-track);
49
297
  }
50
298
 
51
- ::-webkit-scrollbar-thumb {
52
- background: #D4CCBE;
299
+ ::-webkit-scrollbar-thumb
300
+ {
301
+ background: var(--docuserve-scrollbar-thumb);
53
302
  border-radius: 4px;
54
303
  }
55
304
 
56
- ::-webkit-scrollbar-thumb:hover {
57
- background: #B5AA9A;
305
+ ::-webkit-scrollbar-thumb:hover
306
+ {
307
+ background: var(--docuserve-scrollbar-thumb-hover);
58
308
  }
59
309
 
60
310
  /* Responsive adjustments */
61
- @media (max-width: 768px) {
62
- html {
311
+ @media (max-width: 768px)
312
+ {
313
+ html
314
+ {
63
315
  font-size: 14px;
64
316
  }
65
317
 
66
- #Docuserve-Sidebar-Container {
318
+ #Docuserve-Sidebar-Container
319
+ {
67
320
  display: none;
68
321
  }
69
322
 
70
- .docuserve-body {
323
+ .docuserve-body
324
+ {
71
325
  flex-direction: column;
72
326
  }
73
327
  }
package/docs/index.html CHANGED
@@ -4,9 +4,9 @@
4
4
  <meta charset="utf-8">
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
7
- <meta name="description" content="Documentation powered by pict-docuserve">
7
+ <meta name="description" content="meadow-connection-mongodb v1.0.2 Documentation Meadow MongoDB Connection Plugin">
8
8
 
9
- <title>Documentation</title>
9
+ <title>meadow-connection-mongodb v1.0.2 Documentation</title>
10
10
 
11
11
  <!-- Application Stylesheet -->
12
12
  <link href="css/docuserve.css" rel="stylesheet">
@@ -1,5 +1,5 @@
1
1
  {
2
- "Generated": "2026-03-02T00:38:36.294Z",
2
+ "Generated": "2026-04-10T17:20:30.103Z",
3
3
  "GitHubOrg": "stevenvelozo",
4
4
  "DefaultBranch": "master",
5
5
  "Groups": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "Generated": "2026-03-02T00:38:36.395Z",
2
+ "Generated": "2026-04-10T17:20:30.351Z",
3
3
  "DocumentCount": 9,
4
4
  "LunrIndex": {
5
5
  "version": "2.3.9",
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "meadow-connection-mongodb",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Meadow MongoDB Connection Plugin",
5
5
  "main": "source/Meadow-Connection-MongoDB.js",
6
6
  "scripts": {
7
7
  "coverage": "npx quack coverage",
8
- "test": "npx quack test"
8
+ "test": "npx quack test",
9
+ "docker-mongodb-start": "bash ./scripts/mongodb-test-db.sh start",
10
+ "docker-mongodb-stop": "bash ./scripts/mongodb-test-db.sh stop",
11
+ "docker-mongodb-status": "bash ./scripts/mongodb-test-db.sh status",
12
+ "test-docker": "bash ./scripts/mongodb-test-db.sh start && npm test"
9
13
  },
10
14
  "mocha": {
11
15
  "diff": true,
@@ -15,7 +19,7 @@
15
19
  "package": "./package.json",
16
20
  "reporter": "spec",
17
21
  "slow": "75",
18
- "timeout": "5000",
22
+ "timeout": "10000",
19
23
  "ui": "tdd",
20
24
  "watch-files": [
21
25
  "source/**/*.js",
@@ -42,7 +46,8 @@
42
46
  "homepage": "https://github.com/stevenvelozo/meadow-connection-mongodb",
43
47
  "devDependencies": {
44
48
  "fable": "^3.1.55",
45
- "quackage": "^1.0.58"
49
+ "pict-docuserve": "^0.1.5",
50
+ "quackage": "^1.1.0"
46
51
  },
47
52
  "dependencies": {
48
53
  "fable-serviceproviderbase": "^3.0.18",
@@ -0,0 +1,98 @@
1
+ #!/bin/bash
2
+ # MongoDB Test Database Management Script for meadow-connection-mongodb
3
+ #
4
+ # Usage:
5
+ # ./scripts/mongodb-test-db.sh start - Start MongoDB container and wait for readiness
6
+ # ./scripts/mongodb-test-db.sh stop - Stop and remove the container
7
+ # ./scripts/mongodb-test-db.sh status - Check if the container is running
8
+ #
9
+ # The container settings match the test configuration in
10
+ # test/MongoDB_tests.js:
11
+ # Host: 127.0.0.1, Port: 27117, Database: meadow_conn_test
12
+
13
+ CONTAINER_NAME="meadow-conn-mongodb-test"
14
+ MONGODB_PORT="27117"
15
+ MONGODB_IMAGE="mongo:7"
16
+
17
+ start_mongodb() {
18
+ # Check if container already exists
19
+ if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
20
+ if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
21
+ echo "MongoDB test container is already running."
22
+ return 0
23
+ else
24
+ echo "Removing stopped container..."
25
+ docker rm "${CONTAINER_NAME}" > /dev/null 2>&1
26
+ fi
27
+ fi
28
+
29
+ echo "Starting MongoDB test container..."
30
+ docker run -d \
31
+ --name "${CONTAINER_NAME}" \
32
+ -p "${MONGODB_PORT}:27017" \
33
+ "${MONGODB_IMAGE}"
34
+
35
+ if [ $? -ne 0 ]; then
36
+ echo "ERROR: Failed to start MongoDB container."
37
+ exit 1
38
+ fi
39
+
40
+ echo "Waiting for MongoDB to be ready..."
41
+ RETRIES=30
42
+ until docker exec "${CONTAINER_NAME}" mongosh --eval "db.adminCommand('ping')" > /dev/null 2>&1; do
43
+ RETRIES=$((RETRIES - 1))
44
+ if [ $RETRIES -le 0 ]; then
45
+ echo "ERROR: MongoDB failed to become ready in time."
46
+ docker logs "${CONTAINER_NAME}" 2>&1 | tail -20
47
+ exit 1
48
+ fi
49
+ echo " ...waiting (${RETRIES} retries left)"
50
+ sleep 2
51
+ done
52
+
53
+ echo ""
54
+ echo "MongoDB test database is ready!"
55
+ echo " Container: ${CONTAINER_NAME}"
56
+ echo " Host: 127.0.0.1:${MONGODB_PORT}"
57
+ echo " Database: meadow_conn_test"
58
+ echo ""
59
+ echo "Run tests with: npm test"
60
+ }
61
+
62
+ stop_mongodb() {
63
+ if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
64
+ echo "Stopping and removing MongoDB test container..."
65
+ docker stop "${CONTAINER_NAME}" > /dev/null 2>&1
66
+ docker rm "${CONTAINER_NAME}" > /dev/null 2>&1
67
+ echo "MongoDB test container removed."
68
+ else
69
+ echo "No MongoDB test container found."
70
+ fi
71
+ }
72
+
73
+ status_mongodb() {
74
+ if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
75
+ echo "MongoDB test container is running."
76
+ docker ps --filter "name=${CONTAINER_NAME}" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
77
+ elif docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
78
+ echo "MongoDB test container exists but is stopped."
79
+ else
80
+ echo "MongoDB test container is not running."
81
+ fi
82
+ }
83
+
84
+ case "${1}" in
85
+ start)
86
+ start_mongodb
87
+ ;;
88
+ stop)
89
+ stop_mongodb
90
+ ;;
91
+ status)
92
+ status_mongodb
93
+ ;;
94
+ *)
95
+ echo "Usage: $0 {start|stop|status}"
96
+ exit 1
97
+ ;;
98
+ esac
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Connection form schema for MongoDB.
3
+ *
4
+ * Consumed by meadow-connection-manager#getProviderFormSchema('MongoDB').
5
+ * Pure data — safe to require() even when the mongodb driver is not
6
+ * installed. See Meadow-Connection-MySQL-FormSchema.js for the field
7
+ * contract.
8
+ */
9
+ 'use strict';
10
+
11
+ module.exports =
12
+ {
13
+ Provider: 'MongoDB',
14
+ DisplayName: 'MongoDB',
15
+ Description: 'Connect to a MongoDB server.',
16
+ Fields:
17
+ [
18
+ { Name: 'host', Label: 'Host', Type: 'String', Default: '127.0.0.1', Required: true, Placeholder: '127.0.0.1' },
19
+ { Name: 'port', Label: 'Port', Type: 'Number', Default: 27017, Required: true, Min: 1, Max: 65535 },
20
+ { Name: 'user', Label: 'User', Type: 'String', Placeholder: '(optional)' },
21
+ { Name: 'password', Label: 'Password', Type: 'Password', Placeholder: '(optional)' },
22
+ { Name: 'database', Label: 'Database', Type: 'String', Default: 'test', Placeholder: 'test' },
23
+ { Name: 'maxPoolSize', Label: 'Max Pool Size', Type: 'Number', Default: 10, Min: 1, Group: 'Advanced' }
24
+ ]
25
+ };