@haku-sci/utils 8.4.0 → 9.0.0
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/dist/TCP/haku-error.d.ts +8 -0
- package/dist/TCP/haku-error.js +14 -0
- package/dist/TCP/haku-error.js.map +1 -0
- package/dist/TCP/remote-service.exception.d.ts +3 -0
- package/dist/TCP/remote-service.exception.js +8 -0
- package/dist/TCP/remote-service.exception.js.map +1 -0
- package/dist/TCP/tcp.service.d.ts +1 -0
- package/dist/TCP/tcp.service.js +27 -10
- package/dist/TCP/tcp.service.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/microservice/consul.d.ts +2 -1
- package/dist/microservice/consul.js +10 -6
- package/dist/microservice/consul.js.map +1 -1
- package/dist/microservice/exceptionFilter.d.ts +3 -3
- package/dist/microservice/exceptionFilter.js +15 -5
- package/dist/microservice/exceptionFilter.js.map +1 -1
- package/dist/microservice/sqlite.service.d.ts +1 -0
- package/dist/microservice/sqlite.service.js +9 -0
- package/dist/microservice/sqlite.service.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toHakuError = toHakuError;
|
|
4
|
+
const remote_service_exception_1 = require("./remote-service.exception");
|
|
5
|
+
function toHakuError(error, service) {
|
|
6
|
+
return {
|
|
7
|
+
service,
|
|
8
|
+
message: error?.message ?? String(error),
|
|
9
|
+
status: error?.getStatus?.() ?? error?.status ?? error?.statusCode,
|
|
10
|
+
stack: error?.stack,
|
|
11
|
+
cause: error instanceof remote_service_exception_1.RemoteServiceException ? error.getResponse() : undefined,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=haku-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haku-error.js","sourceRoot":"","sources":["../../src/TCP/haku-error.ts"],"names":[],"mappings":";;AAcA,kCAQC;AAtBD,yEAAoE;AAcpE,SAAgB,WAAW,CAAC,KAAU,EAAE,OAAgB;IACtD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,UAAU;QAClE,KAAK,EAAE,KAAK,EAAE,KAAK;QACnB,KAAK,EAAE,KAAK,YAAY,iDAAsB,CAAC,CAAC,CAAE,KAAK,CAAC,WAAW,EAAgB,CAAC,CAAC,CAAC,SAAS;KAChG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoteServiceException = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
class RemoteServiceException extends common_1.HttpException {
|
|
6
|
+
}
|
|
7
|
+
exports.RemoteServiceException = RemoteServiceException;
|
|
8
|
+
//# sourceMappingURL=remote-service.exception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-service.exception.js","sourceRoot":"","sources":["../../src/TCP/remote-service.exception.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAI/C,MAAa,sBAAuB,SAAQ,sBAAa;CAAI;AAA7D,wDAA6D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Logger } from '@nestjs/common';
|
|
2
2
|
export declare class TCPService {
|
|
3
3
|
static sendMessage(service: any, action: string, resource?: string, payload?: {}): Promise<any>;
|
|
4
|
+
private static trySendMessage;
|
|
4
5
|
static registerHakuSciMessageHandlers(app: any, logger: Logger): Promise<void>;
|
|
5
6
|
private static enablePatternRouting;
|
|
6
7
|
private static normalizeErrors;
|
package/dist/TCP/tcp.service.js
CHANGED
|
@@ -18,24 +18,41 @@ const exceptionFilter_1 = require("../microservice/exceptionFilter");
|
|
|
18
18
|
const constants_1 = require("@nestjs/microservices/constants");
|
|
19
19
|
const constants_2 = require("@nestjs/common/constants");
|
|
20
20
|
const nestjs_discovery_1 = require("@golevelup/nestjs-discovery");
|
|
21
|
+
const remote_service_exception_1 = require("./remote-service.exception");
|
|
22
|
+
const UNDELIVERED_ERROR_CODES = new Set(['ECONNREFUSED', 'EHOSTUNREACH', 'ENOTFOUND', 'EAI_AGAIN']);
|
|
23
|
+
class UndeliveredMessageException extends common_1.HttpException {
|
|
24
|
+
}
|
|
21
25
|
let TCPService = TCPService_1 = class TCPService {
|
|
22
26
|
static async sendMessage(service, action, resource, payload = {}) {
|
|
27
|
+
const callSite = new Error().stack?.split('\n').slice(2).join('\n');
|
|
28
|
+
try {
|
|
29
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, false, callSite);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
if (err instanceof UndeliveredMessageException)
|
|
33
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, true, callSite);
|
|
34
|
+
throw err;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static async trySendMessage(service, action, resource, payload, forceRefresh, callSite) {
|
|
23
38
|
let client;
|
|
24
39
|
try {
|
|
25
40
|
client = await microservices_1.ClientProxyFactory.create({
|
|
26
41
|
transport: microservices_1.Transport.TCP,
|
|
27
|
-
options: await consul_1.Consul.getServiceURI(service),
|
|
42
|
+
options: await consul_1.Consul.getServiceURI(service, forceRefresh),
|
|
28
43
|
});
|
|
29
44
|
}
|
|
30
45
|
catch (err) {
|
|
31
46
|
const status = err?.status || err?.statusCode || common_1.HttpStatus.SERVICE_UNAVAILABLE;
|
|
32
|
-
throw new
|
|
47
|
+
throw new UndeliveredMessageException({ message: err?.message || 'Unknown error', service }, status);
|
|
33
48
|
}
|
|
34
49
|
try {
|
|
35
50
|
payload["sender"] = await utils.microServiceName();
|
|
36
51
|
let response$ = await client.send([resource, action].join("/"), payload).pipe((0, rxjs_1.catchError)(err => {
|
|
37
52
|
const inner = err?.error ?? err;
|
|
38
|
-
const
|
|
53
|
+
const undelivered = UNDELIVERED_ERROR_CODES.has(err?.code);
|
|
54
|
+
const status = inner?.status || inner?.statusCode || err?.status ||
|
|
55
|
+
(undelivered ? common_1.HttpStatus.SERVICE_UNAVAILABLE : common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
39
56
|
const message = (typeof inner === 'object' ? inner?.message : inner) ||
|
|
40
57
|
err?.message ||
|
|
41
58
|
'Unknown error';
|
|
@@ -44,7 +61,11 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
44
61
|
message,
|
|
45
62
|
service,
|
|
46
63
|
};
|
|
47
|
-
|
|
64
|
+
if (undelivered)
|
|
65
|
+
return (0, rxjs_1.throwError)(() => new UndeliveredMessageException(payload, status));
|
|
66
|
+
const remote = new remote_service_exception_1.RemoteServiceException(payload, status);
|
|
67
|
+
remote.stack = `${remote.name}: ${remote.message}\n${callSite}`;
|
|
68
|
+
return (0, rxjs_1.throwError)(() => remote);
|
|
48
69
|
}));
|
|
49
70
|
const watchdogTimeout = parseInt(process.env.WATCHDOG);
|
|
50
71
|
if (!isNaN(watchdogTimeout) && watchdogTimeout > 0)
|
|
@@ -141,7 +162,7 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
141
162
|
const prototype = Object.getPrototypeOf(instance);
|
|
142
163
|
const tcpParamMeta = Reflect.getMetadata(tcp_param_decorator_1.TCP_PARAM_METADATA_KEY, prototype, methodName) ?? [];
|
|
143
164
|
const senderParamIndex = Reflect.getMetadata(tcp_param_decorator_1.TCP_SENDER_METADATA_KEY, prototype, methodName);
|
|
144
|
-
return async function boundHandler(data
|
|
165
|
+
return async function boundHandler(data) {
|
|
145
166
|
try {
|
|
146
167
|
const { sender, ...rest } = data ?? {};
|
|
147
168
|
let payload = rest;
|
|
@@ -165,11 +186,7 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
165
186
|
return TCPService_1.normalizeErrors(result);
|
|
166
187
|
}
|
|
167
188
|
catch (err) {
|
|
168
|
-
|
|
169
|
-
switchToRpc: () => ({ getContext: () => context }),
|
|
170
|
-
getArgByIndex: (i) => (i === 0 ? data : context),
|
|
171
|
-
};
|
|
172
|
-
return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err, host);
|
|
189
|
+
return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err);
|
|
173
190
|
}
|
|
174
191
|
};
|
|
175
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,yDAAmF;AACnF,+DAAwF;AACxF,+BAAsF;AACtF,kCAAiC;AACjC,mDAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './microservice/microservice.service';
|
|
2
2
|
export * from './microservice/consul';
|
|
3
3
|
export * from './TCP/tcp.service';
|
|
4
|
+
export * from './TCP/remote-service.exception';
|
|
5
|
+
export * from './TCP/haku-error';
|
|
4
6
|
export * from './TCP/tcp.module';
|
|
5
7
|
export * from './TCP/restrict-sender.decorator';
|
|
6
8
|
export * from './TCP/tcp-param.decorator';
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./microservice/microservice.service"), exports);
|
|
18
18
|
__exportStar(require("./microservice/consul"), exports);
|
|
19
19
|
__exportStar(require("./TCP/tcp.service"), exports);
|
|
20
|
+
__exportStar(require("./TCP/remote-service.exception"), exports);
|
|
21
|
+
__exportStar(require("./TCP/haku-error"), exports);
|
|
20
22
|
__exportStar(require("./TCP/tcp.module"), exports);
|
|
21
23
|
__exportStar(require("./TCP/restrict-sender.decorator"), exports);
|
|
22
24
|
__exportStar(require("./TCP/tcp-param.decorator"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,iEAA+C;AAC/C,mDAAiC;AACjC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as net from 'net';
|
|
2
2
|
import { Logger } from '@nestjs/common';
|
|
3
3
|
export declare class Consul {
|
|
4
|
+
private static readonly serviceURICache;
|
|
4
5
|
static registerService(server: net.AddressInfo | net.Server, logger: Logger): Promise<void>;
|
|
5
|
-
static getServiceURI(serviceName: string): Promise<{
|
|
6
|
+
static getServiceURI(serviceName: string, forceRefresh?: boolean): Promise<{
|
|
6
7
|
host: string;
|
|
7
8
|
port: number;
|
|
8
9
|
}>;
|
|
@@ -41,22 +41,26 @@ class Consul {
|
|
|
41
41
|
await axios_1.default.put(`${process.env["CONSUL_URL"]}/v1/agent/service/register`, serviceData);
|
|
42
42
|
logger.log(`Service registered with Consul on ${externalAddress}:${externalPort}`);
|
|
43
43
|
}
|
|
44
|
-
static async getServiceURI(serviceName) {
|
|
44
|
+
static async getServiceURI(serviceName, forceRefresh = false) {
|
|
45
|
+
if (!forceRefresh && Consul.serviceURICache.has(serviceName))
|
|
46
|
+
return Consul.serviceURICache.get(serviceName);
|
|
45
47
|
const response = await axios_1.default.get(`${process.env["CONSUL_URL"]}/v1/catalog/service/${serviceName}`);
|
|
46
48
|
const serviceInfo = response.data;
|
|
47
49
|
if (serviceInfo.length > 0) {
|
|
48
50
|
const service = serviceInfo[0];
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
host: address,
|
|
53
|
-
port: port,
|
|
51
|
+
const uri = {
|
|
52
|
+
host: service.ServiceAddress || service.Address,
|
|
53
|
+
port: service.ServicePort,
|
|
54
54
|
};
|
|
55
|
+
Consul.serviceURICache.set(serviceName, uri);
|
|
56
|
+
return uri;
|
|
55
57
|
}
|
|
56
58
|
else {
|
|
59
|
+
Consul.serviceURICache.delete(serviceName);
|
|
57
60
|
throw new common_1.ServiceUnavailableException(`Service ${serviceName} not found in Consul catalog`);
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
exports.Consul = Consul;
|
|
65
|
+
Consul.serviceURICache = new Map();
|
|
62
66
|
//# sourceMappingURL=consul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAC1B,6BAA6B;AAC7B,+BAA+B;AAE/B,kCAAiC;AACjC,2CAAqE;AAIrE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAmB;IACxD,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger, RpcExceptionFilter } from '@nestjs/common';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
export declare class AllExceptionsFilter implements RpcExceptionFilter<any> {
|
|
4
4
|
private readonly logger;
|
|
5
5
|
constructor(logger: Logger);
|
|
6
|
-
handleUnknownError(exception: any
|
|
6
|
+
handleUnknownError(exception: any): Observable<never>;
|
|
7
7
|
isError(exception: any): exception is Error;
|
|
8
|
-
catch(exception: any
|
|
8
|
+
catch(exception: any): Observable<any>;
|
|
9
9
|
private handleException;
|
|
10
10
|
}
|
|
@@ -13,23 +13,33 @@ exports.AllExceptionsFilter = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const rxjs_1 = require("rxjs");
|
|
15
15
|
const microservices_1 = require("@nestjs/microservices");
|
|
16
|
+
const remote_service_exception_1 = require("../TCP/remote-service.exception");
|
|
17
|
+
const haku_error_1 = require("../TCP/haku-error");
|
|
16
18
|
let AllExceptionsFilter = class AllExceptionsFilter {
|
|
17
19
|
constructor(logger) {
|
|
18
20
|
this.logger = logger;
|
|
19
21
|
this.logger.log('ExceptionsHandler initialized');
|
|
20
22
|
}
|
|
21
|
-
handleUnknownError(exception
|
|
23
|
+
handleUnknownError(exception) {
|
|
22
24
|
return this.handleException(exception);
|
|
23
25
|
}
|
|
24
26
|
isError(exception) {
|
|
25
|
-
|
|
27
|
+
return exception instanceof Error;
|
|
26
28
|
}
|
|
27
|
-
catch(exception
|
|
29
|
+
catch(exception) {
|
|
28
30
|
return this.handleException(exception);
|
|
29
31
|
}
|
|
30
32
|
handleException(exception) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
const status = exception?.getStatus?.() ?? exception?.status ?? exception?.statusCode;
|
|
34
|
+
if (exception instanceof remote_service_exception_1.RemoteServiceException)
|
|
35
|
+
this.logger.debug(`Relayed from ${exception.getResponse()?.['service']}: ${exception.message}`);
|
|
36
|
+
else if (typeof status === 'number' && status < 500)
|
|
37
|
+
this.logger.warn(exception instanceof Error ? exception : exception?.message ?? exception);
|
|
38
|
+
else if (exception instanceof Error)
|
|
39
|
+
this.logger.error(exception.message, exception.stack);
|
|
40
|
+
else
|
|
41
|
+
this.logger.error(exception);
|
|
42
|
+
return (0, rxjs_1.throwError)(() => new microservices_1.RpcException((0, haku_error_1.toHakuError)(exception)));
|
|
33
43
|
}
|
|
34
44
|
};
|
|
35
45
|
exports.AllExceptionsFilter = AllExceptionsFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,+BAA8C;AAC9C,yDAAqD;AACrD,8EAAyE;AACzE,kDAAgD;AAEzC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB,CAAC,SAAc;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAsB,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,SAAc;QACpB,OAAO,SAAS,YAAY,KAAK,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAc;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAGO,eAAe,CAAC,SAAc;QACpC,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,CAAC;QACtF,IAAI,SAAS,YAAY,iDAAsB;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,GAAG;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;aACxF,IAAI,SAAS,YAAY,KAAK;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;;YAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,4BAAY,CAAC,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AA/BY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,EAAC,4BAAY,CAAC;qCAGE,eAAM;GAFf,mBAAmB,CA+B/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createDatabaseFolderIfNotExists(): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDatabaseFolderIfNotExists = createDatabaseFolderIfNotExists;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
function createDatabaseFolderIfNotExists() {
|
|
7
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(process.env.SQL_DB), { recursive: true });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=sqlite.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.service.js","sourceRoot":"","sources":["../../src/microservice/sqlite.service.ts"],"names":[],"mappings":";;AAIA,0EAEC;AAND,2BAA+B;AAC/B,+BAA+B;AAG/B,SAAgB,+BAA+B;IAC7C,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC"}
|