diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index eb107a3a..71020b28 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -26,15 +26,15 @@ jobs: - runs-on: ubuntu-latest artifact-name: cadt-linux-x64 build-command: npm run create-linux-x64-dist - sqlite-path: ./node_modules/sqlite3/lib/binding/napi-v6-linux-glibc-x64/ + sqlite-path: ./node_modules/sqlite3/build/Release/ - runs-on: macos-latest artifact-name: cadt-macos-x64 build-command: npm run create-mac-x64-dist - sqlite-path: ./node_modules/sqlite3/lib/binding/napi-v6-darwin-unknown-x64/ + sqlite-path: ./node_modules/sqlite3/build/Release/ - runs-on: windows-2019 artifact-name: cadt-windows-x64 build-command: npm run create-win-x64-dist - sqlite-path: .\node_modules\sqlite3\lib\binding\napi-v6-win32-unknown-x64\ + sqlite-path: .\node_modules\sqlite3\build\Release\ steps: - name: Clean workspace @@ -184,8 +184,7 @@ jobs: - name: Copy sqlite3 run: | - ls ./node_modules/sqlite3/lib/binding/ - sudo cp ./node_modules/sqlite3/lib/binding/napi-v6-linux-glibc-arm64/node_sqlite3.node ./dist/ + sudo cp ./node_modules/sqlite3/build/Release/node_sqlite3.node ./dist/ - name: Upload artifacts uses: actions/upload-artifact@v3 diff --git a/src/datalayer/syncService.js b/src/datalayer/syncService.js index a0312943..2db1e52e 100644 --- a/src/datalayer/syncService.js +++ b/src/datalayer/syncService.js @@ -26,15 +26,7 @@ const subscribeToStoreOnDataLayer = async (storeId) => { } }; -const getSubscribedStoreData = async (storeId, retry = 0) => { - if (retry >= 60) { - throw new Error( - `Max retrys exceeded while trying to subscribe to ${storeId}, Can not subscribe to organization`, - ); - } - - const timeoutInterval = 30000; - +const getSubscribedStoreData = async (storeId) => { const subscriptions = await dataLayer.getSubscriptions(storeId); const alreadySubscribed = subscriptions.includes(storeId); @@ -43,20 +35,7 @@ const getSubscribedStoreData = async (storeId, retry = 0) => { const response = await subscribeToStoreOnDataLayer(storeId); if (!response || !response.success) { - if (!response) { - logger.info( - `Response from subscribe RPC came back undefined, is your datalayer running?`, - ); - } - logger.info( - `Retrying subscribe to ${storeId}, subscribe failed`, - retry + 1, - ); - logger.info('...'); - await new Promise((resolve) => - setTimeout(() => resolve(), timeoutInterval), - ); - return getSubscribedStoreData(storeId, retry + 1); + throw new Error(`Failed to subscribe to ${storeId}`); } } @@ -67,15 +46,7 @@ const getSubscribedStoreData = async (storeId, retry = 0) => { const storeExistAndIsConfirmed = await dataLayer.getRoot(storeId, true); logger.info(`Store found in DataLayer: ${storeId}.`); if (!storeExistAndIsConfirmed) { - logger.info( - `Retrying subscribe to ${storeId}, store not yet confirmed.`, - retry + 1, - ); - logger.info('...'); - await new Promise((resolve) => - setTimeout(() => resolve(), timeoutInterval), - ); - return getSubscribedStoreData(storeId, retry + 1); + throw new Error(`Store not found in DataLayer: ${storeId}.`); } else { logger.debug(`Store is confirmed, proceeding to get data ${storeId}`); } @@ -89,15 +60,7 @@ const getSubscribedStoreData = async (storeId, retry = 0) => { } if (_.isEmpty(encodedData?.keys_values)) { - logger.info( - `Retrying subscribe to ${storeId}, No data detected in store.`, - retry + 1, - ); - logger.info('...'); - await new Promise((resolve) => - setTimeout(() => resolve(), timeoutInterval), - ); - return getSubscribedStoreData(storeId, retry + 1); + throw new Error(`No data found for store ${storeId}`); } const decodedData = decodeDataLayerResponse(encodedData); diff --git a/src/models/organizations/organizations.model.js b/src/models/organizations/organizations.model.js index 614f5140..ead372cb 100644 --- a/src/models/organizations/organizations.model.js +++ b/src/models/organizations/organizations.model.js @@ -273,7 +273,7 @@ class Organization extends Model { const orgData = await datalayer.getSubscribedStoreData(orgUid); if (!orgData.registryId) { - throw new Error( + logger.error( 'Currupted organization, no registryId on the datalayer, can not import', ); } @@ -419,17 +419,16 @@ class Organization extends Model { ); } - await Promise.all( - defaultOrgs.map(async (org) => { - const exists = await Organization.findOne({ - where: { orgUid: org.orgUid }, - }); - - if (!exists) { - Organization.importOrganization(org.orgUid); - } - }), - ); + for (let i = 0; i < defaultOrgs.length; i++) { + const org = defaultOrgs[i]; + const exists = await Organization.findOne({ + where: { orgUid: org.orgUid }, + }); + + if (!exists) { + await Organization.importOrganization(org.orgUid); + } + } } catch (error) { logger.info(error); } diff --git a/tests/integration/project.spec.js b/tests/integration/project.spec.js index 9c6f7429..df1296ff 100644 --- a/tests/integration/project.spec.js +++ b/tests/integration/project.spec.js @@ -1,7 +1,6 @@ import _ from 'lodash'; -import chai from 'chai'; -const { expect } = chai; +import { expect } from 'chai'; import * as testFixtures from '../test-fixtures'; import { pullPickListValues } from '../../src/utils/data-loaders'; @@ -27,7 +26,7 @@ describe('Project Resource Integration Tests', function () { /* Basic Idea for this test is that we are going to create a project and verify that the new project propagates through the data layer and into our db. Then we are going - to delete the same project and make sure the delete command propagates through the datalayer + to delete the same project and make sure the delete command propagates through the datalayer then gets removed from our db. */ // create and commit the project to be deleted diff --git a/tests/integration/unit.spec.js b/tests/integration/unit.spec.js index a2a90919..3c1d3c11 100644 --- a/tests/integration/unit.spec.js +++ b/tests/integration/unit.spec.js @@ -1,8 +1,7 @@ import _ from 'lodash'; -import chai from 'chai'; +import { expect } from 'chai'; import supertest from 'supertest'; -const { expect } = chai; import app from '../../src/server'; import { UnitMirror } from '../../src/models'; @@ -37,7 +36,7 @@ describe('Unit Resource Integration Tests', function () { /* Basic Idea for this test is that we are going to create a unit and verify that the new unit propagates through the data layer and into our db. Then we are going - to delete the same unit and make sure the delete command propagates through the datalayer + to delete the same unit and make sure the delete command propagates through the datalayer then gets removed from our db. */ // create and commit the unit to be deleted diff --git a/tests/resources/projects.spec.js b/tests/resources/projects.spec.js index 14ad4327..398285a0 100644 --- a/tests/resources/projects.spec.js +++ b/tests/resources/projects.spec.js @@ -1,9 +1,8 @@ -import chai from 'chai'; +import { expect } from 'chai'; import _ from 'lodash'; import * as testFixtures from '../test-fixtures'; import sinon from 'sinon'; import datalayer from '../../src/datalayer'; -const { expect } = chai; import newProject from '../test-data/new-project.js'; import supertest from 'supertest'; import app from '../../src/server'; diff --git a/tests/test-fixtures/common-fixtures.js b/tests/test-fixtures/common-fixtures.js index 3f93b4db..2d7871f5 100644 --- a/tests/test-fixtures/common-fixtures.js +++ b/tests/test-fixtures/common-fixtures.js @@ -1,5 +1,4 @@ -import chai from 'chai'; -const { expect } = chai; +import { expect } from 'chai'; import { RelatedProject, diff --git a/tests/test-fixtures/project-fixtures.js b/tests/test-fixtures/project-fixtures.js index 835064e7..5aaf7977 100644 --- a/tests/test-fixtures/project-fixtures.js +++ b/tests/test-fixtures/project-fixtures.js @@ -1,8 +1,7 @@ import _ from 'lodash'; import supertest from 'supertest'; -import chai from 'chai'; -const { expect } = chai; +import { expect } from 'chai'; import app from '../../src/server'; import newProject from '../test-data/new-project.js'; diff --git a/tests/test-fixtures/staging-fixtures.js b/tests/test-fixtures/staging-fixtures.js index a7979932..33fb6652 100644 --- a/tests/test-fixtures/staging-fixtures.js +++ b/tests/test-fixtures/staging-fixtures.js @@ -1,7 +1,6 @@ import _ from 'lodash'; -import chai from 'chai'; -const { expect } = chai; +import { expect } from 'chai'; import supertest from 'supertest'; import app from '../../src/server'; diff --git a/tests/test-fixtures/unit-fixtures.js b/tests/test-fixtures/unit-fixtures.js index b5415581..c421235c 100644 --- a/tests/test-fixtures/unit-fixtures.js +++ b/tests/test-fixtures/unit-fixtures.js @@ -1,9 +1,7 @@ import _ from 'lodash'; import supertest from 'supertest'; -import chai from 'chai'; -const { expect } = chai; - +import { expect } from 'chai'; import app from '../../src/server'; import newUnit from '../test-data/new-unit.js'; import updateUnitJson from '../test-data/update-unit.js'; diff --git a/tests/utils/request-utils.js b/tests/utils/request-utils.js index 05e6bd25..9c8ee18c 100644 --- a/tests/utils/request-utils.js +++ b/tests/utils/request-utils.js @@ -15,7 +15,7 @@ export const get = (url) => { } resolve(res); - + }); }); };