Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
cd912c3
Upgrading to mongoose 7 and making slight adjustments based on that u…
rdingwell Mar 31, 2023
0bc9a86
fixing issue with droping collection
rdingwell Mar 31, 2023
293f7fa
linting and prettier fixes
rdingwell Mar 31, 2023
f1ce720
fixing prettier errors after linting
rdingwell Mar 31, 2023
00a5d82
removing node 16 tests
rdingwell Mar 31, 2023
7e9dedf
removing log statements
rdingwell Mar 31, 2023
c2113db
Attempting to update ci test to node 18 to see if that has effect on …
rdingwell Mar 31, 2023
c977e23
aligning jest package versions
rdingwell Mar 31, 2023
eca2692
removing logging statements
rdingwell Mar 31, 2023
98a421a
Prettier fixes
rdingwell Mar 31, 2023
f346b09
Migrating tests to mocha and sinon to deal with github CI runner issues
rdingwell Apr 3, 2023
4124492
Fixing liniting/prettier issues
rdingwell Apr 3, 2023
cff60cc
more prettier issues
rdingwell Apr 3, 2023
2f7b307
Increasing timeout from 2 seconds to 10 seconds
rdingwell Apr 3, 2023
9a745db
Moving test to thier own directory
rdingwell Apr 4, 2023
93820b6
adding inspection of spied calls
rdingwell Apr 4, 2023
eb92e7e
Merge branch 'dev' into fixing_caching_tests
rdingwell Apr 4, 2023
a7ed9e5
moving etasu endpoints into their own middleware component
rdingwell Apr 5, 2023
8e3ad68
fixing linting issues
rdingwell Apr 6, 2023
b337de7
addressing linting errors, removed unused variables, added lint rule …
rdingwell Apr 6, 2023
bf2ff07
fixing issue introduced with removing erroneous wrapped Promise
rdingwell Apr 6, 2023
d9a18ac
removing Promises and replacing with async/await to bring the app inl…
rdingwell Apr 6, 2023
d687978
adding bare minimum test cases for services
rdingwell Apr 10, 2023
4d61da6
removing addtional callback based async calls and replacing with sync…
rdingwell Apr 20, 2023
efe29c4
Merging dev branch
rdingwell Apr 20, 2023
61f836e
adding default usr/pass back to env
rdingwell Apr 20, 2023
a25c68e
removing mocha options from cmd line call in script
rdingwell Apr 20, 2023
8e5e931
Trapping resource exists errors on startup.
rdingwell Apr 26, 2023
4399cb9
removing addtional promises
rdingwell Apr 27, 2023
88e9618
Merge branch 'dev' into remove_promises
rdingwell May 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"semi": ["off"],
"@typescript-eslint/semi": ["error", "always"],
"quotes": ["error", "single", { "avoidEscape": true }],

"@typescript-eslint/no-explicit-any": ["off"],
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }]
}
}
2 changes: 1 addition & 1 deletion .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [14]
node-version: [18]

