nuxt-feathers-zod 6.4.41 → 6.4.45
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/CHANGELOG.md +2 -2
- package/README.md +3 -3
- package/dist/cli/index.mjs +120 -15
- package/dist/module.json +1 -1
- package/dist/runtime/options/database/mongodb.d.ts +2 -0
- package/dist/runtime/options/database/mongodb.js +1 -0
- package/dist/runtime/templates/server/mongodb.js +5 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 6.4.
|
|
3
|
+
## 6.4.45
|
|
4
4
|
|
|
5
5
|
- remote + Keycloak: SSO authentication now hydrates the local Feathers client auth store immediately
|
|
6
6
|
- remote handshake can use the configured strategy (for example `sso`) while preserving a coherent local fallback state
|
|
@@ -239,4 +239,4 @@
|
|
|
239
239
|
- public release metadata resynchronized to 6.4.35
|
|
240
240
|
- devtools plume icon/theme-parent behavior preserved
|
|
241
241
|
|
|
242
|
-
- 6.4.
|
|
242
|
+
- 6.4.45: remote Keycloak Option B contract (`strategy: 'sso'`, `user: loginuser`, `authenticated: true`) is now first-class in the runtime and docs; generated route middleware no longer re-runs `auth.init()` or reuses callback hashes in redirect URIs.
|
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# nuxt-feathers-zod
|
|
2
2
|
|
|
3
|
-
> OSS reference snapshot: **v6.4.
|
|
3
|
+
> OSS reference snapshot: **v6.4.45** — optional Mongo management options aligned and release metadata synchronized.
|
|
4
4
|
|
|
5
5
|
[Documentation](https://vevedh.github.io/nuxt-feathers-zod/)
|
|
6
6
|
|
|
7
7
|
`nuxt-feathers-zod` is the official **Nuxt 4** module that embeds or connects to **FeathersJS v5 (Dove)** with a **CLI-first** workflow and optional **Zod-first** service generation.
|
|
8
8
|
|
|
9
|
-
Current OSS release target: **6.4.
|
|
9
|
+
Current OSS release target: **6.4.45**.
|
|
10
10
|
|
|
11
11
|
It supports two main usage patterns:
|
|
12
12
|
|
|
@@ -132,7 +132,7 @@ bunx nuxt-feathers-zod middlewares list --target nitro
|
|
|
132
132
|
bunx nuxt-feathers-zod middlewares add request-id --target nitro
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
## CLI command surface in 6.4.
|
|
135
|
+
## CLI command surface in 6.4.45
|
|
136
136
|
|
|
137
137
|
| Area | Commands |
|
|
138
138
|
|---|---|
|
package/dist/cli/index.mjs
CHANGED
|
@@ -2752,14 +2752,27 @@ Flags overview:
|
|
|
2752
2752
|
--dry
|
|
2753
2753
|
|
|
2754
2754
|
mongo management:
|
|
2755
|
-
--url <mongodb-url> set/update
|
|
2756
|
-
--enabled true|false (default: true)
|
|
2757
|
-
--auth true|false (default: true)
|
|
2758
|
-
--basePath <path> (default: /mongo)
|
|
2759
|
-
--exposeDatabasesService true|false (default: true)
|
|
2760
|
-
--exposeCollectionsService true|false (default: true)
|
|
2761
|
-
--exposeUsersService true|false (default: false)
|
|
2762
|
-
--exposeCollectionCrud true|false (default: true)
|
|
2755
|
+
--url <mongodb-url> set/update feathers.database.mongo.url
|
|
2756
|
+
--enabled true|false management.enabled (default: true)
|
|
2757
|
+
--auth true|false management.auth (default: true)
|
|
2758
|
+
--basePath <path> management.basePath (default: /mongo)
|
|
2759
|
+
--exposeDatabasesService true|false management.exposeDatabasesService (default: true)
|
|
2760
|
+
--exposeCollectionsService true|false management.exposeCollectionsService (default: true)
|
|
2761
|
+
--exposeUsersService true|false management.exposeUsersService (default: false)
|
|
2762
|
+
--exposeCollectionCrud true|false management.exposeCollectionCrud (default: true)
|
|
2763
|
+
--whitelistDatabases <csv> management.whitelistDatabases
|
|
2764
|
+
--blacklistDatabases <csv> management.blacklistDatabases
|
|
2765
|
+
--whitelistCollections <csv> management.whitelistCollections
|
|
2766
|
+
--blacklistCollections <csv> management.blacklistCollections
|
|
2767
|
+
--showSystemDatabases true|false management.showSystemDatabases (default: false)
|
|
2768
|
+
--allowCreateDatabase true|false management.allowCreateDatabase (default: false)
|
|
2769
|
+
--allowDropDatabase true|false management.allowDropDatabase (default: false)
|
|
2770
|
+
--allowCreateCollection true|false management.allowCreateCollection (default: false)
|
|
2771
|
+
--allowDropCollection true|false management.allowDropCollection (default: false)
|
|
2772
|
+
--allowInsertDocuments true|false management.allowInsertDocuments (default: false)
|
|
2773
|
+
--allowPatchDocuments true|false management.allowPatchDocuments (default: false)
|
|
2774
|
+
--allowReplaceDocuments true|false management.allowReplaceDocuments (default: false)
|
|
2775
|
+
--allowRemoveDocuments true|false management.allowRemoveDocuments (default: false)
|
|
2763
2776
|
--dry
|
|
2764
2777
|
|
|
2765
2778
|
add middleware <name>:
|
|
@@ -3012,7 +3025,20 @@ function parseDatabaseMongoState(raw) {
|
|
|
3012
3025
|
exposeDatabasesService: parseBooleanValue2(managementRaw?.match(/\bexposeDatabasesService\s*:\s*(true|false)/)?.[0]),
|
|
3013
3026
|
exposeCollectionsService: parseBooleanValue2(managementRaw?.match(/\bexposeCollectionsService\s*:\s*(true|false)/)?.[0]),
|
|
3014
3027
|
exposeUsersService: parseBooleanValue2(managementRaw?.match(/\bexposeUsersService\s*:\s*(true|false)/)?.[0]),
|
|
3015
|
-
exposeCollectionCrud: parseBooleanValue2(managementRaw?.match(/\bexposeCollectionCrud\s*:\s*(true|false)/)?.[0])
|
|
3028
|
+
exposeCollectionCrud: parseBooleanValue2(managementRaw?.match(/\bexposeCollectionCrud\s*:\s*(true|false)/)?.[0]),
|
|
3029
|
+
whitelistDatabases: parseStringArray2(managementRaw?.match(/\bwhitelistDatabases\s*:\s*\[[^\]]*\]/)?.[0]),
|
|
3030
|
+
blacklistDatabases: parseStringArray2(managementRaw?.match(/\bblacklistDatabases\s*:\s*\[[^\]]*\]/)?.[0]),
|
|
3031
|
+
whitelistCollections: parseStringArray2(managementRaw?.match(/\bwhitelistCollections\s*:\s*\[[^\]]*\]/)?.[0]),
|
|
3032
|
+
blacklistCollections: parseStringArray2(managementRaw?.match(/\bblacklistCollections\s*:\s*\[[^\]]*\]/)?.[0]),
|
|
3033
|
+
showSystemDatabases: parseBooleanValue2(managementRaw?.match(/\bshowSystemDatabases\s*:\s*(true|false)/)?.[0]),
|
|
3034
|
+
allowCreateDatabase: parseBooleanValue2(managementRaw?.match(/\ballowCreateDatabase\s*:\s*(true|false)/)?.[0]),
|
|
3035
|
+
allowDropDatabase: parseBooleanValue2(managementRaw?.match(/\ballowDropDatabase\s*:\s*(true|false)/)?.[0]),
|
|
3036
|
+
allowCreateCollection: parseBooleanValue2(managementRaw?.match(/\ballowCreateCollection\s*:\s*(true|false)/)?.[0]),
|
|
3037
|
+
allowDropCollection: parseBooleanValue2(managementRaw?.match(/\ballowDropCollection\s*:\s*(true|false)/)?.[0]),
|
|
3038
|
+
allowInsertDocuments: parseBooleanValue2(managementRaw?.match(/\ballowInsertDocuments\s*:\s*(true|false)/)?.[0]),
|
|
3039
|
+
allowPatchDocuments: parseBooleanValue2(managementRaw?.match(/\ballowPatchDocuments\s*:\s*(true|false)/)?.[0]),
|
|
3040
|
+
allowReplaceDocuments: parseBooleanValue2(managementRaw?.match(/\ballowReplaceDocuments\s*:\s*(true|false)/)?.[0]),
|
|
3041
|
+
allowRemoveDocuments: parseBooleanValue2(managementRaw?.match(/\ballowRemoveDocuments\s*:\s*(true|false)/)?.[0])
|
|
3016
3042
|
};
|
|
3017
3043
|
}
|
|
3018
3044
|
function ensureNuxtModuleInConfig(src2, moduleName) {
|
|
@@ -3147,6 +3173,32 @@ function patchFeathersObjectLiteral(feathersObj, patch) {
|
|
|
3147
3173
|
managementParts.push(`exposeUsersService: ${mongoState.exposeUsersService}`);
|
|
3148
3174
|
if (mongoState.exposeCollectionCrud !== undefined)
|
|
3149
3175
|
managementParts.push(`exposeCollectionCrud: ${mongoState.exposeCollectionCrud}`);
|
|
3176
|
+
if (mongoState.whitelistDatabases?.length)
|
|
3177
|
+
managementParts.push(`whitelistDatabases: ${renderStringArray(mongoState.whitelistDatabases)}`);
|
|
3178
|
+
if (mongoState.blacklistDatabases?.length)
|
|
3179
|
+
managementParts.push(`blacklistDatabases: ${renderStringArray(mongoState.blacklistDatabases)}`);
|
|
3180
|
+
if (mongoState.whitelistCollections?.length)
|
|
3181
|
+
managementParts.push(`whitelistCollections: ${renderStringArray(mongoState.whitelistCollections)}`);
|
|
3182
|
+
if (mongoState.blacklistCollections?.length)
|
|
3183
|
+
managementParts.push(`blacklistCollections: ${renderStringArray(mongoState.blacklistCollections)}`);
|
|
3184
|
+
if (mongoState.showSystemDatabases !== undefined)
|
|
3185
|
+
managementParts.push(`showSystemDatabases: ${mongoState.showSystemDatabases}`);
|
|
3186
|
+
if (mongoState.allowCreateDatabase !== undefined)
|
|
3187
|
+
managementParts.push(`allowCreateDatabase: ${mongoState.allowCreateDatabase}`);
|
|
3188
|
+
if (mongoState.allowDropDatabase !== undefined)
|
|
3189
|
+
managementParts.push(`allowDropDatabase: ${mongoState.allowDropDatabase}`);
|
|
3190
|
+
if (mongoState.allowCreateCollection !== undefined)
|
|
3191
|
+
managementParts.push(`allowCreateCollection: ${mongoState.allowCreateCollection}`);
|
|
3192
|
+
if (mongoState.allowDropCollection !== undefined)
|
|
3193
|
+
managementParts.push(`allowDropCollection: ${mongoState.allowDropCollection}`);
|
|
3194
|
+
if (mongoState.allowInsertDocuments !== undefined)
|
|
3195
|
+
managementParts.push(`allowInsertDocuments: ${mongoState.allowInsertDocuments}`);
|
|
3196
|
+
if (mongoState.allowPatchDocuments !== undefined)
|
|
3197
|
+
managementParts.push(`allowPatchDocuments: ${mongoState.allowPatchDocuments}`);
|
|
3198
|
+
if (mongoState.allowReplaceDocuments !== undefined)
|
|
3199
|
+
managementParts.push(`allowReplaceDocuments: ${mongoState.allowReplaceDocuments}`);
|
|
3200
|
+
if (mongoState.allowRemoveDocuments !== undefined)
|
|
3201
|
+
managementParts.push(`allowRemoveDocuments: ${mongoState.allowRemoveDocuments}`);
|
|
3150
3202
|
const mongoParts = [];
|
|
3151
3203
|
if (mongoState.url)
|
|
3152
3204
|
mongoParts.push(`url: '${mongoState.url}'`);
|
|
@@ -6442,6 +6494,20 @@ async function handleMongoManagementCommand(cwd, args) {
|
|
|
6442
6494
|
const exposeCollectionsService = parseBooleanFlag(args.exposeCollectionsService, true);
|
|
6443
6495
|
const exposeUsersService = parseBooleanFlag(args.exposeUsersService, false);
|
|
6444
6496
|
const exposeCollectionCrud = parseBooleanFlag(args.exposeCollectionCrud, true);
|
|
6497
|
+
const showSystemDatabases = parseBooleanFlag(args.showSystemDatabases, false);
|
|
6498
|
+
const allowCreateDatabase = parseBooleanFlag(args.allowCreateDatabase, false);
|
|
6499
|
+
const allowDropDatabase = parseBooleanFlag(args.allowDropDatabase, false);
|
|
6500
|
+
const allowCreateCollection = parseBooleanFlag(args.allowCreateCollection, false);
|
|
6501
|
+
const allowDropCollection = parseBooleanFlag(args.allowDropCollection, false);
|
|
6502
|
+
const allowInsertDocuments = parseBooleanFlag(args.allowInsertDocuments, false);
|
|
6503
|
+
const allowPatchDocuments = parseBooleanFlag(args.allowPatchDocuments, false);
|
|
6504
|
+
const allowReplaceDocuments = parseBooleanFlag(args.allowReplaceDocuments, false);
|
|
6505
|
+
const allowRemoveDocuments = parseBooleanFlag(args.allowRemoveDocuments, false);
|
|
6506
|
+
const parseCsv = (value) => typeof value === "string" ? value.split(",").map((part) => part.trim()).filter(Boolean) : undefined;
|
|
6507
|
+
const whitelistDatabases = parseCsv(args.whitelistDatabases);
|
|
6508
|
+
const blacklistDatabases = parseCsv(args.blacklistDatabases);
|
|
6509
|
+
const whitelistCollections = parseCsv(args.whitelistCollections);
|
|
6510
|
+
const blacklistCollections = parseCsv(args.blacklistCollections);
|
|
6445
6511
|
const basePath = normalizeMongoManagementBasePath(typeof args.basePath === "string" ? String(args.basePath) : "/mongo");
|
|
6446
6512
|
const url = typeof args.url === "string" ? String(args.url).trim() : undefined;
|
|
6447
6513
|
await tryPatchNuxtConfig(projectRoot, {
|
|
@@ -6453,7 +6519,20 @@ async function handleMongoManagementCommand(cwd, args) {
|
|
|
6453
6519
|
exposeDatabasesService,
|
|
6454
6520
|
exposeCollectionsService,
|
|
6455
6521
|
exposeUsersService,
|
|
6456
|
-
exposeCollectionCrud
|
|
6522
|
+
exposeCollectionCrud,
|
|
6523
|
+
whitelistDatabases,
|
|
6524
|
+
blacklistDatabases,
|
|
6525
|
+
whitelistCollections,
|
|
6526
|
+
blacklistCollections,
|
|
6527
|
+
showSystemDatabases,
|
|
6528
|
+
allowCreateDatabase,
|
|
6529
|
+
allowDropDatabase,
|
|
6530
|
+
allowCreateCollection,
|
|
6531
|
+
allowDropCollection,
|
|
6532
|
+
allowInsertDocuments,
|
|
6533
|
+
allowPatchDocuments,
|
|
6534
|
+
allowReplaceDocuments,
|
|
6535
|
+
allowRemoveDocuments
|
|
6457
6536
|
}
|
|
6458
6537
|
}, { dry });
|
|
6459
6538
|
const routes = getMongoManagementRoutes({
|
|
@@ -6469,6 +6548,10 @@ async function handleMongoManagementCommand(cwd, args) {
|
|
|
6469
6548
|
consola.box(`Mongo management ${enabled ? "enabled" : "disabled"}
|
|
6470
6549
|
basePath: ${basePath}
|
|
6471
6550
|
auth: ${auth}
|
|
6551
|
+
showSystemDatabases: ${showSystemDatabases}
|
|
6552
|
+
allowCreateCollection: ${allowCreateCollection}
|
|
6553
|
+
allowDropCollection: ${allowDropCollection}
|
|
6554
|
+
allowInsertDocuments: ${allowInsertDocuments}
|
|
6472
6555
|
routes:
|
|
6473
6556
|
${routeList}`);
|
|
6474
6557
|
}
|
|
@@ -6742,10 +6825,23 @@ function createCliCommand() {
|
|
|
6742
6825
|
enabled: { type: "boolean", description: "Enable Mongo management surface" },
|
|
6743
6826
|
auth: { type: "boolean", description: "Protect management routes with JWT auth" },
|
|
6744
6827
|
basePath: { type: "string", description: "Mongo management base path" },
|
|
6745
|
-
exposeDatabasesService: { type: "boolean", description: "
|
|
6746
|
-
exposeCollectionsService: { type: "boolean", description: "
|
|
6747
|
-
exposeUsersService: { type: "boolean", description: "
|
|
6748
|
-
exposeCollectionCrud: { type: "boolean", description: "
|
|
6828
|
+
exposeDatabasesService: { type: "boolean", description: "Set feathers.database.mongo.management.exposeDatabasesService" },
|
|
6829
|
+
exposeCollectionsService: { type: "boolean", description: "Set feathers.database.mongo.management.exposeCollectionsService" },
|
|
6830
|
+
exposeUsersService: { type: "boolean", description: "Set feathers.database.mongo.management.exposeUsersService" },
|
|
6831
|
+
exposeCollectionCrud: { type: "boolean", description: "Set feathers.database.mongo.management.exposeCollectionCrud" },
|
|
6832
|
+
whitelistDatabases: { type: "string", description: "Comma-separated feathers.database.mongo.management.whitelistDatabases" },
|
|
6833
|
+
blacklistDatabases: { type: "string", description: "Comma-separated feathers.database.mongo.management.blacklistDatabases" },
|
|
6834
|
+
whitelistCollections: { type: "string", description: "Comma-separated feathers.database.mongo.management.whitelistCollections" },
|
|
6835
|
+
blacklistCollections: { type: "string", description: "Comma-separated feathers.database.mongo.management.blacklistCollections" },
|
|
6836
|
+
showSystemDatabases: { type: "boolean", description: "Set feathers.database.mongo.management.showSystemDatabases" },
|
|
6837
|
+
allowCreateDatabase: { type: "boolean", description: "Set feathers.database.mongo.management.allowCreateDatabase" },
|
|
6838
|
+
allowDropDatabase: { type: "boolean", description: "Set feathers.database.mongo.management.allowDropDatabase" },
|
|
6839
|
+
allowCreateCollection: { type: "boolean", description: "Set feathers.database.mongo.management.allowCreateCollection" },
|
|
6840
|
+
allowDropCollection: { type: "boolean", description: "Set feathers.database.mongo.management.allowDropCollection" },
|
|
6841
|
+
allowInsertDocuments: { type: "boolean", description: "Set feathers.database.mongo.management.allowInsertDocuments" },
|
|
6842
|
+
allowPatchDocuments: { type: "boolean", description: "Set feathers.database.mongo.management.allowPatchDocuments" },
|
|
6843
|
+
allowReplaceDocuments: { type: "boolean", description: "Set feathers.database.mongo.management.allowReplaceDocuments" },
|
|
6844
|
+
allowRemoveDocuments: { type: "boolean", description: "Set feathers.database.mongo.management.allowRemoveDocuments" },
|
|
6749
6845
|
dry: { type: "boolean", description: "Dry run without writes" }
|
|
6750
6846
|
},
|
|
6751
6847
|
run: async ({ args, rawArgs }) => {
|
|
@@ -6756,7 +6852,16 @@ function createCliCommand() {
|
|
|
6756
6852
|
exposeDatabasesService: resolveBooleanCliArg(rawArgs, "exposeDatabasesService", args.exposeDatabasesService, true),
|
|
6757
6853
|
exposeCollectionsService: resolveBooleanCliArg(rawArgs, "exposeCollectionsService", args.exposeCollectionsService, true),
|
|
6758
6854
|
exposeUsersService: resolveBooleanCliArg(rawArgs, "exposeUsersService", args.exposeUsersService, false),
|
|
6759
|
-
exposeCollectionCrud: resolveBooleanCliArg(rawArgs, "exposeCollectionCrud", args.exposeCollectionCrud, true)
|
|
6855
|
+
exposeCollectionCrud: resolveBooleanCliArg(rawArgs, "exposeCollectionCrud", args.exposeCollectionCrud, true),
|
|
6856
|
+
showSystemDatabases: resolveBooleanCliArg(rawArgs, "showSystemDatabases", args.showSystemDatabases, false),
|
|
6857
|
+
allowCreateDatabase: resolveBooleanCliArg(rawArgs, "allowCreateDatabase", args.allowCreateDatabase, false),
|
|
6858
|
+
allowDropDatabase: resolveBooleanCliArg(rawArgs, "allowDropDatabase", args.allowDropDatabase, false),
|
|
6859
|
+
allowCreateCollection: resolveBooleanCliArg(rawArgs, "allowCreateCollection", args.allowCreateCollection, false),
|
|
6860
|
+
allowDropCollection: resolveBooleanCliArg(rawArgs, "allowDropCollection", args.allowDropCollection, false),
|
|
6861
|
+
allowInsertDocuments: resolveBooleanCliArg(rawArgs, "allowInsertDocuments", args.allowInsertDocuments, false),
|
|
6862
|
+
allowPatchDocuments: resolveBooleanCliArg(rawArgs, "allowPatchDocuments", args.allowPatchDocuments, false),
|
|
6863
|
+
allowReplaceDocuments: resolveBooleanCliArg(rawArgs, "allowReplaceDocuments", args.allowReplaceDocuments, false),
|
|
6864
|
+
allowRemoveDocuments: resolveBooleanCliArg(rawArgs, "allowRemoveDocuments", args.allowRemoveDocuments, false)
|
|
6760
6865
|
});
|
|
6761
6866
|
}
|
|
6762
6867
|
});
|
package/dist/module.json
CHANGED
|
@@ -31,6 +31,7 @@ export interface MongoManagementOptions {
|
|
|
31
31
|
basePath?: string;
|
|
32
32
|
whitelistDatabases?: string[];
|
|
33
33
|
blacklistDatabases?: string[];
|
|
34
|
+
showSystemDatabases?: boolean;
|
|
34
35
|
whitelistCollections?: string[];
|
|
35
36
|
blacklistCollections?: string[];
|
|
36
37
|
allowCreateDatabase?: boolean;
|
|
@@ -68,6 +69,7 @@ export interface ResolvedMongoManagementOptions {
|
|
|
68
69
|
basePath: string;
|
|
69
70
|
whitelistDatabases: string[];
|
|
70
71
|
blacklistDatabases: string[];
|
|
72
|
+
showSystemDatabases: boolean;
|
|
71
73
|
whitelistCollections: string[];
|
|
72
74
|
blacklistCollections: string[];
|
|
73
75
|
allowCreateDatabase: boolean;
|
|
@@ -97,6 +97,7 @@ export function resolveMongoOptions(mongodb) {
|
|
|
97
97
|
basePath,
|
|
98
98
|
whitelistDatabases: normalizeStringArray(mongodb.management?.whitelistDatabases),
|
|
99
99
|
blacklistDatabases: normalizeStringArray(mongodb.management?.blacklistDatabases),
|
|
100
|
+
showSystemDatabases: mongodb.management?.showSystemDatabases === true,
|
|
100
101
|
whitelistCollections: normalizeStringArray(mongodb.management?.whitelistCollections),
|
|
101
102
|
blacklistCollections: normalizeStringArray(mongodb.management?.blacklistCollections),
|
|
102
103
|
allowCreateDatabase: mongodb.management?.allowCreateDatabase === true,
|
|
@@ -124,7 +124,11 @@ export async function mongodb(app) {
|
|
|
124
124
|
const baseOptions = {
|
|
125
125
|
db,
|
|
126
126
|
whitelistDatabases: Array.isArray(management.whitelistDatabases) && management.whitelistDatabases.length ? management.whitelistDatabases : undefined,
|
|
127
|
-
blacklistDatabases: Array.isArray(management.blacklistDatabases) && management.blacklistDatabases.length
|
|
127
|
+
blacklistDatabases: Array.isArray(management.blacklistDatabases) && management.blacklistDatabases.length
|
|
128
|
+
? management.blacklistDatabases
|
|
129
|
+
: management.showSystemDatabases === true
|
|
130
|
+
? undefined
|
|
131
|
+
: ['admin', 'config', 'local'],
|
|
128
132
|
whitelistCollections: Array.isArray(management.whitelistCollections) && management.whitelistCollections.length ? management.whitelistCollections : undefined,
|
|
129
133
|
blacklistCollections: Array.isArray(management.blacklistCollections) && management.blacklistCollections.length ? management.blacklistCollections : ['system.profile'],
|
|
130
134
|
allowCreateDatabase: management.allowCreateDatabase === true,
|