File tree 1 file changed +8
-5
lines changed
1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change 4
4
*/
5
5
6
6
import { ConfigProvider } from "@kapeta/sdk-config" ;
7
+
7
8
export const RESOURCE_TYPE = 'kapeta/resource-type-mongodb' ;
8
9
export const PORT_TYPE = 'mongodb' ;
9
10
export async function createDBURI ( provider :ConfigProvider , resourceName : string ) {
10
11
const dbInfo = await provider . getResourceInfo ( RESOURCE_TYPE , PORT_TYPE , resourceName ) ;
11
12
if ( ! dbInfo ) {
12
13
throw new Error ( `Resource ${ resourceName } not found` ) ;
13
14
}
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' ;
18
17
19
18
let credentials = ''
20
19
if ( dbInfo . credentials ?. username ) {
@@ -25,5 +24,9 @@ export async function createDBURI(provider:ConfigProvider, resourceName: string)
25
24
}
26
25
}
27
26
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
+ }
29
32
}
You can’t perform that action at this time.
0 commit comments