temba 0.30.2 → 0.31.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/auth/auth.d.ts.map +1 -1
- package/auth/auth.js +2 -1
- package/auth/auth.js.map +1 -1
- package/data/mongo/index.d.ts +2 -1
- package/data/mongo/index.d.ts.map +1 -1
- package/data/mongo/index.js +55 -55
- package/data/mongo/index.js.map +1 -1
- package/data/queries.d.ts +2 -1
- package/data/queries.d.ts.map +1 -1
- package/data/queries.js +2 -2
- package/data/queries.js.map +1 -1
- package/delay/delayMiddleware.d.ts.map +1 -1
- package/delay/delayMiddleware.js +0 -2
- package/delay/delayMiddleware.js.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +7 -4
- package/index.js.map +1 -1
- package/log/logger.d.ts +8 -0
- package/log/logger.d.ts.map +1 -0
- package/log/logger.js +34 -0
- package/log/logger.js.map +1 -0
- package/package.json +1 -1
package/auth/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,eAAO,MAAM,aAAa,eAAwD,CAAA;AAElF,eAAO,MAAM,oBAAoB,YAAa,OAAO,WAChC,OAAO,OAAO,QAAQ,QAAQ,YAAY,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,eAAO,MAAM,aAAa,eAAwD,CAAA;AAElF,eAAO,MAAM,oBAAoB,YAAa,OAAO,WAChC,OAAO,OAAO,QAAQ,QAAQ,YAAY,kBAmB9D,CAAA"}
|
package/auth/auth.js
CHANGED
|
@@ -7,7 +7,8 @@ export const createAuthMiddleware = (queries) => {
|
|
|
7
7
|
res.status(401).json({ message: 'Unauthorized' });
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
-
const
|
|
10
|
+
const tokens = await queries.getAll('tokens');
|
|
11
|
+
const foundToken = tokens.find((t) => t.token === token);
|
|
11
12
|
if (!foundToken) {
|
|
12
13
|
res.status(401).json({ message: 'Unauthorized' });
|
|
13
14
|
return;
|
package/auth/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAItB,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;AAElF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACvD,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAItB,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;AAElF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACvD,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;QAExD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC,CAAA"}
|
package/data/mongo/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { Queries } from '../types.js';
|
|
2
|
-
|
|
2
|
+
import type { Logger } from '../../log/logger.js';
|
|
3
|
+
export declare const createMongoQueries: (connectionString: string, logger: Logger) => Queries;
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/mongo/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/mongo/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAe9C,eAAO,MAAM,kBAAkB,qBAAsB,MAAM,UAAU,MAAM,YA6F1E,CAAA"}
|
package/data/mongo/index.js
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
1
|
import { connect } from '@rakered/mongo';
|
|
2
2
|
let uri;
|
|
3
3
|
let db;
|
|
4
|
-
const connectToDatabase = async () => {
|
|
5
|
-
if (!db) {
|
|
6
|
-
console.log('Connecting to MongoDB...');
|
|
7
|
-
try {
|
|
8
|
-
db = await connect(uri);
|
|
9
|
-
console.log('Connected to MongoDB!');
|
|
10
|
-
}
|
|
11
|
-
catch (error) {
|
|
12
|
-
console.log('Error connecting to MongoDB:');
|
|
13
|
-
console.error(error);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
const getAll = async (resource) => {
|
|
18
|
-
await connectToDatabase();
|
|
19
|
-
const items = (await db[resource].find({}));
|
|
20
|
-
if (!items)
|
|
21
|
-
return [];
|
|
22
|
-
return items.map((item) => removeUnderscoreFromId(item));
|
|
23
|
-
};
|
|
24
|
-
const getById = async (resource, id) => {
|
|
25
|
-
await connectToDatabase();
|
|
26
|
-
const item = await db[resource].findOne({ _id: id });
|
|
27
|
-
if (!item)
|
|
28
|
-
return null;
|
|
29
|
-
return removeUnderscoreFromId(item);
|
|
30
|
-
};
|
|
31
|
-
const create = async (resource, item) => {
|
|
32
|
-
await connectToDatabase();
|
|
33
|
-
const createdItem = await db[resource].insertOne(item);
|
|
34
|
-
return removeUnderscoreFromId(createdItem.ops[0]);
|
|
35
|
-
};
|
|
36
|
-
const update = async (resource, item) => {
|
|
37
|
-
await connectToDatabase();
|
|
38
|
-
const { id, ...itemWithoutId } = item;
|
|
39
|
-
const updatedItem = await db[resource].findOneAndUpdate({ _id: id }, { $set: itemWithoutId }, { returnOriginal: false });
|
|
40
|
-
return removeUnderscoreFromId(updatedItem.value);
|
|
41
|
-
};
|
|
42
|
-
const replace = async (resource, item) => {
|
|
43
|
-
await connectToDatabase();
|
|
44
|
-
const { id, ...itemWithoutId } = item;
|
|
45
|
-
const replacedItem = await db[resource].findOneAndReplace({ _id: id }, itemWithoutId, {
|
|
46
|
-
returnOriginal: false,
|
|
47
|
-
});
|
|
48
|
-
return removeUnderscoreFromId(replacedItem.value);
|
|
49
|
-
};
|
|
50
|
-
const deleteById = async (resource, id) => {
|
|
51
|
-
await connectToDatabase();
|
|
52
|
-
await db[resource].deleteOne({ _id: id });
|
|
53
|
-
};
|
|
54
|
-
const deleteAll = async (resource) => {
|
|
55
|
-
await connectToDatabase();
|
|
56
|
-
await db[resource].deleteMany({});
|
|
57
|
-
};
|
|
58
4
|
const removeUnderscoreFromId = ({ _id: id, ...updatedItem }) => ({
|
|
59
5
|
id,
|
|
60
6
|
...updatedItem,
|
|
61
7
|
});
|
|
62
|
-
export const createMongoQueries = (connectionString) => {
|
|
8
|
+
export const createMongoQueries = (connectionString, logger) => {
|
|
63
9
|
uri = connectionString;
|
|
10
|
+
const connectToDatabase = async () => {
|
|
11
|
+
if (!db) {
|
|
12
|
+
logger.debug('Connecting to MongoDB...');
|
|
13
|
+
try {
|
|
14
|
+
db = await connect(uri);
|
|
15
|
+
logger.debug('Connected to MongoDB!');
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
logger.debug('Error connecting to MongoDB');
|
|
19
|
+
logger.error(error);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const getAll = async (resource) => {
|
|
24
|
+
await connectToDatabase();
|
|
25
|
+
const items = (await db[resource].find({}));
|
|
26
|
+
if (!items)
|
|
27
|
+
return [];
|
|
28
|
+
return items.map((item) => removeUnderscoreFromId(item));
|
|
29
|
+
};
|
|
30
|
+
const getById = async (resource, id) => {
|
|
31
|
+
await connectToDatabase();
|
|
32
|
+
const item = await db[resource].findOne({ _id: id });
|
|
33
|
+
if (!item)
|
|
34
|
+
return null;
|
|
35
|
+
return removeUnderscoreFromId(item);
|
|
36
|
+
};
|
|
37
|
+
const create = async (resource, item) => {
|
|
38
|
+
await connectToDatabase();
|
|
39
|
+
const createdItem = await db[resource].insertOne(item);
|
|
40
|
+
return removeUnderscoreFromId(createdItem.ops[0]);
|
|
41
|
+
};
|
|
42
|
+
const update = async (resource, item) => {
|
|
43
|
+
await connectToDatabase();
|
|
44
|
+
const { id, ...itemWithoutId } = item;
|
|
45
|
+
const updatedItem = await db[resource].findOneAndUpdate({ _id: id }, { $set: itemWithoutId }, { returnOriginal: false });
|
|
46
|
+
return removeUnderscoreFromId(updatedItem.value);
|
|
47
|
+
};
|
|
48
|
+
const replace = async (resource, item) => {
|
|
49
|
+
await connectToDatabase();
|
|
50
|
+
const { id, ...itemWithoutId } = item;
|
|
51
|
+
const replacedItem = await db[resource].findOneAndReplace({ _id: id }, itemWithoutId, {
|
|
52
|
+
returnOriginal: false,
|
|
53
|
+
});
|
|
54
|
+
return removeUnderscoreFromId(replacedItem.value);
|
|
55
|
+
};
|
|
56
|
+
const deleteById = async (resource, id) => {
|
|
57
|
+
await connectToDatabase();
|
|
58
|
+
await db[resource].deleteOne({ _id: id });
|
|
59
|
+
};
|
|
60
|
+
const deleteAll = async (resource) => {
|
|
61
|
+
await connectToDatabase();
|
|
62
|
+
await db[resource].deleteMany({});
|
|
63
|
+
};
|
|
64
64
|
const mongoQueries = {
|
|
65
65
|
getAll,
|
|
66
66
|
getById,
|
package/data/mongo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/mongo/index.ts"],"names":[],"mappings":"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"}
|
package/data/queries.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Logger } from '../log/logger.js';
|
|
2
|
+
export declare const createQueries: (connectionString: string | null, logger: Logger) => import("./types.js").Queries;
|
|
2
3
|
//# sourceMappingURL=queries.d.ts.map
|
package/data/queries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAI3C,eAAO,MAAM,aAAa,qBAAsB,MAAM,GAAG,IAAI,UAAU,MAAM,8BAS5E,CAAA"}
|
package/data/queries.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import createJsonQueries from './json/index.js';
|
|
2
2
|
import { createMongoQueries } from './mongo/index.js';
|
|
3
|
-
export const createQueries = (connectionString) => {
|
|
3
|
+
export const createQueries = (connectionString, logger) => {
|
|
4
4
|
if (process.env.NODE_ENV === 'test' || !connectionString)
|
|
5
5
|
return createJsonQueries({ filename: null });
|
|
6
6
|
if (connectionString.endsWith('.json'))
|
|
7
7
|
return createJsonQueries({ filename: connectionString });
|
|
8
8
|
if (connectionString.startsWith('mongodb'))
|
|
9
|
-
return createMongoQueries(connectionString);
|
|
9
|
+
return createMongoQueries(connectionString, logger);
|
|
10
10
|
return createJsonQueries({ filename: null });
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=queries.js.map
|
package/data/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAA+B,EAAE,MAAc,EAAE,EAAE;IAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,gBAAgB;QACtD,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9C,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAEhG,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAE/F,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delayMiddleware.d.ts","sourceRoot":"","sources":["../../../src/delay/delayMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQ9D,eAAO,MAAM,qBAAqB,UAAW,MAAM,WACpC,OAAO,OAAO,QAAQ,QAAQ,YAAY,
|
|
1
|
+
{"version":3,"file":"delayMiddleware.d.ts","sourceRoot":"","sources":["../../../src/delay/delayMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQ9D,eAAO,MAAM,qBAAqB,UAAW,MAAM,WACpC,OAAO,OAAO,QAAQ,QAAQ,YAAY,SAGxD,CAAA"}
|
package/delay/delayMiddleware.js
CHANGED
|
@@ -5,9 +5,7 @@ const pause = (delay) => {
|
|
|
5
5
|
};
|
|
6
6
|
export const createDelayMiddleware = (delay) => {
|
|
7
7
|
return (req, res, next) => {
|
|
8
|
-
console.log('Start delay...');
|
|
9
8
|
pause(delay)(req, res, next);
|
|
10
|
-
console.log('Delay finished!');
|
|
11
9
|
};
|
|
12
10
|
};
|
|
13
11
|
//# sourceMappingURL=delayMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delayMiddleware.js","sourceRoot":"","sources":["../../../src/delay/delayMiddleware.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE;IAC9B,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE;IACrD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,
|
|
1
|
+
{"version":3,"file":"delayMiddleware.js","sourceRoot":"","sources":["../../../src/delay/delayMiddleware.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE;IAC9B,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE;IACrD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC,CAAA;AACH,CAAC,CAAA"}
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAK1C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAK1C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAyGlF,eAAO,MAAM,MAAM,gBAAiB,UAAU;;;CAA6B,CAAA;AAE3E,eAAO,MAAM,UAAU,2BAAqB,CAAA"}
|
package/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { compileSchemas } from './schema/compile.js';
|
|
|
8
8
|
import { createResourceRouter } from './resourceRouter.js';
|
|
9
9
|
import { TembaError as TembaErrorInternal } from './requestInterceptor/TembaError.js';
|
|
10
10
|
import { createAuthMiddleware, isAuthEnabled } from './auth/auth.js';
|
|
11
|
+
import { initLogger } from './log/logger.js';
|
|
11
12
|
// Route for handling not allowed methods.
|
|
12
13
|
const handleMethodNotAllowed = (_, res) => {
|
|
13
14
|
res.status(405).json({ message: 'Method Not Allowed' });
|
|
@@ -17,12 +18,14 @@ const handleNotFound = (_, res) => {
|
|
|
17
18
|
res.status(404).json({ message: 'Not Found' });
|
|
18
19
|
};
|
|
19
20
|
const createServer = (userConfig) => {
|
|
21
|
+
const { logger, logLevel } = initLogger(process.env.LOG_LEVEL);
|
|
20
22
|
const config = initConfig(userConfig);
|
|
21
|
-
const queries = createQueries(config.connectionString);
|
|
23
|
+
const queries = createQueries(config.connectionString, logger);
|
|
22
24
|
const app = express();
|
|
23
25
|
app.use(json());
|
|
24
26
|
// Add HTTP request logging.
|
|
25
|
-
|
|
27
|
+
if (logLevel === 'debug')
|
|
28
|
+
app.use(morgan('tiny'));
|
|
26
29
|
// Enable CORS for all requests.
|
|
27
30
|
app.use(cors({ origin: true, credentials: true }));
|
|
28
31
|
// Serve a static folder, if configured.
|
|
@@ -77,11 +80,11 @@ const createServer = (userConfig) => {
|
|
|
77
80
|
return {
|
|
78
81
|
start: () => {
|
|
79
82
|
if (config.isTesting) {
|
|
80
|
-
|
|
83
|
+
logger.info('⛔️ Server not started. Remove or disable isTesting from your config.');
|
|
81
84
|
return;
|
|
82
85
|
}
|
|
83
86
|
app.listen(config.port, () => {
|
|
84
|
-
|
|
87
|
+
logger.info(`✅ Server listening on port ${config.port}`);
|
|
85
88
|
});
|
|
86
89
|
},
|
|
87
90
|
// Expose Express for testing purposes only, e.g. usage with supertest.
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/log/logger.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type LogLevel = 'debug' | 'info' | 'error';
|
|
2
|
+
export type Logger = Record<LogLevel, (...data: unknown[]) => void>;
|
|
3
|
+
export declare const initLogger: (configuredLogLevel: string | undefined) => {
|
|
4
|
+
logLevel: LogLevel;
|
|
5
|
+
logger: Logger;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAQ1C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAA;AAyBnE,eAAO,MAAM,UAAU,uBAAwB,MAAM,GAAG,SAAS;;;CAOhE,CAAA"}
|
package/log/logger.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const logLevels = {
|
|
2
|
+
debug: 0,
|
|
3
|
+
info: 1,
|
|
4
|
+
error: 2,
|
|
5
|
+
};
|
|
6
|
+
const createLogger = (logLevel) => {
|
|
7
|
+
const log = (level, ...data) => {
|
|
8
|
+
// Only log when the level is at least as high as the configured log level
|
|
9
|
+
if (logLevels[level] >= logLevels[logLevel]) {
|
|
10
|
+
try {
|
|
11
|
+
console[level](level.toUpperCase(), '-', ...data);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// swallow exceptions during logging
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
debug: (...data) => log('debug', ...data),
|
|
20
|
+
info: (...data) => log('info', ...data),
|
|
21
|
+
error: (...data) => log('error', ...data),
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
const isInvalid = (value) => {
|
|
25
|
+
return !value || !Object.keys(logLevels).includes(value);
|
|
26
|
+
};
|
|
27
|
+
export const initLogger = (configuredLogLevel) => {
|
|
28
|
+
const logLevel = isInvalid(configuredLogLevel) ? 'debug' : configuredLogLevel;
|
|
29
|
+
return {
|
|
30
|
+
logLevel,
|
|
31
|
+
logger: createLogger(logLevel),
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAA6B;IAC1C,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAA;AAID,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAE,EAAE;IAC1C,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAClD,0EAA0E;QAC1E,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QACpD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QAClD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;KAC3C,CAAA;AACb,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAW,EAAE;IACvD,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,kBAAsC,EAAE,EAAE;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,kBAA+B,CAAA;IAE3F,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC/B,CAAA;AACH,CAAC,CAAA"}
|