diff --git a/server/controllers/admin/odk-central.js b/server/controllers/admin/odk-central.js index fdee8208b3..1c2ec2008b 100644 --- a/server/controllers/admin/odk-central.js +++ b/server/controllers/admin/odk-central.js @@ -38,9 +38,9 @@ async function setupODKCentralConnection() { await loadODKCentralSettingsFromDatabase(); } -async function defineUserAsDataCollector(userId) { +async function defineUserAsDataCollector(xmlFormId, userId) { const { id } = await db.one('SELECT odk_project_id AS id FROM odk_central_integration LIMIT 1;'); - return central.api.assignments.assignUserRole(id, odkCentralRoles.dataCollector, userId); + return central.api.forms.assignActorToFormRole(id, xmlFormId, odkCentralRoles.dataCollector, userId); } /** @@ -333,7 +333,8 @@ async function syncFormsWithCentral() { for (const user of allAppUsers) { // eslint-disable-line debug(`Assigning "Data Collector" role (id:${odkCentralRoles.dataCollector}) to ${user.displayName}.`); try { - await defineUserAsDataCollector(user.id); // eslint-disable-line + const { success }= await defineUserAsDataCollector(xmlFormId, user.id); // eslint-disable-line + debug(`Role assigned to ${user.displayName} with success: ${success}`); } catch (e) { debug('User already defined.'); } diff --git a/test/integration/reports/finance/account_report.js b/test/integration/reports/finance/account_report.js index 06f6357628..8ace486ade 100644 --- a/test/integration/reports/finance/account_report.js +++ b/test/integration/reports/finance/account_report.js @@ -12,8 +12,6 @@ describe(`(${target}) Report Account`, () => { currency_id : 1, }; - const BAD_REQUEST = 'ERRORS.BAD_REQUEST'; - const clone = (object) => JSON.parse(JSON.stringify(object)); it(`GET ${target} should return HTML data for HTML rendering target`, () => { @@ -29,7 +27,8 @@ describe(`(${target}) Report Account`, () => { .catch(helpers.handler); }); - it(`GET ${target} should return PDF data for PDF rendering target`, () => { + it(`GET ${target} should return PDF data for PDF rendering target`, function pdf() { + this.timeout(5000); const copy = clone(parameters); copy.renderer = 'pdf'; diff --git a/yarn.lock b/yarn.lock index 90209cf078..dce16ba2d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,9 +48,9 @@ strip-json-comments "^3.1.1" "@humanwhocodes/config-array@^0.9.2": - version "0.9.2" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" - integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== + version "0.9.3" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" + integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -82,9 +82,9 @@ puppeteer-cluster "^0.22.0" "@ima-worldhealth/odk-central-api-cjs@^2.2.3": - version "2.3.0" - resolved "https://registry.npmjs.org/@ima-worldhealth/odk-central-api-cjs/-/odk-central-api-cjs-2.3.0.tgz#4bd22e4b6b06ef48da274b1e1e1284f25548fc3e" - integrity sha512-UxqwwtNJ33q9xwNn2fhkbUH9fWjf+lvgEKOC2S5+O2ymCN2eEhIJob1Ro46PzrFgxO1pjjCy2rOiCcVmoidzJw== + version "2.3.2" + resolved "https://registry.npmjs.org/@ima-worldhealth/odk-central-api-cjs/-/odk-central-api-cjs-2.3.2.tgz#3227fda53f2e69addcbdf054af18a20d4a43e0a3" + integrity sha512-IKk5ovm5rljTImFXq8Ya5NGEycL6Uis+sQY9vbYVneqn1mRaTUVGOXfLBazdLLzDd/gfeRNucke4eGeO8/Vm0w== dependencies: debug "^4.3.3" dotenv "^14.2.0" @@ -260,9 +260,9 @@ "@sinonjs/commons" "^1.7.0" "@sinonjs/samsam@^6.0.2": - version "6.0.2" - resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz#a0117d823260f282c04bff5f8704bdc2ac6910bb" - integrity sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ== + version "6.1.1" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz#627f7f4cbdb56e6419fa2c1a3e4751ce4f6a00b1" + integrity sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA== dependencies: "@sinonjs/commons" "^1.6.0" lodash.get "^4.4.2" @@ -360,9 +360,9 @@ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*", "@types/node@>=10.0.0": - version "17.0.12" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz#f7aa331b27f08244888c47b7df126184bc2339c5" - integrity sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA== + version "17.0.13" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" + integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1292,9 +1292,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001286: - version "1.0.30001302" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001302.tgz#da57ce61c51177ef3661eeed7faef392d3790aaa" - integrity sha512-YYTMO+tfwvgUN+1ZnRViE53Ma1S/oETg+J2lISsqi/ZTNThj3ZYBOKP2rHwJc37oCsPqAzJ3w2puZHn0xlLPPw== + version "1.0.30001303" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz#9b168e4f43ccfc372b86f4bc5a551d9b909c95c9" + integrity sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ== caseless@~0.12.0: version "0.12.0" @@ -1344,15 +1344,15 @@ chai-spies@^1.0.0: integrity sha512-elF2ZUczBsFoP07qCfMO/zeggs8pqCf3fZGyK5+2X4AndS8jycZYID91ztD9oQ7d/0tnS963dPkd0frQEThDsg== chai@>1.9.0, chai@^4.3.4: - version "4.3.5" - resolved "https://registry.npmjs.org/chai/-/chai-4.3.5.tgz#784cf398a30cd45b8980181ba1a8c866c225b5df" - integrity sha512-0gKhNDL29PUlmwz1CG42p/OaBf1v0YD3oH4//YMS1niT7rLH9tC+lqTgk+SvdbhMLd7ToTtxA61orNBmpSO/DA== + version "4.3.6" + resolved "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" + integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== dependencies: assertion-error "^1.1.0" check-error "^1.0.2" deep-eql "^3.0.1" get-func-name "^2.0.0" - loupe "^2.3.0" + loupe "^2.3.1" pathval "^1.1.1" type-detect "^4.0.5" @@ -2632,9 +2632,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.17: - version "1.4.53" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.53.tgz#5d80a91c399b44952ef485857fb5b9d4387d2e60" - integrity sha512-rFveSKQczlcav+H3zkKqykU6ANseFwXwkl855jOIap5/0gnEcuIhv2ecz6aoTrXavF6I/CEBeRnBnkB51k06ew== + version "1.4.57" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz#2b2766df76ac8dbc0a1d41249bc5684a31849892" + integrity sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw== emoji-regex@^7.0.1: version "7.0.3" @@ -2842,9 +2842,9 @@ eslint-import-resolver-node@^0.3.6: resolve "^1.20.0" eslint-module-utils@^2.7.2: - version "2.7.2" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" - integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== + version "2.7.3" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" find-up "^2.1.0" @@ -3503,9 +3503,9 @@ flatted@^2.0.0: integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== flatted@^3.1.0, flatted@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.5" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== flush-write-stream@^1.0.2: version "1.1.1" @@ -5585,13 +5585,12 @@ logform@^2.3.2: safe-stable-stringify "^1.1.0" triple-beam "^1.3.0" -loupe@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.0.tgz#cfae54d12853592e0ec455af490fd6867e26875e" - integrity sha512-b6TVXtF01VErh8IxN/MfdiWLQmttrenN98PPGS01kym8kGycJ9tqBXD6D+4sNEDhgE83+H0Mk1cVSl0mD1nNSg== +loupe@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.1.tgz#a2e1192c9f452e4e85089766da10ac8288383947" + integrity sha512-EN1D3jyVmaX4tnajVlfbREU4axL647hLec1h/PXAb8CPDMJiYitcWF2UeLVNttRqaIqQs4x+mRvXf+d+TlDrCA== dependencies: get-func-name "^2.0.0" - type-detect "^4.0.8" lowercase-keys@2.0.0, lowercase-keys@^2.0.0: version "2.0.0" @@ -6737,9 +6736,9 @@ posix-character-classes@^0.1.0: integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-calc@^8.2.0: - version "8.2.2" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz#9706e7399e8ec8b61a47830dcf1f21391af23373" - integrity sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA== + version "8.2.3" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.3.tgz#53b95ce93de19213c2a5fdd71277a81690ef41d0" + integrity sha512-EGM2EBBWqP57N0E7N7WOLT116PJ39dwHVU01WO4XPPQLJfkL2xVgkMZ+TZvCfapj/uJH07UEfKHQNPHzSw/14Q== dependencies: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" @@ -7677,6 +7676,11 @@ safe-stable-stringify@^1.1.0: resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a" integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== +safe-stable-stringify@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz#ab67cbe1fe7d40603ca641c5e765cb942d04fc73" + integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg== + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -9206,9 +9210,9 @@ winston-transport@^4.4.2: triple-beam "^1.2.0" winston@^3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/winston/-/winston-3.4.0.tgz#7080f24b02a0684f8a37f9d5c6afb1ac23e95b84" - integrity sha512-FqilVj+5HKwCfIHQzMxrrd5tBIH10JTS3koFGbLVWBODjiIYq7zir08rFyBT4rrTYG/eaTqDcfSIbcjSM78YSw== + version "3.5.0" + resolved "https://registry.npmjs.org/winston/-/winston-3.5.0.tgz#b1ef4dbc6d1a7c1b462650070f171abc7ce9eac0" + integrity sha512-OQMbmLsIdVHvm2hSurrYZs+iZNIImXneYJ6pX7LseSMEq20HdTETXiNnNX3FDwN4LB/xDRZLF6JYOY+AI112Kw== dependencies: "@dabh/diagnostics" "^2.0.2" async "^3.2.3" @@ -9216,6 +9220,7 @@ winston@^3.4.0: logform "^2.3.2" one-time "^1.0.0" readable-stream "^3.4.0" + safe-stable-stringify "^2.3.1" stack-trace "0.0.x" triple-beam "^1.3.0" winston-transport "^4.4.2"