Skip to content

Commit

Permalink
Merge pull request #12 from kapetacom/feature/CORE-1675-mongdb-srv-su…
Browse files Browse the repository at this point in the history
…pport

feat: add support for mongodb+srv protocol
  • Loading branch information
morten-holm authored Mar 1, 2024
2 parents 219a2fd + 2f34639 commit af19a5f
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@
*/

import {ConfigProvider} from "@kapeta/sdk-config";

export const RESOURCE_TYPE = 'kapeta/resource-type-mongodb';
export const PORT_TYPE = 'mongodb';
export async function createDBURI(provider:ConfigProvider, resourceName: string) {
const dbInfo = await provider.getResourceInfo(RESOURCE_TYPE, PORT_TYPE, resourceName);
if (!dbInfo) {
throw new Error(`Resource ${resourceName} not found`);
}
const dbName =
dbInfo.options && dbInfo.options.dbName
? dbInfo.options.dbName
: resourceName;
const dbName = dbInfo.options?.dbName ?? resourceName;
const protocol = dbInfo?.options?.protocol ?? 'mongodb';

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

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

0 comments on commit af19a5f

Please sign in to comment.