kindagoose
52 строки · 1.3 Кб
1export class MongoDBConnectionURIBuilder {
2private protocol = '';
3private hostname = '';
4private port: number | string = '';
5private username = '';
6private password = '';
7private databaseName = '';
8private connectionParams = '';
9
10public setProtocol(protocol: string) {
11this.protocol = protocol;
12return this;
13}
14
15public setHostname(hostname: string) {
16this.hostname = hostname;
17return this;
18}
19
20public setPort(port: string | number) {
21this.port = ':' + port;
22return this;
23}
24
25public setUsername(username: string) {
26this.username = username;
27return this;
28}
29
30public setPassword(password: string) {
31this.password = password + '@';
32return this;
33}
34
35public setDatabaseName(dbName: string) {
36this.databaseName = dbName;
37return this;
38}
39
40/**
41*
42* @param {string} params - string like `param1=value1¶m2=value2`
43*/
44public setConnectionParams(params: string) {
45this.connectionParams = params;
46return this;
47}
48
49public build() {
50return `${this.protocol}/${this.username}/${this.password}${this.hostname}${this.port}/${this.databaseName}?${this.connectionParams}`;
51}
52}
53