steps:
- uses: actions/checkout@v1
Expand Down
7 changes: 7 additions & 0 deletions .mocharc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"timeout" : 20000,
"extension": ["ts"],
"spec": "test/**/*.test.ts",
"require": "ts-node/register",
"file" : ["test/setup.ts"]
}
2 changes: 1 addition & 1 deletion env.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"MONGO_URL": {
"type": "string",
"default": "mongodb://127.0.0.1:27017",
"default": "mongodb://rems-user:pass@127.0.0.1:27017",
"required": true
},
"MONGO_DB_NAME": {
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"scripts": {
"develop": "node dist/scripts/develop.js",
"start": "ts-node-dev --inspect=8091 src/scripts/serve.ts",
"test": "mocha --timeout 20000 -r ts-node/register test/*.test.ts",
"test": "mocha",
"lint": "eslint \"**/*.{js,ts}\"",
"lint:fix": "eslint \"**/*.{js,ts}\" --quiet --fix",
"prettier": "prettier --check \"**/*.{js,ts}\"",
Expand All @@ -27,12 +27,14 @@
"dependencies": {
"@projecttacoma/node-fhir-server-core": "^2.2.8",
"@types/fhir": "^0.0.35",
"@types/glob": "^8.1.0",
"axios": "^1.2.1",
"body-parser": "^1.19.0",
"conventional-changelog-cli": "^2.0.34",
"cors": "^2.8.5",
"express": "^4.17.1",
"fhirpath": "^3.2.0",
"glob": "^10.2.1",
"lodash": "^4.17.19",
"moment": "^2.24.0",
"moment-timezone": "^0.5.40",
Expand Down Expand Up @@ -62,6 +64,7 @@
"@typescript-eslint/parser": "^5.45.0",
"axios-mock-adapter": "^1.21.2",
"chai": "^4.3.7",
"chai-http": "^4.3.0",
"eslint": "^8.28.0",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-prettier": "^4.2.1",
Expand Down
72 changes: 9 additions & 63 deletions src/fhir/questionnaireUtilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import {
QuestionnaireItem,
ValueSet
} from 'fhir/r4';
import constants from '../constants';
import { Globals } from '../globals';
import { FhirUtilities } from './utilities';
import container from '../lib/winston';
import config from '../config';
Expand Down Expand Up @@ -143,16 +141,7 @@ export class QuestionnaireUtilities {
if (!valueSet) {
valueSet = await this.fetchValueSetFromVSAC(valueSetUrl);
if (valueSet) {
await FhirUtilities.store(
valueSet,
ValueSetModel,
function () {
return;
},
function () {
return;
}
);
await FhirUtilities.store(valueSet, ValueSetModel);
} else {
this.logger.warn(`Library Processor >> Failed to find ValueSet: ${valueSetUrl}`);
}
Expand All @@ -172,60 +161,17 @@ export class QuestionnaireUtilities {
}
return returnValue;
}
static async findQuestionnaire(id: string): Promise<Questionnaire | undefined> {
return new Promise((resolve, reject) => {
QuestionnaireModel.findOne(
{ id: id.toString() },
(err: any, questionnaire: Questionnaire) => {
if (err) {
return reject(err);
}
if (questionnaire) {
resolve(new QuestionnaireModel(questionnaire));
}
resolve(undefined);
}
);
});
static async findQuestionnaire(id: string): Promise<Questionnaire | null | undefined> {
return await QuestionnaireModel.findOne({ id: id.toString() });
}
static async findLibraryByUrl(url: string): Promise<Library | undefined> {
return new Promise((resolve, reject) => {
LibraryModel.findOne({ url: url.toString() }, (err: any, library: Library) => {
if (err) {
return reject(err);
}
if (library) {
resolve(new LibraryModel(library));
}
resolve(undefined);
});
});
static async findLibraryByUrl(url: string): Promise<Library | null | undefined> {
return await LibraryModel.findOne({ url: url.toString() });
}
static async findLibraryById(id: string): Promise<Library | undefined> {
return new Promise((resolve, reject) => {
LibraryModel.findOne({ id: id.toString() }, (err: any, library: Library) => {
if (err) {
return reject(err);
}
if (library) {
resolve(new LibraryModel(library));
}
resolve(undefined);
});
});
static async findLibraryById(id: string): Promise<Library | null | undefined> {
return await LibraryModel.findOne({ id: id.toString() });
}
static async findValueSetByUrl(url: string): Promise<ValueSet | undefined> {
return new Promise((resolve, reject) => {
ValueSetModel.findOne({ url: url.toString() }, (err: any, valueset: ValueSet) => {
if (err) {
return reject(err);
}
if (valueset) {
resolve(new ValueSetModel(valueset));
}
resolve(undefined);
});
});
static async findValueSetByUrl(url: string): Promise<ValueSet | null | undefined> {
return await ValueSetModel.findOne({ url: url.toString() });
}
static async processSubQuestionnaires(questionnaire: Questionnaire) {
const extensions = questionnaire.extension || [];
Expand Down
Loading