Skip to content

Commit 267c40a

Browse files
Merge pull request #161 from overture-stack/rc/1.14.0
rc/1.14.0
2 parents 260703c + db4b616 commit 267c40a

File tree

8 files changed

+1593
-1438
lines changed

8 files changed

+1593
-1438
lines changed

Jenkinsfile.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ kind: Pod
1010
spec:
1111
containers:
1212
- name: node
13-
image: node:8.16.0-jessie
13+
image: node:16-alpine3.14
1414
tty: true
1515
env:
1616
- name: DOCKER_HOST

package-lock.json

+1,513-1,378
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+23-23
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lectern",
3-
"version": "1.13.0",
3+
"version": "1.14.0",
44
"description": "Data Dictionary Management",
55
"scripts": {
66
"start": "npm run serve",
@@ -30,49 +30,49 @@
3030
"homepage": "https://github.com/overture-stack/lectern#readme",
3131
"devDependencies": {
3232
"@types/axios": "^0.14.0",
33-
"@types/body-parser": "^1.17.0",
33+
"@types/body-parser": "^1.19.2",
3434
"@types/chai": "^4.1.7",
3535
"@types/chai-http": "^4.2.0",
3636
"@types/dotenv": "^6.1.1",
3737
"@types/errorhandler": "0.0.32",
38-
"@types/express": "^4.17.0",
38+
"@types/express": "^4.17.13",
3939
"@types/jsonwebtoken": "^8.3.2",
4040
"@types/lodash": "^4.14.136",
41-
"@types/memoizee": "^0.4.2",
41+
"@types/memoizee": "^0.4.7",
4242
"@types/mocha": "^5.2.7",
43-
"@types/mongoose": "^5.5.7",
44-
"@types/ms": "^0.7.30",
45-
"@types/node-vault": "^0.9.0",
43+
"@types/mongoose": "^5.11.97",
44+
"@types/ms": "^0.7.31",
45+
"@types/node-vault": "^0.9.13",
4646
"@types/swagger-ui-express": "^3.0.1",
4747
"@types/winston": "^2.4.4",
48-
"chai": "^4.2.0",
48+
"chai": "^4.3.6",
4949
"chai-http": "^4.3.0",
5050
"concurrently": "^5.3.0",
51-
"gitmoji-cli": "^3.2.18",
52-
"husky": "^3.0.5",
53-
"mocha": "^6.2.3",
54-
"nodemon": "^2.0.7",
55-
"prettier": "1.17.0",
51+
"gitmoji-cli": "^4.8.0",
52+
"husky": "^3.1.0",
53+
"mocha": "^9.2.0",
54+
"nodemon": "^2.0.15",
55+
"prettier": "^2.5.1",
5656
"testcontainers": "^1.1.19",
5757
"ts-node": "^8.3.0",
5858
"tslint": "^5.18.0",
5959
"typescript": "^3.5.3"
6060
},
6161
"dependencies": {
62-
"ajv": "^6.10.2",
63-
"axios": "^0.21.1",
64-
"body-parser": "^1.19.0",
62+
"ajv": "^6.12.6",
63+
"axios": "^0.26.0",
64+
"body-parser": "^1.19.2",
6565
"dotenv": "^8.0.0",
6666
"errorhandler": "^1.5.1",
67-
"express": "^4.17.1",
67+
"express": "^4.17.3",
6868
"jsonwebtoken": "^8.5.1",
6969
"lodash": "^4.17.21",
70-
"memoizee": "^0.4.14",
71-
"mongoose": "^5.7.5",
72-
"ms": "^2.1.2",
73-
"node-vault": "^0.9.11",
74-
"swagger-ui-express": "^4.0.7",
75-
"winston": "^3.2.1"
70+
"memoizee": "^0.4.15",
71+
"mongoose": "^5.13.14",
72+
"ms": "^2.1.3",
73+
"node-vault": "^0.9.22",
74+
"swagger-ui-express": "^4.3.0",
75+
"winston": "^3.6.0"
7676
},
7777
"prettier": {
7878
"printWidth": 100,

src/app.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ import { dbHealth, Status } from './app-health';
3131
/**
3232
* Decorator to handle errors from async express route handlers
3333
*/
34-
const wrapAsync = (fn: RequestHandler): RequestHandler => {
34+
const wrapAsync = (fn: RequestHandler<any, any, any, any>): RequestHandler => {
3535
return (req, res, next) => {
36-
const routePromise = fn(req, res, next);
36+
const routePromise: any = fn(req, res, next);
3737
if (routePromise.catch) {
3838
routePromise.catch(next);
3939
}
@@ -53,7 +53,7 @@ const App = (config: AppConfig): Express => {
5353

5454
app.set('port', serverPort);
5555

56-
app.use(bodyParser.json({limit: '10mb'}));
56+
app.use(bodyParser.json({ limit: '10mb' }));
5757
app.use(
5858
bodyParser.urlencoded({
5959
extended: true,
@@ -75,7 +75,7 @@ const App = (config: AppConfig): Express => {
7575
} else {
7676
const resBody = {
7777
appStatus: 'Error/Unknown',
78-
dbStatus: dbHealth.status
78+
dbStatus: dbHealth.status,
7979
};
8080
return res.status(500).send(resBody);
8181
}

src/controllers/dictionaryController.ts

+32-8
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,13 @@ import { BadRequestError } from '../utils/errors';
2323
import { replaceReferences } from '../utils/references';
2424
import { diff as diffUtil } from '../diff/DictionaryDiff';
2525
import logger from '../config/logger';
26+
import { DictionaryDocument } from '../models/Dictionary';
2627

27-
export const listDictionaries = async (req: Request, res: Response) => {
28-
const name = req.query.name;
28+
export const listDictionaries = async (
29+
req: Request<{}, {}, {}, { name: string; version: string; references: boolean }>,
30+
res: Response,
31+
) => {
32+
const name = req.query.name as string;
2933
const version = req.query.version;
3034
const showReferences = req.query.references || false;
3135

@@ -36,11 +40,13 @@ export const listDictionaries = async (req: Request, res: Response) => {
3640
res.status(404).send(`Dictionary Not Found: ${name} ${version}`);
3741
return;
3842
}
39-
const response = showReferences ? dict.toObject() : replaceReferences(dict.toObject());
43+
const response = showReferences
44+
? dict.toObject()
45+
: replaceReferences(dict.toObject() as DictionaryDocument);
4046
res.status(200).send([response]);
4147
} else {
4248
const dicts = await dictionaryService.listAll();
43-
const response = name !== undefined ? dicts.filter(dict => dict.name === name) : dicts;
49+
const response = name !== undefined ? dicts.filter((dict) => dict.name === name) : dicts;
4450
res.status(200).send(response);
4551
}
4652
};
@@ -50,7 +56,9 @@ export const getDictionary = async (req: Request, res: Response) => {
5056
const id = req.params.dictId;
5157

5258
const dict = await dictionaryService.getOne(id);
53-
const response = showReferences ? dict.toObject() : replaceReferences(dict.toObject());
59+
const response = showReferences
60+
? dict.toObject()
61+
: replaceReferences(dict.toObject() as DictionaryDocument);
5462
res.status(200).send(response);
5563
};
5664

@@ -71,7 +79,15 @@ export const updateSchema = async (req: Request, res: Response) => {
7179
res.status(200).send(dict.toObject());
7280
};
7381

74-
export const diffDictionaries = async (req: Request, res: Response) => {
82+
export const diffDictionaries = async (
83+
req: Request<
84+
{},
85+
{},
86+
{},
87+
Partial<{ name: string; left: string; right: string; references: boolean }>
88+
>,
89+
res: Response,
90+
) => {
7591
const showReferences = req.query.references || false;
7692
const name = req.query.name;
7793
const leftVersion = req.query.left;
@@ -80,8 +96,16 @@ export const diffDictionaries = async (req: Request, res: Response) => {
8096
if (name && leftVersion && rightVersion) {
8197
const dict1Doc = await dictionaryService.findOne(name, leftVersion);
8298
const dict2Doc = await dictionaryService.findOne(name, rightVersion);
83-
const dict1 = showReferences ? dict1Doc.toObject() : replaceReferences(dict1Doc.toObject());
84-
const dict2 = showReferences ? dict2Doc.toObject() : replaceReferences(dict2Doc.toObject());
99+
const dict1 = (
100+
showReferences
101+
? dict1Doc.toObject()
102+
: replaceReferences(dict1Doc.toObject() as DictionaryDocument)
103+
) as DictionaryDocument;
104+
const dict2 = (
105+
showReferences
106+
? dict2Doc.toObject()
107+
: replaceReferences(dict2Doc.toObject() as DictionaryDocument)
108+
) as DictionaryDocument;
85109
const diff = diffUtil(dict1, dict2);
86110
res.status(200).send(Array.from(diff.entries()));
87111
} else {

src/services/egoTokenService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export default function(egoURL: string = process.env.EGO_API, scope: string = pr
7373
try {
7474
const scopes = authToken['context']['scope'] as Array<string>;
7575
if (scopes.includes(scope)) {
76-
const routePromise = fn(req, res, next);
76+
const routePromise: any = fn(req, res, next);
7777
if (routePromise.catch) {
7878
routePromise.catch(next);
7979
}

src/vault/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import vault from 'node-vault';
2121
import { promises } from 'fs';
2222
import logger from '../config/logger';
2323

24-
let vaultClient: vault.Client;
24+
let vaultClient: vault.client;
2525

2626
async function login() {
2727
logger.info('Creating vault client');

tsconfig.json

+18-22
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
{
2-
"compilerOptions": {
3-
"module": "commonjs",
4-
"esModuleInterop": true,
5-
"allowSyntheticDefaultImports": true,
6-
"target": "es6",
7-
"noImplicitAny": true,
8-
"moduleResolution": "node",
9-
"resolveJsonModule": true,
10-
"sourceMap": true,
11-
"outDir": "dist",
12-
"baseUrl": ".",
13-
"paths": {
14-
"*": [
15-
"node_modules/*",
16-
"src/types/*"
17-
]
18-
}
19-
},
20-
"include": [
21-
"src/**/*"
22-
]
23-
}
2+
"compilerOptions": {
3+
"module": "commonjs",
4+
"esModuleInterop": true,
5+
"allowSyntheticDefaultImports": true,
6+
"target": "es6",
7+
"noImplicitAny": true,
8+
"moduleResolution": "node",
9+
"resolveJsonModule": true,
10+
"sourceMap": true,
11+
"outDir": "dist",
12+
"baseUrl": ".",
13+
"skipLibCheck": true,
14+
"paths": {
15+
"*": ["node_modules/*", "src/types/*"]
16+
}
17+
},
18+
"include": ["src/**/*"]
19+
}

0 commit comments

Comments
 (0)