Skip to content

Commit af19a5f

Browse files
authored
Merge pull request #12 from kapetacom/feature/CORE-1675-mongdb-srv-support
feat: add support for mongodb+srv protocol
2 parents 219a2fd + 2f34639 commit af19a5f

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/utils.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@
44
*/
55

66
import {ConfigProvider} from "@kapeta/sdk-config";
7+
78
export const RESOURCE_TYPE = 'kapeta/resource-type-mongodb';
89
export const PORT_TYPE = 'mongodb';
910
export async function createDBURI(provider:ConfigProvider, resourceName: string) {
1011
const dbInfo = await provider.getResourceInfo(RESOURCE_TYPE, PORT_TYPE, resourceName);
1112
if (!dbInfo) {
1213
throw new Error(`Resource ${resourceName} not found`);
1314
}
14-
const dbName =
15-
dbInfo.options && dbInfo.options.dbName
16-
? dbInfo.options.dbName
17-
: resourceName;
15+
const dbName = dbInfo.options?.dbName ?? resourceName;
16+
const protocol = dbInfo?.options?.protocol ?? 'mongodb';
1817

1918
let credentials = ''
2019
if (dbInfo.credentials?.username) {
@@ -25,5 +24,9 @@ export async function createDBURI(provider:ConfigProvider, resourceName: string)
2524
}
2625
}
2726

28-
return `mongodb://${credentials}@${dbInfo.host}:${dbInfo.port}/${encodeURIComponent(dbName)}?authSource=admin&directConnection=true`;
27+
if (protocol == 'mongodb+srv') {
28+
return `mongodb+srv://${credentials}@${dbInfo.host}/${encodeURIComponent(dbName)}?authSource=admin`;
29+
} else {
30+
return `mongodb://${credentials}@${dbInfo.host}:${dbInfo.port}/${encodeURIComponent(dbName)}?authSource=admin&directConnection=true`;
31+
}
2932
}

0 commit comments

Comments
 (0)