From bc63b0795c9093dc2583f82fc431c0043026843d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 10:31:37 +0000 Subject: [PATCH 01/24] chore(deps): bump @nestjs/config from 3.2.3 to 3.3.0 (#697) Bumps [@nestjs/config](https://github.com/nestjs/config) from 3.2.3 to 3.3.0. - [Release notes](https://github.com/nestjs/config/releases) - [Changelog](https://github.com/nestjs/config/blob/master/.release-it.json) - [Commits](https://github.com/nestjs/config/compare/3.2.3...3.3.0) --- updated-dependencies: - dependency-name: "@nestjs/config" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 39 ++++++++++++++++++++++++++++++++------- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index cc162fcd..44d45afc 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@mailchimp/mailchimp_marketing": "^3.0.80", "@nestjs/axios": "^3.0.3", "@nestjs/common": "^10.4.6", - "@nestjs/config": "^3.2.3", + "@nestjs/config": "^3.3.0", "@nestjs/core": "^10.4.4", "@nestjs/platform-express": "^10.4.6", "@nestjs/swagger": "^7.4.0", diff --git a/yarn.lock b/yarn.lock index bec21be8..9c7511aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1251,10 +1251,10 @@ iterare "1.2.1" tslib "2.7.0" -"@nestjs/config@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@nestjs/config/-/config-3.2.3.tgz#569888a33ada50b0f182002015e152e054990016" - integrity sha512-p6yv/CvoBewJ72mBq4NXgOAi2rSQNWx3a+IMJLVKS2uiwFCOQQuiIatGwq6MRjXV3Jr+B41iUO8FIf4xBrZ4/w== +"@nestjs/config@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@nestjs/config/-/config-3.3.0.tgz#ddc520ba26a8453ee5e690e18fb7b35e9bac7974" + integrity sha512-pdGTp8m9d0ZCrjTpjkUbZx6gyf2IKf+7zlkrPNMsJzYZ4bFRRTpXrnj+556/5uiI6AfL5mMrJc2u7dB6bvM+VA== dependencies: dotenv "16.4.5" dotenv-expand "10.0.0" @@ -6585,7 +6585,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6622,7 +6631,14 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7314,7 +7330,7 @@ word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -7332,6 +7348,15 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 53612c5ebb3a7088b85d97f6cf43a6a1225aa1cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 10:32:03 +0000 Subject: [PATCH 02/24] chore(deps-dev): bump eslint from 9.9.1 to 9.14.0 (#698) Bumps [eslint](https://github.com/eslint/eslint) from 9.9.1 to 9.14.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.9.1...v9.14.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 155 +++++++++++++++++++++++++++------------------------ 2 files changed, 83 insertions(+), 74 deletions(-) diff --git a/package.json b/package.json index 44d45afc..936a94b5 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@types/lodash": "^4.17.7", "@types/node": "^22.8.1", "@types/supertest": "^6.0.2", - "eslint": "^9.9.1", + "eslint": "^9.14.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "jest": "^29.7.0", diff --git a/yarn.lock b/yarn.lock index 9c7511aa..d20e082a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -388,10 +388,10 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== "@eslint/config-array@^0.18.0": version "0.18.0" @@ -402,6 +402,11 @@ debug "^4.3.1" minimatch "^3.1.2" +"@eslint/core@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.7.0.tgz#a1bb4b6a4e742a5ff1894b7ee76fbf884ec72bd3" + integrity sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw== + "@eslint/eslintrc@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" @@ -417,21 +422,23 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.9.1": - version "9.9.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.1.tgz#4a97e85e982099d6c7ee8410aacb55adaa576f06" - integrity sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ== - -"@eslint/js@^9.11.1": - version "9.11.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.11.1.tgz#8bcb37436f9854b3d9a561440daf916acd940986" - integrity sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA== +"@eslint/js@9.14.0", "@eslint/js@^9.11.1": + version "9.14.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.14.0.tgz#2347a871042ebd11a00fd8c2d3d56a265ee6857e" + integrity sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg== "@eslint/object-schema@^2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== +"@eslint/plugin-kit@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz#5eff371953bc13e3f4d88150e2c53959f64f74f6" + integrity sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw== + dependencies: + levn "^0.4.1" + "@fastify/busboy@^2.0.0", "@fastify/busboy@^2.1.0": version "2.1.1" resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" @@ -901,6 +908,19 @@ protobufjs "^7.2.5" yargs "^17.7.2" +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + dependencies: + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" @@ -911,6 +931,11 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== +"@humanwhocodes/retry@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.0.tgz#b57438cab2a2381b4b597b0ab17339be381bd755" + integrity sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -1383,7 +1408,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.3": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -1632,10 +1657,10 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/estree@*", "@types/estree@^1.0.5", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/express-serve-static-core@^4.17.33": version "4.19.0" @@ -1708,7 +1733,7 @@ expect "^29.0.0" pretty-format "^29.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.8": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -2116,10 +2141,10 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== -acorn@^8.12.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.14.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: version "8.11.3" @@ -2966,12 +2991,12 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@~4.3.1, debug@~4.3.2: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^3.1.0: version "3.2.7" @@ -2980,13 +3005,6 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.3.5, debug@~4.3.1, debug@~4.3.2: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - decache@^3.0.5: version "3.1.0" resolved "https://registry.yarnpkg.com/decache/-/decache-3.1.0.tgz#4f5036fbd6581fcc97237ac3954a244b9536c2da" @@ -3267,10 +3285,10 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94" - integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== +eslint-scope@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" + integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -3280,32 +3298,36 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@^9.9.1: - version "9.9.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.9.1.tgz#147ac9305d56696fb84cf5bdecafd6517ddc77ec" - integrity sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg== +eslint@^9.14.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.14.0.tgz#534180a97c00af08bcf2b60b0ebf0c4d6c1b2c95" + integrity sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.11.0" + "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.18.0" + "@eslint/core" "^0.7.0" "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.9.1" + "@eslint/js" "9.14.0" + "@eslint/plugin-kit" "^0.2.0" + "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.3.0" - "@nodelib/fs.walk" "^1.2.8" + "@humanwhocodes/retry" "^0.4.0" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.2" - eslint-visitor-keys "^4.0.0" - espree "^10.1.0" + eslint-scope "^8.2.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -3315,24 +3337,21 @@ eslint@^9.9.1: ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - is-path-inside "^3.0.3" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.3" - strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1, espree@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" - integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== +espree@^10.0.1, espree@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== dependencies: - acorn "^8.12.0" + acorn "^8.14.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" + eslint-visitor-keys "^4.2.0" esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" @@ -4374,11 +4393,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -5433,11 +5447,6 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" From 80f7fd04345862c4a87e7b44c37a180ed2807dc9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 10:32:17 +0000 Subject: [PATCH 03/24] chore(deps-dev): bump @nestjs/schematics from 10.1.4 to 10.2.3 (#700) Bumps [@nestjs/schematics](https://github.com/nestjs/schematics) from 10.1.4 to 10.2.3. - [Release notes](https://github.com/nestjs/schematics/releases) - [Changelog](https://github.com/nestjs/schematics/blob/master/.release-it.json) - [Commits](https://github.com/nestjs/schematics/compare/10.1.4...10.2.3) --- updated-dependencies: - dependency-name: "@nestjs/schematics" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 40 ++++++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 936a94b5..04bb7d81 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@eslint/js": "^9.11.1", "@golevelup/ts-jest": "^0.5.0", "@nestjs/cli": "^10.3.2", - "@nestjs/schematics": "^10.1.4", + "@nestjs/schematics": "^10.2.3", "@nestjs/testing": "^10.4.1", "@types/date-fns": "^2.6.0", "@types/express": "^4.17.21", diff --git a/yarn.lock b/yarn.lock index d20e082a..5df3e4ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,10 +22,10 @@ rxjs "7.8.1" source-map "0.7.4" -"@angular-devkit/core@17.3.8": - version "17.3.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-17.3.8.tgz#8679cacf84cf79764f027811020e235ab32016d2" - integrity sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q== +"@angular-devkit/core@17.3.11": + version "17.3.11" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-17.3.11.tgz#a74b042ec06cf626d5a2f6a3971b156c6759fe09" + integrity sha512-vTNDYNsLIWpYk2I969LMQFH29GTsLzxNk/0cLw5q56ARF0v5sIWfHYwGTS88jdDqIpuuettcSczbxeA7EuAmqQ== dependencies: ajv "8.12.0" ajv-formats "2.1.1" @@ -57,12 +57,12 @@ ora "5.4.1" rxjs "7.8.1" -"@angular-devkit/schematics@17.3.8": - version "17.3.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-17.3.8.tgz#f853eb21682aadfb6667e090b5b509fc95ce8442" - integrity sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg== +"@angular-devkit/schematics@17.3.11": + version "17.3.11" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-17.3.11.tgz#37095fb08b0ab0343c7c0dde57ca81115178714f" + integrity sha512-I5wviiIqiFwar9Pdk30Lujk8FczEEc18i22A5c6Z9lbmhPQdTroDnEQdsfXjy404wPe8H62s0I15o4pmMGfTYQ== dependencies: - "@angular-devkit/core" "17.3.8" + "@angular-devkit/core" "17.3.11" jsonc-parser "3.2.1" magic-string "0.30.8" ora "5.4.1" @@ -1313,14 +1313,14 @@ multer "1.4.4-lts.1" tslib "2.7.0" -"@nestjs/schematics@^10.0.1", "@nestjs/schematics@^10.1.4": - version "10.1.4" - resolved "https://registry.yarnpkg.com/@nestjs/schematics/-/schematics-10.1.4.tgz#e445b856eefce9bd338c5fc1cf2c95f0985849cf" - integrity sha512-QpY8ez9cTvXXPr3/KBrtSgXQHMSV6BkOUYy2c2TTe6cBqriEdGnCYqGl8cnfrQl3632q3lveQPaZ/c127dHsEw== +"@nestjs/schematics@^10.0.1", "@nestjs/schematics@^10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@nestjs/schematics/-/schematics-10.2.3.tgz#6053f43c5065b9e825cd08c4db1bf6bcbc9a6a62" + integrity sha512-4e8gxaCk7DhBxVUly2PjYL4xC2ifDFexCqq1/u4TtivLGXotVk0wHdYuPYe1tHTHuR1lsOkRbfOCpkdTnigLVg== dependencies: - "@angular-devkit/core" "17.3.8" - "@angular-devkit/schematics" "17.3.8" - comment-json "4.2.3" + "@angular-devkit/core" "17.3.11" + "@angular-devkit/schematics" "17.3.11" + comment-json "4.2.5" jsonc-parser "3.3.1" pluralize "8.0.0" @@ -2820,10 +2820,10 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -comment-json@4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.3.tgz#50b487ebbf43abe44431f575ebda07d30d015365" - integrity sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw== +comment-json@4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.5.tgz#482e085f759c2704b60bc6f97f55b8c01bc41e70" + integrity sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw== dependencies: array-timsort "^1.0.3" core-util-is "^1.0.3" From f0b828148f348437c9d2f8e430eac153f49d13e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 12:24:27 +0000 Subject: [PATCH 04/24] chore(deps-dev): bump @nestjs/testing from 10.4.1 to 10.4.6 (#699) Bumps [@nestjs/testing](https://github.com/nestjs/nest/tree/HEAD/packages/testing) from 10.4.1 to 10.4.6. - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v10.4.6/packages/testing) --- updated-dependencies: - dependency-name: "@nestjs/testing" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anna Hughes --- package.json | 2 +- yarn.lock | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 04bb7d81..2d6ddbfd 100644 --- a/package.json +++ b/package.json @@ -61,8 +61,8 @@ "@eslint/js": "^9.11.1", "@golevelup/ts-jest": "^0.5.0", "@nestjs/cli": "^10.3.2", + "@nestjs/testing": "^10.4.6", "@nestjs/schematics": "^10.2.3", - "@nestjs/testing": "^10.4.1", "@types/date-fns": "^2.6.0", "@types/express": "^4.17.21", "@types/jest": "^29.5.13", diff --git a/yarn.lock b/yarn.lock index 5df3e4ed..e947d307 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1344,12 +1344,12 @@ boxen "5.1.2" check-disk-space "3.4.0" -"@nestjs/testing@^10.4.1": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-10.4.1.tgz#146c0161ab98524ea9fafe4ca5316229d1e44387" - integrity sha512-pR+su5+YGqCLH0RhhVkPowQK7FCORU0/PWAywPK7LScAOtD67ZoviZ7hAU4vnGdwkg4HCB0D7W8Bkg19CGU8Xw== +"@nestjs/testing@^10.4.6": + version "10.4.6" + resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-10.4.6.tgz#3797a40c0628788e381f299d3c72acac364ca4ef" + integrity sha512-aiDicKhlGibVGNYuew399H5qZZXaseOBT/BS+ERJxxCmco7ZdAqaujsNjSaSbTK9ojDPf27crLT0C4opjqJe3A== dependencies: - tslib "2.6.3" + tslib "2.7.0" "@nestjs/typeorm@^10.0.2": version "10.0.2" @@ -7015,11 +7015,6 @@ tsconfig-paths@4.2.0, tsconfig-paths@^4.1.2, tsconfig-paths@^4.2.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== - tslib@2.7.0, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.2: version "2.7.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" From 8e38eb21c5117f6a5d3ae0953a150347c1e332a3 Mon Sep 17 00:00:00 2001 From: kyleecodes Date: Mon, 11 Nov 2024 07:30:37 -0500 Subject: [PATCH 05/24] Actions:community cleanup --- .../workflows/community-first-pr-comment.yml | 16 ------ .github/workflows/community-issue-comment.yml | 54 +++++++++++-------- .../workflows/community-stale-management.yml | 24 +++++---- 3 files changed, 47 insertions(+), 47 deletions(-) delete mode 100644 .github/workflows/community-first-pr-comment.yml diff --git a/.github/workflows/community-first-pr-comment.yml b/.github/workflows/community-first-pr-comment.yml deleted file mode 100644 index 18948e33..00000000 --- a/.github/workflows/community-first-pr-comment.yml +++ /dev/null @@ -1,16 +0,0 @@ -# This workflow comments on PRs opened by first time contributors. -# Reminds first timer contributors to associate their PR with an issue and follow the guidelines. -# See for more info: https://github.com/actions/first-interaction - -name: First Interaction PR Comment - -on: [pull_request] - -jobs: - greeting: - runs-on: ubuntu-latest - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - pr-message: "First time contributors to Chayn: Please make sure that this PR is linked to an issue you are assigned! We will not merge contributor PRs without a linked assigned issue. Please ask to be assigned an existing issue or create your own before opening a PR. Read our Contributing Guidelines in the CONTRIBUTING.md file for more details. Thank you for your contribution!" diff --git a/.github/workflows/community-issue-comment.yml b/.github/workflows/community-issue-comment.yml index 139e0f24..adcc79be 100644 --- a/.github/workflows/community-issue-comment.yml +++ b/.github/workflows/community-issue-comment.yml @@ -1,50 +1,62 @@ -# This workflow handles issue comments. -# See for more info: https://github.com/actions/github-script +# ----------------------------------------------------------------------------- +# GitHub Actions Workflow: Issue Comments +# Description: Post issue comments +# Jobs: +# - Assigned comment +# - Stale label comment +# ----------------------------------------------------------------------------- -name: Issue Comments +name: Issue Comment Workflows on: + workflow_run: + workflows: ["Label Stale Contributions"] + types: + - completed issues: types: - assigned - labeled jobs: - # When issues are assigned, a comment is posted - # Tags the assignee with links to helpful resources + # Job: Assigned issue comment + # Trigger: Issues are assigned + # Returns: Posts comment tagging assignee and helpful message assigned-comment: if: github.event.action == 'assigned' runs-on: ubuntu-latest steps: - name: Post assignee issue comment id: assigned-comment - uses: actions/github-script@v7 + uses: actions/github-script@v7 # https://github.com/actions/github-script with: github-token: ${{secrets.GITHUB_TOKEN}} script: | github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.issue.number, - body: `Thank you @${context.payload.issue.assignee.login} you have been assigned this issue! - **Please follow the directions in our [Contributing Guide](https://github.com/chaynHQ/.github/blob/main/docs/CONTRIBUTING.md). We look forward to reviewing your pull request shortly ✨** - - --- - - Support Chayn's mission? ⭐ Please star this repo to help us find more contributors like you! - Learn more about Chayn [here](https://linktr.ee/chayn) and [explore our projects](https://org.chayn.co/projects). 🌸` - }) + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.issue.number, + body: `Thank you @${context.payload.issue.assignee.login} you have been assigned this issue! + **Please follow the directions in our [Contributing Guide](https://github.com/chaynHQ/.github/blob/main/docs/CONTRIBUTING.md). We look forward to reviewing your pull request. ✨** + + --- + + Support Chayn's mission? ⭐ Please star this repo to help us find more contributors like you! + Learn more about our [impact](https://github.com/chaynHQ/.github/blob/main/profile/README.md) and [sign-up for our volunteer programs](https://www.chayn.co/get-involved)to join our mission!. 🌸` + }) - # When issues are labeled as stale, a comment is posted. - # Tags the assignee with warning. - # Enables manual issue management in addition to community-stale-management.yml + # Job: Stale label comment + # Triggers: + # Labeled as stale by maintainer + # 'Label Stale Contributions' workflow runs + # Returns: Posts warning comment tagging assignee stale-label-comment: if: github.event.action == 'labeled' && github.event.label.name == 'stale' runs-on: ubuntu-latest steps: - name: Post stale issue comment id: stale-label-comment - uses: actions/github-script@v7 + uses: actions/github-script@v7 # https://github.com/actions/github-script with: github-token: ${{secrets.GITHUB_TOKEN}} script: | diff --git a/.github/workflows/community-stale-management.yml b/.github/workflows/community-stale-management.yml index 0fa63dcd..190d0a4f 100644 --- a/.github/workflows/community-stale-management.yml +++ b/.github/workflows/community-stale-management.yml @@ -1,17 +1,22 @@ -# This workflow labels stale issues and PRs after 30 days of inactivity. -# Stale PRs are closed after 1 week of inactivity after labeled stale. -# See for more info: https://github.com/actions/stale +# ----------------------------------------------------------------------------- +# GitHub Actions Workflow: Label Stale Contributions +# Description: Labels stale contributions +# Job: actions/stale +# ----------------------------------------------------------------------------- -name: Mark Stale Contributions +name: Label Stale Contributions on: - # Enable manual run from the Actions tab so workflow can be run at any time - workflow_dispatch: + workflow_dispatch: # enables manual trigger # Scheduled to run at 12:00 on every Monday schedule: - cron: "0 0 * * MON" jobs: + # Trigger: Scheduled weekly + # Returns: labels issues and PRs with 'stale' after 30 days inactivity + # PRs: automated closing after 1 more week of inactivity + # Issues: requires manual closing by maintainers stale: runs-on: ubuntu-latest permissions: @@ -19,7 +24,7 @@ jobs: pull-requests: write steps: - - uses: actions/stale@v9 + - uses: actions/stale@v9 # https://github.com/actions/stale with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-label: "stale" @@ -27,7 +32,6 @@ jobs: days-before-stale: 30 # disables closing issues days-before-issue-close: -1 - # close pr after 1 week no updates after stale warning days-before-pr-close: 7 # only scan assigned issues include-only-assigned: true @@ -39,5 +43,5 @@ jobs: exempt-pr-labels: dependencies # disable counting irrelevant activity (branch updates) towards day counter on prs. ignore-pr-updates: true - stale-pr-message: "As per Chayn policy, after 30 days of inactivity, we will close this PR." - close-pr-message: "This PR has been closed due to inactivity." + # actions/stale does not enable tagging authors / assignees, so comments are handled by Issue Comments Workflows. + stale-pr-message: "As per Chayn policy, after 30 days of inactivity, we will close this PR in 7 days. Please comment or update to keep open." From 1368106e3a2c8ec10850aaf114c59ef6a5ae3d1f Mon Sep 17 00:00:00 2001 From: Kylee Fields <43586156+kyleecodes@users.noreply.github.com> Date: Mon, 25 Nov 2024 21:03:33 -0500 Subject: [PATCH 06/24] Quick fix: add expression notation to stale label comment if && condition --- .github/workflows/community-issue-comment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/community-issue-comment.yml b/.github/workflows/community-issue-comment.yml index adcc79be..40f6e8cd 100644 --- a/.github/workflows/community-issue-comment.yml +++ b/.github/workflows/community-issue-comment.yml @@ -10,7 +10,7 @@ name: Issue Comment Workflows on: workflow_run: - workflows: ["Label Stale Contributions"] + workflows: [Label Stale Contributions] types: - completed issues: @@ -51,7 +51,7 @@ jobs: # 'Label Stale Contributions' workflow runs # Returns: Posts warning comment tagging assignee stale-label-comment: - if: github.event.action == 'labeled' && github.event.label.name == 'stale' + if: ${{ github.event.action == 'labeled' && github.event.label.name == 'stale' }} runs-on: ubuntu-latest steps: - name: Post stale issue comment From fb416e1dbff4ca0694d320152264cdc09013761a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:57:33 +0000 Subject: [PATCH 07/24] chore(deps-dev): bump @types/lodash from 4.17.7 to 4.17.13 (#702) Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.7 to 4.17.13. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash) --- updated-dependencies: - dependency-name: "@types/lodash" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2d6ddbfd..43740698 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@types/date-fns": "^2.6.0", "@types/express": "^4.17.21", "@types/jest": "^29.5.13", - "@types/lodash": "^4.17.7", + "@types/lodash": "^4.17.13", "@types/node": "^22.8.1", "@types/supertest": "^6.0.2", "eslint": "^9.14.0", diff --git a/yarn.lock b/yarn.lock index e947d307..98bb5a32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1752,10 +1752,10 @@ dependencies: "@types/node" "*" -"@types/lodash@^4.17.7": - version "4.17.7" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.7.tgz#2f776bcb53adc9e13b2c0dfd493dfcbd7de43612" - integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA== +"@types/lodash@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" + integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== "@types/long@^4.0.0": version "4.0.2" From 63b47d7ac50734b97c5390f16c4703a9c1339420 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:58:19 +0000 Subject: [PATCH 08/24] chore(deps): bump @eslint/plugin-kit from 0.2.2 to 0.2.3 (#706) Bumps [@eslint/plugin-kit](https://github.com/eslint/rewrite) from 0.2.2 to 0.2.3. - [Release notes](https://github.com/eslint/rewrite/releases) - [Changelog](https://github.com/eslint/rewrite/blob/main/release-please-config.json) - [Commits](https://github.com/eslint/rewrite/compare/plugin-kit-v0.2.2...plugin-kit-v0.2.3) --- updated-dependencies: - dependency-name: "@eslint/plugin-kit" dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 98bb5a32..9b98ad6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -433,9 +433,9 @@ integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== "@eslint/plugin-kit@^0.2.0": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz#5eff371953bc13e3f4d88150e2c53959f64f74f6" - integrity sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw== + version "0.2.3" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz#812980a6a41ecf3a8341719f92a6d1e784a2e0e8" + integrity sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA== dependencies: levn "^0.4.1" From 096d055f16d7f3c90327763bff3f445615b3619c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:59:03 +0000 Subject: [PATCH 09/24] chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 (#709) Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6. - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md) - [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6) --- updated-dependencies: - dependency-name: cross-spawn dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9b98ad6a..3ce2d872 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2961,9 +2961,9 @@ cross-fetch@^3.1.5: node-fetch "^2.6.12" cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" From 0869c24cea82bf1c76af26afa7481a033c35e18e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:59:44 +0000 Subject: [PATCH 10/24] chore(deps-dev): bump @types/express from 4.17.21 to 5.0.0 (#704) Bumps [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) from 4.17.21 to 5.0.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express) --- updated-dependencies: - dependency-name: "@types/express" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anna Hughes --- package.json | 2 +- yarn.lock | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 43740698..ea9b3ee0 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "@nestjs/testing": "^10.4.6", "@nestjs/schematics": "^10.2.3", "@types/date-fns": "^2.6.0", - "@types/express": "^4.17.21", + "@types/express": "^5.0.0", "@types/jest": "^29.5.13", "@types/lodash": "^4.17.13", "@types/node": "^22.8.1", diff --git a/yarn.lock b/yarn.lock index 3ce2d872..7e967ba1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1672,7 +1672,17 @@ "@types/range-parser" "*" "@types/send" "*" -"@types/express@^4.17.17", "@types/express@^4.17.21": +"@types/express-serve-static-core@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz#3c9997ae9d00bc236e45c6374e84f2596458d9db" + integrity sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@^4.17.17": version "4.17.21" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -1682,6 +1692,16 @@ "@types/qs" "*" "@types/serve-static" "*" +"@types/express@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" + integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/form-data@0.0.33": version "0.0.33" resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" From 528d7ee7259467de0decd2a9d6377c72135a896e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:00:57 +0000 Subject: [PATCH 11/24] chore(deps): bump @nestjs/platform-express from 10.4.6 to 10.4.12 (#713) Bumps [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) from 10.4.6 to 10.4.12. - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v10.4.12/packages/platform-express) --- updated-dependencies: - dependency-name: "@nestjs/platform-express" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Anna Hughes --- package.json | 2 +- yarn.lock | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index ea9b3ee0..bcf275e6 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@nestjs/common": "^10.4.6", "@nestjs/config": "^3.3.0", "@nestjs/core": "^10.4.4", - "@nestjs/platform-express": "^10.4.6", + "@nestjs/platform-express": "^10.4.12", "@nestjs/swagger": "^7.4.0", "@nestjs/terminus": "^10.2.3", "@nestjs/typeorm": "^10.0.2", diff --git a/yarn.lock b/yarn.lock index 7e967ba1..203f7fbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1302,16 +1302,16 @@ resolved "https://registry.yarnpkg.com/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz#485d6b44e19779c98d04e52bd1d2bcc7001df0ea" integrity sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg== -"@nestjs/platform-express@^10.4.6": - version "10.4.6" - resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-10.4.6.tgz#6c39c522fa66036b4256714fea203fbeb49fc4de" - integrity sha512-HcyCpAKccAasrLSGRTGWv5BKRs0rwTIFOSsk6laNyqfqvgvYcJQAedarnm4jmaemtmSJ0PFI9PmtEZADd2ahCg== +"@nestjs/platform-express@^10.4.12": + version "10.4.12" + resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-10.4.12.tgz#2a9c3ee053b29083e154d6622b8ded4e284da894" + integrity sha512-+m8BQas9mnY29Y6rZv8EUqIYwcta99/dTiGIUy48LB/+YoAyDTEHpsLd2+rpetk54niGgKJYclCZRUwRcjrYYA== dependencies: body-parser "1.20.3" cors "2.8.5" express "4.21.1" multer "1.4.4-lts.1" - tslib "2.7.0" + tslib "2.8.1" "@nestjs/schematics@^10.0.1", "@nestjs/schematics@^10.2.3": version "10.2.3" @@ -7035,11 +7035,16 @@ tsconfig-paths@4.2.0, tsconfig-paths@^4.1.2, tsconfig-paths@^4.2.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.7.0, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.2: +tslib@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== +tslib@2.8.1, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.2: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" From c8870adb191d7366cf22bc114499f11b7312a86d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:01:08 +0000 Subject: [PATCH 12/24] chore(deps): bump @nestjs/common from 10.4.6 to 10.4.12 (#714) Bumps [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) from 10.4.6 to 10.4.12. - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v10.4.12/packages/common) --- updated-dependencies: - dependency-name: "@nestjs/common" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index bcf275e6..2db8bf30 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "dependencies": { "@mailchimp/mailchimp_marketing": "^3.0.80", "@nestjs/axios": "^3.0.3", - "@nestjs/common": "^10.4.6", + "@nestjs/common": "^10.4.12", "@nestjs/config": "^3.3.0", "@nestjs/core": "^10.4.4", "@nestjs/platform-express": "^10.4.12", diff --git a/yarn.lock b/yarn.lock index 203f7fbd..ebcb26bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1267,14 +1267,14 @@ webpack "5.90.1" webpack-node-externals "3.0.0" -"@nestjs/common@^10.4.6": - version "10.4.6" - resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.4.6.tgz#952e8fd0ceafeffcc4eaf47effd67fb395844ae0" - integrity sha512-KkezkZvU9poWaNq4L+lNvx+386hpOxPJkfXBBeSMrcqBOx8kVr36TGN2uYkF4Ta4zNu1KbCjmZbc0rhHSg296g== +"@nestjs/common@^10.4.12": + version "10.4.12" + resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.4.12.tgz#9ba742e910df30c475b00132c6734c8bedaa6241" + integrity sha512-+aQw1d1cV9MtjSSCoXA2iZf+EBJANyjTC9d0j38bUAHhaPQinRlgM81F91DFYZoYcYVOY4hJd+DDYRFGoN7j7Q== dependencies: uid "2.0.2" iterare "1.2.1" - tslib "2.7.0" + tslib "2.8.1" "@nestjs/config@^3.3.0": version "3.3.0" From ad8f63532681fd1198d5bf2e80e0c70f612efbda Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Mon, 2 Dec 2024 17:42:12 +0000 Subject: [PATCH 13/24] fix: delete cypress mailchimp users (#711) --- src/api/mailchimp/mailchimp-api.ts | 34 +++++++++++++++++++++--------- src/crisp/crisp.service.ts | 8 ++++--- src/user/user.service.ts | 8 ++++++- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/api/mailchimp/mailchimp-api.ts b/src/api/mailchimp/mailchimp-api.ts index d4aa2bac..06937b29 100644 --- a/src/api/mailchimp/mailchimp-api.ts +++ b/src/api/mailchimp/mailchimp-api.ts @@ -109,25 +109,39 @@ export const createMailchimpMergeField = async ( export const deleteMailchimpProfile = async (email: string) => { try { - return await mailchimp.lists.deleteListMember(mailchimpAudienceId, getEmailMD5Hash(email)); + return await mailchimp.lists.deleteListMemberPermanent( + mailchimpAudienceId, + getEmailMD5Hash(email), + ); } catch (error) { logger.warn(`Delete mailchimp profile API call failed: ${error}`); } }; export const deleteCypressMailchimpProfiles = async () => { - try { - const cypressProfiles = (await mailchimp.lists.getSegmentMembersList( - mailchimpAudienceId, - '5101590', - )) as { members: ListMember[] }; + let cypressProfiles: { members: ListMember[] }; - cypressProfiles.members.forEach(async (profile: ListMember) => { - deleteMailchimpProfile(profile.email_address); - }); + try { + cypressProfiles = (await mailchimp.lists.getSegmentMembersList(mailchimpAudienceId, '5046292', { + include_cleaned: true, + include_unsubscribed: true, + count: 200, + })) as { + members: ListMember[]; + }; } catch (error) { - throw new Error(`Delete cypress mailchimp profiles API call failed: ${error}`); + throw new Error(`Delete cypress mailchimp profiles API call failed to get users: ${error}`); } + + logger.log(`Deleting ${cypressProfiles.members.length} mailchimp profiles`); + + cypressProfiles.members.forEach(async (profile: ListMember) => { + try { + await deleteMailchimpProfile(profile.email_address); + } catch (error) { + throw new Error(`Delete cypress mailchimp profiles API call failed: ${error}`); + } + }); }; export const sendMailchimpUserEvent = async (email: string, event: MAILCHIMP_CUSTOM_EVENTS) => { diff --git a/src/crisp/crisp.service.ts b/src/crisp/crisp.service.ts index 4b03b4de..fa4ba7dc 100644 --- a/src/crisp/crisp.service.ts +++ b/src/crisp/crisp.service.ts @@ -122,7 +122,7 @@ export class CrispService { async deleteCypressCrispProfiles() { try { - const profiles = CrispClient.website.listPeopleProfiles( + const profiles = await CrispClient.website.listPeopleProfiles( crispWebsiteId, undefined, undefined, @@ -132,8 +132,10 @@ export class CrispService { 'cypresstestemail+', ); - profiles.data.data.forEach(async (profile) => { - CrispClient.website.removePeopleProfile(crispWebsiteId, profile.email); + console.log(`Deleting ${profiles.length} crisp profiles`); + + profiles?.forEach(async (profile) => { + await CrispClient.website.removePeopleProfile(crispWebsiteId, profile.email); }); } catch (error) { throw new Error(`Delete cypress crisp profiles API call failed: ${error}`); diff --git a/src/user/user.service.ts b/src/user/user.service.ts index 41e184ff..95ba8f76 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -1,6 +1,9 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { deleteMailchimpProfile } from 'src/api/mailchimp/mailchimp-api'; +import { + deleteCypressMailchimpProfiles, + deleteMailchimpProfile, +} from 'src/api/mailchimp/mailchimp-api'; import { CrispService } from 'src/crisp/crisp.service'; import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; @@ -366,6 +369,9 @@ export class UserService { // Delete all remaining cypress firebase users (e.g. from failed user creations) await this.authService.deleteCypressFirebaseUsers(); + // Delete all remaining crisp accounts + await deleteCypressMailchimpProfiles(); + // Delete all remaining crisp accounts await this.crispService.deleteCypressCrispProfiles(); } From a7bfb125583f19386fb6e00fc6b79ba9e47cb8ea Mon Sep 17 00:00:00 2001 From: eleanorreem Date: Tue, 3 Dec 2024 17:26:40 +0000 Subject: [PATCH 14/24] feat: Resource, ResourceFeedback and ResourceUser modules + storyblok webhook fixes (#712) --- src/app.module.ts | 6 + src/entities/resource-feedback.entity.ts | 24 ++ src/entities/resource-user.entity.ts | 23 ++ src/entities/resource.entity.ts | 53 ++++ src/entities/session-feedback.entity.ts | 7 +- src/entities/session-user.entity.ts | 1 - src/entities/session.entity.ts | 10 + src/entities/user.entity.ts | 6 + src/event-logger/event-logger.service.spec.ts | 4 +- src/event-logger/event-logger.service.ts | 8 +- src/migrations/1733160378757-bloom-backend.ts | 57 +++++ .../partner-admin-auth.guard.spec.ts | 1 + .../dtos/create-resource-feedback.dto.ts | 23 ++ .../dtos/resource-feedback.dto.ts | 28 +++ .../resource-feedback.controller.ts | 21 ++ .../resource-feedback.module.ts | 14 ++ .../resource-feedback.service.ts | 27 ++ .../dtos/create-resource-user.dto.ts | 15 ++ .../dtos/update-resource-user.dto.ts | 7 + src/resource-user/resource-user.controller.ts | 47 ++++ src/resource-user/resource-user.module.ts | 63 +++++ src/resource-user/resource-user.service.ts | 30 +++ src/resource/dtos/create-resource.dto.ts | 30 +++ src/resource/dtos/resource.dto.ts | 30 +++ src/resource/resource.controller.ts | 26 ++ src/resource/resource.module.ts | 65 +++++ src/resource/resource.service.ts | 23 ++ .../session-feedback.service.ts | 23 +- src/session-user/session-user.interface.ts | 8 - src/session/session.interface.ts | 13 - src/typeorm.config.ts | 8 + src/user/dtos/get-user.dto.ts | 2 +- src/user/user.module.ts | 2 + src/utils/constants.ts | 29 ++- src/webhooks/dto/story.dto.ts | 2 +- src/webhooks/webhooks.controller.spec.ts | 16 +- src/webhooks/webhooks.controller.ts | 8 +- ...ion.interface.ts => webhooks.interface.ts} | 0 src/webhooks/webhooks.module.ts | 4 + src/webhooks/webhooks.service.spec.ts | 235 +++++++++++++++--- src/webhooks/webhooks.service.ts | 224 ++++++++++------- test/utils/mockData.ts | 42 +++- test/utils/mockedServices.ts | 25 +- 43 files changed, 1074 insertions(+), 216 deletions(-) create mode 100644 src/entities/resource-feedback.entity.ts create mode 100644 src/entities/resource-user.entity.ts create mode 100644 src/entities/resource.entity.ts create mode 100644 src/migrations/1733160378757-bloom-backend.ts create mode 100644 src/resource-feedback/dtos/create-resource-feedback.dto.ts create mode 100644 src/resource-feedback/dtos/resource-feedback.dto.ts create mode 100644 src/resource-feedback/resource-feedback.controller.ts create mode 100644 src/resource-feedback/resource-feedback.module.ts create mode 100644 src/resource-feedback/resource-feedback.service.ts create mode 100644 src/resource-user/dtos/create-resource-user.dto.ts create mode 100644 src/resource-user/dtos/update-resource-user.dto.ts create mode 100644 src/resource-user/resource-user.controller.ts create mode 100644 src/resource-user/resource-user.module.ts create mode 100644 src/resource-user/resource-user.service.ts create mode 100644 src/resource/dtos/create-resource.dto.ts create mode 100644 src/resource/dtos/resource.dto.ts create mode 100644 src/resource/resource.controller.ts create mode 100644 src/resource/resource.module.ts create mode 100644 src/resource/resource.service.ts delete mode 100644 src/session-user/session-user.interface.ts delete mode 100644 src/session/session.interface.ts rename src/webhooks/{therapy-session.interface.ts => webhooks.interface.ts} (100%) diff --git a/src/app.module.ts b/src/app.module.ts index 09723755..76f28cee 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -16,6 +16,9 @@ import { PartnerAccessModule } from './partner-access/partner-access.module'; import { PartnerAdminModule } from './partner-admin/partner-admin.module'; import { PartnerFeatureModule } from './partner-feature/partner-feature.module'; import { PartnerModule } from './partner/partner.module'; +import { ResourceFeedbackModule } from './resource-feedback/resource-feedback.module'; +import { ResourceUserModule } from './resource-user/resource-user.module'; +import { ResourceModule } from './resource/resource.module'; import { SessionFeedbackModule } from './session-feedback/session-feedback.module'; import { SessionUserModule } from './session-user/session-user.module'; import { SessionModule } from './session/session.module'; @@ -47,6 +50,9 @@ import { WebhooksModule } from './webhooks/webhooks.module'; HealthModule, CrispModule, CrispListenerModule, + ResourceModule, + ResourceUserModule, + ResourceFeedbackModule, ], }) export class AppModule {} diff --git a/src/entities/resource-feedback.entity.ts b/src/entities/resource-feedback.entity.ts new file mode 100644 index 00000000..2479daca --- /dev/null +++ b/src/entities/resource-feedback.entity.ts @@ -0,0 +1,24 @@ +import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { FEEDBACK_TAGS_ENUM } from '../utils/constants'; +import { BaseBloomEntity } from './base.entity'; +import { ResourceEntity } from './resource.entity'; + +@Entity({ name: 'resource_feedback' }) +export class ResourceFeedbackEntity extends BaseBloomEntity { + @PrimaryGeneratedColumn('uuid', { name: 'resourceFeedbackId' }) + id: string; + + @Column() + resourceId: string; + + @ManyToOne(() => ResourceEntity, (resourceEntity) => resourceEntity.resourceFeedback, { + onDelete: 'CASCADE', + }) + resource: ResourceEntity; + + @Column() + feedbackTags: FEEDBACK_TAGS_ENUM; + + @Column() + feedbackDescription: string; +} diff --git a/src/entities/resource-user.entity.ts b/src/entities/resource-user.entity.ts new file mode 100644 index 00000000..cf3d284a --- /dev/null +++ b/src/entities/resource-user.entity.ts @@ -0,0 +1,23 @@ +import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { BaseBloomEntity } from './base.entity'; +import { ResourceEntity } from './resource.entity'; +import { UserEntity } from './user.entity'; + +// Many to many join table documentation can be found here: https://orkhan.gitbook.io/typeorm/docs/many-to-many-relations#many-to-many-relations-with-custom-properties + +@Entity({ name: 'resource_user' }) +export class ResourceUserEntity extends BaseBloomEntity { + @PrimaryGeneratedColumn('uuid', { name: 'resourceUserId' }) + id: string; + + @Column({ type: 'date', nullable: true }) + completedAt: Date; + + @ManyToOne(() => ResourceEntity, (resourceEntity) => resourceEntity.resourceUser, { + onDelete: 'CASCADE', + }) + resource: ResourceEntity; + + @ManyToOne(() => UserEntity, (userEntity) => userEntity.resourceUser, { onDelete: 'CASCADE' }) + user: UserEntity; +} diff --git a/src/entities/resource.entity.ts b/src/entities/resource.entity.ts new file mode 100644 index 00000000..3699c03c --- /dev/null +++ b/src/entities/resource.entity.ts @@ -0,0 +1,53 @@ +import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; +import { RESOURCE_CATEGORIES, STORYBLOK_STORY_STATUS_ENUM } from '../utils/constants'; +import { BaseBloomEntity } from './base.entity'; +import { ResourceFeedbackEntity } from './resource-feedback.entity'; +import { ResourceUserEntity } from './resource-user.entity'; + +@Entity({ name: 'resource' }) +export class ResourceEntity extends BaseBloomEntity { + @PrimaryGeneratedColumn('uuid', { name: 'resourceId' }) + id: string; + + @Column() + name: string; + + @Column() + slug: string; + + @Column({ + nullable: true, + }) + status: STORYBLOK_STORY_STATUS_ENUM; + + @Column({ + nullable: false, + }) + category: RESOURCE_CATEGORIES; + + @Column({ + unique: true, + nullable: true, + }) + storyblokUuid: string; + + @Column({ + unique: true, + nullable: true, + }) + storyblokId: number; + + @OneToMany(() => ResourceUserEntity, (resourceUserEntity) => resourceUserEntity.resource, { + cascade: true, + }) + resourceUser: ResourceUserEntity[]; + + @OneToMany( + () => ResourceFeedbackEntity, + (resourceFeedbackEntity) => resourceFeedbackEntity.resource, + { + cascade: true, + }, + ) + resourceFeedback: ResourceFeedbackEntity[]; +} diff --git a/src/entities/session-feedback.entity.ts b/src/entities/session-feedback.entity.ts index af2a0870..403ddc5e 100644 --- a/src/entities/session-feedback.entity.ts +++ b/src/entities/session-feedback.entity.ts @@ -1,4 +1,4 @@ -import { Column, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; import { FEEDBACK_TAGS_ENUM } from '../utils/constants'; import { BaseBloomEntity } from './base.entity'; import { SessionEntity } from './session.entity'; @@ -8,12 +8,9 @@ export class SessionFeedbackEntity extends BaseBloomEntity { @PrimaryGeneratedColumn('uuid', { name: 'sessionFeedbackId' }) sessionFeedbackId: string; - @Column() - sessionId: string; - @ManyToOne(() => SessionEntity, (sessionEntity) => sessionEntity.sessionUser, { + @ManyToOne(() => SessionEntity, (sessionEntity) => sessionEntity.sessionFeedback, { onDelete: 'CASCADE', }) - @JoinTable({ name: 'session', joinColumn: { name: 'sessionId' } }) session: SessionEntity; @Column() diff --git a/src/entities/session-user.entity.ts b/src/entities/session-user.entity.ts index 2fa7c0f2..e0cd293b 100644 --- a/src/entities/session-user.entity.ts +++ b/src/entities/session-user.entity.ts @@ -20,7 +20,6 @@ export class SessionUserEntity extends BaseBloomEntity { @ManyToOne(() => SessionEntity, (sessionEntity) => sessionEntity.sessionUser, { onDelete: 'CASCADE', }) - @JoinTable({ name: 'session', joinColumn: { name: 'sessionId' } }) session: SessionEntity; @Column() diff --git a/src/entities/session.entity.ts b/src/entities/session.entity.ts index 163e8727..950b0cd6 100644 --- a/src/entities/session.entity.ts +++ b/src/entities/session.entity.ts @@ -2,6 +2,7 @@ import { Column, Entity, JoinTable, ManyToOne, OneToMany, PrimaryGeneratedColumn import { STORYBLOK_STORY_STATUS_ENUM } from '../utils/constants'; import { BaseBloomEntity } from './base.entity'; import { CourseEntity } from './course.entity'; +import { SessionFeedbackEntity } from './session-feedback.entity'; import { SessionUserEntity } from './session-user.entity'; @Entity({ name: 'session' }) @@ -42,4 +43,13 @@ export class SessionEntity extends BaseBloomEntity { cascade: true, }) sessionUser: SessionUserEntity[]; + + @OneToMany( + () => SessionFeedbackEntity, + (sessionFeedbackEntity) => sessionFeedbackEntity.session, + { + cascade: true, + }, + ) + sessionFeedback: SessionFeedbackEntity[]; } diff --git a/src/entities/user.entity.ts b/src/entities/user.entity.ts index 260203d4..55830181 100644 --- a/src/entities/user.entity.ts +++ b/src/entities/user.entity.ts @@ -5,6 +5,7 @@ import { EMAIL_REMINDERS_FREQUENCY } from '../utils/constants'; import { BaseBloomEntity } from './base.entity'; import { CourseUserEntity } from './course-user.entity'; import { EventLogEntity } from './event-log.entity'; +import { ResourceUserEntity } from './resource-user.entity'; import { SubscriptionUserEntity } from './subscription-user.entity'; import { TherapySessionEntity } from './therapy-session.entity'; @@ -55,6 +56,11 @@ export class UserEntity extends BaseBloomEntity { @OneToMany(() => CourseUserEntity, (courseUser) => courseUser.user, { cascade: true }) courseUser: CourseUserEntity[]; + @OneToMany(() => ResourceUserEntity, (resourceUser) => resourceUser.user, { + cascade: true, + }) + resourceUser: ResourceUserEntity[]; + @OneToMany(() => SubscriptionUserEntity, (subscriptionUser) => subscriptionUser.user, { cascade: true, }) diff --git a/src/event-logger/event-logger.service.spec.ts b/src/event-logger/event-logger.service.spec.ts index a66eeffa..ce088184 100644 --- a/src/event-logger/event-logger.service.spec.ts +++ b/src/event-logger/event-logger.service.spec.ts @@ -46,14 +46,14 @@ describe('EventLoggerService', () => { expect(service).toBeDefined(); }); describe('createEventLog', () => { - it('when supplied with correct data should return new feature', async () => { + it('should create and return an event log record', async () => { const response = await service.createEventLog({ event: EVENT_NAME.CHAT_MESSAGE_SENT, date: new Date(2000, 1, 1), userId: 'userId', }); expect(response).toMatchObject({ - id: 'newId', + id: 'logId', event: EVENT_NAME.CHAT_MESSAGE_SENT, date: new Date(2000, 1, 1), userId: 'userId', diff --git a/src/event-logger/event-logger.service.ts b/src/event-logger/event-logger.service.ts index 710abd9c..8c443bfe 100644 --- a/src/event-logger/event-logger.service.ts +++ b/src/event-logger/event-logger.service.ts @@ -51,13 +51,7 @@ export class EventLoggerService { userId = user.id; } - const eventLog = await this.eventLoggerRepository.create({ - userId, - event, - date, - }); - const eventLogRecord = this.eventLoggerRepository.save(eventLog); - return eventLogRecord; + return await this.eventLoggerRepository.save({ userId, event, date }); } catch (err) { throw new HttpException( `createEventLog - failed to create event log ${err}`, diff --git a/src/migrations/1733160378757-bloom-backend.ts b/src/migrations/1733160378757-bloom-backend.ts new file mode 100644 index 00000000..2550f49b --- /dev/null +++ b/src/migrations/1733160378757-bloom-backend.ts @@ -0,0 +1,57 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class BloomBackend1733160378757 implements MigrationInterface { + name = 'BloomBackend1733160378757'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "resource_feedback" ("createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "resourceFeedbackId" uuid NOT NULL DEFAULT uuid_generate_v4(), "resourceId" uuid NOT NULL, "feedbackTags" character varying NOT NULL, "feedbackDescription" character varying NOT NULL, CONSTRAINT "PK_97393ce3b5c5d462500e181613b" PRIMARY KEY ("resourceFeedbackId"))`, + ); + await queryRunner.query( + `CREATE TABLE "resource" ("createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "resourceId" uuid NOT NULL DEFAULT uuid_generate_v4(), "name" character varying NOT NULL, "slug" character varying NOT NULL, "status" character varying, "category" character varying NOT NULL, "storyblokUuid" character varying, "storyblokId" integer, CONSTRAINT "UQ_575686fbc2bc272030a15ac3ea1" UNIQUE ("storyblokUuid"), CONSTRAINT "UQ_1b4b84228b725114ccc955dcec7" UNIQUE ("storyblokId"), CONSTRAINT "PK_f59f8360a61e63c72d0f1a6aa00" PRIMARY KEY ("resourceId"))`, + ); + await queryRunner.query( + `CREATE TABLE "resource_user" ("createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "resourceUserId" uuid NOT NULL DEFAULT uuid_generate_v4(), "completedAt" date, "resourceId" uuid, "userId" uuid, CONSTRAINT "PK_e88a671cf058fac35384d8e1426" PRIMARY KEY ("resourceUserId"))`, + ); + await queryRunner.query( + `ALTER TABLE "session_feedback" DROP CONSTRAINT "FK_a0567dbf6bd30cf4bd05b110a17"`, + ); + await queryRunner.query( + `ALTER TABLE "session_feedback" ALTER COLUMN "sessionId" DROP NOT NULL`, + ); + await queryRunner.query( + `ALTER TABLE "session_feedback" ADD CONSTRAINT "FK_a0567dbf6bd30cf4bd05b110a17" FOREIGN KEY ("sessionId") REFERENCES "session"("sessionId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "resource_feedback" ADD CONSTRAINT "FK_3218ac4ae760f580ce260a43e3a" FOREIGN KEY ("resourceId") REFERENCES "resource"("resourceId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" ADD CONSTRAINT "FK_774b61a463074cee88e57685925" FOREIGN KEY ("resourceId") REFERENCES "resource"("resourceId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" ADD CONSTRAINT "FK_ea89e3c7f0126d7e9d02308c2ca" FOREIGN KEY ("userId") REFERENCES "user"("userId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "resource_user" DROP CONSTRAINT "FK_ea89e3c7f0126d7e9d02308c2ca"`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" DROP CONSTRAINT "FK_774b61a463074cee88e57685925"`, + ); + await queryRunner.query( + `ALTER TABLE "resource_feedback" DROP CONSTRAINT "FK_3218ac4ae760f580ce260a43e3a"`, + ); + await queryRunner.query( + `ALTER TABLE "session_feedback" DROP CONSTRAINT "FK_a0567dbf6bd30cf4bd05b110a17"`, + ); + await queryRunner.query(`ALTER TABLE "session_feedback" ALTER COLUMN "sessionId" SET NOT NULL`); + await queryRunner.query( + `ALTER TABLE "session_feedback" ADD CONSTRAINT "FK_a0567dbf6bd30cf4bd05b110a17" FOREIGN KEY ("sessionId") REFERENCES "session"("sessionId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query(`DROP TABLE "resource_user"`); + await queryRunner.query(`DROP TABLE "resource"`); + await queryRunner.query(`DROP TABLE "resource_feedback"`); + } +} diff --git a/src/partner-admin/partner-admin-auth.guard.spec.ts b/src/partner-admin/partner-admin-auth.guard.spec.ts index 11f42bad..8b44eb1d 100644 --- a/src/partner-admin/partner-admin-auth.guard.spec.ts +++ b/src/partner-admin/partner-admin-auth.guard.spec.ts @@ -30,6 +30,7 @@ const userEntity: UserEntity = { signUpLanguage: 'en', subscriptionUser: [], therapySession: [], + resourceUser: [], eventLog: [], }; describe('PartnerAdminAuthGuard', () => { diff --git a/src/resource-feedback/dtos/create-resource-feedback.dto.ts b/src/resource-feedback/dtos/create-resource-feedback.dto.ts new file mode 100644 index 00000000..13b14ece --- /dev/null +++ b/src/resource-feedback/dtos/create-resource-feedback.dto.ts @@ -0,0 +1,23 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsEnum, IsNotEmpty, IsString } from 'class-validator'; +import { FEEDBACK_TAGS_ENUM } from 'src/utils/constants'; + +export class CreateResourceFeedbackDto { + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + resourceId: string; + + @IsNotEmpty() + @IsEnum(FEEDBACK_TAGS_ENUM) + @ApiProperty({ + enum: FEEDBACK_TAGS_ENUM, + type: String, + example: Object.values(FEEDBACK_TAGS_ENUM), + }) + feedbackTags: FEEDBACK_TAGS_ENUM; + + @IsString() + @ApiProperty({ type: String }) + feedbackDescription: string; +} diff --git a/src/resource-feedback/dtos/resource-feedback.dto.ts b/src/resource-feedback/dtos/resource-feedback.dto.ts new file mode 100644 index 00000000..bbbae2c1 --- /dev/null +++ b/src/resource-feedback/dtos/resource-feedback.dto.ts @@ -0,0 +1,28 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsEnum, IsNotEmpty, IsString } from 'class-validator'; +import { FEEDBACK_TAGS_ENUM } from 'src/utils/constants'; + +export class ResourceFeedbackDto { + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + id: string; + + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + resourceId: string; + + @IsNotEmpty() + @IsEnum(FEEDBACK_TAGS_ENUM) + @ApiProperty({ + enum: FEEDBACK_TAGS_ENUM, + type: String, + example: Object.values(FEEDBACK_TAGS_ENUM), + }) + feedbackTags: FEEDBACK_TAGS_ENUM; + + @IsString() + @ApiProperty({ type: String }) + feedbackDescription: string; +} diff --git a/src/resource-feedback/resource-feedback.controller.ts b/src/resource-feedback/resource-feedback.controller.ts new file mode 100644 index 00000000..95dd37e9 --- /dev/null +++ b/src/resource-feedback/resource-feedback.controller.ts @@ -0,0 +1,21 @@ +import { Body, Controller, Post } from '@nestjs/common'; +import { ApiOperation, ApiTags } from '@nestjs/swagger'; +import { ControllerDecorator } from 'src/utils/controller.decorator'; +import { CreateResourceFeedbackDto } from './dtos/create-resource-feedback.dto'; +import { ResourceFeedbackService } from './resource-feedback.service'; + +@ApiTags('Resource Feedback') +@ControllerDecorator() +@Controller('/v1/resource-feedback') +export class ResourceFeedbackController { + constructor(private readonly resourceFeedbackService: ResourceFeedbackService) {} + + // TODO how do we protect this public endpoint from being abused? + @Post() + @ApiOperation({ + description: 'Stores feedback from a user', + }) + create(@Body() createResourceFeedbackDto: CreateResourceFeedbackDto) { + return this.resourceFeedbackService.create(createResourceFeedbackDto); + } +} diff --git a/src/resource-feedback/resource-feedback.module.ts b/src/resource-feedback/resource-feedback.module.ts new file mode 100644 index 00000000..d8e24cb4 --- /dev/null +++ b/src/resource-feedback/resource-feedback.module.ts @@ -0,0 +1,14 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { ResourceFeedbackEntity } from 'src/entities/resource-feedback.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; +import { ResourceService } from 'src/resource/resource.service'; +import { ResourceFeedbackController } from './resource-feedback.controller'; +import { ResourceFeedbackService } from './resource-feedback.service'; + +@Module({ + imports: [TypeOrmModule.forFeature([ResourceFeedbackEntity, ResourceEntity])], + controllers: [ResourceFeedbackController], + providers: [ResourceFeedbackService, ResourceService], +}) +export class ResourceFeedbackModule {} diff --git a/src/resource-feedback/resource-feedback.service.ts b/src/resource-feedback/resource-feedback.service.ts new file mode 100644 index 00000000..2614b478 --- /dev/null +++ b/src/resource-feedback/resource-feedback.service.ts @@ -0,0 +1,27 @@ +import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { ResourceService } from 'src/resource/resource.service'; +import { Repository } from 'typeorm'; +import { ResourceFeedbackEntity } from '../entities/resource-feedback.entity'; +import { CreateResourceFeedbackDto } from './dtos/create-resource-feedback.dto'; + +@Injectable() +export class ResourceFeedbackService { + constructor( + @InjectRepository(ResourceFeedbackEntity) + private resourceFeedbackRepository: Repository, + private readonly resourceService: ResourceService, + ) {} + + async create( + createResourceFeedbackDto: CreateResourceFeedbackDto, + ): Promise { + const resource = await this.resourceService.findOne(createResourceFeedbackDto.resourceId); + + if (!resource) { + throw new HttpException('RESOURCE NOT FOUND', HttpStatus.NOT_FOUND); + } + + return this.resourceFeedbackRepository.save(createResourceFeedbackDto); + } +} diff --git a/src/resource-user/dtos/create-resource-user.dto.ts b/src/resource-user/dtos/create-resource-user.dto.ts new file mode 100644 index 00000000..67316fc2 --- /dev/null +++ b/src/resource-user/dtos/create-resource-user.dto.ts @@ -0,0 +1,15 @@ +import { IsDate, IsNotEmpty, IsOptional, IsString } from 'class-validator'; + +export class CreateResourceUserDto { + @IsNotEmpty() + @IsString() + resourceId: string; + + @IsNotEmpty() + @IsString() + userId: string; + + @IsOptional() + @IsDate() + completedAt?: Date; +} diff --git a/src/resource-user/dtos/update-resource-user.dto.ts b/src/resource-user/dtos/update-resource-user.dto.ts new file mode 100644 index 00000000..c1f8cf36 --- /dev/null +++ b/src/resource-user/dtos/update-resource-user.dto.ts @@ -0,0 +1,7 @@ +import { IsDate, IsOptional } from 'class-validator'; + +export class UpdateResourceUserDto { + @IsOptional() + @IsDate() + completedAt?: Date; +} diff --git a/src/resource-user/resource-user.controller.ts b/src/resource-user/resource-user.controller.ts new file mode 100644 index 00000000..0b61ef16 --- /dev/null +++ b/src/resource-user/resource-user.controller.ts @@ -0,0 +1,47 @@ +import { + Body, + Controller, + HttpException, + Param, + Patch, + Post, + Req, + UseGuards, +} from '@nestjs/common'; +import { ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; +import { FirebaseAuthGuard } from 'src/firebase/firebase-auth.guard'; +import { CreateResourceUserDto } from './dtos/create-resource-user.dto'; +import { UpdateResourceUserDto } from './dtos/update-resource-user.dto'; +import { ResourceUserService } from './resource-user.service'; + +@Controller('v1/resource-user') +export class ResourceUserController { + constructor(private readonly resourceUserService: ResourceUserService) {} + + @Post() + @ApiBearerAuth('access-token') + @ApiOperation({ + description: 'Updates resource_user table', + }) + @UseGuards(FirebaseAuthGuard) + create(@Req() req: Request, @Body() createResourceUserDto: CreateResourceUserDto) { + if (req['userEntity'].id !== createResourceUserDto.userId) { + throw new HttpException('Unauthorized', 401); + } + return this.resourceUserService.create(createResourceUserDto); + } + + @Patch(':id') + @ApiBearerAuth('access-token') + @ApiOperation({ + description: 'Updates resource_user table', + }) + @UseGuards(FirebaseAuthGuard) + update( + @Req() req: Request, + @Param('id') id: string, + @Body() updateResourceUserDto: UpdateResourceUserDto, + ) { + return this.resourceUserService.update(id, updateResourceUserDto); + } +} diff --git a/src/resource-user/resource-user.module.ts b/src/resource-user/resource-user.module.ts new file mode 100644 index 00000000..4d4ef403 --- /dev/null +++ b/src/resource-user/resource-user.module.ts @@ -0,0 +1,63 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { SlackMessageClient } from 'src/api/slack/slack-api'; +import { ZapierWebhookClient } from 'src/api/zapier/zapier-webhook-client'; +import { CrispService } from 'src/crisp/crisp.service'; +import { CourseEntity } from 'src/entities/course.entity'; +import { EventLogEntity } from 'src/entities/event-log.entity'; +import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; +import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; +import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceUserEntity } from 'src/entities/resource-user.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; +import { SessionEntity } from 'src/entities/session.entity'; +import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; +import { SubscriptionEntity } from 'src/entities/subscription.entity'; +import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; +import { UserEntity } from 'src/entities/user.entity'; +import { EventLoggerService } from 'src/event-logger/event-logger.service'; +import { PartnerAccessService } from 'src/partner-access/partner-access.service'; +import { PartnerService } from 'src/partner/partner.service'; +import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; +import { SubscriptionUserService } from 'src/subscription-user/subscription-user.service'; +import { SubscriptionService } from 'src/subscription/subscription.service'; +import { TherapySessionService } from 'src/therapy-session/therapy-session.service'; +import { UserService } from 'src/user/user.service'; +import { ResourceUserController } from './resource-user.controller'; +import { ResourceUserService } from './resource-user.service'; + +@Module({ + imports: [ + TypeOrmModule.forFeature([ + UserEntity, + ResourceEntity, + ResourceUserEntity, + PartnerAccessEntity, + PartnerEntity, + SessionEntity, + PartnerAccessEntity, + CourseEntity, + PartnerAdminEntity, + SubscriptionUserEntity, + TherapySessionEntity, + SubscriptionEntity, + EventLogEntity, + ]), + ], + controllers: [ResourceUserController], + providers: [ + ResourceUserService, + UserService, + PartnerAccessService, + PartnerService, + ServiceUserProfilesService, + SubscriptionService, + SubscriptionUserService, + TherapySessionService, + CrispService, + EventLoggerService, + ZapierWebhookClient, + SlackMessageClient, + ], +}) +export class ResourceUserModule {} diff --git a/src/resource-user/resource-user.service.ts b/src/resource-user/resource-user.service.ts new file mode 100644 index 00000000..33b8a55b --- /dev/null +++ b/src/resource-user/resource-user.service.ts @@ -0,0 +1,30 @@ +import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { ResourceUserEntity } from 'src/entities/resource-user.entity'; +import { Repository } from 'typeorm'; +import { CreateResourceUserDto } from './dtos/create-resource-user.dto'; +import { UpdateResourceUserDto } from './dtos/update-resource-user.dto'; + +@Injectable() +export class ResourceUserService { + constructor( + @InjectRepository(ResourceUserEntity) + private resourceUserRepository: Repository, + ) {} + + create(createResourceUserDto: CreateResourceUserDto) { + return this.resourceUserRepository.save(createResourceUserDto); + } + + update(id: string, updateResourceUserDto: UpdateResourceUserDto) { + const resourceUser = this.resourceUserRepository.findOne({ where: { id } }); + + if (!resourceUser) { + throw new HttpException('RESOURCE USER NOT FOUND', HttpStatus.NOT_FOUND); + } + + const updatedResourceUser = { ...resourceUser, ...updateResourceUserDto }; + + return this.resourceUserRepository.save(updatedResourceUser); + } +} diff --git a/src/resource/dtos/create-resource.dto.ts b/src/resource/dtos/create-resource.dto.ts new file mode 100644 index 00000000..7ca851b3 --- /dev/null +++ b/src/resource/dtos/create-resource.dto.ts @@ -0,0 +1,30 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator'; +import { RESOURCE_CATEGORIES, STORYBLOK_STORY_STATUS_ENUM } from 'src/utils/constants'; + +export class CreateResourceDto { + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + name: string; + + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + slug: string; + + @IsOptional() + @IsEnum(STORYBLOK_STORY_STATUS_ENUM) + @ApiProperty({ enum: STORYBLOK_STORY_STATUS_ENUM, type: String, required: false }) + status?: STORYBLOK_STORY_STATUS_ENUM; + + @IsOptional() + @IsEnum(RESOURCE_CATEGORIES) + @ApiProperty({ enum: RESOURCE_CATEGORIES, type: String, required: false }) + category: RESOURCE_CATEGORIES; + + @IsOptional() + @IsString() + @ApiProperty({ type: String, required: false }) + storyblokUuid?: string; +} diff --git a/src/resource/dtos/resource.dto.ts b/src/resource/dtos/resource.dto.ts new file mode 100644 index 00000000..57bf8137 --- /dev/null +++ b/src/resource/dtos/resource.dto.ts @@ -0,0 +1,30 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator'; +import { STORYBLOK_STORY_STATUS_ENUM } from 'src/utils/constants'; + +export class ResourceDto { + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + id: string; + + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + name: string; + + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + slug: string; + + @IsOptional() + @IsEnum(STORYBLOK_STORY_STATUS_ENUM) + @ApiProperty({ enum: STORYBLOK_STORY_STATUS_ENUM, type: String, required: false }) + status?: STORYBLOK_STORY_STATUS_ENUM; + + @IsOptional() + @IsString() + @ApiProperty({ type: String, required: false }) + storyblokUuid?: string; +} diff --git a/src/resource/resource.controller.ts b/src/resource/resource.controller.ts new file mode 100644 index 00000000..37c7ac3d --- /dev/null +++ b/src/resource/resource.controller.ts @@ -0,0 +1,26 @@ +import { Body, Controller, Get, Param, Post, UseGuards } from '@nestjs/common'; +import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; +import { SuperAdminAuthGuard } from 'src/partner-admin/super-admin-auth.guard'; +import { ControllerDecorator } from 'src/utils/controller.decorator'; +import { CreateResourceDto } from './dtos/create-resource.dto'; +import { ResourceService } from './resource.service'; + +@ApiTags('Resources') +@ControllerDecorator() +@Controller('/v1/resource') +export class ResourceController { + constructor(private readonly resourceService: ResourceService) {} + + @Get(':id') + async getResource(@Param('id') id: string) { + return this.resourceService.findOne(id); + } + + @Post() + @ApiBearerAuth('access-token') + @ApiOperation({ description: 'Creates resource' }) + @UseGuards(SuperAdminAuthGuard) + async createResource(@Body() createResourceDto: CreateResourceDto) { + return this.resourceService.create(createResourceDto); + } +} diff --git a/src/resource/resource.module.ts b/src/resource/resource.module.ts new file mode 100644 index 00000000..38f2e7f5 --- /dev/null +++ b/src/resource/resource.module.ts @@ -0,0 +1,65 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { SlackMessageClient } from 'src/api/slack/slack-api'; +import { ZapierWebhookClient } from 'src/api/zapier/zapier-webhook-client'; +import { CrispService } from 'src/crisp/crisp.service'; +import { CourseEntity } from 'src/entities/course.entity'; +import { EventLogEntity } from 'src/entities/event-log.entity'; +import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; +import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; +import { PartnerEntity } from 'src/entities/partner.entity'; +import { SessionEntity } from 'src/entities/session.entity'; +import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; +import { SubscriptionEntity } from 'src/entities/subscription.entity'; +import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; +import { UserEntity } from 'src/entities/user.entity'; +import { EventLoggerService } from 'src/event-logger/event-logger.service'; +import { PartnerAccessService } from 'src/partner-access/partner-access.service'; +import { PartnerService } from 'src/partner/partner.service'; +import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; +import { SubscriptionUserService } from 'src/subscription-user/subscription-user.service'; +import { SubscriptionService } from 'src/subscription/subscription.service'; +import { TherapySessionService } from 'src/therapy-session/therapy-session.service'; +import { UserService } from 'src/user/user.service'; +import { ResourceFeedbackEntity } from '../entities/resource-feedback.entity'; +import { ResourceUserEntity } from '../entities/resource-user.entity'; +import { ResourceEntity } from '../entities/resource.entity'; +import { ResourceController } from './resource.controller'; +import { ResourceService } from './resource.service'; + +@Module({ + imports: [ + TypeOrmModule.forFeature([ + ResourceEntity, + ResourceUserEntity, + ResourceFeedbackEntity, + UserEntity, + PartnerAccessEntity, + PartnerEntity, + SessionEntity, + PartnerAccessEntity, + CourseEntity, + PartnerAdminEntity, + SubscriptionUserEntity, + TherapySessionEntity, + SubscriptionEntity, + EventLogEntity, + ]), + ], + providers: [ + ResourceService, + UserService, + PartnerAccessService, + PartnerService, + ServiceUserProfilesService, + SubscriptionService, + SubscriptionUserService, + TherapySessionService, + CrispService, + EventLoggerService, + ZapierWebhookClient, + SlackMessageClient, + ], + controllers: [ResourceController], +}) +export class ResourceModule {} diff --git a/src/resource/resource.service.ts b/src/resource/resource.service.ts new file mode 100644 index 00000000..cd3eb71e --- /dev/null +++ b/src/resource/resource.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Logger } from 'src/logger/logger'; +import { Repository } from 'typeorm'; +import { ResourceEntity } from '../entities/resource.entity'; +import { CreateResourceDto } from './dtos/create-resource.dto'; + +@Injectable() +export class ResourceService { + private readonly logger = new Logger('ResourceService'); + + constructor( + @InjectRepository(ResourceEntity) + private resourceRepository: Repository, + ) {} + + async findOne(id: string): Promise { + return this.resourceRepository.findOne({ where: { id } }); + } + async create(createResourceDto: CreateResourceDto): Promise { + return this.resourceRepository.save(createResourceDto); + } +} diff --git a/src/session-feedback/session-feedback.service.ts b/src/session-feedback/session-feedback.service.ts index 25c980cd..cf0a9ddd 100644 --- a/src/session-feedback/session-feedback.service.ts +++ b/src/session-feedback/session-feedback.service.ts @@ -1,14 +1,8 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { SlackMessageClient } from 'src/api/slack/slack-api'; -import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; -import { PartnerEntity } from 'src/entities/partner.entity'; import { SessionFeedbackEntity } from 'src/entities/session-feedback.entity'; import { SessionEntity } from 'src/entities/session.entity'; -import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; -import { SubscriptionEntity } from 'src/entities/subscription.entity'; -import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; -import { UserEntity } from 'src/entities/user.entity'; import { Repository } from 'typeorm'; import { SessionService } from '../session/session.service'; import { SessionFeedbackDto } from './dtos/session-feedback.dto'; @@ -16,20 +10,6 @@ import { SessionFeedbackDto } from './dtos/session-feedback.dto'; @Injectable() export class SessionFeedbackService { constructor( - @InjectRepository(PartnerAccessEntity) - private partnerAccessRepository: Repository, - @InjectRepository(PartnerEntity) - private partnerRepository: Repository, - @InjectRepository(UserEntity) - private userRepository: Repository, - @InjectRepository(SessionEntity) - private sessionRepository: Repository, - @InjectRepository(SubscriptionUserEntity) - private subscriptionUserRepository: Repository, - @InjectRepository(SubscriptionEntity) - private subscriptionRepository: Repository, - @InjectRepository(TherapySessionEntity) - private therapySessionRepository: Repository, @InjectRepository(SessionFeedbackEntity) private sessionFeedbackRepository: Repository, private readonly sessionService: SessionService, @@ -45,8 +25,7 @@ export class SessionFeedbackService { throw new HttpException('SESSION NOT FOUND', HttpStatus.NOT_FOUND); } - const sessionFeedbackObject = this.sessionFeedbackRepository.create(sessionFeedbackDto); - await this.sessionFeedbackRepository.save(sessionFeedbackObject); + await this.sessionFeedbackRepository.save(sessionFeedbackDto); this.sendSlackSessionFeedback(sessionFeedbackDto, session); return sessionFeedbackDto; diff --git a/src/session-user/session-user.interface.ts b/src/session-user/session-user.interface.ts deleted file mode 100644 index 25a21dcd..00000000 --- a/src/session-user/session-user.interface.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ICourseUser } from 'src/course-user/course-user.interface'; -import { ISession } from 'src/session/session.interface'; - -export interface ISessionUser { - completed?: boolean; - session?: ISession; - courseUser?: ICourseUser; -} diff --git a/src/session/session.interface.ts b/src/session/session.interface.ts deleted file mode 100644 index f04d5b39..00000000 --- a/src/session/session.interface.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { STORYBLOK_STORY_STATUS_ENUM } from 'src/utils/constants'; -import { ICourse } from '../course/course.interface'; - -export interface ISession { - id?: string; - createdAt?: Date | string; - updatedAt?: Date | string; - name?: string; - slug?: string; - status?: STORYBLOK_STORY_STATUS_ENUM; - storyBlokId?: string; - course?: ICourse; -} diff --git a/src/typeorm.config.ts b/src/typeorm.config.ts index 2a1dab8f..2f9600d8 100644 --- a/src/typeorm.config.ts +++ b/src/typeorm.config.ts @@ -11,6 +11,9 @@ import { PartnerAccessEntity } from './entities/partner-access.entity'; import { PartnerAdminEntity } from './entities/partner-admin.entity'; import { PartnerFeatureEntity } from './entities/partner-feature.entity'; import { PartnerEntity } from './entities/partner.entity'; +import { ResourceFeedbackEntity } from './entities/resource-feedback.entity'; +import { ResourceUserEntity } from './entities/resource-user.entity'; +import { ResourceEntity } from './entities/resource.entity'; import { SessionFeedbackEntity } from './entities/session-feedback.entity'; import { SessionUserEntity } from './entities/session-user.entity'; import { SessionEntity } from './entities/session.entity'; @@ -49,6 +52,7 @@ import { BloomBackend1718300621138 } from './migrations/1718300621138-bloom-back import { BloomBackend1718728423454 } from './migrations/1718728423454-bloom-backend'; import { BloomBackend1719668310816 } from './migrations/1719668310816-bloom-backend'; import { BloomBackend1722295564731 } from './migrations/1722295564731-bloom-backend'; +import { BloomBackend1733160378757 } from './migrations/1733160378757-bloom-backend'; config(); const configService = new ConfigService(); @@ -87,6 +91,9 @@ export const dataSourceOptions = { SubscriptionUserEntity, TherapySessionEntity, SessionFeedbackEntity, + ResourceUserEntity, + ResourceEntity, + ResourceFeedbackEntity, ], migrations: [ bloomBackend1637704119795, @@ -120,6 +127,7 @@ export const dataSourceOptions = { BloomBackend1718728423454, BloomBackend1719668310816, BloomBackend1722295564731, + BloomBackend1733160378757, ], subscribers: [], ssl: isProduction || isStaging, diff --git a/src/user/dtos/get-user.dto.ts b/src/user/dtos/get-user.dto.ts index 24bee062..6aecbb85 100644 --- a/src/user/dtos/get-user.dto.ts +++ b/src/user/dtos/get-user.dto.ts @@ -1,5 +1,5 @@ import { ICoursesWithSessions } from 'src/course/course.interface'; -import { ITherapySession } from 'src/webhooks/therapy-session.interface'; +import { ITherapySession } from 'src/webhooks/webhooks.interface'; import { IPartnerAccessWithPartner } from '../../partner-access/partner-access.interface'; import { IPartnerAdminWithPartner } from '../../partner-admin/partner-admin.interface'; import { ISubscriptionUser } from '../../subscription-user/subscription-user.interface'; diff --git a/src/user/user.module.ts b/src/user/user.module.ts index 0968a18a..5ad1d63e 100644 --- a/src/user/user.module.ts +++ b/src/user/user.module.ts @@ -7,6 +7,7 @@ import { EventLogEntity } from 'src/entities/event-log.entity'; import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceUserEntity } from 'src/entities/resource-user.entity'; import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; import { SubscriptionEntity } from 'src/entities/subscription.entity'; import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; @@ -33,6 +34,7 @@ import { UserService } from './user.service'; PartnerAdminEntity, TherapySessionEntity, EventLogEntity, + ResourceUserEntity, ]), FirebaseModule, ], diff --git a/src/utils/constants.ts b/src/utils/constants.ts index d77e8ef5..d6ea85bd 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -19,6 +19,29 @@ export enum LANGUAGE_DEFAULT { ES = 'es', } +export enum RESOURCE_CATEGORIES { + SHORT_VIDEO = 'short_video', + CONVERSATION = 'conversation', +} + +export enum STORYBLOK_PAGE_COMPONENTS { + COURSE = 'Course', + SESSION = 'Session', + SESSION_IBA = 'session_iba', + RESOURCE_SHORT_VIDEO = 'resource_short_video', + RESOURCE_CONVERSATION = 'resource_conversation', + MEET_THE_TEAM = 'meet_the_team', + WELCOME = 'Welcome', + PAGE = 'page', +} + +export enum STORYBLOK_STORY_STATUS_ENUM { + PUBLISHED = 'published', + UNPUBLISHED = 'unpublished', + DELETED = 'deleted', + MOVED = 'moved', +} + export enum EMAIL_REMINDERS_FREQUENCY { TWO_WEEKS = 'TWO_WEEKS', ONE_MONTH = 'ONE_MONTH', @@ -52,12 +75,6 @@ export enum FEEDBACK_TAGS_ENUM { NOT_USEFUL = 'not useful', } -export enum STORYBLOK_STORY_STATUS_ENUM { - PUBLISHED = 'published', - UNPUBLISHED = 'unpublished', - DELETED = 'deleted', -} - export enum PartnerAccessCodeStatusEnum { VALID = 'VALID', INVALID_CODE = 'INVALID_CODE', diff --git a/src/webhooks/dto/story.dto.ts b/src/webhooks/dto/story.dto.ts index bbcfe267..5bbf9c85 100644 --- a/src/webhooks/dto/story.dto.ts +++ b/src/webhooks/dto/story.dto.ts @@ -2,7 +2,7 @@ import { ApiProperty } from '@nestjs/swagger'; import { IsDefined, IsEnum, IsNotEmpty, IsNumber, IsOptional, IsString } from 'class-validator'; import { STORYBLOK_STORY_STATUS_ENUM } from '../../utils/constants'; -export class StoryDto { +export class StoryWebhookDto { @IsOptional() @IsString() text: string; diff --git a/src/webhooks/webhooks.controller.spec.ts b/src/webhooks/webhooks.controller.spec.ts index 45d25d5f..573fb314 100644 --- a/src/webhooks/webhooks.controller.spec.ts +++ b/src/webhooks/webhooks.controller.spec.ts @@ -6,7 +6,7 @@ import { storyblokWebhookSecret } from 'src/utils/constants'; import { mockSessionEntity, mockSimplybookBodyBase, - mockStoryDto, + mockStoryWebhookDto, mockTherapySessionEntity, } from 'test/utils/mockData'; import { mockWebhooksServiceMethods } from 'test/utils/mockedServices'; @@ -62,16 +62,16 @@ describe('AppController', () => { webhooksController.updatePartnerAccessTherapy(mockSimplybookBodyBase), ).rejects.toThrow('Therapy session not found'); }); - describe('updateStory', () => { - it('updateStory should pass if service returns true', async () => { - jest.spyOn(mockWebhooksService, 'updateStory').mockImplementationOnce(async () => { + describe('handleStoryUpdated', () => { + it('handleStoryUpdated should pass if service returns true', async () => { + jest.spyOn(mockWebhooksService, 'handleStoryUpdated').mockImplementationOnce(async () => { return mockSessionEntity; }); await expect( - webhooksController.updateStory( - createRequestObject(mockStoryDto), - mockStoryDto, - generateMockHeaders(mockStoryDto), + webhooksController.handleStoryUpdated( + createRequestObject(mockStoryWebhookDto), + mockStoryWebhookDto, + generateMockHeaders(mockStoryWebhookDto), ), ).resolves.toBe(mockSessionEntity); }); diff --git a/src/webhooks/webhooks.controller.ts b/src/webhooks/webhooks.controller.ts index 5c3162d2..3c560e74 100644 --- a/src/webhooks/webhooks.controller.ts +++ b/src/webhooks/webhooks.controller.ts @@ -16,7 +16,7 @@ import { storyblokWebhookSecret } from 'src/utils/constants'; import { ControllerDecorator } from 'src/utils/controller.decorator'; import { ZapierSimplybookBodyDto } from '../partner-access/dtos/zapier-body.dto'; import { ZapierAuthGuard } from '../partner-access/zapier-auth.guard'; -import { StoryDto } from './dto/story.dto'; +import { StoryWebhookDto } from './dto/story.dto'; import { WebhooksService } from './webhooks.service'; @ApiTags('Webhooks') @@ -36,8 +36,8 @@ export class WebhooksController { } @Post('storyblok') - @ApiBody({ type: StoryDto }) - async updateStory(@Request() req, @Body() data: StoryDto, @Headers() headers) { + @ApiBody({ type: StoryWebhookDto }) + async handleStoryUpdated(@Request() req, @Body() data: StoryWebhookDto, @Headers() headers) { const signature: string | undefined = headers['webhook-signature']; // Verify storyblok signature uses storyblok webhook secret - see https://www.storyblok.com/docs/guide/in-depth/webhooks#securing-a-webhook if (!signature) { @@ -53,6 +53,6 @@ export class WebhooksController { this.logger.error(error); throw new HttpException(error, HttpStatus.UNAUTHORIZED); } - return this.webhooksService.updateStory(data); + return this.webhooksService.handleStoryUpdated(data); } } diff --git a/src/webhooks/therapy-session.interface.ts b/src/webhooks/webhooks.interface.ts similarity index 100% rename from src/webhooks/therapy-session.interface.ts rename to src/webhooks/webhooks.interface.ts diff --git a/src/webhooks/webhooks.module.ts b/src/webhooks/webhooks.module.ts index 1e939312..e47612db 100644 --- a/src/webhooks/webhooks.module.ts +++ b/src/webhooks/webhooks.module.ts @@ -9,11 +9,13 @@ import { EventLogEntity } from 'src/entities/event-log.entity'; import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; import { SessionEntity } from 'src/entities/session.entity'; import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; import { UserEntity } from 'src/entities/user.entity'; import { EventLoggerService } from 'src/event-logger/event-logger.service'; import { PartnerService } from 'src/partner/partner.service'; +import { ResourceService } from 'src/resource/resource.service'; import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; import { WebhooksController } from './webhooks.controller'; import { WebhooksService } from './webhooks.service'; @@ -30,6 +32,7 @@ import { WebhooksService } from './webhooks.service'; TherapySessionEntity, PartnerAdminEntity, EventLogEntity, + ResourceEntity, ]), ], providers: [ @@ -40,6 +43,7 @@ import { WebhooksService } from './webhooks.service'; SlackMessageClient, CrispService, EventLoggerService, + ResourceService, ], controllers: [WebhooksController], }) diff --git a/src/webhooks/webhooks.service.spec.ts b/src/webhooks/webhooks.service.spec.ts index 5513ab02..30ef7ab5 100644 --- a/src/webhooks/webhooks.service.spec.ts +++ b/src/webhooks/webhooks.service.spec.ts @@ -10,18 +10,25 @@ import { EventLogEntity } from 'src/entities/event-log.entity'; import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; import { SessionEntity } from 'src/entities/session.entity'; import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; import { UserEntity } from 'src/entities/user.entity'; import { EventLoggerService } from 'src/event-logger/event-logger.service'; import { PartnerService } from 'src/partner/partner.service'; import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; -import { SIMPLYBOOK_ACTION_ENUM, STORYBLOK_STORY_STATUS_ENUM } from 'src/utils/constants'; +import { + RESOURCE_CATEGORIES, + SIMPLYBOOK_ACTION_ENUM, + STORYBLOK_STORY_STATUS_ENUM, +} from 'src/utils/constants'; import StoryblokClient from 'storyblok-js-client'; import { mockCourse, mockCourseStoryblokResult, mockPartnerAccessEntity, + mockResource, + mockResourceStoryblokResult, mockSession, mockSessionStoryblokResult, mockSimplybookBodyBase, @@ -78,6 +85,7 @@ describe('WebhooksService', () => { const mockedCoursePartnerService = createMock( mockCoursePartnerServiceMethods, ); + const mockedResourceRepository = createMock>(); const mockedUserRepository = createMock>(mockUserRepositoryMethods); const mockedTherapySessionRepository = createMock>( mockTherapySessionRepositoryMethods, @@ -115,6 +123,10 @@ describe('WebhooksService', () => { provide: getRepositoryToken(UserEntity), useValue: mockedUserRepository, }, + { + provide: getRepositoryToken(ResourceEntity), + useValue: mockedResourceRepository, + }, { provide: getRepositoryToken(CourseEntity), useValue: mockedCourseRepository, @@ -168,7 +180,7 @@ describe('WebhooksService', () => { expect(service).toBeDefined(); }); - describe('updateStory', () => { + describe('handleStoryUpdated', () => { it('when story does not exist, it returns with a 404', async () => { // unfortunately it is mega hard to mock classes that are also node modules and this was // the only solution i got working @@ -189,7 +201,7 @@ describe('WebhooksService', () => { text: '', }; - return expect(service.updateStory(body)).rejects.toThrow('STORYBLOK STORY NOT FOUND'); + return expect(service.handleStoryUpdated(body)).rejects.toThrow('STORYBLOK STORY NOT FOUND'); }); it('when action is deleted, story should be set as deleted in database', async () => { @@ -199,7 +211,7 @@ describe('WebhooksService', () => { text: '', }; - const deletedStory = (await service.updateStory(body)) as SessionEntity; + const deletedStory = (await service.handleStoryUpdated(body)) as SessionEntity; expect(deletedStory.status).toBe(STORYBLOK_STORY_STATUS_ENUM.DELETED); }); @@ -211,7 +223,7 @@ describe('WebhooksService', () => { text: '', }; - const unpublished = (await service.updateStory(body)) as SessionEntity; + const unpublished = (await service.handleStoryUpdated(body)) as SessionEntity; expect(unpublished.status).toBe(STORYBLOK_STORY_STATUS_ENUM.UNPUBLISHED); }); @@ -245,10 +257,14 @@ describe('WebhooksService', () => { }); const sessionSaveRepoSpy = jest.spyOn(mockedSessionRepository, 'save'); - const sessionFindOneRepoSpy = jest.spyOn(mockedSessionRepository, 'findOneBy'); + const sessionFindOneRepoSpy = jest + .spyOn(mockedSessionRepository, 'findOneBy') + .mockImplementationOnce(async () => { + return { ...mockSession, course: course2 }; + }); const courseFindOneSpy = jest - .spyOn(mockedCourseRepository, 'findOneBy') + .spyOn(mockedCourseRepository, 'findOneByOrFail') .mockImplementationOnce(async () => { return course2; }); @@ -259,7 +275,7 @@ describe('WebhooksService', () => { text: '', }; - const session = (await service.updateStory(body)) as SessionEntity; + const session = (await service.handleStoryUpdated(body)) as SessionEntity; expect(courseFindOneSpy).toHaveBeenCalledWith({ storyblokUuid: 'anotherCourseUuId', @@ -289,31 +305,35 @@ describe('WebhooksService', () => { it('when a session is new, the session should be created', async () => { const sessionSaveRepoSpy = jest.spyOn(mockedSessionRepository, 'save'); - const sessionCreateRepoSpy = jest.spyOn(mockedSessionRepository, 'create'); const sessionFindOneRepoSpy = jest .spyOn(mockedSessionRepository, 'findOneBy') .mockImplementationOnce(async () => undefined); - const courseFindOneSpy = jest.spyOn(mockedCourseRepository, 'findOneBy'); + const courseFindOneSpy = jest.spyOn(mockedCourseRepository, 'findOneByOrFail'); const body = { action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, story_id: mockSession.storyblokId, + full_slug: mockSession.slug, text: '', }; - const session = (await service.updateStory(body)) as SessionEntity; + const expectedResponse = { + storyblokId: mockSession.storyblokId, + storyblokUuid: mockSession.storyblokUuid, + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + slug: mockSession.slug, + name: mockSession.name, + courseId: mockSession.courseId, + }; - expect(session).toEqual(mockSession); + const session = (await service.handleStoryUpdated(body)) as SessionEntity; + + expect(session).toEqual(expectedResponse); expect(courseFindOneSpy).toHaveBeenCalledWith({ storyblokUuid: 'courseUuid1', }); - expect(sessionSaveRepoSpy).toHaveBeenCalledWith({ - ...mockSession, - }); - expect(sessionSaveRepoSpy).toHaveBeenCalledWith({ - ...mockSession, - }); + expect(sessionSaveRepoSpy).toHaveBeenCalledWith(expectedResponse); expect(sessionFindOneRepoSpy).toHaveBeenCalledWith({ storyblokId: mockSession.storyblokId, }); @@ -321,18 +341,16 @@ describe('WebhooksService', () => { courseFindOneSpy.mockClear(); sessionSaveRepoSpy.mockClear(); sessionFindOneRepoSpy.mockClear(); - sessionCreateRepoSpy.mockClear(); }); it('when a session with session_iba type is new, the session should be created', async () => { const sessionSaveRepoSpy = jest.spyOn(mockedSessionRepository, 'save'); - const sessionCreateRepoSpy = jest.spyOn(mockedSessionRepository, 'create'); const sessionFindOneRepoSpy = jest .spyOn(mockedSessionRepository, 'findOneBy') .mockImplementationOnce(async () => undefined); - const courseFindOneSpy = jest.spyOn(mockedCourseRepository, 'findOneBy'); + const courseFindOneSpy = jest.spyOn(mockedCourseRepository, 'findOneByOrFail'); // eslint-disable-next-line // @ts-ignore @@ -358,27 +376,33 @@ describe('WebhooksService', () => { const body = { action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, story_id: mockSession.storyblokId, + full_slug: mockSession.slug, text: '', }; - const session = (await service.updateStory(body)) as SessionEntity; + const expectedResponse = { + storyblokId: mockSession.storyblokId, + storyblokUuid: mockSession.storyblokUuid, + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + slug: mockSession.slug, + name: mockSession.name, + courseId: mockSession.courseId, + }; - expect(session).toEqual(mockSession); - expect(sessionSaveRepoSpy).toHaveBeenCalledWith({ - ...mockSession, - }); + const session = (await service.handleStoryUpdated(body)) as SessionEntity; + + expect(session).toEqual(expectedResponse); + expect(sessionSaveRepoSpy).toHaveBeenCalledWith(expectedResponse); courseFindOneSpy.mockClear(); sessionSaveRepoSpy.mockClear(); sessionFindOneRepoSpy.mockClear(); - sessionCreateRepoSpy.mockClear(); }); it('when a course is new, the course should be created', async () => { const courseFindOneRepoSpy = jest .spyOn(mockedCourseRepository, 'findOneBy') .mockImplementationOnce(async () => undefined); - const courseCreateRepoSpy = jest.spyOn(mockedCourseRepository, 'create'); const courseSaveRepoSpy = jest.spyOn(mockedCourseRepository, 'save'); // eslint-disable-next-line @@ -391,33 +415,162 @@ describe('WebhooksService', () => { const body = { action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, - story_id: 5678, + story_id: mockCourseStoryblokResult.data.story.id, + full_slug: mockCourseStoryblokResult.data.story.full_slug, text: '', }; - const course = (await service.updateStory(body)) as CourseEntity; + const expectedResponse = { + storyblokId: mockCourseStoryblokResult.data.story.id, + storyblokUuid: mockCourseStoryblokResult.data.story.uuid, + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + slug: mockCourseStoryblokResult.data.story.full_slug, + name: mockCourseStoryblokResult.data.story.name, + }; - expect(course).toEqual(mockCourse); + const course = (await service.handleStoryUpdated(body)) as CourseEntity; + + expect(course).toEqual(expectedResponse); expect(courseFindOneRepoSpy).toHaveBeenCalledWith({ storyblokId: mockCourseStoryblokResult.data.story.id, }); - expect(courseCreateRepoSpy).toHaveBeenCalledWith({ - storyblokId: mockCourseStoryblokResult.data.story.id, - name: mockCourseStoryblokResult.data.story.name, - status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, - slug: mockCourseStoryblokResult.data.story.full_slug, - storyblokUuid: mockCourseStoryblokResult.data.story.uuid, - }); + expect(courseSaveRepoSpy).toHaveBeenCalledWith(expectedResponse); - expect(courseSaveRepoSpy).toHaveBeenCalledWith(mockCourse); expect(mockedServiceUserProfilesService.createMailchimpCourseMergeField).toHaveBeenCalledWith( - mockCourse.name, + mockCourseStoryblokResult.data.story.name, ); courseFindOneRepoSpy.mockClear(); - courseCreateRepoSpy.mockClear(); courseSaveRepoSpy.mockClear(); }); + + it('should handle unpublished action for a resource', async () => { + const body = { + action: STORYBLOK_STORY_STATUS_ENUM.UNPUBLISHED, + story_id: mockResource.storyblokId, + text: '', + }; + + const unpublishedResource = (await service.handleStoryUpdated(body)) as ResourceEntity; + + expect(unpublishedResource.status).toBe(STORYBLOK_STORY_STATUS_ENUM.UNPUBLISHED); + }); + + it('should handle published action for a resource', async () => { + const body = { + action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + story_id: mockResource.storyblokId, + text: '', + }; + + const publishedResource = (await service.handleStoryUpdated(body)) as ResourceEntity; + + expect(publishedResource.status).toBe(STORYBLOK_STORY_STATUS_ENUM.PUBLISHED); + }); + + it('should handle deleted action for a resource', async () => { + const body = { + action: STORYBLOK_STORY_STATUS_ENUM.DELETED, + story_id: mockResource.storyblokId, + text: '', + }; + + const deletedResource = (await service.handleStoryUpdated(body)) as ResourceEntity; + + expect(deletedResource.status).toBe(STORYBLOK_STORY_STATUS_ENUM.DELETED); + }); + + it.skip('should handle a new resource', async () => { + const resourceSaveRepoSpy = jest.spyOn(mockedResourceRepository, 'save'); + const resourceFindOneRepoSpy = jest + .spyOn(mockedResourceRepository, 'findOneBy') + .mockImplementationOnce(async () => undefined); + + // Mock StoryblokClient to return a resource story + // eslint-disable-next-line + // @ts-ignore + StoryblokClient.mockImplementationOnce(() => { + return { + get: async () => mockResourceStoryblokResult, + }; + }); + + const body = { + action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + story_id: mockResourceStoryblokResult.data.story.id, + full_slug: mockResourceStoryblokResult.data.story.full_slug, + text: '', + }; + + const expectedResponse = { + storyblokId: mockResourceStoryblokResult.data.story.id, + storyblokUuid: mockResourceStoryblokResult.data.story.uuid, + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + slug: mockResourceStoryblokResult.data.story.full_slug, + name: mockResourceStoryblokResult.data.story.name, + category: RESOURCE_CATEGORIES.SHORT_VIDEO, + }; + + const resource = (await service.handleStoryUpdated(body)) as ResourceEntity; + + expect(resource).toEqual(expectedResponse); + expect(resourceSaveRepoSpy).toHaveBeenCalledWith(expectedResponse); + expect(resourceFindOneRepoSpy).toHaveBeenCalledWith({ + storyblokUuid: mockResourceStoryblokResult.data.story.id, + }); + + resourceSaveRepoSpy.mockClear(); + resourceFindOneRepoSpy.mockClear(); + }); + + it.skip('should handle updating an existing resource', async () => { + const resourceSaveRepoSpy = jest.spyOn(mockedResourceRepository, 'save'); + const resourceFindOneRepoSpy = jest + .spyOn(mockedResourceRepository, 'findOneBy') + .mockImplementationOnce(async () => mockResource); + + const updatedMockResourceStoryblokResult = { ...mockResourceStoryblokResult }; + const newName = 'New resource name'; + const newSlug = 'resources/shorts/new-resource-name'; + updatedMockResourceStoryblokResult.data.story.name = newName; + updatedMockResourceStoryblokResult.data.story.full_slug = newSlug; + + // Mock StoryblokClient to return a resource story + // eslint-disable-next-line + // @ts-ignore + StoryblokClient.mockImplementationOnce(() => { + return { + get: async () => updatedMockResourceStoryblokResult, + }; + }); + + const body = { + action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + story_id: mockResourceStoryblokResult.data.story.id, + full_slug: mockResourceStoryblokResult.data.story.full_slug, + text: '', + }; + + const expectedResponse = { + storyblokId: mockResourceStoryblokResult.data.story.id, + storyblokUuid: mockResourceStoryblokResult.data.story.uuid, + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + slug: newSlug, + name: newName, + category: RESOURCE_CATEGORIES.SHORT_VIDEO, + }; + + const updatedResource = (await service.handleStoryUpdated(body)) as ResourceEntity; + + expect(updatedResource).toEqual(expectedResponse); + expect(resourceSaveRepoSpy).toHaveBeenCalled(); + expect(resourceFindOneRepoSpy).toHaveBeenCalledWith({ + storyblokUuid: mockResourceStoryblokResult.data.story.id, + }); + + resourceSaveRepoSpy.mockClear(); + resourceFindOneRepoSpy.mockClear(); + }); }); describe('updatePartnerAccessTherapy', () => { diff --git a/src/webhooks/webhooks.service.ts b/src/webhooks/webhooks.service.ts index 8f0421b5..a48de2b6 100644 --- a/src/webhooks/webhooks.service.ts +++ b/src/webhooks/webhooks.service.ts @@ -3,6 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm'; import { SlackMessageClient } from 'src/api/slack/slack-api'; import { CourseEntity } from 'src/entities/course.entity'; import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; import { SessionEntity } from 'src/entities/session.entity'; import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; import { UserEntity } from 'src/entities/user.entity'; @@ -10,16 +11,18 @@ import { ZapierSimplybookBodyDto } from 'src/partner-access/dtos/zapier-body.dto import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; import { IUser } from 'src/user/user.interface'; import { serializeZapierSimplyBookDtoToTherapySessionEntity } from 'src/utils/serialize'; -import StoryblokClient from 'storyblok-js-client'; +import StoryblokClient, { ISbStoryData } from 'storyblok-js-client'; import { ILike, MoreThan, Repository } from 'typeorm'; import { CoursePartnerService } from '../course-partner/course-partner.service'; import { isProduction, + RESOURCE_CATEGORIES, SIMPLYBOOK_ACTION_ENUM, + STORYBLOK_PAGE_COMPONENTS, STORYBLOK_STORY_STATUS_ENUM, storyblokToken, } from '../utils/constants'; -import { StoryDto } from './dto/story.dto'; +import { StoryWebhookDto } from './dto/story.dto'; @Injectable() export class WebhooksService { @@ -31,6 +34,7 @@ export class WebhooksService { @InjectRepository(UserEntity) private userRepository: Repository, @InjectRepository(CourseEntity) private courseRepository: Repository, @InjectRepository(SessionEntity) private sessionRepository: Repository, + @InjectRepository(ResourceEntity) private resourceRepository: Repository, private readonly coursePartnerService: CoursePartnerService, @InjectRepository(TherapySessionEntity) private therapySessionRepository: Repository, @@ -259,135 +263,165 @@ export class WebhooksService { } } - private async createNewStory(story_id: number, action: STORYBLOK_STORY_STATUS_ENUM) { - let story; + private async updateOrCreateStory(storyData: ISbStoryData, status: STORYBLOK_STORY_STATUS_ENUM) { + const storyPageComponent = storyData.content.component as STORYBLOK_PAGE_COMPONENTS; - const Storyblok = new StoryblokClient({ - accessToken: storyblokToken, - cache: { - clear: 'auto', - type: 'memory', - }, - }); + const updatedStoryData = { + name: storyData.name, + slug: storyData.full_slug, + status: status, + }; // fields to update on existing and new stories - try { - const response = await Storyblok.get(`cdn/stories/${story_id}`); - if (response?.data?.story) { - story = response.data.story; - } - } catch (err) { - const error = `Storyblok webhook failed - error getting story from storyblok - ${err}`; - this.logger.error(error); - throw new HttpException(error, HttpStatus.NOT_FOUND); - } + const newStoryData = { + storyblokId: storyData.id, + storyblokUuid: storyData.uuid, + ...updatedStoryData, + }; // includes storyblok id and uuid for new stories only - const storyData = { - name: story.name, - slug: story.full_slug, - status: action, - storyblokId: story_id, - storyblokUuid: story.uuid, - }; try { - if (story.content?.component === 'Course') { - const courseName = story.content?.name; + if ( + storyPageComponent === STORYBLOK_PAGE_COMPONENTS.RESOURCE_SHORT_VIDEO || + storyPageComponent === STORYBLOK_PAGE_COMPONENTS.RESOURCE_CONVERSATION + ) { + const resourceCategory = + storyPageComponent === STORYBLOK_PAGE_COMPONENTS.RESOURCE_SHORT_VIDEO + ? RESOURCE_CATEGORIES.SHORT_VIDEO + : RESOURCE_CATEGORIES.CONVERSATION; - let course = await this.courseRepository.findOneBy({ - storyblokId: story_id, + const existingResource = await this.resourceRepository.findOneBy({ + storyblokUuid: storyData.uuid, }); + const data = existingResource + ? { ...existingResource, ...updatedStoryData } + : { ...newStoryData, category: resourceCategory }; - if (course) { - course.status = action; - course.slug = story.full_slug; - } else { - course = this.courseRepository.create(storyData); - this.serviceUserProfilesService.createMailchimpCourseMergeField(courseName); - } + const resource = await this.resourceRepository.save(data); + this.logger.log(`Storyblok resource ${status} success - ${resource.name}`); + return resource; + } - course.name = courseName; - course = await this.courseRepository.save(course); + if (storyPageComponent === STORYBLOK_PAGE_COMPONENTS.COURSE) { + const existingCourse = await this.courseRepository.findOneBy({ + storyblokId: storyData.id, + }); + const data = existingCourse + ? { ...existingCourse, ...updatedStoryData } + : { ...newStoryData }; + + const course = await this.courseRepository.save(data); + + if (!existingCourse) + // new course, add mailchimp course field + this.serviceUserProfilesService.createMailchimpCourseMergeField(updatedStoryData.name); await this.coursePartnerService.updateCoursePartners( - story.content?.included_for_partners, + storyData.content?.included_for_partners, course.id, ); - - this.logger.log(`Storyblok course ${action} success - ${course.name}`); + this.logger.log(`Storyblok course ${status} success - ${course.name}`); return course; - } else if ( - story.content?.component === 'Session' || - story.content?.component === 'session_iba' + } + + if ( + storyPageComponent === STORYBLOK_PAGE_COMPONENTS.SESSION || + storyPageComponent === STORYBLOK_PAGE_COMPONENTS.SESSION_IBA ) { - const course = await this.courseRepository.findOneBy({ - storyblokUuid: story.content.course, + const course = await this.courseRepository.findOneByOrFail({ + storyblokUuid: storyData.content.course, }); - if (!course.id) { - const error = `Storyblok webhook failed - course not found for session story`; - this.logger.error(error); - throw new HttpException(error, HttpStatus.NOT_FOUND); - } - - let session = await this.sessionRepository.findOneBy({ - storyblokId: story_id, + const existingSession = await this.sessionRepository.findOneBy({ + storyblokId: storyData.id, }); + const data = existingSession + ? { ...existingSession, ...updatedStoryData, courseId: course.id } + : { ...newStoryData, courseId: course.id }; - const newSession = session - ? { - ...session, - status: action, - slug: story.full_slug, - name: story.name, - course: course, - courseId: course.id, - } - : this.sessionRepository.create({ ...storyData, ...{ courseId: course.id } }); - - session = await this.sessionRepository.save(newSession); - this.logger.log(`Storyblok session ${action} success - ${session.name}`); + const session = await this.sessionRepository.save(data); + this.logger.log(`Storyblok session ${status} success - ${session.name}`); return session; } - return undefined; // New story wasn't a course or session story, ignore + return undefined; // Story wasn't a course, session or resource story. No sync or updates completed } catch (err) { - const error = `Storyblok webhook failed - error creating new ${story.content?.component} record - ${err}`; + const error = `Storyblok webhook failed - error updating or creating ${status} ${storyPageComponent} story record ${storyData.id} - ${err}`; this.logger.error(error); throw new HttpException(error, HttpStatus.INTERNAL_SERVER_ERROR); } } - async updateStory(data: StoryDto) { - const action = data.action; - const story_id = data.story_id; - - this.logger.log(`Storyblok story ${action} request - ${story_id}`); - - if (action === STORYBLOK_STORY_STATUS_ENUM.PUBLISHED) { - return this.createNewStory(story_id, action); - } + async updateDeletedStory(story_id: number) { + const status = STORYBLOK_STORY_STATUS_ENUM.DELETED; - // Story was unpublished or deleted so cant be fetched from storyblok to get story type (Course or Session) + // Story is deleted so cant be fetched from storyblok to get story type // Try to find course with matching story_id first let course = await this.courseRepository.findOneBy({ storyblokId: story_id, }); if (course) { - course.status = action; - course = await this.courseRepository.save(course); - this.logger.log(`Storyblok course ${action} success - ${course.name}`); + course = await this.courseRepository.save({ ...course, status }); + this.logger.log(`Storyblok course ${status} success - ${course.name}`); return course; - } else if (!course) { - // No course found, try finding session instead - let session = await this.sessionRepository.findOneBy({ - storyblokId: story_id, - }); + } + // No course found, try finding session instead + let session = await this.sessionRepository.findOneBy({ + storyblokId: story_id, + }); - if (session) { - session.status = action; - session = await this.sessionRepository.save(session); - this.logger.log(`Storyblok session ${action} success - ${session.name}`); - return session; + if (session) { + session = await this.sessionRepository.save({ ...session, status }); + this.logger.log(`Storyblok session ${status} success - ${session.name}`); + return session; + } + + // No session found, try finding resource instead + let resource = await this.resourceRepository.findOneBy({ + storyblokId: story_id, + }); + + if (resource) { + resource = await this.resourceRepository.save({ ...resource, status }); + this.logger.log(`Storyblok session ${status} success - ${resource.name}`); + return resource; + } + } + + // Handle Storyblok story status change (published, unpublished, moved, deleted) + // Triggered by a webhook, this function handles updating our database records to sync with storyblok story data + async handleStoryUpdated(data: StoryWebhookDto) { + const status = data.action; + const story_id = data.story_id; + + this.logger.log(`Storyblok story ${status} request - ${story_id}`); + + if (status === STORYBLOK_STORY_STATUS_ENUM.DELETED) { + return this.updateDeletedStory(story_id); + } + + // Story was either published, unpublished, or moved + // First get story data from storyblok + let story: ISbStoryData; + + const Storyblok = new StoryblokClient({ + accessToken: storyblokToken, + cache: { + clear: 'auto', + type: 'memory', + }, + }); + + try { + const response = await Storyblok.get(`cdn/stories/${story_id}`); + if (response?.data?.story) { + story = response.data.story as ISbStoryData; } + } catch (err) { + const error = `Storyblok webhook failed - error getting story from storyblok - ${err}`; + this.logger.error(error); + throw new HttpException(error, HttpStatus.NOT_FOUND); } + + // Create or update the resource/course/session record in our database + return this.updateOrCreateStory(story, status); } } diff --git a/test/utils/mockData.ts b/test/utils/mockData.ts index 277c0cce..7027e906 100644 --- a/test/utils/mockData.ts +++ b/test/utils/mockData.ts @@ -9,6 +9,7 @@ import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerFeatureEntity } from 'src/entities/partner-feature.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; import { SessionUserEntity } from 'src/entities/session-user.entity'; import { SessionEntity } from 'src/entities/session.entity'; import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; @@ -20,6 +21,7 @@ import { IFirebaseUser } from 'src/firebase/firebase-user.interface'; import { ZapierSimplybookBodyDto } from 'src/partner-access/dtos/zapier-body.dto'; import { EMAIL_REMINDERS_FREQUENCY, + RESOURCE_CATEGORIES, SIMPLYBOOK_ACTION_ENUM, STORYBLOK_STORY_STATUS_ENUM, } from 'src/utils/constants'; @@ -81,6 +83,28 @@ export const mockCourseStoryblokResult = { headers: undefined, } as ISbResult; +export const mockResourceStoryblokResult = { + data: { + story: { + name: 'Resource name 2', + created_at: '2022-05-05T11:29:10.888Z', + published_at: '2022-05-19T16:32:44.502Z', + id: 98765, + uuid: 'resourceUuid', + content: { + _uid: '23456', + name: 'Resource name 2', + component: 'resource_short_video', + }, + slug: 'resource-name', + full_slug: 'resources/shorts/resource-name', + }, + }, + perPage: 1, + total: 1, + headers: undefined, +} as ISbResult; + export const mockCourse: CourseEntity = { coursePartner: [], courseUser: [], @@ -107,6 +131,21 @@ export const mockSession: SessionEntity = { updatedAt: new Date(100), courseId: 'courseId1', course: { ...mockCourse }, + sessionFeedback: [], +}; + +export const mockResource: ResourceEntity = { + resourceUser: [], + id: 'resourceId1', + storyblokId: 123456, + storyblokUuid: 'resourceStoryblokUuid1', + slug: 'resources/shorts/resource-name', + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + name: 'Resource name', + category: RESOURCE_CATEGORIES.SHORT_VIDEO, + createdAt: new Date(100), + updatedAt: new Date(100), + resourceFeedback: [], }; export const mockIFirebaseUser: IFirebaseUser = { @@ -149,6 +188,7 @@ export const mockUserEntity: UserEntity = { signUpLanguage: 'en', subscriptionUser: [], therapySession: [], + resourceUser: [], eventLog: [], }; @@ -392,7 +432,7 @@ export const mockSubscriptionUserEntity = { subscription: mockSubscriptionEntity, } as SubscriptionUserEntity; -export const mockStoryDto = { +export const mockStoryWebhookDto = { text: 'string', action: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, story_id: 1, diff --git a/test/utils/mockedServices.ts b/test/utils/mockedServices.ts index 79fb4242..9ab6f62d 100644 --- a/test/utils/mockedServices.ts +++ b/test/utils/mockedServices.ts @@ -11,6 +11,7 @@ import { PartnerAccessEntity } from 'src/entities/partner-access.entity'; import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerFeatureEntity } from 'src/entities/partner-feature.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceEntity } from 'src/entities/resource.entity'; import { SessionEntity } from 'src/entities/session.entity'; import { SubscriptionUserEntity } from 'src/entities/subscription-user.entity'; import { TherapySessionEntity } from 'src/entities/therapy-session.entity'; @@ -30,6 +31,7 @@ import { mockPartnerAdminEntity, mockPartnerEntity, mockPartnerFeatureEntity, + mockResource, mockSession, mockSubscriptionUserEntity, mockTherapySessionEntity, @@ -92,10 +94,25 @@ export const mockSessionRepositoryMethods: PartialFuncReturn> = { + findOneBy: async () => { + return mockResource; + }, + save: async (entity) => { + return entity as ResourceEntity; + }, + create: () => { + return mockResource; + }, +}; + export const mockCourseRepositoryMethods: PartialFuncReturn> = { findOneBy: async () => { return mockCourse; }, + findOneByOrFail: async () => { + return mockCourse; + }, create: () => { return mockCourse; }, @@ -287,6 +304,13 @@ export const mockEventLoggerRepositoryMethods: PartialFuncReturn { + return { + ...mockEventLog, + ...dto, + id: 'logId', + } as EventLogEntity; + }, findOneBy: async (arg) => { return { ...mockEventLog, ...(arg ? { ...arg } : {}) } as EventLogEntity; }, @@ -296,7 +320,6 @@ export const mockEventLoggerRepositoryMethods: PartialFuncReturn { return [{ ...mockEventLog, ...(arg ? { ...arg } : {}) }] as EventLogEntity[]; }, - save: async (arg) => arg as EventLogEntity, }; export const mockSubscriptionUserRepositoryMethods: PartialFuncReturn< From f075c8740cceda5d0d90ddbca1c5855fe80dc0c7 Mon Sep 17 00:00:00 2001 From: Ellie Re'em Date: Thu, 5 Dec 2024 12:22:22 +0000 Subject: [PATCH 15/24] Remove IP address from logs --- src/logger/logging.interceptor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/logger/logging.interceptor.ts b/src/logger/logging.interceptor.ts index 3a0b890e..4ec6e563 100644 --- a/src/logger/logging.interceptor.ts +++ b/src/logger/logging.interceptor.ts @@ -14,7 +14,7 @@ export class LoggingInterceptor implements NestInterceptor { //@ts-expect-error: userEntity is modified in authGuard const userId = req?.userEntity?.id; - const commonMessage = `${req.method} "${req.originalUrl}" (IP address: ${req.ip}, requestUserId: ${userId})`; + const commonMessage = `${req.method} "${req.originalUrl}" (requestUserId: ${userId})`; this.logger.log(`Started ${commonMessage}`); From 7872fcf6d8515a7d2cce21e3771fc9114fa4e1b7 Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Mon, 9 Dec 2024 14:13:50 +0000 Subject: [PATCH 16/24] fix: resource models fixes (#715) --- .../resource-feedback.service.spec.ts | 66 +++++++++++++++++++ src/webhooks/webhooks.service.spec.ts | 17 +++-- src/webhooks/webhooks.service.ts | 23 ++++--- test/utils/mockData.ts | 18 ++++- 4 files changed, 107 insertions(+), 17 deletions(-) create mode 100644 src/resource-feedback/resource-feedback.service.spec.ts diff --git a/src/resource-feedback/resource-feedback.service.spec.ts b/src/resource-feedback/resource-feedback.service.spec.ts new file mode 100644 index 00000000..4808198e --- /dev/null +++ b/src/resource-feedback/resource-feedback.service.spec.ts @@ -0,0 +1,66 @@ +import { createMock, DeepMocked } from '@golevelup/ts-jest'; +import { HttpException, HttpStatus } from '@nestjs/common'; +import { Test, TestingModule } from '@nestjs/testing'; +import { getRepositoryToken } from '@nestjs/typeorm'; +import { ResourceService } from 'src/resource/resource.service'; +import { FEEDBACK_TAGS_ENUM } from 'src/utils/constants'; +import { mockResource } from 'test/utils/mockData'; +import { Repository } from 'typeorm'; +import { ResourceFeedbackEntity } from '../entities/resource-feedback.entity'; +import { ResourceFeedbackService } from './resource-feedback.service'; + +describe('ResourceFeedbackService', () => { + let service: ResourceFeedbackService; + let mockResourceFeedbackRepository: DeepMocked>; + let mockResourceService: DeepMocked; + + const resourceFeedbackDto = { + resourceId: mockResource.id, + feedbackTags: FEEDBACK_TAGS_ENUM.RELATABLE, + feedbackDescription: 'feedback comments', + } as ResourceFeedbackEntity; + + beforeEach(async () => { + mockResourceFeedbackRepository = createMock>(); + mockResourceService = createMock(); + + const module: TestingModule = await Test.createTestingModule({ + providers: [ + ResourceFeedbackService, + { + provide: getRepositoryToken(ResourceFeedbackEntity), + useValue: mockResourceFeedbackRepository, + }, + { + provide: ResourceService, + useValue: mockResourceService, + }, + ], + }).compile(); + + service = module.get(ResourceFeedbackService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('create', () => { + it('should create a resource feedback when resource exists', async () => { + jest.spyOn(mockResourceService, 'findOne').mockResolvedValueOnce(mockResource); + jest.spyOn(mockResourceFeedbackRepository, 'save').mockResolvedValueOnce(resourceFeedbackDto); + + const result = await service.create(resourceFeedbackDto); + expect(result).toEqual(resourceFeedbackDto); + expect(mockResourceFeedbackRepository.save).toHaveBeenCalledWith(resourceFeedbackDto); + }); + + it('should throw an HttpException when resource does not exist', async () => { + jest.spyOn(mockResourceService, 'findOne').mockResolvedValueOnce(null); + + await expect(service.create(resourceFeedbackDto)).rejects.toThrow( + new HttpException('RESOURCE NOT FOUND', HttpStatus.NOT_FOUND), + ); + }); + }); +}); diff --git a/src/webhooks/webhooks.service.spec.ts b/src/webhooks/webhooks.service.spec.ts index 30ef7ab5..4bb90413 100644 --- a/src/webhooks/webhooks.service.spec.ts +++ b/src/webhooks/webhooks.service.spec.ts @@ -28,6 +28,7 @@ import { mockCourseStoryblokResult, mockPartnerAccessEntity, mockResource, + mockResource2, mockResourceStoryblokResult, mockSession, mockSessionStoryblokResult, @@ -43,6 +44,7 @@ import { mockPartnerAccessRepositoryMethods, mockPartnerAdminRepositoryMethods, mockPartnerRepositoryMethods, + mockResourceRepositoryMethods, mockSessionRepositoryMethods, mockSlackMessageClientMethods, mockTherapySessionRepositoryMethods, @@ -85,7 +87,9 @@ describe('WebhooksService', () => { const mockedCoursePartnerService = createMock( mockCoursePartnerServiceMethods, ); - const mockedResourceRepository = createMock>(); + const mockedResourceRepository = createMock>( + mockResourceRepositoryMethods, + ); const mockedUserRepository = createMock>(mockUserRepositoryMethods); const mockedTherapySessionRepository = createMock>( mockTherapySessionRepositoryMethods, @@ -480,7 +484,7 @@ describe('WebhooksService', () => { expect(deletedResource.status).toBe(STORYBLOK_STORY_STATUS_ENUM.DELETED); }); - it.skip('should handle a new resource', async () => { + it('should handle a new resource', async () => { const resourceSaveRepoSpy = jest.spyOn(mockedResourceRepository, 'save'); const resourceFindOneRepoSpy = jest .spyOn(mockedResourceRepository, 'findOneBy') @@ -516,18 +520,18 @@ describe('WebhooksService', () => { expect(resource).toEqual(expectedResponse); expect(resourceSaveRepoSpy).toHaveBeenCalledWith(expectedResponse); expect(resourceFindOneRepoSpy).toHaveBeenCalledWith({ - storyblokUuid: mockResourceStoryblokResult.data.story.id, + storyblokUuid: mockResourceStoryblokResult.data.story.uuid, }); resourceSaveRepoSpy.mockClear(); resourceFindOneRepoSpy.mockClear(); }); - it.skip('should handle updating an existing resource', async () => { + it('should handle updating an existing resource', async () => { const resourceSaveRepoSpy = jest.spyOn(mockedResourceRepository, 'save'); const resourceFindOneRepoSpy = jest .spyOn(mockedResourceRepository, 'findOneBy') - .mockImplementationOnce(async () => mockResource); + .mockImplementationOnce(async () => mockResource2); const updatedMockResourceStoryblokResult = { ...mockResourceStoryblokResult }; const newName = 'New resource name'; @@ -552,6 +556,7 @@ describe('WebhooksService', () => { }; const expectedResponse = { + ...mockResource2, storyblokId: mockResourceStoryblokResult.data.story.id, storyblokUuid: mockResourceStoryblokResult.data.story.uuid, status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, @@ -565,7 +570,7 @@ describe('WebhooksService', () => { expect(updatedResource).toEqual(expectedResponse); expect(resourceSaveRepoSpy).toHaveBeenCalled(); expect(resourceFindOneRepoSpy).toHaveBeenCalledWith({ - storyblokUuid: mockResourceStoryblokResult.data.story.id, + storyblokUuid: mockResourceStoryblokResult.data.story.uuid, }); resourceSaveRepoSpy.mockClear(); diff --git a/src/webhooks/webhooks.service.ts b/src/webhooks/webhooks.service.ts index a48de2b6..2463bc59 100644 --- a/src/webhooks/webhooks.service.ts +++ b/src/webhooks/webhooks.service.ts @@ -263,7 +263,10 @@ export class WebhooksService { } } - private async updateOrCreateStory(storyData: ISbStoryData, status: STORYBLOK_STORY_STATUS_ENUM) { + private async updateOrCreateStoryData( + storyData: ISbStoryData, + status: STORYBLOK_STORY_STATUS_ENUM, + ) { const storyPageComponent = storyData.content.component as STORYBLOK_PAGE_COMPONENTS; const updatedStoryData = { @@ -349,9 +352,7 @@ export class WebhooksService { } } - async updateDeletedStory(story_id: number) { - const status = STORYBLOK_STORY_STATUS_ENUM.DELETED; - + async updateInactiveStoryStatus(story_id: number, status: STORYBLOK_STORY_STATUS_ENUM) { // Story is deleted so cant be fetched from storyblok to get story type // Try to find course with matching story_id first let course = await this.courseRepository.findOneBy({ @@ -394,12 +395,16 @@ export class WebhooksService { this.logger.log(`Storyblok story ${status} request - ${story_id}`); - if (status === STORYBLOK_STORY_STATUS_ENUM.DELETED) { - return this.updateDeletedStory(story_id); + if ( + status === STORYBLOK_STORY_STATUS_ENUM.UNPUBLISHED || + status === STORYBLOK_STORY_STATUS_ENUM.DELETED + ) { + // Story can't be retrieved from storyblok so we just update the status of existing records + return this.updateInactiveStoryStatus(story_id, status); } - // Story was either published, unpublished, or moved - // First get story data from storyblok + // Story was either published or moved + // Retrieve the story data from storyblok before handling the update/create let story: ISbStoryData; const Storyblok = new StoryblokClient({ @@ -422,6 +427,6 @@ export class WebhooksService { } // Create or update the resource/course/session record in our database - return this.updateOrCreateStory(story, status); + return this.updateOrCreateStoryData(story, status); } } diff --git a/test/utils/mockData.ts b/test/utils/mockData.ts index 7027e906..d6710e1f 100644 --- a/test/utils/mockData.ts +++ b/test/utils/mockData.ts @@ -90,7 +90,7 @@ export const mockResourceStoryblokResult = { created_at: '2022-05-05T11:29:10.888Z', published_at: '2022-05-19T16:32:44.502Z', id: 98765, - uuid: 'resourceUuid', + uuid: 'resourceUuid2', content: { _uid: '23456', name: 'Resource name 2', @@ -138,7 +138,7 @@ export const mockResource: ResourceEntity = { resourceUser: [], id: 'resourceId1', storyblokId: 123456, - storyblokUuid: 'resourceStoryblokUuid1', + storyblokUuid: 'resourceUuid1', slug: 'resources/shorts/resource-name', status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, name: 'Resource name', @@ -148,6 +148,20 @@ export const mockResource: ResourceEntity = { resourceFeedback: [], }; +export const mockResource2: ResourceEntity = { + id: 'resourceId2', + storyblokId: 98765, + storyblokUuid: 'resourceUuid2', + slug: 'resources/shorts/resource-name', + status: STORYBLOK_STORY_STATUS_ENUM.PUBLISHED, + name: 'Resource name 2', + category: RESOURCE_CATEGORIES.SHORT_VIDEO, + createdAt: new Date(100), + updatedAt: new Date(100), + resourceUser: [], + resourceFeedback: [], +}; + export const mockIFirebaseUser: IFirebaseUser = { iss: '', aud: '', From 0636a9ad235b2c07eca193d3191512eff62b1fe5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:14:19 +0000 Subject: [PATCH 17/24] chore(deps-dev): bump typescript-eslint from 8.11.0 to 8.17.0 (#725) Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.11.0 to 8.17.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.17.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 118 +++++++++++++++++++++++++-------------------------- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index 2db8bf30..08e6dad4 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.5.4", - "typescript-eslint": "^8.11.0" + "typescript-eslint": "^8.17.0" }, "engines": { "node": "20.x", diff --git a/yarn.lock b/yarn.lock index ebcb26bf..b21c7283 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1909,62 +1909,62 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz#c3f087d20715fa94310b30666c08b3349e0ab084" - integrity sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA== +"@typescript-eslint/eslint-plugin@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz#2ee073c421f4e81e02d10e731241664b6253b23c" + integrity sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.11.0" - "@typescript-eslint/type-utils" "8.11.0" - "@typescript-eslint/utils" "8.11.0" - "@typescript-eslint/visitor-keys" "8.11.0" + "@typescript-eslint/scope-manager" "8.17.0" + "@typescript-eslint/type-utils" "8.17.0" + "@typescript-eslint/utils" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.11.0.tgz#2ad1481388dc1c937f50b2d138c9ca57cc6c5cce" - integrity sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg== +"@typescript-eslint/parser@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.17.0.tgz#2ee972bb12fa69ac625b85813dc8d9a5a053ff52" + integrity sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg== dependencies: - "@typescript-eslint/scope-manager" "8.11.0" - "@typescript-eslint/types" "8.11.0" - "@typescript-eslint/typescript-estree" "8.11.0" - "@typescript-eslint/visitor-keys" "8.11.0" + "@typescript-eslint/scope-manager" "8.17.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/typescript-estree" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz#9d399ce624118966732824878bc9a83593a30405" - integrity sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ== +"@typescript-eslint/scope-manager@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz#a3f49bf3d4d27ff8d6b2ea099ba465ef4dbcaa3a" + integrity sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg== dependencies: - "@typescript-eslint/types" "8.11.0" - "@typescript-eslint/visitor-keys" "8.11.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" -"@typescript-eslint/type-utils@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz#b7f9e6120c1ddee8a1a07615646642ad85fc91b5" - integrity sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg== +"@typescript-eslint/type-utils@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz#d326569f498cdd0edf58d5bb6030b4ad914e63d3" + integrity sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw== dependencies: - "@typescript-eslint/typescript-estree" "8.11.0" - "@typescript-eslint/utils" "8.11.0" + "@typescript-eslint/typescript-estree" "8.17.0" + "@typescript-eslint/utils" "8.17.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.11.0.tgz#7c766250502097f49bbc2e651132e6bf489e20b8" - integrity sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw== +"@typescript-eslint/types@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.17.0.tgz#ef84c709ef8324e766878834970bea9a7e3b72cf" + integrity sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA== -"@typescript-eslint/typescript-estree@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz#35fe5d3636fc5727c52429393415412e552e222b" - integrity sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg== +"@typescript-eslint/typescript-estree@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz#40b5903bc929b1e8dd9c77db3cb52cfb199a2a34" + integrity sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw== dependencies: - "@typescript-eslint/types" "8.11.0" - "@typescript-eslint/visitor-keys" "8.11.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -1972,23 +1972,23 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.11.0.tgz#4480d1e9f2bb18ea3510c79f870a1aefc118103d" - integrity sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g== +"@typescript-eslint/utils@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.17.0.tgz#41c05105a2b6ab7592f513d2eeb2c2c0236d8908" + integrity sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.11.0" - "@typescript-eslint/types" "8.11.0" - "@typescript-eslint/typescript-estree" "8.11.0" + "@typescript-eslint/scope-manager" "8.17.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/typescript-estree" "8.17.0" -"@typescript-eslint/visitor-keys@8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz#273de1cbffe63d9f9cd7dfc20b5a5af66310cb92" - integrity sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw== +"@typescript-eslint/visitor-keys@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz#4dbcd0e28b9bf951f4293805bf34f98df45e1aa8" + integrity sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg== dependencies: - "@typescript-eslint/types" "8.11.0" - eslint-visitor-keys "^3.4.3" + "@typescript-eslint/types" "8.17.0" + eslint-visitor-keys "^4.2.0" "@tyriar/fibonacci-heap@^2.0.7": version "2.0.9" @@ -3313,7 +3313,7 @@ eslint-scope@^8.2.0: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.3.0: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== @@ -7101,14 +7101,14 @@ typeorm@^0.3.20: uuid "^9.0.0" yargs "^17.6.2" -typescript-eslint@^8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.11.0.tgz#74a0551972d675b4141672cec3acc5139b7399c0" - integrity sha512-cBRGnW3FSlxaYwU8KfAewxFK5uzeOAp0l2KebIlPDOT5olVi65KDG/yjBooPBG0kGW/HLkoz1c/iuBFehcS3IA== +typescript-eslint@^8.17.0: + version "8.17.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.17.0.tgz#fa4033c26b3b40f778287bc12918d985481b220b" + integrity sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA== dependencies: - "@typescript-eslint/eslint-plugin" "8.11.0" - "@typescript-eslint/parser" "8.11.0" - "@typescript-eslint/utils" "8.11.0" + "@typescript-eslint/eslint-plugin" "8.17.0" + "@typescript-eslint/parser" "8.17.0" + "@typescript-eslint/utils" "8.17.0" typescript@5.3.3: version "5.3.3" From ae1ce2bcf4bc3743f65d361000d9c10994a1c3dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:14:34 +0000 Subject: [PATCH 18/24] chore(deps): bump @nestjs/common from 10.4.12 to 10.4.13 (#723) Bumps [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) from 10.4.12 to 10.4.13. - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v10.4.13/packages/common) --- updated-dependencies: - dependency-name: "@nestjs/common" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 08e6dad4..78b69d9d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "dependencies": { "@mailchimp/mailchimp_marketing": "^3.0.80", "@nestjs/axios": "^3.0.3", - "@nestjs/common": "^10.4.12", + "@nestjs/common": "^10.4.13", "@nestjs/config": "^3.3.0", "@nestjs/core": "^10.4.4", "@nestjs/platform-express": "^10.4.12", diff --git a/yarn.lock b/yarn.lock index b21c7283..eae11e21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1267,10 +1267,10 @@ webpack "5.90.1" webpack-node-externals "3.0.0" -"@nestjs/common@^10.4.12": - version "10.4.12" - resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.4.12.tgz#9ba742e910df30c475b00132c6734c8bedaa6241" - integrity sha512-+aQw1d1cV9MtjSSCoXA2iZf+EBJANyjTC9d0j38bUAHhaPQinRlgM81F91DFYZoYcYVOY4hJd+DDYRFGoN7j7Q== +"@nestjs/common@^10.4.13": + version "10.4.13" + resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.4.13.tgz#e53fafaf084740ec3321f16ef6a3ffd597a62ddc" + integrity sha512-NVJ2UYMRdMkxCcwmoWP8xihpUyd1uqKR+7QqTF3m8aedufpZm8W6WbUmNkD1j/o9TxRzhKW43PemeSMigZj+Bw== dependencies: uid "2.0.2" iterare "1.2.1" From 9740ca37883dbc9ee5e2f3b92ed58f7f97685a46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:14:47 +0000 Subject: [PATCH 19/24] chore(deps): bump crisp-api from 9.2.0 to 9.4.0 (#724) Bumps [crisp-api](https://github.com/crisp-im/node-crisp-api) from 9.2.0 to 9.4.0. - [Changelog](https://github.com/crisp-im/node-crisp-api/blob/master/CHANGELOG.md) - [Commits](https://github.com/crisp-im/node-crisp-api/compare/v9.2.0...v9.4.0) --- updated-dependencies: - dependency-name: crisp-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 78b69d9d..f1f8de2d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "axios": "^1.7.7", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", - "crisp-api": "^9.2.0", + "crisp-api": "^9.4.0", "date-fns": "^3.6.0", "dotenv": "^16.4.5", "firebase": "^10.10.0", diff --git a/yarn.lock b/yarn.lock index eae11e21..5315a84f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2964,10 +2964,10 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -crisp-api@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/crisp-api/-/crisp-api-9.2.0.tgz#03c695dc82e55ed2e9019a6d289c401771763ce6" - integrity sha512-lbet95fu/4BbeTRZl0xZEuGdgmn8C4RbF71NC7sWDdX0Kl6hgWZwgHAdw2eCvb2HIEExdlHmkm9JG6173uptMg== +crisp-api@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/crisp-api/-/crisp-api-9.4.0.tgz#4389ba6fb903682d6eb865b95cc84cc73a0484d0" + integrity sha512-GK53Ge1HOOsIAQd3y6Jlu9iEMds5p0IjTh/GS66FCt4ncM1ypjN5TVjqtY26L7yB9jdXimCCWL6M6YVnZbr5xA== dependencies: fbemitter "github:crisp-dev/emitter#695f60594bdca0c876e5c232de57702ab3151b6f" got "11.8.5" From 078051237241f2b63f306623954c443d9c9913e9 Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Mon, 9 Dec 2024 17:45:30 +0000 Subject: [PATCH 20/24] fix: resource user routes (#726) --- src/entities/resource-feedback.entity.ts | 3 +- src/entities/resource-user.entity.ts | 4 +- src/entities/resource.entity.ts | 4 +- .../dtos/create-resource-user.dto.ts | 15 ---- src/resource-user/dtos/resource-user.dto.ts | 18 ++++ .../dtos/update-resource-user.dto.ts | 10 ++- src/resource-user/resource-user.controller.ts | 70 +++++++++------- src/resource-user/resource-user.module.ts | 2 + src/resource-user/resource-user.service.ts | 83 +++++++++++++++++-- src/resource/resource.interface.ts | 14 ++++ src/resource/resource.service.ts | 3 + .../dtos/create-session-user.dto.ts | 10 --- src/user/dtos/get-user.dto.ts | 2 + src/user/user.service.ts | 2 + src/utils/serialize.ts | 18 ++++ 15 files changed, 190 insertions(+), 68 deletions(-) delete mode 100644 src/resource-user/dtos/create-resource-user.dto.ts create mode 100644 src/resource-user/dtos/resource-user.dto.ts create mode 100644 src/resource/resource.interface.ts delete mode 100644 src/session-user/dtos/create-session-user.dto.ts diff --git a/src/entities/resource-feedback.entity.ts b/src/entities/resource-feedback.entity.ts index 2479daca..7eb91034 100644 --- a/src/entities/resource-feedback.entity.ts +++ b/src/entities/resource-feedback.entity.ts @@ -1,4 +1,4 @@ -import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { Column, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; import { FEEDBACK_TAGS_ENUM } from '../utils/constants'; import { BaseBloomEntity } from './base.entity'; import { ResourceEntity } from './resource.entity'; @@ -14,6 +14,7 @@ export class ResourceFeedbackEntity extends BaseBloomEntity { @ManyToOne(() => ResourceEntity, (resourceEntity) => resourceEntity.resourceFeedback, { onDelete: 'CASCADE', }) + @JoinTable({ name: 'resource', joinColumn: { name: 'resourceId' } }) resource: ResourceEntity; @Column() diff --git a/src/entities/resource-user.entity.ts b/src/entities/resource-user.entity.ts index cf3d284a..0c707a15 100644 --- a/src/entities/resource-user.entity.ts +++ b/src/entities/resource-user.entity.ts @@ -1,4 +1,4 @@ -import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { Column, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; import { BaseBloomEntity } from './base.entity'; import { ResourceEntity } from './resource.entity'; import { UserEntity } from './user.entity'; @@ -16,8 +16,10 @@ export class ResourceUserEntity extends BaseBloomEntity { @ManyToOne(() => ResourceEntity, (resourceEntity) => resourceEntity.resourceUser, { onDelete: 'CASCADE', }) + @JoinTable({ name: 'resource', joinColumn: { name: 'resourceId' } }) resource: ResourceEntity; @ManyToOne(() => UserEntity, (userEntity) => userEntity.resourceUser, { onDelete: 'CASCADE' }) + @JoinTable({ name: 'user', joinColumn: { name: 'userId' } }) user: UserEntity; } diff --git a/src/entities/resource.entity.ts b/src/entities/resource.entity.ts index 3699c03c..e0876c6a 100644 --- a/src/entities/resource.entity.ts +++ b/src/entities/resource.entity.ts @@ -1,4 +1,4 @@ -import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; +import { Column, Entity, JoinTable, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; import { RESOURCE_CATEGORIES, STORYBLOK_STORY_STATUS_ENUM } from '../utils/constants'; import { BaseBloomEntity } from './base.entity'; import { ResourceFeedbackEntity } from './resource-feedback.entity'; @@ -40,6 +40,7 @@ export class ResourceEntity extends BaseBloomEntity { @OneToMany(() => ResourceUserEntity, (resourceUserEntity) => resourceUserEntity.resource, { cascade: true, }) + @JoinTable({ name: 'resourceUser', joinColumn: { name: 'resourceUserId' } }) resourceUser: ResourceUserEntity[]; @OneToMany( @@ -49,5 +50,6 @@ export class ResourceEntity extends BaseBloomEntity { cascade: true, }, ) + @JoinTable({ name: 'resourceFeedback', joinColumn: { name: 'resourceFeedbackId' } }) resourceFeedback: ResourceFeedbackEntity[]; } diff --git a/src/resource-user/dtos/create-resource-user.dto.ts b/src/resource-user/dtos/create-resource-user.dto.ts deleted file mode 100644 index 67316fc2..00000000 --- a/src/resource-user/dtos/create-resource-user.dto.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { IsDate, IsNotEmpty, IsOptional, IsString } from 'class-validator'; - -export class CreateResourceUserDto { - @IsNotEmpty() - @IsString() - resourceId: string; - - @IsNotEmpty() - @IsString() - userId: string; - - @IsOptional() - @IsDate() - completedAt?: Date; -} diff --git a/src/resource-user/dtos/resource-user.dto.ts b/src/resource-user/dtos/resource-user.dto.ts new file mode 100644 index 00000000..b70f42e5 --- /dev/null +++ b/src/resource-user/dtos/resource-user.dto.ts @@ -0,0 +1,18 @@ +import { ApiProperty } from '@nestjs/swagger'; +import { IsBoolean, IsNotEmpty, IsString } from 'class-validator'; + +export class ResourceUserDto { + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + resourceId: string; + + @IsNotEmpty() + @IsString() + @ApiProperty({ type: String }) + userId: string; + + @IsBoolean() + @ApiProperty({ type: Date }) + completedAt?: Date; +} diff --git a/src/resource-user/dtos/update-resource-user.dto.ts b/src/resource-user/dtos/update-resource-user.dto.ts index c1f8cf36..8e8c6b8e 100644 --- a/src/resource-user/dtos/update-resource-user.dto.ts +++ b/src/resource-user/dtos/update-resource-user.dto.ts @@ -1,7 +1,9 @@ -import { IsDate, IsOptional } from 'class-validator'; +import { ApiProperty } from '@nestjs/swagger'; +import { IsDefined, IsNotEmpty } from 'class-validator'; export class UpdateResourceUserDto { - @IsOptional() - @IsDate() - completedAt?: Date; + @IsNotEmpty() + @IsDefined() + @ApiProperty({ type: Number }) + storyblokId: number; } diff --git a/src/resource-user/resource-user.controller.ts b/src/resource-user/resource-user.controller.ts index 0b61ef16..dbf9efc9 100644 --- a/src/resource-user/resource-user.controller.ts +++ b/src/resource-user/resource-user.controller.ts @@ -1,47 +1,61 @@ -import { - Body, - Controller, - HttpException, - Param, - Patch, - Post, - Req, - UseGuards, -} from '@nestjs/common'; -import { ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; -import { FirebaseAuthGuard } from 'src/firebase/firebase-auth.guard'; -import { CreateResourceUserDto } from './dtos/create-resource-user.dto'; +import { Body, Controller, Post, Req, UseGuards } from '@nestjs/common'; +import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger'; +import { Request } from 'express'; +import { ControllerDecorator } from 'src/utils/controller.decorator'; +import { UserEntity } from '../entities/user.entity'; +import { FirebaseAuthGuard } from '../firebase/firebase-auth.guard'; import { UpdateResourceUserDto } from './dtos/update-resource-user.dto'; import { ResourceUserService } from './resource-user.service'; -@Controller('v1/resource-user') +@ApiTags('Resource User') +@ControllerDecorator() +@Controller('/v1/resource-user') export class ResourceUserController { constructor(private readonly resourceUserService: ResourceUserService) {} @Post() @ApiBearerAuth('access-token') @ApiOperation({ - description: 'Updates resource_user table', + description: + 'Stores relationship between a `User` and `Resource` records, once a user has started a resource.', }) @UseGuards(FirebaseAuthGuard) - create(@Req() req: Request, @Body() createResourceUserDto: CreateResourceUserDto) { - if (req['userEntity'].id !== createResourceUserDto.userId) { - throw new HttpException('Unauthorized', 401); - } - return this.resourceUserService.create(createResourceUserDto); + async createResourceUser( + @Req() req: Request, + @Body() createResourceUserDto: UpdateResourceUserDto, + ) { + return await this.resourceUserService.createResourceUser( + req['userEntity'] as UserEntity, + createResourceUserDto, + ); } - @Patch(':id') + @Post('/complete') + @ApiOperation({ + description: 'Updates a users resources progress to completed', + }) @ApiBearerAuth('access-token') + @UseGuards(FirebaseAuthGuard) + async complete(@Req() req: Request, @Body() updateResourceUserDto: UpdateResourceUserDto) { + return await this.resourceUserService.setResourceUserCompleted( + req['userEntity'] as UserEntity, + updateResourceUserDto, + true, + ); + } + + @Post('/incomplete') @ApiOperation({ - description: 'Updates resource_user table', + description: + 'Updates a users resources progress to incomplete, undoing a previous complete action', }) + @ApiBearerAuth('access-token') @UseGuards(FirebaseAuthGuard) - update( - @Req() req: Request, - @Param('id') id: string, - @Body() updateResourceUserDto: UpdateResourceUserDto, - ) { - return this.resourceUserService.update(id, updateResourceUserDto); + async incomplete(@Req() req: Request, @Body() updateResourceUserDto: UpdateResourceUserDto) { + return await this.resourceUserService.setResourceUserCompleted( + req['userEntity'] as UserEntity, + updateResourceUserDto, + false, + ); } } diff --git a/src/resource-user/resource-user.module.ts b/src/resource-user/resource-user.module.ts index 4d4ef403..ef1fdf69 100644 --- a/src/resource-user/resource-user.module.ts +++ b/src/resource-user/resource-user.module.ts @@ -18,6 +18,7 @@ import { UserEntity } from 'src/entities/user.entity'; import { EventLoggerService } from 'src/event-logger/event-logger.service'; import { PartnerAccessService } from 'src/partner-access/partner-access.service'; import { PartnerService } from 'src/partner/partner.service'; +import { ResourceService } from 'src/resource/resource.service'; import { ServiceUserProfilesService } from 'src/service-user-profiles/service-user-profiles.service'; import { SubscriptionUserService } from 'src/subscription-user/subscription-user.service'; import { SubscriptionService } from 'src/subscription/subscription.service'; @@ -46,6 +47,7 @@ import { ResourceUserService } from './resource-user.service'; ], controllers: [ResourceUserController], providers: [ + ResourceService, ResourceUserService, UserService, PartnerAccessService, diff --git a/src/resource-user/resource-user.service.ts b/src/resource-user/resource-user.service.ts index 33b8a55b..bc5c6de4 100644 --- a/src/resource-user/resource-user.service.ts +++ b/src/resource-user/resource-user.service.ts @@ -1,8 +1,11 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { ResourceUserEntity } from 'src/entities/resource-user.entity'; +import { UserEntity } from 'src/entities/user.entity'; +import { ResourceService } from 'src/resource/resource.service'; +import { formatResourceUserObject } from 'src/utils/serialize'; import { Repository } from 'typeorm'; -import { CreateResourceUserDto } from './dtos/create-resource-user.dto'; +import { ResourceUserDto } from './dtos/resource-user.dto'; import { UpdateResourceUserDto } from './dtos/update-resource-user.dto'; @Injectable() @@ -10,21 +13,85 @@ export class ResourceUserService { constructor( @InjectRepository(ResourceUserEntity) private resourceUserRepository: Repository, + private resourceService: ResourceService, ) {} - create(createResourceUserDto: CreateResourceUserDto) { - return this.resourceUserRepository.save(createResourceUserDto); + private async getResourceUser({ + resourceId, + userId, + }: ResourceUserDto): Promise { + return await this.resourceUserRepository + .createQueryBuilder('resource_user') + .leftJoinAndSelect('resource_user.resource', 'resource') + .where('resource_user.userId = :userId', { userId }) + .andWhere('resource_user.resourceId = :resourceId', { resourceId }) + .getOne(); } - update(id: string, updateResourceUserDto: UpdateResourceUserDto) { - const resourceUser = this.resourceUserRepository.findOne({ where: { id } }); + async createResourceUserRecord({ + resourceId, + userId, + }: ResourceUserDto): Promise { + return await this.resourceUserRepository.save({ + resourceId, + userId, + completedAt: null, + }); + } + + public async createResourceUser(user: UserEntity, { storyblokId }: UpdateResourceUserDto) { + const resource = await this.resourceService.getResourceByStoryblokId(storyblokId); + + if (!resource) { + throw new HttpException('RESOURCE NOT FOUND', HttpStatus.NOT_FOUND); + } + + let resourceUser = await this.getResourceUser({ + resourceId: resource.id, + userId: user.id, + }); if (!resourceUser) { - throw new HttpException('RESOURCE USER NOT FOUND', HttpStatus.NOT_FOUND); + resourceUser = await this.createResourceUserRecord({ + resourceId: resource.id, + userId: user.id, + }); + } + + return formatResourceUserObject([{ ...resourceUser, resource }])[0]; + } + + public async setResourceUserCompleted( + user: UserEntity, + { storyblokId }: UpdateResourceUserDto, + completed: boolean, + ) { + const resource = await this.resourceService.getResourceByStoryblokId(storyblokId); + + if (!resource) { + throw new HttpException( + `Resource not found for storyblok id: ${storyblokId}`, + HttpStatus.NOT_FOUND, + ); } - const updatedResourceUser = { ...resourceUser, ...updateResourceUserDto }; + let resourceUser = await this.getResourceUser({ + resourceId: resource.id, + userId: user.id, + }); + + if (resourceUser) { + await this.resourceUserRepository.save({ + ...resourceUser, + completedAt: completed ? new Date() : null, + }); + } else { + resourceUser = await this.createResourceUserRecord({ + resourceId: resource.id, + userId: user.id, + }); + } - return this.resourceUserRepository.save(updatedResourceUser); + return formatResourceUserObject([{ ...resourceUser, resource }])[0]; } } diff --git a/src/resource/resource.interface.ts b/src/resource/resource.interface.ts new file mode 100644 index 00000000..169ee489 --- /dev/null +++ b/src/resource/resource.interface.ts @@ -0,0 +1,14 @@ +import { RESOURCE_CATEGORIES, STORYBLOK_STORY_STATUS_ENUM } from 'src/utils/constants'; + +export interface IResource { + id?: string; + createdAt?: Date | string; + updatedAt?: Date | string; + name?: string; + slug?: string; + status?: STORYBLOK_STORY_STATUS_ENUM; + storyblokId?: number; + storyblokUuid?: string; + category?: RESOURCE_CATEGORIES; + completedAt?: Date | string; +} diff --git a/src/resource/resource.service.ts b/src/resource/resource.service.ts index cd3eb71e..e881da38 100644 --- a/src/resource/resource.service.ts +++ b/src/resource/resource.service.ts @@ -20,4 +20,7 @@ export class ResourceService { async create(createResourceDto: CreateResourceDto): Promise { return this.resourceRepository.save(createResourceDto); } + async getResourceByStoryblokId(storyblokId: number): Promise { + return await this.resourceRepository.findOneBy({ storyblokId: storyblokId }); + } } diff --git a/src/session-user/dtos/create-session-user.dto.ts b/src/session-user/dtos/create-session-user.dto.ts deleted file mode 100644 index 60676928..00000000 --- a/src/session-user/dtos/create-session-user.dto.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ApiProperty } from '@nestjs/swagger'; -import { IsDefined, IsNotEmpty, IsString } from 'class-validator'; - -export class CreateSessionUserDto { - @IsString() - @IsNotEmpty() - @IsDefined() - @ApiProperty({ type: String }) - sessionId: string; -} diff --git a/src/user/dtos/get-user.dto.ts b/src/user/dtos/get-user.dto.ts index 6aecbb85..f534942c 100644 --- a/src/user/dtos/get-user.dto.ts +++ b/src/user/dtos/get-user.dto.ts @@ -1,4 +1,5 @@ import { ICoursesWithSessions } from 'src/course/course.interface'; +import { IResource } from 'src/resource/resource.interface'; import { ITherapySession } from 'src/webhooks/webhooks.interface'; import { IPartnerAccessWithPartner } from '../../partner-access/partner-access.interface'; import { IPartnerAdminWithPartner } from '../../partner-admin/partner-admin.interface'; @@ -10,6 +11,7 @@ export class GetUserDto { partnerAccesses?: IPartnerAccessWithPartner[]; partnerAdmin?: IPartnerAdminWithPartner; courses?: ICoursesWithSessions[]; + resources?: IResource[]; therapySessions?: ITherapySession[]; subscriptions?: ISubscriptionUser[]; } diff --git a/src/user/user.service.ts b/src/user/user.service.ts index 95ba8f76..16758b6a 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -142,6 +142,8 @@ export class UserService { .leftJoinAndSelect('courseUser.course', 'course') .leftJoinAndSelect('courseUser.sessionUser', 'sessionUser') .leftJoinAndSelect('sessionUser.session', 'session') + .leftJoinAndSelect('user.resourceUser', 'resourceUser') + .leftJoinAndSelect('resourceUser.resource', 'resource') .leftJoinAndSelect('user.subscriptionUser', 'subscriptionUser') .leftJoinAndSelect('subscriptionUser.subscription', 'subscription') .where('user.id = :id', { id }) diff --git a/src/utils/serialize.ts b/src/utils/serialize.ts index a97e4dc8..0d8f31b6 100644 --- a/src/utils/serialize.ts +++ b/src/utils/serialize.ts @@ -1,5 +1,6 @@ import { PartnerAdminEntity } from 'src/entities/partner-admin.entity'; import { PartnerEntity } from 'src/entities/partner.entity'; +import { ResourceUserEntity } from 'src/entities/resource-user.entity'; import { IPartnerFeature } from 'src/partner-feature/partner-feature.interface'; import { IPartner } from 'src/partner/partner.interface'; import { GetSubscriptionUserDto } from 'src/subscription-user/dto/get-subscription-user.dto'; @@ -43,6 +44,22 @@ export const formatCourseUserObject = (courseUser: CourseUserEntity) => { }; }; +export const formatResourceUserObject = (resourceUsers: ResourceUserEntity[]) => { + return resourceUsers.map((resourceUser) => { + return { + id: resourceUser.resource.id, + createdAt: resourceUser.createdAt, + updatedAt: resourceUser.updatedAt, + name: resourceUser.resource.name, + slug: resourceUser.resource.slug, + status: resourceUser.resource.status, + storyblokId: resourceUser.resource.storyblokId, + storyblokUuid: resourceUser.resource.storyblokUuid, + completed: !!resourceUser.completedAt, // convert to boolean from data populated + }; + }); +}; + export const formatPartnerAdminObjects = (partnerAdminObject: PartnerAdminEntity) => { return { id: partnerAdminObject.id, @@ -113,6 +130,7 @@ export const formatUserObject = (userObject: UserEntity): GetUserDto => { ? formatPartnerAdminObjects(userObject.partnerAdmin) : null, courses: userObject.courseUser ? formatCourseUserObjects(userObject.courseUser) : [], + resources: userObject.resourceUser ? formatResourceUserObject(userObject.resourceUser) : [], subscriptions: userObject.subscriptionUser && userObject.subscriptionUser.length > 0 ? formatSubscriptionObjects(userObject.subscriptionUser) From 98edd5a6e584471f83af6c8ccaf3b71997f0c964 Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Tue, 10 Dec 2024 17:49:23 +0000 Subject: [PATCH 21/24] fix: resources relationships (#728) --- src/entities/resource-user.entity.ts | 4 ++ src/migrations/1733850090811-bloom-backend.ts | 39 +++++++++++++++++++ src/typeorm.config.ts | 2 + 3 files changed, 45 insertions(+) create mode 100644 src/migrations/1733850090811-bloom-backend.ts diff --git a/src/entities/resource-user.entity.ts b/src/entities/resource-user.entity.ts index 0c707a15..bb5dca88 100644 --- a/src/entities/resource-user.entity.ts +++ b/src/entities/resource-user.entity.ts @@ -13,12 +13,16 @@ export class ResourceUserEntity extends BaseBloomEntity { @Column({ type: 'date', nullable: true }) completedAt: Date; + @Column() + resourceId: string; @ManyToOne(() => ResourceEntity, (resourceEntity) => resourceEntity.resourceUser, { onDelete: 'CASCADE', }) @JoinTable({ name: 'resource', joinColumn: { name: 'resourceId' } }) resource: ResourceEntity; + @Column() + userId: string; @ManyToOne(() => UserEntity, (userEntity) => userEntity.resourceUser, { onDelete: 'CASCADE' }) @JoinTable({ name: 'user', joinColumn: { name: 'userId' } }) user: UserEntity; diff --git a/src/migrations/1733850090811-bloom-backend.ts b/src/migrations/1733850090811-bloom-backend.ts new file mode 100644 index 00000000..2b92ecdc --- /dev/null +++ b/src/migrations/1733850090811-bloom-backend.ts @@ -0,0 +1,39 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class BloomBackend1733850090811 implements MigrationInterface { + name = 'BloomBackend1733850090811'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "resource_user" DROP CONSTRAINT "FK_774b61a463074cee88e57685925"`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" DROP CONSTRAINT "FK_ea89e3c7f0126d7e9d02308c2ca"`, + ); + await queryRunner.query(`ALTER TABLE "resource_user" ALTER COLUMN "resourceId" SET NOT NULL`); + await queryRunner.query(`ALTER TABLE "resource_user" ALTER COLUMN "userId" SET NOT NULL`); + await queryRunner.query( + `ALTER TABLE "resource_user" ADD CONSTRAINT "FK_774b61a463074cee88e57685925" FOREIGN KEY ("resourceId") REFERENCES "resource"("resourceId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" ADD CONSTRAINT "FK_ea89e3c7f0126d7e9d02308c2ca" FOREIGN KEY ("userId") REFERENCES "user"("userId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "resource_user" DROP CONSTRAINT "FK_ea89e3c7f0126d7e9d02308c2ca"`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" DROP CONSTRAINT "FK_774b61a463074cee88e57685925"`, + ); + await queryRunner.query(`ALTER TABLE "resource_user" ALTER COLUMN "userId" DROP NOT NULL`); + await queryRunner.query(`ALTER TABLE "resource_user" ALTER COLUMN "resourceId" DROP NOT NULL`); + await queryRunner.query( + `ALTER TABLE "resource_user" ADD CONSTRAINT "FK_ea89e3c7f0126d7e9d02308c2ca" FOREIGN KEY ("userId") REFERENCES "user"("userId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "resource_user" ADD CONSTRAINT "FK_774b61a463074cee88e57685925" FOREIGN KEY ("resourceId") REFERENCES "resource"("resourceId") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + } +} diff --git a/src/typeorm.config.ts b/src/typeorm.config.ts index 2f9600d8..60e3cd2d 100644 --- a/src/typeorm.config.ts +++ b/src/typeorm.config.ts @@ -53,6 +53,7 @@ import { BloomBackend1718728423454 } from './migrations/1718728423454-bloom-back import { BloomBackend1719668310816 } from './migrations/1719668310816-bloom-backend'; import { BloomBackend1722295564731 } from './migrations/1722295564731-bloom-backend'; import { BloomBackend1733160378757 } from './migrations/1733160378757-bloom-backend'; +import { BloomBackend1733850090811 } from './migrations/1733850090811-bloom-backend'; config(); const configService = new ConfigService(); @@ -128,6 +129,7 @@ export const dataSourceOptions = { BloomBackend1719668310816, BloomBackend1722295564731, BloomBackend1733160378757, + BloomBackend1733850090811, ], subscribers: [], ssl: isProduction || isStaging, From e6d1cb98ec3e5ff728c0b8e1adb540cbacc8a5e6 Mon Sep 17 00:00:00 2001 From: Anna Hughes Date: Tue, 17 Dec 2024 20:03:37 +0000 Subject: [PATCH 22/24] fix: return saved resource user (#732) --- src/resource-user/resource-user.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resource-user/resource-user.service.ts b/src/resource-user/resource-user.service.ts index bc5c6de4..d89532d3 100644 --- a/src/resource-user/resource-user.service.ts +++ b/src/resource-user/resource-user.service.ts @@ -81,7 +81,7 @@ export class ResourceUserService { }); if (resourceUser) { - await this.resourceUserRepository.save({ + resourceUser = await this.resourceUserRepository.save({ ...resourceUser, completedAt: completed ? new Date() : null, }); From 2f2c906f4052b67f140f68345875eac6b5e36cb7 Mon Sep 17 00:00:00 2001 From: Kylee Fields <43586156+kyleecodes@users.noreply.github.com> Date: Thu, 19 Dec 2024 22:25:11 -0500 Subject: [PATCH 23/24] Docs: Replace Notion with GH Wiki & Refactor (#733) --- README.md | 261 ++++---------------------------------- docs/configure-env.md | 63 +++++++++ docs/data-architecture.md | 33 ----- docs/database-guide.md | 106 ++++++++++++++++ docs/database_models.jpg | Bin 82764 -> 0 bytes docs/database_schema.png | Bin 619258 -> 0 bytes docs/key-concepts.md | 28 ---- docs/local-development.md | 160 +++++++++++++++++++++++ 8 files changed, 351 insertions(+), 300 deletions(-) create mode 100644 docs/configure-env.md delete mode 100644 docs/data-architecture.md create mode 100644 docs/database-guide.md delete mode 100644 docs/database_models.jpg delete mode 100644 docs/database_schema.png delete mode 100644 docs/key-concepts.md create mode 100644 docs/local-development.md diff --git a/README.md b/README.md index a2631ddc..665e7317 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,27 @@ -# Bloom by Chayn +# Welcome to Bloom [![Bloom Backend CI Pipeline](https://github.com/chaynHQ/bloom-backend/actions/workflows/.ci.yml/badge.svg)](https://github.com/chaynHQ/bloom-backend/actions/workflows/.ci.yml) -Bloom is a remote trauma support service from [Chayn](https://www.chayn.co/about), a global, award-winning charity designing open-source tools to support the healing of survivors across the world. Since 2013, Chayn has reached over 500,000 survivors worldwide with our trauma-informed, survivor-centred, and intersectional approaches in utilizing tech for social impact. Bloom is our flagship product; a free, web-based, secure support service designed to aid in the healing of survivors. Through a combination of online video-based courses, anonymous interaction, and 1:1 chat, Bloom provides tailored information, self-help guidance, everyday tools, and comfort to cope with traumatic events. +[Bloom](https://bloom.chayn.co/) is a free, secure, and web-based trauma healing support service from [Chayn](https://www.chayn.co/about). Since 2013, Chayn has reached over 500,000 survivors worldwide with our trauma-informed, survivor-centred, and intersectional approaches in utilizing open-source tech for positive social impact. Bloom is our flagship product — providing tailored video-based courses, anonymous interaction, 1:1 chat, self-led healing guidance, everyday tools, and comfort to cope with traumatic events. Explore Chayn's [website](https://www.chayn.co/about), [research](https://org.chayn.co/research), [resources](https://www.chayn.co/resources), [projects](https://org.chayn.co/projects), [impact](https://org.chayn.co/impact), and [support services directory](https://www.chayn.co/global-directory). 💖 -## Support Our Work +## Key Features: -Chayn is proudly open-source and built with volunteer contributions. We are grateful for the generosity of the open-source community and aim to provide a fulfilling experience for open-source developers. +Chayn's Bloom service offers several key features designed to support individuals on their healing journey: -**Please give this repository a star ⭐ and follow our GitHub profile 🙏 to help us grow our open-source community and find more contributors like you!** +- **Free and Anonymous:** Bloom is a free service that ensures anonymity for its users. +- **Self-Paced Activities and Exploration:** Users can explore all resources and activities at their own pace. +- **Multi-lingual Support:** All features are available in multiple languages including Spanish, Hindi, French, English, Portuguese, and German. +- **Online Video Courses:** Provides healing educational video courses. +- **1-to-1 Messaging:** Secure messaging service to share reflections, feelings, and questions with Chayn therapists. +- **Supportive Messaging:** Receive tailored supportive messaging from Chayn through Whatsapp. -Support our mission further by [sponsoring us on GitHub](https://github.com/sponsors/chaynHQ), exploring our [volunteer programs](https://www.chayn.co/get-involved), and following Chayn on social media: - Linktree: [https://linktr.ee/chayn](https://linktr.ee/chayn) - Twitter: [@chaynhq](https://twitter.com/ChaynHQ) - Instagram: [@chaynhq](https://www.instagram.com/chaynhq/) - Youtube: [@chaynhq](https://www.youtube.com/@chaynhq) - Facebook: [@chayn](https://www.facebook.com/chayn) - LinkedIn: [@chayn](https://www.linkedin.com/company/chayn). +## Bloom Backend Technical Documentation -# Bloom Backend Contribution Docs: +Read our [Bloom Backend Technical Wiki Docs](https://github.com/chaynHQ/bloom-backend/wiki/Key-Concepts-and-Architecture) for overviews of key concepts and data & database architecture. -By making an open-source contribution to Chayn, you have agreed to our [Code of Conduct](/CODE_OF_CONDUCT.md). - -Happy coding! ⭐ - -## Technologies Used: - -Visit the [/docs directory](https://github.com/chaynHQ/bloom-backend/tree/develop/docs) for an overview of Bloom's backend architecture and key concepts. +Technologies Used: - [NestJS](https://nestjs.com/) - NodeJs framework for building scalable and reliable server-side applications - [PostgreSQL](https://www.postgresql.org/about/) - Object-relational SQL database system @@ -41,238 +40,22 @@ Visit the [/docs directory](https://github.com/chaynHQ/bloom-backend/tree/develo ## Local development -### Summary - -To run Bloom's backend: install prerequisites, configure environment variables, install dependencies, then run in a Dev Container, with Docker, or manually. - -Most contributions (and running Cypress integration tests from the frontend) require [populating your local database](#populate-database) with test data. - -### Prerequisites - -- NodeJS v20.x -- Yarn v1.x -- Docker -- PostgreSQL 16 -- Read [Contribution Guidelines](/CONTRIBUTING.md) - -### Configure Environment Variables - -Create a new `.env` file and fill it with the **required** environment variables: - -``` -# Variables for building and running tests. -# Provided variables are read-only and subject to change. -#=============================================================== -# REQUIRED VARIABLES FOR LOCAL DEVELOPMENT -#--------------------------------------------------------------- -# CORE ENVIRONMENT VARIABLES -PORT=35001 -DATABASE_URL=postgres://:@:/ -NODE_ENV=development - -# FIREBASE AUTH AND ANALYTICS -FIREBASE_TYPE=service_account -FIREBASE_PROJECT_ID= -FIREBASE_PRIVATE_KEY_ID= -FIREBASE_PRIVATE_KEY= -FIREBASE_CLIENT_EMAIL= -FIREBASE_CLIENT_ID= -FIREBASE_AUTH_URI=https://accounts.google.com/o/oauth2/auth -FIREBASE_TOKEN_URI=https://oauth2.googleapis.com/token -FIREBASE_CERT_URL=https://www.googleapis.com/oauth2/v1/certs -FIREBASE_CLIENT_CERT= -FIREBASE_API_KEY= -FIREBASE_AUTH_DOMAIN= -FIREBASE_PROJECT_ID= -FIREBASE_STORAGE_BUCKET= -FIREBASE_MESSAGING_SENDER_ID= -FIREBASE_API_ID= -FIREBASE_MEASUREMENT_ID= - -# REQUIRED VARIABLES FOR TESTING -#--------------------------------------------------------------- -# MOCK VALUES (can replace with real values or new mocks in same format) -SIMPLYBOOK_CREDENTIALS='{"login":"testlogin","password":"testpassword","company":"testcompany"}' -SIMPLYBOOK_COMPANY_NAME=testcompany - -# OPTIONAL VARIABLES -#--------------------------------------------------------------- -ROLLBAR_ENV=development # Rollbar logging -ROLLBAR_TOKEN= # Rollbar logging -ZAPIER_TOKEN= # Zapier automation -SLACK_WEBHOOK_URL= # Slack messaging bots -CRISP_TOKEN= # Crisp chat -MAILCHIMP_API_KEY= # Email messaging -RESPOND_IO_CREATE_CONTACT_WEBHOOK= # RESPOND.IO -RESPOND_IO_DELETE_CONTACT_WEBHOOK= # RESPOND.IO -``` - -#### How to Configure Firebase Variables: - -Bloom's required Firebase variables are obtained by creating a Firebase project, then generating a private key file in JSON format. First, create a Firebase project [in the Firebase console here](https://firebase.google.com/) (Google account required). Next, [follow these directions](https://firebase.google.com/docs/cloud-messaging/auth-server#provide-credentials-manually) to generate your private key file. - -### Install dependencies with yarn - -```bash -yarn -``` - -### Run in Docker - Recommended - -Bloom's backend is containerized and can be run solely in Docker - both the PostgreSQL database and NestJS app. To run the backend locally, make sure your system has Docker installed - you may need Docker Desktop if using a Mac or Windows. - -First, make sure the Docker app is running (just open the app). Then run - -```bash -docker-compose up -``` - -You should see this in the shell output: - -```shell -Listening on localhost:35001, CTRL+C to stop -``` - -_Note: you can use an application like Postman to test the apis locally_ - -### Run in Dev Container - Recommended for Visual Studio Users - -This method will automatically install all dependencies, IDE settings, and postgres container in a Dev Container (Docker container) within Visual Studio Code. - -Directions for running a dev container: - -1. Meet the [system requirements](https://code.visualstudio.com/docs/devcontainers/containers#_system-requirements) -2. Follow the [installation instructions](https://code.visualstudio.com/docs/devcontainers/containers#_installation) -3. [Check the installation](https://code.visualstudio.com/docs/devcontainers/tutorial#_check-installation) -4. After you've verified that the extension is installed and working, click on the "Remote Status" bar icon and select - "Reopen in Container". From here, the option to "Re-open in Container" should pop up in notifications whenever opening this project in VS. -5. [Configure your environment variables](#configure-environment-variables) and develop as you normally would. - -The dev Container is configured in the `.devcontainer` directory: - -- `docker-compose.yml` file in this directory extends the `docker-compose.yml` in the root directory. -- `devcontainer.json` configures the integrations with Visual Studio Code, such as the IDE extensions and settings in the `vscode` directory. - -See [Visual Studio Code Docs: Developing Inside a Dev Container](https://code.visualstudio.com/docs/devcontainers/containers) for more info. - -### Run Manually - -Manage postgres locally to [populate the database](#populate-database), then run: - -```bash -yarn start:dev -``` - -You should see this in the shell output: - -```shell -Listening on localhost:35001, CTRL+C to stop -``` +Making an open-source contribution you have agreed to our [Code of Conduct](/CODE_OF_CONDUCT.md). -### Unit Testing +- See [docs/local-development.md](docs/local-development.md) to get started. +- New contributors should start with our [Contribution Guidelines](CONTRIBUTING.md). -To run all unit tests - -```bash -yarn test -``` - -To have your unit tests running in the background as you change code: - -```bash -yarn test:watch -``` - -### Format and Linting - -Linting and formatting are provided by [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/). We recommend VSCode users to utilize the workspace settings in [.vscode/settings.json](.vscode/settings.json) and install the extensions in [.vscode/extensions](.vscode/extensions.json) for automated consistency. - -**We strongly recommend maintaining consistent code style by linting and formatting before every commit:** - -To run linting - -```bash -yarn lint -``` - -To lint and fix - -```bash -yarn lint:fix -``` - -Run format and fix: - -```bash -yarn format -``` - -### Populate Database - -Most open-source contributions (like running Cypress integration tests from the frontend) require adding test data to your local database. To do this, navigate to our [Chayn Tech Wiki Guide](https://www.notion.so/chayn/Chayn-Tech-Contributor-Wiki-5356c7118c134863a2e092e9df6cbc34?pvs=4#eb2e24de94bd451f8683abe496656013) to obtain a backup file and follow directions there to populate your local database. - -Chayn staff with access to Heroku, you also have the option to seed the database via the following script. Before you start, make sure: - -1. bloom-local-db container is running in Docker -2. you are logged into the Heroku via your terminal. Read more about the Heroku Cli [here](https://devcenter.heroku.com/articles/heroku-cli) -3. Replace with the correct Heroku app name in the `seed-local-db.sh file` -4. Run `chmod +x ./seed-local-db.sh` in your terminal to make the file executable - - After the above has been confirmed, run - - ```bash - bash seed-local-db.sh - ``` - -### Database Migrations - -A migration in TypeORM is a single file with SQL queries to update a database schema as updates/additions are made. Read more about migrations [here](https://github.com/typeorm/typeorm/blob/master/docs/migrations.md). - -Migrations are automatically run when the app is built docker (locally) or Heroku for staging and production apps. - -**You'll need to generate and run a migration each time you add or update a database field or table.** - -To generate a new migration - -```bash -yarn migration:generate -``` - -Add the new migration import into [typeorm.config.ts](./src/typeorm.config.ts) - -To run (apply) migrations - -```bash -yarn migration:run -``` - -To revert a migration - -```bash -yarn migration:revert -``` - -Note that when running the app in Docker, you may need to run migration commands from the docker terminal/Exec - -**New environment variables must be added to Heroku before release.** - -## Git Flow and Deployment - -**The develop branch is our source of truth, not main.** - -Create new branches from the `develop` base branch. There is no need to run the build command before pushing changes to GitHub, simply push and create a pull request for the new branch. GitHub Actions will run build and linting tasks automatically. Rebase and merge feature/bug branches into `develop`. - -This will trigger an automatic deployment to the staging app by Heroku. +Happy coding! ⭐ -When changes have been tested in staging, merge `develop` into `main`. This will trigger an automatic deployment to the production app by Heroku. +# Support Our Work -## Swagger +Chayn is proudly open-source and built with volunteer contributions. We are grateful for the generosity of the open-source community. -Swagger automatically reflects all of the endpoints in the app, showing their urls and example request and response objects. +**Please consider giving this repository a star ⭐ and follow our GitHub profile to help us grow our open-source community and find more contributors like you!** -To access Swagger simply run the project and visit http://localhost:35001/swagger +Support our mission further by [sponsoring us on GitHub](https://github.com/sponsors/chaynHQ), exploring [our volunteer programs](), and following us on [social media](https://linktr.ee/chayn). -## License +# Licence Bloom and all of Chayn's projects are open source. The core tech stack included here is open source however some external integrations used in the project require subscriptions. diff --git a/docs/configure-env.md b/docs/configure-env.md new file mode 100644 index 00000000..09b2fae5 --- /dev/null +++ b/docs/configure-env.md @@ -0,0 +1,63 @@ +## Configure Environment Variables + +Create a new `.env` file and fill it with the **required** environment variables: + +``` +# Variables for building and running tests. +# Provided variables are read-only and subject to change. +#=============================================================== +# REQUIRED VARIABLES FOR LOCAL DEVELOPMENT +#--------------------------------------------------------------- +# CORE ENVIRONMENT VARIABLES +PORT=35001 +DATABASE_URL=postgres://:@:/ +NODE_ENV=development + +# FIREBASE AUTH AND ANALYTICS +FIREBASE_TYPE=service_account +FIREBASE_PROJECT_ID= +FIREBASE_PRIVATE_KEY_ID= +FIREBASE_PRIVATE_KEY= +FIREBASE_CLIENT_EMAIL= +FIREBASE_CLIENT_ID= +FIREBASE_AUTH_URI=https://accounts.google.com/o/oauth2/auth +FIREBASE_TOKEN_URI=https://oauth2.googleapis.com/token +FIREBASE_CERT_URL=https://www.googleapis.com/oauth2/v1/certs +FIREBASE_CLIENT_CERT= +FIREBASE_API_KEY= +FIREBASE_AUTH_DOMAIN= +FIREBASE_PROJECT_ID= +FIREBASE_STORAGE_BUCKET= +FIREBASE_MESSAGING_SENDER_ID= +FIREBASE_API_ID= +FIREBASE_MEASUREMENT_ID= + +# REQUIRED VARIABLES FOR TESTING +#--------------------------------------------------------------- +# MOCK VALUES (can replace with real values or new mocks in same format) +SIMPLYBOOK_CREDENTIALS='{"login":"testlogin","password":"testpassword","company":"testcompany"}' +SIMPLYBOOK_COMPANY_NAME=testcompany + +# OPTIONAL VARIABLES +#--------------------------------------------------------------- +ROLLBAR_ENV=development # Rollbar logging +ROLLBAR_TOKEN= # Rollbar logging +ZAPIER_TOKEN= # Zapier automation +SLACK_WEBHOOK_URL= # Slack messaging bots +CRISP_TOKEN= # Crisp chat +MAILCHIMP_API_KEY= # Email messaging +RESPOND_IO_CREATE_CONTACT_WEBHOOK= # RESPOND.IO +RESPOND_IO_DELETE_CONTACT_WEBHOOK= # RESPOND.IO +``` + +## How to Configure Variables: + +The Firebase environment variables for Bloom’s frontend and backend are configured by [creating a project in the Firebase console](https://firebase.google.com/) (Google account is required). Ensure the toggle is turned on to enable Google Analytics as it is required for the `NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID` + +For `FIREBASE_PRIVATE_KEY_ID`, follow [these directions](https://firebase.google.com/docs/cloud-messaging/auth-server#provide-credentials-manually) to generate a private key file in JSON format. + +The frontend and backend each have _required_ and _optional_ environment variables. Required variables are necessary for local development, and optional variables are for specific features. + +Note: Variables provided by Chayn are public, not linked to production, and subject to change at any time. Check for updates if you are experiencing problems. The absence of some optional environment variables may result in test failures. If you require an optional environment variable and cannot acquire it yourself (some must be connected to Chayn in some way), please reach out to the team in GitHub’s issue discussions. + +**Please notify us if creating new environment variables in your PR so we can add it to Heroku before release deployment.** diff --git a/docs/data-architecture.md b/docs/data-architecture.md deleted file mode 100644 index f83fefb7..00000000 --- a/docs/data-architecture.md +++ /dev/null @@ -1,33 +0,0 @@ -## Database models - -![Database models](database_models.jpg 'Database models') - -**User** -Stores basic profile data for a user and relationships. - -**Partner** -Stores basic profile data for a partner and relationships. - -**Partner Admin** -Stores relationship between a partner and a user, and the partner access records created by the partner admin. - -**Partner Access** -Stores the features assigned for a user by a partner. When a partner access record is created by a partner admin user, it is initially unassigned but the unique code generated will be shared with the user. When the user registers using this code, the partner access will be assigned/related to the user, granting them access to extra features. See `assignPartnerAccess`. Currently there are "tiers" of access determined by the frontend, however if future partners want different features for their users, settings for their features/tiers should be added to the `Partner` model. - -**Therapy Session** -Stores data related to therapy sessions booked via Simplybook, copying the session time and details about the therapist etc. The duplication of data here (vs leaving it in Simplybook) was made to allow therapy reporting to be included in Data Studio. This model also allows for displaying therapy session data on the frontend. Populated by Simplybook -> Zapier webhooks. - -**Course** -Stores data related to courses in Storyblok, copying the story id's. The `Course` records allow us to relate users to courses (via `CourseUser`) and a `Course` to `Session` records, which is required e.g. to check if a user completed a course. The slug and name etc are also stored for convenience, e.g. to be used in reporting. Populated and updated by Storyblok webhooks when course stories are published. - -**Session** -Stores data related to courses in Storyblok, copying the story id's. The `Session` records allow us to relate users to sessions (via `SessionUser`). The slug and name etc are also stored for convenience, e.g. to be used in reporting. Populated and updated by Storyblok webhooks when course stories are published. - -**CourseUser** -Stores relationship between a `User` and `Course` records, once a user has started a course. A users progress (`completed`) for the course is updated (`true`) when all related `SessionUser` records are `completed` for the related `Course`. - -**SessionUser** -Stores relationship between a `User` and `Session` records, once a user has started a session. A users session progress (`completed`) for the session is updated (true) when the `/complete` endpoint is called. - -## Database Schema -![Database schema](database_schema.png) diff --git a/docs/database-guide.md b/docs/database-guide.md new file mode 100644 index 00000000..d0b073bd --- /dev/null +++ b/docs/database-guide.md @@ -0,0 +1,106 @@ +# Bloom Backend Database Guide + +## How to Populate the Database + +### Summary + +Most open-source contributions (like running Cypress integration tests from the frontend) require adding test data to your local database. To do this, download Bloom's test data dump file, connect to the database server, then populate the database with the backup data. + +### Download Test Data Dump File + +Download the test data dump file [linked here from our Google Drive](https://drive.google.com/file/d/1y6KJpAlpozEg3GqhK8JRdmK-s7uzJXtB/view?usp=drive_link). + +### Connect to Server and Add Data + +There are multiple methods you can use here. For simplicity, these directions assume you are using Docker. + +Run the following command to restore the database from the dump file using pg_restore: + +``` +docker exec -i pg_restore -U -d --clean --if-exists < +``` + +`container_name`, `username`, and `database_name` are defined in the `docker-compose.yml` file under ‘db’. + +Start the bloom psql database server: + +``` +docker exec -it psql -U -d +``` + +This will open the psql server for bloom, where you can run queries to verify the restore. + +You can verify the restore by running a SQL query to test if one of our test user's data has been properly populated into the database: + +``` +SELECT * FROM public."user" users WHERE users."email" = 'tech+cypresspublic@chayn.co'; +``` + +If the user exists, the database has successfully been seeded! + +### Troubleshooting + +- If you remove **`--clean`** from the restore command but encounter duplicate object errors, the existing schema may conflict with the restore. In that case, clean the specific objects manually or use **`DROP SCHEMA public CASCADE`** before restoring. +- Verify that the dump file is valid by running: `pg_restore --list yourfile.dump` If it fails to list contents, the dump file may be corrupted or incomplete. +- In the psql server, verify the tables and columns exist with `\dt` , `\dt public.*` , and `\d public."user";` +- Run a **`DROP SCHEMA`** or truncate tables before running **`pg_restore`:** + ``` + DROP SCHEMA public CASCADE; + CREATE SCHEMA public; + ``` +- Try the following: delete the existing db, create a new db with the same name, and try the restore on this new db. The db drop may throw an error, if so run the following command first. + + `SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'bloom';` + + Then drop the database using: + + `DROP DATABASE bloom;` + +- If the sql dump file is outdated, you can update it by running `docker compose down` then `docker compose up` again as this is configured to run migrations. + +### Chayn Staff - Heroku Directions + +Chayn staff with access to Heroku, you also have the option to seed the database via the following script. Before you start, make sure: + +1. bloom-local-db container is running in Docker +2. you are logged into the Heroku via your terminal. Read more about the Heroku Cli [here](https://devcenter.heroku.com/articles/heroku-cli) +3. Replace with the correct Heroku app name in the `seed-local-db.sh file` +4. Run `chmod +x ./seed-local-db.sh` in your terminal to make the file executable + + After the above has been confirmed, run + + ```bash + bash seed-local-db.sh + ``` + +## Database Migrations + +A migration in TypeORM is a single file with SQL queries to update a database schema as updates/additions are made. Read more about migrations [here](https://github.com/typeorm/typeorm/blob/master/docs/migrations.md). + +Migrations are automatically run when the app is built docker (locally) or Heroku for staging and production apps. + +**You'll need to generate and run a migration each time you add or update a database field or table.** + +To generate a new migration + +```bash +yarn migration:generate +``` + +Add the new migration import into [typeorm.config.ts](./src/typeorm.config.ts) + +To run (apply) migrations + +```bash +yarn migration:run +``` + +To revert a migration + +```bash +yarn migration:revert +``` + +Note that when running the app in Docker, you may need to run migration commands from the docker terminal/Exec + +https://drive.google.com/file/d/1y6KJpAlpozEg3GqhK8JRdmK-s7uzJXtB/view?usp=sharing diff --git a/docs/database_models.jpg b/docs/database_models.jpg deleted file mode 100644 index f19b52498a622e2467f9619f31e306d6b11d3e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82764 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 diff --git a/docs/database_schema.png b/docs/database_schema.png deleted file mode 100644 index fa404e10e46d2af7edb869137a79fecef179110c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619258 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�!OGtry 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⩔N8gQMIRGvhr$gVefJ#K<#@ZbJ$b+O&> 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

7x!qIi?86~1)+WvkzRlIlQv)7u z4h%VKf^pB<^sFs+Vc%ZlZSK$x9T0i-se%s15?W<~APd9{0$SY;bH1C9{BhtzK-yW6 ze6Wfi=M(r4fcC-zq8GU4O3~_;u&WK%5h0pLt|-WLpu)uWvYEcyy(0EL#RzwTF#bRF zJYYL9xUX>v$;YdRrryUHhkGw@J}#{53LCH&`N}USdFK#D{~+DQT(@L&P<@ zzMqJ_d>XS1aS?Vahn%zs?w3MMWB4=gUB5BOBaMS9zk*0}xP*61r62=%GH!0MJp=N= zbeTh8&0NfLLVC`iRxS<^$61E%UF`GqrN5sG!FwcVOqp;HQ@8gfWu*Cc5ViAuBbO?X zcf%3_rF%3L`}pHCU9)DOhJW)l)F<=BER^{>^%rNaeUS?3sGws&-!XX0>OiQXqr!my zG>!Rt-Wl!tHXj?Y8N%`ZexN*lLf1=|dTrbqe@!`*SlcO?#zrJh!IH>@FeI}`k5j*b zVMMa-V67uEzBvM9eo-b|(zD}ExYfb>wNC|B&+^j_(3u?WZ2}o*7}-}3aUb}Q$bzk$ z!21ktW#-;uQ*P!29@P-3mJ(@MS@qku{Yyz&`URBV+D){yNjN99HF1H1>b*H3M1A|1I*6)QRm=yJTIPZtO8DhsxL^oqv<%6*Q0JO7NOtgLg6MSs=hbIHHqjU-oYI(JuXc_MQjzAbsHV! zTsCm}*nO;H&1M(O;Z(ab9<=r~j?*BLzOLw5F)T}K6JpjX)_ez>QPm*ZDF-UB+RtcC z0}%te1SQ}N!`cWR>TL0-1{H*ovuOm-2-+w?yA(%1P*gJ=4wtE&(h(9r75$Nt%aEyz zx5b~&e0*TCEy@xkJjwdcA-qzus!< zQn>YD==sOSibyNyXAGi*J=7BF*$2XDi5Ais?kyhp+)U=Nx5pU|wgXW@wd6K6h!VE9 zk3Rr2cFb$1gv&sSK&Qx-&-LN!@sbIAK5Nf}S~y}f*L0laPzR#Yv=ea@2a?Eu&@4w8eK!D4XF==}iL=5fk)l5A&@I-3 zN!WdtC_n7)F2IZkow+%?QYN)^U{jjYRJ=Xvl?sXp&Qv(JH5A7Ek+k~6XoXmI`FFKj zi8ady^l0sOh9ktyR_x9<+xptzY)G@`#b>u%VzdjMy7De>$1fR{YlgFF7b?ky(x&wr zd5O`TSgLrrHi?)+i?Mm@jIf>66Cz*$em>z?lZiS^>vNtrq+JSvLEF@XdmBAGist~k zgdH~OU!m(?Eu8EUJ|Y}}&v<&oH6|jK5XL)*J2*Z9Me2&-LmLS1Qc4ne63eu8%8ml< zMBiGhXsiLqk`;;3FDW<_kf7z|JIMx$C7>h|*;?A<1(&N1GhJ6aT|fF5MMhuK?z%P}U-GoY==a^E>&ibzLBzR>Evm1S3)g?Y`YWG&JS|*HP_B^K}>0sRy#z`vh^ESn+A_)-Ac^U9BVhV=* zHs{@N3}~E>{3KN#6J23uQp>=b8m1G^SB1%8hIV8o*k)j3VKP&#TjS_BVt^k zDj1d6ZKoVz+K%E1+I@y|c2lzoXeWIg9V%peY2v&q1XAbcpk1?a?c!pM&(35|v@?OU z#q=R^=JXE_zbl9*88trs700pI_^hL)kSn3JC06E_xT zB}5CoqQydALC>Zh)b0#T?wGUHsV4SkvLsyB(v!^}S0)61bRZ+w*QK4<#g|xt0X)(n z1$s4wa}w>BbE_z27yiPUDA8K5l-(M2t=;bo{u`L#6wm4T`1ou<=uvxUH}ADP3bYQv zdugtt-&4>byaAi2qHjO^Nfs~!HZlDKDVj#1srcS3BLW6RJ0L7{aWJZp;zh9OM5+5R zP&=0;evgGcuCQi5`+YB{U%QS3t#jx7K{Yh=8SJKtX4WH0x{^`P8okP70QKM%`Y)(Q zt8`?{&;7mXgN~T^=r`2gg>nRKR216r@$hkZ*%TAH>-@Y_m#PhHh4%MeFWBKmOL#G0 zAK9V?``wdQf@+_J*avz^2UQ$B92Vy2f?`obfGID}>Nqv;gvX`ZX_|H@y%j<)7)!w( ze|MqJ)=~FPD8JO!uHxZ{){i;gn0c>heI{}?s#{}MUJ89@u*ynlMNvCcIq#i+v}=q- ze$_BC5r02=?YX~+()e0AJV8YZ&xEQ6pU%j4vgwuOI~qWQnljo0cE3h)U9kz+#f)kk zcsbyWaeC5ebNm)DI-aPdiTlVmMGA^hdeAk`;*O6O#;LNBfO9T=*wQ`Oz*GiwiIBcY zyWGK9EE`75mqJ=4I}(%r!C~7kDp!ggNLlWe6_oDuU!e|~*}>nnUHK3;GITuuLCE+# zTl8U)_Y@VC2n!`Da<*+7l5elKEVH0LA4C;4A1dc^YH-un4t^4_3#RYge;dNT_(9~` zo5C61A~*h{25))&z`($sko69(dUhx7YGY6pz5SNAXrFJ~{IcgzS4KNVDO{)2g7|x( zfnH=myh)2c7PH9X``cC-igB^G?ZkQ87Jq!OQk!8LuTa{lKZcs4qwR12|5pyEydwu5 zAMDssqfM{~;5I|tIgs`)cMDrjXsY4%xiao{pM_60gBLwERB6QBE0|)JAno;@l&S9- zy|D)*bP_LSIDyM@3`g^lpyL;RLSS$pVYS;0r}=26Bs|0*=Yr(ry=DCJVp8 zp#Ex+bH6k9IIwqS%FtNL^kL>15@J2Zt}kCq9cD-NFWNcjws;(&jZ+OYdF6wq*kHdl zr&)9y^pzDV?A7R18wZ=M-FqO0W~SX|fW^tbAqn434BX z0)ZyC(D#W$jOqQ@1F6G;)t_gV!altFx&ph=c(w|DcU^!y{%(sw^g72MSw_cGqEmo) zc1e!wBo2!b;$OsW-D#LKV zWMukQjq zYrYNz8(AX9IF;D<%YuEvyU#@Hvo&qBgkIqt^lU;_#@bYg zAQ#zyCPh^3z{|jQmsnZl@0}T2E6U(A4Qc8>cuY^!N`Rc{tL)z%T|eU9K3sf%*K#Iw ziQntv2gKb#sQ09}&sUv^9D|PJR+qGm_QzYZ2UNg|m)^@WpCwXU8qOj$gRCIH( zANt*wwN3LJ6&;4!-CG=S6zH84E*P=)S6F4Z#MCrRBj%p`{&iD6*6hvosOEwB>49QY zMweMoiqdama1Rm;+&W*sVSc!%W~*gGp-OM znEYH`OX;f7d$SO~;0(OkmqOPOyyO&$w;$3;8KdkyQ{C4BcZ7_6O4;X?XeTxnTS5%( zUbCm^mb&#Ds zqO7^<+m;o6T2BDpQQ^EKtvZL*;oHl?WMoeh3yw_BfAN@}t#hD!dzGDEsDoDkwg1~z zn)bqvElce<(_xqr-I+t}&M5sDZ_uI*IlrhC*;ZI%_&~VTEx5}^-c-rabd590aB%)o z$NiaKxz_H4ahkeGlLFLwX6)L9$?FA%sqgbmg+WSsNW zgjA2?=~l1OdV!yAX~!2vj}a*Wa%fSbJH=tJ`SgSbKVm<22*fw|1Pi$Y2RjPcs6q6* zSiI|V@5fmnxBc=I`XAZ24BBcPzF)}gsr(=sfi97vnJ_nD3Kf>1oB`U#L`ISr%@(^q z#Cv<1?C3#B3I}enUN!kOtqQg`!F-BGyVY%G*f{gHwk}uds&bR7c7zIssc){-YZ*CZ zILaEnqCdD6TX!_}n$vEv+9*^-;TDbZ(=630(PXb8(*%g9=z*UtEf$uu&lbdqe?e9p zD5>2aAGonnBZcTEC$!8#4CG)vQuToe#S<7bB3x3fz|2C%rXfetoFLS~Ikcn8mMmm< zt17`v(M(CsfuJw|rKEr|K3#37?UVWm>m8V{RAW`)%ExI*=P5JGl|#7`l2(X=Swdb1 z)nU$7npY$aV1G5K7cLo9C}iX4&r!Zw#AlZe04%d8hVC>OGF|nPI(Sv&`Bt-4oyyZpLo6LO;YJh>8Cy8VUg-?`4KRGsdm%7V4G6=e2I(Um&6GK#_@ZtDLIY>(8UUD z19&cqG!yOsV2}}k#}#3H!pJGYk7~U&I4oQaQ|ZPBG9}*Tj0Sxmi=GSBy%c&_wsrp1 z4SLzAQK!4Ks7CT?MwGU3p|8DWn^xU`SUO%;6Hh4W97-wF_*%;MJnbyNoYnga4Kmzh z>$;kX_cj+4gB~0tosOzQ+-&kYh=%wm^kDQD>c#;EMb^^b`>ao&)2n;}b*v3)o-_`&?8)AD&Xt_NY2BvfHmD;oK}7YxVM}yZFSG|FD2S) z7`v1@rcfQ$Y~0k!l`pMe+I!jZwGm-EPKpPR5q&iLK(gl59)0eahrrki2$10?y4vmj zEnxK_`FQjQTH>!CDlxCo6viO^-CgWazvEy$vjUGxu%!M__Xyam*F+e0onW*DM~N4r z%%0h5z-p&y;<1r7UmF-1Nl7yxt$Tyntf=<>L8{u%aH4MfrRjNC-5baeQ52L1KzoJ! zGYbHI5srhEX_&s)y9M({D&?2lnLPza8kpx-Haej6ST!V#(X2vg1)xxwD_LwAewIa# z&F45BSAM=KG_1{4q}2l*G1Ts%2xXaZDkC{1rF6jVkPQhL0=JmmI1H+yVMb(ySgu6= zG$_tOYxlJ+lz1;d0HM?Tw>IK#7UX<4sKquXlk#0EfCTfNMk+npBwkZI_#N_90m))+ z*AIc{B6veZiXK>Es!r~l<-K84=iX$hQOM?XeCRUQcu%YYx}Axf08{tWk`@TG!;@a1 z-~1D~grCwq)QhPb3#Sc_W3H+;-g_o%X?qRxDab4RDkY|mwBq-rj+5RVFNq#4>ASRg z&Wdk%&3evy!ZfKL4LVU;L?;TSV%ntEb2yW7ClEpYfGCgodXq&EDwmwxm0elqJnl6k z9=&v)7?x1DW1fT|AdU{uT_+&UT8vQHzQy@Xx>`T+x&H8%6z!=tlH8W;;;UztNG&}N z>L_A=OM_RFQY`AA%S>qo)I1CKJ^C&_yfR7W3xus&O> zU}Lf@xQU08syf%io-#{&3l*EXp7~hC@$FJg%b!t1yC5 zwx`6jBO4e@whPqsw6sbP*ByMfiKix5FmAKZFTe(K803 z>~h+^Ic>#hh}Yx~9X+|eChGBR*|Mr!1H0VvF$P#377iAzt<;sI1ph zzc6z%$II_ILa*GGRxR2|yny^MLqW)tzuGb#D4fJ%24VRE38H0QKQtb${X8qKN3%YB z?J+sX8(ok)h#zJM{_&li)u>fkE81z$c0W$}bbkdg+qSfG=X}v4F9@sfnvhC^G<+Oi0=^ zpqX(wwz;K6;SIIk$GOpZiDxff^uk1SbtOs2?lLSF>4K^=!}sL(eR(A}Af8xxdDTdM zhtl1Eec^&K1h{{}2UPO36NMEV%!hlyfdFqxaqSydxZBrTmAcnf1eUAlI1E{ zc0#wG`e(X5cInx3^)qIVJr_l`{hE1#bZBqXJ|$mzB@{Zpv8+h0S7uK`AcUw2t&vwM zxX6G!`&M)QUXnbmx+$6%d9WvMQT*RfD1qJLE8ObY*};X4pH`c!SG{b|ujP~!Nc&pe z%-LJxMHGp*Tyja#*LZ9H06gpdn3(p5bgW0IyxR=Yx3Bc%6Ry1d^13GUi8hN8ksGAu zuyS(Vx!3uyFF%1v6Je_ycYZ%GfS-~usNn&pOuj00YU*=R9ApHuuEWF4a%YO_g{Q`3 zAebWJ^l~6l7c4<1CiJvhW(|DozvErV2D-Bu*CjfvzC4tsk4^rrb9TPORo?Ug7pBCz-PNMP z4?HtNJv}{4IYA>LCFI;jjWEg0fpwh>Uf-^?4u)(8T)ER;RT|c}u$d^sv5? z!A5GmRW`#KAFJr1<GU$!4b{pu>HSE?qj(iyT3O--EVjcn1#1nJFCr2`9{&|}FeX3L*7m48Za z0!CuL$LGHGKe`A!8%~|axk^(RU;mH^F`EOr1B>v-W@xm}61^VFIc>Il? zcpAB*+ZQkJ7-K2F5{db9Y}Ee$(%*=d`~G>~Ky)Zk3o*_l;^*wOy=%?z;B*__1vwca z^b`I?aT+P9tYi6d{*Zh8tWr~rQrQoieM5a3DO$Q@TY3{YX6D*IkUd=;%l-C2QyT5$ zB|Hd`3FI92q5FKU~Vq|+y|1kmX$yHwy|Nr(cKt7Em!sJ znGvvEZ-BlDI6^Go<~_c_vIn$|=3IL;s}!h9qF1fytih(Vb^tP~G!V|%Gly<24aLQB z8YlqekOABaaW%W@$C&0~a1|nZ=9IKyHAI32snO6ebdII}mvUxGU3U!U51!oh`GpgD zfZL9ppI@#@a%&h9eq`R>F+{CVHw3So>v3q$&OUIuh zj*q?^*<2Wz^Box)l^c&I&3EKs4!r!9^x2gXom@4}=w)^zA`>2S@5cmKN-}U)-FF!@ z*E$3dM|nKUrBfg}bb!BwMexcMX7$~YvFIBv-W@L=ECjCol9n#Y>qzqKcth5EWAUm(c_ zc-NId^VAIJC3KFQrD;26b9p&9l&eaHiyrtf5{f@4XF=k!V2^QD5SozT@r{!!q}{Am zv}hkIG7$CP!N+KA>(a}AeA$YOh-5c-3+j}YIFD7mtgK(hOVc_?@IJ;y%DoTL$EjYo zT7tC3k2lH4qDLJtPFgp`OW}&q*Ez+Bn|KHdo>$fjOdpxST9bN@A^JzQqh;nX-dmu) z6q=}Sq851Mw~Rj9%gUOgk$pd4p5!_0p#cm_(=4F7kVECln#GA`;yg&E*CRnGqW+EU zVp|-sSN`%NRJdjasqm9m<#%#*-!r>P(I&wh;sG0gdwQtoPoF+*31JXq*$W zUXs7ABO{pkYaSn7b4+aQn3R3GLQIUj%crzs_Bdu%&Rx|!JuBg`k*fIv7!m;z5XK23 z&Lq+DEZwTRpaNsaC;9V0AUA`0Ugu$FBvkX((+q?IQKH@_+9liW{|yGYNxKf(Of5Oo z!v%&DsX?Ab4hgazIv%fE*?KMy{6x{=;gW#zzXdSS1h54PG(_^rU|?YM98Mx39zZl? zB1?)kAcf*7I0IncU~!O=v)?Xw9b4zYQye>hsXJI=nq%Ibf`>`#)9?t1`t4Rht#>9< z&itR(3pPK+m!leQEitMlo@ZF0k__gT{!*m^%PMR|n|57N66sWg>HhiN&{)7`41N5a z2AO&Tk4rAVt#j)3cN}6>o^(r^7y_=$H;!Srjgfur{ZCbWE=%Wp&*quyVKEHN{C;{b zE6CyKtNo+}9$U(hZr)GNAn0wfH~UA`9=Anywb9K0I@Z?$X@m;_UZ6~2x|s*tB{$%J znz+leHzj`t ziKyuI4Sj4(EksFh82jlA$@TF3A|Hs6KGK00>HE@u%Pn9EefbvK^bF=6a&>lL{9}U> zI`@vL<}L=3J^6E+LXh?I>}>=@e$qa!GswKHI%3F`b!}DmX3Y;l)Wa&Fqp|k!ffU>N zv~|6s*CMt1YR$0)yd!Tfg9aSNX(W1>T$xV9@inaTRC{MwYXQN%{7*M5Ait7C;NiD` z>CObkUOLeyDphYMk@Opcy8epTAVFRA4Tyn6P@rWVAc2y5@LtrE2(@UnBjS+M?x|nl ziHRWil<$euwXn!$^h$=e7}0yCMEo(0{hvqVKZ`)Y_ed^#uKhgL#tDpl`X5gSZLg91 zlhnrZU10_@o<%}iTza(XBjVR4ix!k*IqsFd zhB2;fe}8-BE^^(0`Po+{l$LekH$71W;@6(0e)OkC^sJrIrC>&)R$Tp;;RhxLk&DV57Xar{Awtfvk&8ncDvIKqvBnV{vJS;IeC{baVBw2+Ax`XkD@IM*QS(7;$RQt;}+_XLVf=Lb@EwwM^bb50h1kB z6ORN?yOh6gUsSB2RleCAl(E42vntE6PM#Qj(f#*Ld5R$@Q%q(EmQhuhulqieaTgiC zFDNkkfa*v-E((@shxhZ5puzsE*#FKb3kccP1=IHE2#WSx?RT7BP%ZWD38@!y3zvXQ z9Sj^Sy&oQKmb-lhIhtag*?|&)k}=99K1_5i;2;E~8z%y-?trAtwT5LyLS-w*f7th<+hTlx3%&IH2dn!5TN@G=@zj+S^E<3W2+EL#uQ zG_rr`53|2wxpL*Jk=Nmsj!&^&1Nb1=+9@XjLtbl#wm!v2Ba_hs*Y}o7^Hcn*NxGaJ zZ4qXz;$AuRLkc$xiqsB2-SW+`h~UQKQfsAQwnd%Pl z_w%Vn?%#APRIp@T%HN80g$-Z6M> zQgvz7&uNPNL2pSg+9`>V$^zV~&-gk36~h+ooZwAvprF78r11D!)w>8?(~DssN5|{xR5voQH<2UT6qD5X=m40j9ks5Z#-st zXXD~JDwX}tAuJ6YGGz07!lXH8;bkb9cM$?0ZehwYguh2@Iwvj(NQ_Sw2vxbj@EReI zlK;!dpS$TxEbGo~GkkUevf+8`g3l_-fVN8>l{^EO_#8;iG;%dqbJep5WRV}+FT|uF z>dnac;H1tQ1){3ES$bbftMae7ZgX;O%VvK4J=I^UuGp3eVANl(a_nzyh-f%kq zTT*d! zm$LsVD-R@h>E)xIdd$1a)hk!Ixxc8dIrcx@URFlrxzIg+1=UZl!6!n7`&fve_-(*{ zF5lqcux@Mfuuw&2>{>iaa^hW z2~dy)G~{L(k$?8-7ytI3{l`R3El-=|<;eAU2bHt)r0I}`K|tVHZrrfbL;h0ePAP z((%E<>zkm1cLd7;IGTA7Y|3eu5l;;a_rUO7v+#&gBZ!q;M070+ia!^UdE7*P@zRRB>l79|F=#ZE1SLZNV(Q~X z{iDQ9p0S@3Yyq<1>+8G)g1588YnV_c+>i$xOn&_?*!bEw?ebORY^rEho(qHcf9kuM zw7vT6MP-9=9Wb&W%I}@#K!+y)#akkgRL}V8J1d-*Xz;1Hy$wBgO%qOX@}L)02Vt7U zM_=spI6~46#BOHXsH37nq*-t;24bjZo-jpK0t~`tRI;%&)DL8u(nYuF1oNKe%Kb4I zb*5;+37sFb?x7zGm)wmvKiyWuAPXy%w!R~pm9fnl9ZL5WGz98l7sY7%9~&d`*Irw< zzacOZ^f(qz{=yF*2HskH60nJ8qaZk z0Y4L~sAzI1y~G{Uj@S&42aB|#Qa!e)Jpg&v0Ca{;Egc6iN^iI=Wk8OY0l%RmOi?Hm zwsY%yQmN9bY768e&qHqw08C24k>v*!g zEvP2QRsR&KUD#|X-^TiU3QcVg9NfowTmL%$U6V6d-VOC(-YOzL+IlI6DVmH-QW=UY z5Vy&Y{Teo(NoxJKQB?D>%U6X>3HQZd3S#mJgHD|CRuV_0&WC$WOnk(4}_ zHL%WfxXA`nU5bK%S0hg?<7KcLXzV{A&96D$cw+EAc)Lui0D2Qj*#*(CmA=bOc88|V z@jOy1Un^`#v5cGbcfSn=U9?&tbQlFIh>8`+8PN8(j)vTpP}^H!Rb+Xu#3{$@f}gnA zbu{#kholJ_^7tTB=-7)ei7UEw?&{Aa=*r(sQt#5Iqhq|({r76(J_ z?cy0Ec*vG1G|m!Ue3Gk7r!gr`022J?xc|U=b0no5T14n?~A98vl zg>P;%{4X;xktl_+Sf%`GBET;bT1DSGt!B>$3x(i z989%uNLlWv00J`k0oZm`n1ClM1&_hnwhMdLk)_geV=w44LB!J@(Oh9SAy?Cy28e;8 zHqWAO)B<7yjx5remSbVhYb$Bg%s5Rll-i(~;YsP;_B1}f+_&v1qk*PPh>+A@b&iff zDz@uw;@DJtpjQbm`ldkd{@cfW8s=DJg9;OS@K?lQ%fR40K0b~l$*KL!bw^}|zUP@& z#@0O#_r8LyH|OzKBX4N$-9-MtC(56Ai{SF<5i^7OMCSy`7v?}h^I6b&GOZE^F2%WvF8pdE6i>fwQr-+t}{8YLF-c^$l*Y&_oL21(Nq@CIeFjIl{)n)_;ID8%$kQIe6}R!Sac zsB4Jh67#QCsB+&u*;Nwnz6ncKU(|etx2|Q9n_MUiTxRjNXx$)=(*k0XnT8vB07uEb z$ZCZ5`PB{Wy4kTfQQO*03fyh}wP#;pU@#RK6L}6+Tm~Z&z_h))wjfqy&IRLN%4ck{ zs9aPZS0-LYdnFx11W#PHS!M1YJ@G^bwzT1Wx=hC^uHA~NEYR;EsB;fU;du?FD}9cT@03;B*W1E5K9Sw1>bI2+8vp-CPw>Dag+2# z(;a?>+eBX{vM4~Q(U=EUJDMq-&BwL43tV{7Mh&AMj21=()aY>( zcg80su3QS`$o|ubcL%b$@k3~Z)x@pfNS7>&UX1w;14qpxpX5{mxKXcfZDU90`qa;Q zXP3od^MeZc$N39B^s|eIwyvTdyigZwzpO;kU0jeNJ+(xe~gnebi2ZOWKd%!j`*=VjaCajCSn8 z!U^}vtmPvjBFLzyuGTM)*0{bez1&hi7-9-M!j!FZZJUi?0-1KY9PwOaRBw7_Cd414 zsFe2$z?eLA;hfyDp=2&aY4wp{q|kIoo`O-qMD~_3Ww(;I*|s?pn$%Bh_|C#Xg5u1vk$wKXu^ougQP3w*=o*zB%~?O2ftZROkLwc+BCiT!OBO7h z^FBWv5`HXh9a8|~QHi)xu=#l)CmEfNKthv#4FupS=tqlHRiJ9sNV|nCtFNIE%@pyw z#uorEpC@&{Xhp>oGZdASqD{perq64>Gc=fvDeh$B2(3eoLs9i2U)~YetvVew=d4+S z-DownesB@`etlbZ-4doK{V_K%uha)3T~5gZm}^ds4i#&bB&}aFwa&17edgz` z9bT*D6CV|LsZ!|%qgM^{W<5E}M>`}|n-d>g;$fAp2AO!#frgBp3!O&RbGmo>LA_vy zJ>L<=S4Bl#U=UDYZIRM?9*_nvdWI{v*Z}H?pkesNpoB#n-Q2L(Thh)Meq;N}VWQ$L-eJt@N#6 zevAF_UVAbe!H2#L8HjVqkaE%y{Rqx=j9uY05gT!wk$O<#;#mbRNanSX@pcHfaqN`!!<_v$Z9zYDHl@*J$6}0ZD3@L4+^Aag%ag1N= z<*X+A_Tu_hG6$^xfN=IJL$`I@9MZqKQLvEp=}jHn3h$XbY+MT$#ZyaUq)#@X_u27h zs@zgkte)fLI{{vgXU0gMcYOP!;oN0YkLm0bTGq9}UFaz39QdkWWzm#+o`Mt~9|+5i6yjQm@peN{ zZL5%N0E#W7=<$5(40r>2{hx86-M!(Lu|L3&>(cc%RZ*^Z6>Im>zj@ms5uhEdX~tn| zD_Cfg65N3Y4T5UaB%k@^1h%)0y-DVFmn!JuTRHVjJ9v5I!`dvA7NxieKpNtw>)=(r zAkG(nLcc>>EFZaF2{p~gS{1piL!wlEUC3jvw56$J@j1*7ife2$VbBavBS@fWc{O-c zinn;4o=+;?`gnlei9=KEBcGPbrv}fChktGHeZ3#t?;$#Wf~Z41du;;`Mv^;%oai?r zg0&1&{o&M&5pv#8ds#|WwkTOzL_;yLW;-z^_h@1n#rZDB&FoS2nPW&Z=$Nq0bF7W6fM!@ zlg=H-8O!BWq(H|H$3(by#XdzOBnkDG^<9BQHNj&p$!oa10t1CYtOWD4tzscOWeP1# zqC(N$?{=->m+pbx>zk>oN#ofCS4~-4_E4U_;5fcOgAud?Ho;F(EAU9K4T_FFCa}&4 z=Abcc`Yep!_5L{+c>frslR$s}=_RV~DJhJ7e`KN{ow(rBbZ^m9Yu@Cor~gRpM1J0c zgSOa%-L)4HSYKz(JU^>gU%w)_PSWG>k&73)F@uV9HQVtCkI|(j55O{aE@AeMlU%*N zMWdOk^22oQ0K9L&T{H!W0gsl{VQYq3vd3=7KHQM&gzKKN0ApQ-GEZwzk`uUZzo;#E(#~MIP$5gfB z##*P|%Q)mRsJkW4%BqoO{iJN6=1&Ubd6~zLM}~fJ-N=-rw(|7zNT!|BO`_OYurS8% zf$CTE+v}UBNwjk1DwNWp#{Z~w6LgyEdFG$NO|ncSUy+oFq{Cymc1DaqG<*&WLrm=6 z2v>k`SNucD6J+8GWu!inR=KmpIBZ%l%w zWL5LW8hnY>mbA4zvQVM?UA3Z?dCVpeY0Qilh3ID(hQCG>l`=btcgT&sNyNek_K&$P z%iA&uNa>}q*gGw_jnto0#Ps@B0D>bUB4X&^1I2)_#P4ZcUvB21Vo(D>FE{&yqCcpk z%am31jX#Wbb&TQR@k()=Xf;=!GKU$0)@WkHH*(w%5k*ErVv?=&s_(5==9W4!K)Fj% zN}AgfIH0L=IgvgzvpGn#dO1u={5U2O$ldOC|4|(=B}~5MSx~$kglxtwCLEm6O*CI( zGpQFaktk=Il$fkH>hNOJePrh0YC*nr1@^`bCWTWH{ieqPj=({0z+fv$)60khMnw*N zfeRRAhL;Vkt;RFTU_WtwQv9L*q%9r%N~QXOeBNzA#iO@JeLHKN=YvpY_s|dGEUi71 z!W+|{vHdT~z5=SMwQG0Nf(QsGAT5nFs2e3kkyKJZk=h_4N(j;o3Q8j_T~bPj2q+=7 z>69=i>F$!cb8*i3{`mfT$A4X8I2c34&AZlm-#MT8L}_iatRA`MdtL%t6{?K)_IR5> zTAj_e&2bH35RVW@WYM+&+O=Ih5bR|w!Rj4O;$|?k$wkx;r!NAx8aZS`M&_72xO>Cb%O)X7YUd6LyTkJ0cdGn_r z+k!xzIP+wD#C=1^F3_gJ7Y!bADps~Gebs0Y*&uA4^wDPQnsX>iiXsE;$!TeaxL_kv zT$g@Zmc90((#IJMMRMKYJxb#(fm~vao{t-Br;_gl&x$nxzY6CQvieo0?F=oE8D(3y z=giU8;?YCby;4bgW_#&I>Bj1x%^yN(jBLrzZU+^Y5$QxpkzLdI1idZEnR*S_kEtPj2;&9J~9tB_d-~!6^uNA#BKkRfaH)b*I{S^u@9oVk)V;-4#r~? zSS@m)QE<+~VL5-2Wz_$;woqTll{v%vpbuza&xMXjQ^@J#YJx~d{#3GC^0a|V90@Ry ztb}*xU|QGfH-AI15n7y>{%mzN)v`Msp#6x@1^=y&U{;`i)ov=Nq+k2(Ek;HA76@p7 zxZ%6N0J&Hy(P%1I>eA>e0f=bN-1q)>N4k5)AXls%c3W5FzjEa+D6f;(58RlEVA>z} z5LhlP8!^$*S;R3h#a6ZM>G^{9=rQvq374_9D~-Ql7sG;W8&X7)F-c?#i!Xo;e(0S{ zr8E8w!i}1GR2a%cn_wRPd|OEN6&4RlZr`jzlu>mP5+PJeTxQN+oX>KZ{_=aH9^7mK zaQ?a1xZiQ(ZTR`tzj`(z0Hu)SlC|TIxtMK`Yu#yM=f~KF-nc_F)3M&;*mqH5@cv=y zq3#~7WNEcVxE_n^qq^DoKW}+_kWU^D4?5j7#=RHm9578Jcj$X z7G46lOd37=*9oTfRqd1ZDrm3G*`y$*sI+(gdEl>TshkL|w)h_*7 zq+Q*r?GF$Yv;WTEQn@8(WgS;yed<~EP^8O%<=3$OTaqhWp5tK2}Ab$XW=aG!fj}H z(g_p;!3#V|$>vFw-q1gnDCw|qTOy=5ROwm8XFAn_GFAgZjtk|IQ0%Xk3(UhIHru|zhD z0eO>sEJ^csnLSaghaOM^hi4g8(rP?>8cBKIp8lnI_Ek)3FY;*mS+OrcJNc}Rcpk> zHvK=TB3m0sRjkk69L`Wwtd!lSIZHXA`m~^T;b0xzm!sDQq89cq0s)xaQ=B0U`sMQF z_0om`nA5fvC99^C4ICpISvvx~ep8*Q?MvJ;nb(5Z>dM_H&U<^cBg`5ND}~g<^Lwy= zDxaL{e7i}1sp1Lie|Z$&cFHT5z~ukdsQ^vH>=gbH)M7*Zjm%S3b@+NFaGq_ z+41v)$Jy5hJaAUdkuDNaoMaRy_Yksm`=Q#H>Z(8r|Emlx;o%yb&zBh(}WH$cW>(CmRKrQByVq zp71e{$>Li)*6$7qE{?=*C1%lflvp_2#;Fa+}vJ@!ZJ?(CVEm@g;=HA7{1NO^@D!QaaA~rmh zFki<^{*5mc${>AVljpzO*jJNEyZW zY*pqoqH9EcnKa!t{~gOp_dxVD!O61}F)wYiwQ?fbRLi0xqX+zcD#lD)He`0bnmlPq zw`iYyJ|v2!A0J@lzw8pc*|>PL-2CpAY7xhj{mdaxdoRPn#cCrd5N={p5OFoG<=LkH z$I#2MZ#a(BJT1R$%kE(oEjRwJYYpe-kVZ)Lyfn@8%Lv-P;O2?Y2ERpxIdHyq2Y#yGPhCl&g990rcWq3Z;d-(3H@ zH};i-&?j7hPS@r;lQP1ow>QiAF*1{04PJSw)8I*{3X^s=ur@0w+EaG84;9Dlb9WDZ z?()f&l6;}Ds^VoXaj7U?q&>**&nvs6-{s%$>B z3*3R$J#q&0Xw*D)0rP`!zy0%RATlckO2<;vdu=|A4F*FMpxRs(zC?~R+H%J{d~;~J z?d0n=%c})bv~rGX$U7FEp!D>|q|Gcg^fo6p6zzO7b-{F8cgY=-`*x5dpL;Ui!Sqwe z<7YwlHH$yKLr5&$Y0#&fQ>QRES>)ORIg7O6iLB0r7gvFv+yl;cFYmh*zfp4dXdz#g z*eQ~}FV1rtKFFsmy$b8jWGuKc2%QnUqg#e^EB*ZQYmzkhI*4(XC4Q{fSw>e?U5Yk- ziN_fvmOc$b(F4$Ee3)RK3yqm}a<=M>nf?o2*kag|V6EN39$${1(Q9Kq;q~IjcDSi0 z9~?yk)=K;-i|1Rpop~;}6a`>#dw|u@4R|<586?{g@`adHzoCl;|KOz5`l&c^!H)0X zQ@y&Dp%z=Tlq~s)6NvvTMwf7jn|Y|2lV!lQpUL8JiV1c`g#LycCkM~o?aETT>RwTY0Rr#%sokVA|(ZP_vK}&x@*2XLe@-* z63tPqcIC+Z0I1db-X}3&ghc2rvqKtV!%0moEz&a=?kZHIJ=3}N_tHBY;_eYD3K>rCGoI7?esTMJ;u;;m7?U4u_Dt|S41mtG#3@YOhrR4o*Lc6Wvz_fjV zKK1z`w8Wgi%Sc|Tm>0Mi0pc7A&*otW8rto<^cl6<2Sx~|^uYA8=w1}S>WHDN;81pU z#fn^ddirdPp+_o+S2V)U-!Nrds@yj4*A_IKcLmPUANY&NAhLKLnA~B8Q+D@1gIlfh z`qZ;;yKn*)C+zoK@l@|H%(tThK%S$wzP=veqfG9e6#O#E62igB*#o7r3eYFgV1BC! zl=uu~<;Fu~ykU5Rcq^BXeErTWx6!_b17j!qGX5s{svg8LM1$Hc}#V_f47e4m$? zR8|7N{4ZnW|B|UdsQPZ7WB_LAP5TIqTJA)b=hTdJUP*O#z3`IGPjHIi@B5k%(iW4g zUc&yIaLVyj0}oV{4-f-=bFKDo?$4HUlxWTiXi5p|m;_>U-Zv_)y_}{T<3&nOKN*=N z6v?Tx8J#s>YJU%&kv(iv&a4Y`=1W7Enk~{_BpSi-(w9AuW_1mnv=->-0h2i)%)Z=~ zHyR%Scp`&-yRq!OW8Eu%$MP>1fl+*sYi>6h{8%apgijJq7yiAi-nfRxeW{}_4|n?8 zQfJ>m-Ib^e7qg*iEh8TdFje4q*&_bwCbN4aLV|C;g_z4h%BTTlA?!0ZR62f#aouKe zfg~~uB#~^sf5ePmEd>R^(7F+A=yoJy^3TSsTf6`%oroWlq~dhuk$El1xE}E@0j-JZ zHXo-caLSbXkttM!Q3Ly>=^88fSe3J9&&pTzJ0jv|_5!dQB_SbE^5>zNicJ71i`2_L zOsJ&1%F0u+pdk?K=72TMM2ohWo126r6pj(2ZI6xmMcNf{uPw^KWMc%thzpj6NTgTZm#CQGX z^CeAJ$A%z@-DZp5bu|)%o-5|^dhJbAo1J=#o#{(2Y%b@$lpG%&W#PS(!9sxVbcrsY zyx`(g)q_^gXaaeHFA~^RJ2(vAh+#3{z*anx{E|wES$6yTp09d|^bctcjwq5dV*PB9 z)$_=i8G!CDmdD`@n_dp)&y4*htok^oZq0-z&D5D}W`UFZVwm>0|7-KV76yG%j6UHm>y%Zlq-<|<2ifv@QUy*Sd zjp2p6CEQ3(a;?6r?K!kfN=ZaN=&8?1I29`Y9t02v5o<-Dw)^i{H?zI2AB?B- z7d;JSa?<3E;?j@udk!H^B;4z7(Z^J|q_zLjXO0twU=J3d(ts~wC|5i}W-%YNsj}NqvSInA2{t3#y*B0e zyKUhey)SJJvVq5_J@bJ@Y(cB=^SylFg(zD4cF3{Hi|YgNo1 zJF;1;AFF&~C%HcrZcK9f7GC2VCwQscNF4aEm^26ry~IZ#tUauyj8*A{v1#0k0^5V# zP}_+WV0qj;WV-Y?cEA0I_)}_#eXUYl5Y2=H-E>fqP5LYlb`r&xu!{YsDd+``seHpT z(AICvbjPz;R`7Ef3LRTlN#5D_qya<1I&8;@IA&n-g&~<)Cs`>jOtrl2Fxb#F@r>Q` z0DWM*jrvki0$4&D>GqUUY28rT#>47_vFvCf2uE{$!U*}YwOKk?eAD- zJ%+uMC$xPeoppZWDy*zLQHNLP6}4OZHEnPPvL5`+QJ1{SfN>0de7fzv(RMJ{zB=fR zKKfC@;|}y#k#ZKn?jSnRY``t+qYKd+^8>dlau&YjP!adM3c6S2R&GxP&G)U@TjB4V zitZ_wI(>wbF|P4MAZEcQVo2yIg(L5_?-*yEE z);qZ}d8X>i+Pq-F;lOiaTNO_}HUbC?#4Ut@USHvssQIElcuGlu`wOz-KfCXT_Pm-o znmLl+K6ZbZIXtISf9|Q@M^)XQejnRqOh|)BAP>WS>9w~^(z|2_^W+BuzXu!H)O*rs z@11Gg!AA28{-$LXHPEcS%oy_RBj^mjL~36ci`LkKilX;`r}cgdZcK4(1EXBohsbRt zIyuB+4TP61=rMWq#>Jt}I>$szjPe znJVL|YS^4uqkpecF`6^LRpit?bxrU2+#f>e4Z`M@HgK%lW!N>|ob*lKK3>-Rd7bvIgPEhk z3RK?7tq&C`84wZNSlvC&j0FBfx(Uw(l!vYwG_vfm?gd95NDL#!M!^w#yv%G!%nw~t z6}3P^hFMO}SVQsknP2WwafJM@(zfHX)ZX8_tUvrF@M$>bVNQD9^}8|#=ZeIWZw6xA zz(}oq2DowG5dZ88CJcj0u`F8QHU|n2u-0Bo@E!ET zH7aWmE;Zo{&}Bbig5-C)>`umT9Fj|{c;z$4`17X@fkSR&LV^mkP^_{{Y-6?IK%!@D zoyuzv);2V=4HDghQ&F*um|b=-4a?*j1au7kG;|q!6jr;g9`S64cV&s3QiXWk=!NWPl8zo48tK5#rl$YdKy`KWX zF7HzIgb#%egGT7!ecvmWx+Bp76T#-R zzUHRI7sanv|1Re%RZ*?>WUeU~rcedOenAumk9xCCWoBe3IKH}UJ)8kvMLkfbCxiPn zRp#KuabPJZ=vJmdYRTM4bv3(u(R@7wT<`*wAMs@D?*xu)!s*W``|w6gtRoyEuG>i& zh+-9dTM-IB2{pG&?JHWOdh5@FT7SdyXxkIvCFzkFZw4lL9y%w_=QSB6=mBjL?y-Dv z$bvyc9Xt%PFolSI&t3gz?gG^GxSKQGa?wu!E*CjPwF%wl_4oSPOVHaSxveS2g$PfY z+qeoRF~~5y7K%ND20DqgaVkgr&0ApSl-^7_O+C@Z8WWIfkbzY1oo=UvVHiq#Y_DKr zf)h+oA}yGrO@0SBY?rNbj?ELAa8AI1erA4=9%jfE%J~Q2(QCZqTON95N($M@SvoQ` zQhivh#4@bA;mnBoYaXL~66!Z*m>3YbzY#C1I{E(YSZ*J;&O1;powi-@Ej8ATX78vav5>3DGBt1o zWV4)SyiT3Lb3^U=E0z`Y%;#OMz8yklZ*EG#VC(|XR8 z1#{b!Zn1!j;Q~BQl`FL;ON_qa5-*szyy{9?yZ-Thk(Jnev*6dlfXr*U%DZ( zz=bruH%N6C`asjF6T6C_i(k9zw-;Grrlt?gM-C+2)!R>FV0uzN+yrxfIXHoGHk=4U zF%e=)M|d`Eu?a#<@fZm$VunDaFE=GUV|k=}ILa8?7{s6U+%DK3cp@btgQF&MiU7s1 zu5y#M%Sh&fFODiv$Qge9n)M8MVl@8sO1O;V)j7Rf1$r+J*Q97OLpFz1T18R(DgUbE=LC+3m|A2K~ z$?zyXy@>sTKAxS9nj(-!EB3;)8;rUWlwAy}+~S})zj5Og^=`T?p$@4H2F2t`5B}>n z1NIt*dk|q!@{iAsf@gUBR?vj(S`h@JvBGqzGO_70+4vy@&;5I5HkBXNe~{$vIOX(s z?#1$~Z|P8u@v2B8UWh&{K@;`y`bg2L8Owb1#nC1Ti8?*DVB>|GQZwR@YwNh&y-EKG zhrv!XV{k9-!?y1d-Vm0og1le4U)l?U3c*2VEq$gml}0XD!%}@ZCBoxX!#*tw9*haU zF`4JejKaFnf*0cRHFL>2gZd4dh^1k1>tP8*EcSUpnnUuUjmoC-cg-J2ss)ZMLcXdI z+d4~g_AKXD50^6KzU3S4JUpmTT_u-{s&#Fg+}^MGhi`Bg-u$#H99|HcHaN-It$@Q| zi9f1)?gtAFwVEOh3M-*WMW{uqwrC_nVAHmK7jAb=2sO&4&FNd)k3E?!xvihFTbM&U zG{GpfmnP~~4&JSz#-(#l@W6bW8TDG+b3kOz@k|f zg5FNi-o{}NO>%rNvGnuPZCtx&1tA^FXr~nx5E;D!JAi9#zP4VtbeSkGOcIa(DX~jk zcZOx=MQLk<6DiTYxSoO}DD(q~q<_B;cBl><^jk7C5x@*^g<=}77Hmw`j?+qnd_{g+ zWoTN!8I8p~Kj%xqWE+TPH+g9?OU_99dc~__Na0&v%SyS%7z1^fsPcxyQ~WIKO;!WHPcW;>lQ4sH&Mna#$%Au0>&9Q2ZCJXO3=PSgwI`=e^c zLFjG1;REH+WAz&1LE6!4}$0~hd3+`t3nBUYrRRdQ$p_T?c^-rVT6Mn#2e1! zN~5O_$G|8fqgf7@dsGF!b3)G8pL73l4>$kZ;N>=QJYEBze_w;+XOVC;wkT`HUBI4s zMykslm9U{~Nm@b}k;xo_0MbuHi2UoH-ihB}sb#xHE&IYWurXS0=#GW%T~WqDqXiVz)a2b**?RF-H9eR z0Mvj91qxN6hP=VRfw4OOS->L@6&bRdgGrlCv@y96>9@PUGEhyHx<7S>ccW{58Um*# zUFGEDa^Q*40+dh8NN{VaX}L3k<0PB_v4{hF4AU`r06B=@wDdmQEb#oNAqsIQjwy!E z*$eIHECkb}0XD4(1aijRG891q>;|!-7xfM6yiVYyF_H#&a@z25t}+o!G)=mEWjRBQ zB8b#L?(Wn7pOwy_izT0_>T-8i-`@O8pPb@s@N_r|dipd!KX#H8&-%|qU-+I))H~XUu-GH-aR4~m84#hj)p3&aT zTdC@NdpjNEb+>+&F54*ch&m-}|5+~Wy+!9R=Q$H)Sx*>ea)SiD$%2WI9ZMB+IiQS( z{jHTGPvb6AR(Mc;bMayEoorZd)ue^ z>2!xGglL7E(b-HfV3hdJ?`Kxw|fp&yRa@@xF*9G*ddO z{Na*F#LARl;7rfQ3s%hS;cQ&)!$mYvqzc4^4tpr%+-H%a?()XmAUTu5r}rTvr*6QR z`49Q`9u_Kvv9BS(DDM8rFF5o{ZB+wIP=VKjcnT+ zRySQ0Ch^8J_c$#bDOl0)$~V5gl~j4Xk2j{>i9jGJsFGe#>a6)&hVRAYP3^iGDvuL3 zgm6c78)y9A%HZT_$Pk50c5ZjIs?Rxaa_aeRw+_tj|WFlA!h^)5?(-z6THb$ zM*LgDo4}XrNxKo44Tx*cy@8+B)v83~Ozecuim>lHrS^j03AmYe=N)B96W7fxFw#k1 zz}={P{9VL(nOAEPKzSL(-z&6N;vVx6Vd`chLe)FpiNv=bJ79kHcMa z6C>IfTfz`qW?I@t^DU=K4HsI2G7)vrhISdWIt!ZcqbP9&e1s-~L#Wzg6-l(~nyl8=jan7f02N>4I$ zcz0SZG~vBL1-H|MkGZ<94c>KkX{}nR5mt7opNAJGnzt>&(bC z&%EDxx!TqHC~x}6;rq79LSLw)wUE%^*3MMuZs;!g5KTov!EBYsd6h_!(b$5|i*ng5 zVwbepy>LBGA|LvxnNrz8sJ7Dxh>JL4U&t+&UmY#(lPapxev$i4G9>uW+%ZOTylwHs z-4biN7ZM>zP#?)zKJKqtE|UvpL2^390|lTtQ3}OC36lx>p_cRcEFUyZjk-|p8UnYsI1G$JN}=AOE&<;?0 zK6mYmi1o+TVWNFQ$s_C_n-<%(i|4h{-(&L7bxXvb&EF@82OMcJh8@hANrwjaO+vLu zLUY;+lRJ2N4u>HB22x63@kso{N&M()ii}mSR4}xKWxpxe-&rEX!J?^6fk$IeA8=Y= zzF$sTz_2O-q1EfX_^P+C3K@A^_NcCZanL&K_%nB}Fnd`iJ3l*lGX z&gf}u3!IhBHt{a^7u@q<#ByG2A=HHu2R+3?ARwUz#|$|><@Y-yGP9Ci`=U1wznksj zF!bv9?5#toFayt$$U@1U#%!yx^U?y{x4vEknyb^y$#Xknk*{1RumUMf>ZYa{8(}R5 z+H@+*vo-@n9?_MB#WDTWb83(P zQ_lQ$=!b_G>y%uwE%_gSy6Gh*8~zaTNk9UysJ*PUmmS{w<6st4qw4JDS)9%9W6K}U zSyqyRE6@p;U}-+E3s?jq46zHd_|pvh$+sR$on<>cHWV<|fvZM%JW=P*Qyd1ozj_<^tjr@S>OV+1NkTC^3PJR0qtW0 zUqhSN*x9f9RM6IFr^w*s8dg`~XRi9|9XJ83KMVVUl{dyEyX9Ld`{gG;*z1;7vATyT z5=J#%)TzAXs-(Oa!G{%GuVE=*w12|_lyiUPCwJjS)j#osG1@FLC9pt+WU`#LB1NiC z99xf0ADlCUT32b+v~jT>5_SPoiypK--yc5L;@1x6EM0n}Rj=U;1z;MquF9jIa$n4* zo-qk>anb-GmLFfe{!_urU3MUgwGO}P6_oOw&tgk!Y7x(m?8&G4X6-R zNlPE-Q6>DmiBhi-J%Uj|zNPRWljOlHPBxlXmjHn1D&xi8lfEN5JNQ-`qq zgLw(?))ZOpA`m2;nBeDW_5D)+Gc?0x-!V9sI|^dPCm*#rEv>lf-u}IfW|nuKtk4+1 zikTI>o9;+_eTB+3?1Dx{K)MncN5>OB&8#3&){dk{Ftq0JR2$_s{Y?PvS^dYB;eoO! zay!5UI)`a0fVq8j#$(iT$7v>znf#e^;BJA(q1=`%TsY{=b=@=O3+{#6-dJHL248HE zijAgdEVnDec;Wp+XQp$0qTLb_BqUzAXVYXf*4$scd(If_lmy|ON!%FC6=@gMzOTYm|>^XcZcQ7X4J2FAkD{eQ{M4p+@Xtt9s z>MA!r4l|<2F|plo9%imv2`NY!Grf!9@jNjZ+6;5Yuo_{)Sj6ha<)BM?qlL)xD0E~K zJWZ4eIX%Uu$>$b0{G`j){dILZ(bA!oBgbF{mg(;{UYnTVBnf$D_k2v)=dhkHk6id; zuP<6kD_Tp1QPAX-%WO<;q}f?qzR7-E)# zM%{n_gH##=CvPOc_xBY&d4!p+v4ylFQmsb_`s$Ot>rc8*Hmw%*>jmJJBle3wF494! zjv3^(+QwQC8m$V0&Lc-t$R?oafl=jiZ;ac6+c~7Se*4yG+38wl5zJr2hBC)2nkC*CU<G0d(^VIL;~~;4`8SCRKgm*+WG#x{i$kFo63uRA#;KBwEg6eJrOSXCA}& z4&F}6(ay0BI=3cFtu$p9jstVQ~ zNo3z!9cuegKaZRR2D&rp4I|2GcbIjk9Tu}3F7ChRxuQ;oz!RI)6iWVQpU&p~e4+b% zn>h4#{K~J<(!>N~!sQQ2N2jhHx@IN*@tk{{&53Frwr|D6NgBtLY^^sw`q{zYxO-X9 z=}p`8Q##3de;rk~hy8x$h4$L460aYAc3kf7NRpgi6UU+Ly}qNU>cnq5andH*VSP#! zD`^-I8h9?Ik9_sCE>)6z2@F>)#>U26p1%5kDzJd)!|v+=D#5MhTMF>2_kCOc%jqKz z>N0-&$-tO8(yI>$hPHul-Gx6|QqIgujJj8IS!U>*#;!;J~iQyzgZ1df=?90t0UQUfiO*e^+5ol4R zu&JU-7^7g;cMsfRBQCjaJ?4iffUJ`;@mmWYIJYQML45k&nmi4l$FCK*vUprb) zK6;4D{+`&{P$YPSzs55D1RMYIbDaySsC==p%HGu5CsyKAdN=W-7xm>)U1B&PO6y!Q z4@0(B_sa88QWm%ioX?2I+O@LWp_ilXbQa!9 zW!BEs>c;0*9R}vM#?(o*q%Sl{Iv+g`*OOh;bLdY9S``~6WN(iJ3RZRbT^88o`eJQ? z8=FOJZ4iovyvJOj;qU2*J9CSx z|Lkdm(gA&m`Muw>OIbN6x8^I7n-`zC#uW9c zyto8>$32KYAO+QW2bb~CQ%jhQ#=L3KQ-IlW zG!YQU;3VQAt(A@E3mjrX_U#XB7;&hd+fgBjfmNC1d#&6ykDDVnDE;bCNjp1EiZW6+ zZ`^2}hZ<0Ew5uY9BzR*;(RNbyED>gRAgvJBvr2HL?9t9_^URtBK%vW@k{Hpq21C7rML)wBFW%RAGH@Z@N zo5+0DeY7<5aNJ{dV?4%Lj*1b@De*@92bPAEVQ*(Vl+mJgJk~9lEMlDWbdpvUalxbF zg!Nck+#~KAPENhFgIUZH(WKGSb()5W^S#qv>$J9vU~5)N71 zGSRJ~x5B5Z)G)X8J3JRy1105ViSV%32W1cLBz?cC1M^}r!sJ!fYl2xTS~GB?to2DF zD2;{9^mLA1sy#nfjV)(%YhOIeS~$seW#$oZzTf96gf}jmTR-X`8USzCd(-TSR9i+_ z%=;lgCvS2PdKmn({>k=PH0L#SrBN#BI;OtC^nQR~8IsgDr3ya@ZuRFL718v6gSX0f zl(v_9^J|Up=|4T;48W7yTLl^rx(Dh@u3mdwmKzJq4R}0?v*uiXSlaKrWOtm&{^2PdA9SS z-0}Dei`7I;_jCd?YsGALy48JJ&-+krTX+g=PT`0cO_<}h>vB)s`;)eGa#Z)vWav*W z6oZ}eIa4p((kz%^G}aLjv@j4rBRcNvudi0~9>J>Do4z8D?X+G*73Bk33V3Di5D<|-ct?W3@IA1Rl`ipUus7PnhK_7G_7APt!?1o}2hZvS z;>dTHCCJK=UNRXCw6o<*ZX)|%YkcS4TnzVk^2%xLsFEE{3EI5TM$bf={6e}^R` zfO8M;B1m4&;Z>9^4&!1sD(EO0H%2KU_V;00!TDiB%0}VVZMgdq-G1H}7=fs2p25Rb z?M~6(tRQ2!SM5>B)=p&;bn+=$k*v3Q(Oigi`#H8@*JeOxTD&Id*Uoo%W&3v3i4(>* zfELwi515&P@-$wJu=yh=&nJY-b;F$rmCVSDVz}V(vXaTc_&ASLlGH}X+|a94eG;Gr z+}^}ukT<0>fyJSku>9g?n`Y3GA4FPIGg2#XLo+QWUiPGp` z^P7PQqUoynsy_XL%F?GHZK1cEXlq-X>cdY$u^E?&4486=kOn)+T=9=mEKL4R+62`p z3c&c5;Oj=$3osDrxku~k0Eg_GG*Z{o_evgyv$ZqYAdYpEq@V(lRxEfxdaH-ryo;hb z4_s_|UdJSLniD>@Et8W%^I<^W!#Kt$9xO)%(oGHAm>mP6`*8#en1V;JAOmHUe^Pyi zzYv4~X;tbJ`jzCvS+9$gl7Hb zrUAU^+=NZA^wIu@#uR3<&22EwdkEG5k*Ie7$y-1P+wHQokOR~?6__z`z@=+nnJKhYI0~xmNu;NmvmkIYVeM>zL8b1uCDGPAtl6N ztKpX0uSAelxB$8ABOqKA`jeikZo!njo#TVsDg9T|wFZtHgMe_~@ z=hopav?2NS4iwc7Asl=Fbj%kl+T5Mjnz=qA{-n_Zd!wgp+UVnB2^hv3p=VVu-2)L& z@gjIrhofW|wPv6MokqE4V@ByZFG^jLlgp&}Fks-SI=t?Q3K3TbpFQa&QHy0meoI#o zrF=`0viGNSDR33LlebmYu+SjjDlIxyEx0{2fMq(^Ui=sef8u+Dhi-F|nN023!W)gP z4Oc(Kus1r;cX#^6>kJxNGS!Gb)=gQ=)TK4q7ADzrYUFC&w|nC58yj7-mveAGVsq6^&gsGW2-63$Y6g5nHg&b3_Y*Ctw^gd zoezIyrKGUveL8Kk0Brb>un?8YRv6$!loS>U?dA^?S$kpjy}06Ii5W0==iIwG7g$4P z>;2zWWf6uH4G3p(^!iDDUM&aR$PXCWnz`>Ydtt~lO#fWVTvf9s-SR+@q0kiRf<$KK zGag%A2Q^23U6H~b>ZhHgovK@Q>z~PPV?*Uv(ogR{yv||hy)^%(qJa7Kc@6ve5#d={(TFQP7&v%)Kx7KaZg+;e>xTBnafKSTGk*V!K z->eo&-ydBq_Lu*-c zIeyDlXP0R00@1-xDb@bSr){Y!slx&5>l$v?aHDwi+7{2PUSi{xh?FldyjB-)Z@<^H zb3ZS~eUWRno$GL{G)Vmg>OwcXCotMP&P7Mamg@Q_Zw0@+48STVYxqe{oKOfaSd(`W zXTv$44n&Od{7aWEMFYJ|_4@~NE*yt+&{|aRnLkK7QO@&|yT)WYs4mE9C<)mG_3IXwLx5 z$RkjR&Ehp1MLnk-x0&u&+rCi>{Fr#r@`v#HvtfS#81{;XXpW~IBaYR3MhBRKJcFY< zg?movzL+JUKKZ#u<zH?6n;Lq zPeO1{!3_P2oB+3x4)WeRPZ-H~;d~_{#0PM!z$_9)u%K|fZ=d=f`8JZSeez2FE&RqfT!G{1{ zm4IeJ>^lPHliIGq+_eWp*}W5;Z!U)-(N4FMr7YIMP$Xz%dCVVWRK9=@zDiM3RAP6E z2dFjPu++{>H)z$2WQu%o2;k(fq~nmmxr!Vj$Pw|g{B$=4u4dfO)c;h{NGOnh_lN~6QD2C(s4BTM!QTF> z^cC*@dd0g7oR{MNTwcE38F{H@qt2TtQ+#(yI`+@SydKM)@F3Ymet!b$k(oql-)GT~S!Ipd;G0I)>M_KO!UG=MCZ z0|wp}H3o2bgVK%k2~cTWyM4jg+C4ensJ~4;uk2>tj`KzH1|8 zj>}9@{Mx^sNJ9Y1xr>jeK}dRYPIKuT$)Ppb(Wly-&-8ZF_J+)!QBYvbw|uy1F}|Cg zAx^csZ7FRlpp$aq)RT>pKz(-PI8{POHY%!y(+4xs_RJ`ARDw5_;~7(o?r)=I%wnj2 z#U0e{TZ2Pm*lF<4(TB@FuH1h5jL?Rph6lz^33xU_>otniLwg~gi&a1W{>;=%tFFfRk%T&3Fv&={Q08rLy&=fE-Ae-GMcB$}27To-Vw1@2c|2Y5)#tcBVIBrIln zgdsy;oL>X`PKDWhUN7cW=;6U$FBAnFT?MAi5l9scD(do$ z#|g6D)CgH&!0LLI!hm&t?OwFtJr&@vrU*Xp%)89r{+)E#JnHc6Y^0kZ3nMzC83qZxjOBC-dgb-8Q$CZvqK~i z5x7rK^YaA$oWttz>&T~!!-#emze7Dlvla5q|NjZ3aD7agpJRed3&YJ{)6Oq;t;yT) z5DH*_HThhX$=HSe9V{4eW!vw5&yP;}yywyiHhb7zeSu0W2&=_#ejN9*%&H0sU4A+O zi-0FbZvzAQ8~#IODz6Jq;DtIjz0N9OZ-M&|04I|*1E;gS_+iSHgN3P$18xCb;XgEQ zOJ+h?P>btf0W^>CE4ou<$&kUk1=CgWrQP2k0vNddP;n8M6e9OgttC)(Ji;C2Tz+m& z_72Qde?TU)z)v=b=gp(xqf!8H(f0^J~98J6gX3 zl^jox4IW8Zn%B-pA3!+Ae%VJ^pBcUkGbUA(@coP3;SY{6PR2yBvO>+H+li<8{J4~T zhgnX-8@r(3{qvemm6Lc|;Vj%R>77x$cQ9pov50@Py;vDq5b9aK`SVBSg|Qcw_;FA< z8A+4WH#W3Z8a`cfj|txXe^vlxS`L~VCV$re4gakMNaf`}m#eXjzO?xKs0{Z{Yl(NO zxmnY=F1XI+7=86A0dt$1L;o|CLF8Jra>4zDmnvR$44t+LN;rSgU>FvL3OoG|lOZ+s zn8^^1vTrVdil+yJUzz5jx6m#d+{89?#9b#L|3)u*>}c@y_Y#ZVnWk_y5fw_;t8Xq^ zMsK{zqWN7>S6i#$#Nav}eAzTWmCV1{e^?&69^(s}zOA;ps#{(!@Ti5-yq0Y9_2Vc7 z0#^mu^C{jNfvTkhxGZ!XeP(hu&g%nh(@fAmcY@+X!z*f=%LxiZP&(3U{9QVdR#NM+ zn&Mp3c1hB|6MmF*k7U>S#bLUCF5kgJ^-P2OO1j&TIPeeFxhWW3V?bUfm#KV~D#^3g zrI%>=Q{(W!8#*JxWrP^|&S>xJ{bFc&{Srq-f~lW(uGf$O17kQ9g)vtk_CY zYZBT3MB^7@Mwnzu_x1rfNV& zoq;3j+iNHbiFjO`ZRUC{J@2iX1|>r@KVwl@YcH&gTLducsxlPn;GB230x z+84K574hkwfUvMr4yvRkvFW4hGs?)!w#bo$ z(0p@w#L%Y$GGng;88-vyh@UsnS%B#&DC+s!Rl2n&wILitXu7X}+B$4)s(qfj)}Tqi z;L8jur0BBfR>0O;tKij^6@r+tOOJ=Yd>=b?s-}pVy*3yJ!5mpantWEf7{*!uTcun_ zc#i(z1?!YeI=$0SZTj-kw3DT}@pZmi3|G%#v=ifQ1RlRmKF z;h`#*B>HUj0;>9!Fl>=|lC!*@e$yQ4-s(x(Uz?EY*bQ*uEC_lscNjN*GG6nSKcdOtybkKtAue*gt-iI#ERZk~LY=4e`&;W6_F+B&Uih>_K z9#UJ#FoY9~=ZH6ILOnRm2yOc3WAKEH2=6>;fP)ZAV`D>a@SAYR5R`gV=^6??F=j@? z5-0A>I=@WE=Qe`&gp=c>AV!^f^ytLUX|JyQ@5So2;LBaKEo{Dwhls6-zJ~(4j~uDu zk6R3-@PDRSnz=i~19*S4zHx5N&iCkSdjN%>#U=>H7^KbVaA2#0VvYkn{|`@qZ#I=T z(HrwcElVZt8e%lqDYgB}&K~kk;vwD{1no*jG0Dly!Zv}Dq5onFG$Zj5Fb~N5Bq*?6 zM=ssvx?G9S@Xl{3M6=x_bD7PIIga~Elv8~V?L}iK^KCd_-XeDXRq60uz`2N(t~jC- zgxTy?)^GxH*dR8!h%dtLZNQBb4S$B%0dtdEL?i;D!#H~h$(dCA$(ggj3s1R_?$aqE z?$KB9?v|&uFk4jd$~+^9?L)wGl5tX!{Yr!hGQH}D@IXG(s);8sE<3+E%cCG%#e-WHMyd__+oLKW zphYC%0Tf=QL;sp@13N$f2SY0Ivk2plA0k}y7&Ma95VVfuin%rJN_z~vg-mE9mj{Z# zZs1c|fITEaq%i4<%QH_%#(rErZrqBnSSmY@XL;w)r7PEk2<}T=kP6I{-05{l?}^H} zxk+dt8jcGHtP;{wn?J4f!pDn9Bvo)+=1}w5IeDTCNY%$E|#)-|ql_M>HgY^0gn$*ZtacU8_&QHN)71N^;O&R40N21EdV)XDI2K zP)B%ht+$6x>+T^}Rr!{l_FrHC_D^R`>DNUzUT-^8h#mvFzuH0h6P58)I6obUc8-qI z_R{^|6d|y`+IxN6kVsz#Txs@Kxn0j5jVr0LyAW-#tN}1H&M>RtnmT~d^8Q7S|3lk* zKt;7RTcacif`EV`N>V`y3Id|!Mo>YbWK@D=F(CqyB&&duB}Y30Hfm5em#PvmN$A6?iVrc^DrjzMcG-E_< zq1J~Jcbcc2wac{ky;N6uB%Y*q!ae1N;A%z~v6sL~C?#CJyU6CXlKA9FLi)0whDYPO zEz==3eh;xx=NAwii1zD;l8D=lrGDB+!dpS)d6cai8(qBNg_QemW-pE~PJOB0K_d%Y zzq))NWtk7fKE2?DOEJO|FHjKHPv_j1B2G0D!OGiCvg=te&cy6E**@FuX#0g zGSR4DSB%QkyVtEb^8l5`Px<3q6Rx7Q)-4}c9eR~ca;g>UBe|~{FR4xc*^+oz&m|JqBnW1sN zMeN|{Nsshve*0yK2_HT>{9Hn`nH0zpoCc0FGZpZ|om-K5d@kve=YB#jLHxNR_id@? zOH55#N7QwWs5=DtROO4i8c(`^gWl4mjgBq2tgEO=k0;;ooY=jk-7Hl_+bq*8BiSsI zkRRgF6}blqwH}HC@U|8aZ`sL5556{$x`=k79Xj%v9*wxf!@#K*N>Kt2qz+*Fh?_p+KoB4PPshoW)Ozkfs*HCCe!Ll&-z6&?$Okl$+J}(&oPK?G zh-ym!OO_3dIa|L8E_+l-IY$T6HpeP3d%$2!AB!9yO~T4Qh+zn@6-5tvg>4zryG&Or z^oj(%{<6T7<5htvqJ7bP*uXuI(sN7qdnQP%F4>m6RWYch_fPVqBVc58zDu2~qgl|O z=?!5#Z->3hr&Sr=S4VT8Ms64XJv4#Wxc@;6O7f(POacr{x&$#P9o&MPcejD#qXp`2 zgb!te8qH4njs=y5BI2P&YlCEQFty$3C10t{pc?$C6kvRxxgzmU7NLq^U>d@^Dz8oj z`sG1Zpg`w8!PPtMALR|m*rSj}=T(@m(-6oWX8z%V-%!QMyp1d0+Bpk-1jLW66BeNA5Z#g=| z_+ExH<2piD3$Uglob>Q$k6F=n>=@Quhn|oj?KtTiF*h~cP5i_5Afrr8v<3L`ey99s z(U}0+Tn!)qWZ4W>Uu~2cXQ`?IFwK6f<&XpnN>nym| zVr!wnwzng51+e4Mrc>ela5ce5W&wjF1ZDsqM^*=*0cgO`C~5GW0)toC2~1)J&{4B> z-^HpRbHl*D^bL%KpLBX5$S&n13moRCv9kLxJj3tO?JVgaaPRvDpurS?RG^}f&Ne73 zTHR?JKKbE(kDL$rfn;ut^DGM@VcMe(8Tg>f+FBTPooBI~^VsOTZmh|IZxzS7JMt!@ zwWlos+;u3BTM=U@>BP>o*++ONj<18BPpdH(*SAmX0+6u~MFGsEl08kuChZbl4#q;z zIuk+WZOK5DOm(C+M&xv3L&J5LnZnD(^{m`+L7+}==eDWo31oH`G{IF4@o6W$Viwc{ zUez6V9(X+w0$d8hMMh+K`}Q*>0X0(#(7-#8RW#HVA|@(=x8u-5d5~LZ7#Of3jkK;t z3zp4B&Jx5N+Pl1c#a%!W1dFlfOi1=oP;@|-{tmbz0|Iz zGTVMIlcY9yglHcWP?*<5NR2dXOLP2~l->RXrJ+$`8TNm@IGq-fiW0uJfM^p0?Tsg^ z6U0L{xRda`^7ws!4x^2PVpjpG0UNpj%tK`H&%rLpe zIK=c}?l%oVg=EvcG$=CHiPy4{FIn`v^&gm6!*mP=xCfOkM&ov6tL(s*{hr`7;?ES! zCjR&`a=br*nQ$=zo;u4$&mP)`Gu{@7SqCho9#j^>1%~=Si-(_3DX61Y!3Jg_P>I`#3%<^aZffEO=2SB;&Kr#A0s>FeD!$! zn~hfQ5!CP(71x<}AAY|hdTaejBo@)2NZ(4BXp2da2Be1o$(-BwklJu-WbB;0ss5#n zL!RpY2CdLFag5sdR@KDYqxcuy<Z ze&YlBqVb{(vPvq0H>{Dyg%q7Odp99!!sM~F5_noaQ*{Bt`wp}syr+(lVvcx1Z3+@g z(cvBy#^Zc!V*m=AZOy&);cMtP4J%_p8oc_@QWMU z!P9HOg&X~a6J;-vUM#LI)6j`y98kSY4p_!Y*w=aWma8;4x<$Xci+v*kN}cE0G4)kB4E z$!>3~&HLs%Go4tXEPip9@7Lj#3i=KX4^bzy(-tXD)nAwRxzfU)e|`Q}nKelMwBOwn zMHEngPPA!UCi-H&jo3>8FGF}2*skxLmP|*s-LZ2QTf(?s(RhfPHPJ96)SAcq+d0An zQet_d!~D7dB&4Kl4lsx@5iCd5KbaksUTG6Cs!6O@gCFprNE*=N*K39!A6@Ed9Og}Q zndXhT;5cuLwnlvV_5@vd+#wtw{A}Smr#%d-JL)MOq@%occL8?M_{9=a%D>lB5RFaO1U)Y ze%AqIH1Q3egzve82dB?oG~IZ%g|4Xbk`&UDW^+QR-(2)q^xy{q0h$RxY|boWRuuPp zJwJws_Al-W3tONLzFJ7=BeNC0Tzd2e1q2~{J~Wa~Fx|oOd_#!;nXjszu%X=JiY&kI zO$-3+cn7S{e$%jymVHiWhITG@YeQ3$CfK`Aez`c93i9J`h+8BuqQf!GBqKFfUL6jl zw3s3aLdcU1M1?T6TN7FU=0XR{!(i;;sSZPDR>p@LC5 zU3}Y#1MDfqf-@cn@WVJ+<7V%Hq{+=PPo>U>jZJ+a1xg%3(8?f=E4}dO=w1Wx+irW# zAWMYrJViep@;ish6FJb*7fdfqeO6XfOiul6P8`<~pMaK%ly)9x(8w(5sUB$)9U`>vSt@AuNZ;SyGvh{!ykGyU zztfd}Px!ZOfc({>jB_|MB1Bbv2Wo2Jr>P>qL{bKpN$7wF-mL|c6@|=20E{RLn$IrH zR4i1dfDo=7cv@Ehs7ywbbH{8dF99C!K!ol#>$zo9bp;TURA>-=cB}#mbo=o(7SPr+ zAmH=5`i4@|LJOD;la)eMtNxvm3->f!G z>wDsj$F2`hj0P`#s2>!9!8Qd$V;WziYH>*lZ$G?Tb>I zdN|v660xRcNl3JBg=+jhjf>#XRlFgoad3}_{Y_ryuw!v)%)$+?4G?Jux-%t&l;X?l z&wdB$l+Gq zatlDd(ur8S$vkxe1r$OAGT}wkNv%4$`k_Zw(|m)?gX2LZp9X3?Ey&gU7eMQ)HDwzh z9Suy%mz#!&0i95YWr+fhT~u>{SqEmmQg%m_LE>mPu7V6wx&snqcy3p*P)edT`(K`4}j)G2kc#I(768%Q1n+~A-EUYR^}-dtO7$0y73 zS@!w*(ddDy=4M4iz#Yb|Jbf)l#Fcq8By6^S2BI;7I!!%q)u^2sf!JcdwQNDPy}aS5 z+TrI%`7$Wz6nSFdhjR!CYwEiK2RC{6(m`kfU}yw7g5O-ULA<;(AB6WaCfrTRp(W>9d{@6Eg6M7`R{uZ?p@b3|rHLN(B=Sz-~lWHsg%h#|#=CBp~ z=m6zUPvj-(gn^F$4k?~yIk8UFa=1%>)^Y8$yc+XyLVan^u{P+Y-6xIU0MB98m2m`= zS4c7N{n*kOo*_m8!yvlQ>%0}IHTk3adsUVG=Aqc~VJwX^tKAKg?8{a|`q^iGd6WDj zgW@@zHO%-!ijj|v8=-()iXgs}_~glV{5dFE-5lmuZZ;Bt9*RfLCOot21&TO!=yo`O zUWuVyrh7uyEq!~#t6w=Hh#V<^5jtizG`rDE50mOoK0GKDl*QzbNzGJ14%LtdJH-(? z#Jl78WuR>&(=WUE6W9+A5cb1!1VqKeeX3wMmr&=F-r|&w5&H+wM_7h4PjwqvV6qFW z+8YU^*|Z1<0xcngZ>!Om@{#?YU%bThy*PuMltD+->sTR7q+51CQSX(;%1tLRFROI7rTfP+z==8$~h}^PVY<`s1!nR*z3s z5AE(Pi9{V+ay-SOBef<(zQnAhrRcNcYt^~<|I#74&!Jn2s9H>hx^09s>_z8kTSLz) zsF;#Ov@t3MA376zijE2nu%t*Nqv~Mfz_e{Sr89`72M^&EukQ*sigPLmWRp0Dd7t`7 zysvGKEBNZ~IV^HyJ6Igalj(+tJV_BQ9TD=TeD>=sOVJ>EQ6l=!eO(@$UN&BQ^~~WrquJFA;X2M5tkY`cEIZ;$+%NLSVxq6C|6U!}(VkLCQ9h%l z2Q0wfPLdr*c8<^iHyzJuZJ``IWN=JPEKHlONWO;|r9$w&MX?u;ED{jVZ*hr;gYI81 zm9LK^D94n*Mxx#;YcZ_NScY#Nb8qq98$N{Pis_M#B3t-Cu`m%z2ARwUVYt_T#$gyJ zfCa^of$S$n1Z#13p#D!}uL7?o^4^wXcihP3@j?oCjVhc8f;s+`JF7(X$4G;_kNo`G3~YFAcx~({^DeF5FkCOp_1-Bi?FXh25!xx9Pg*zMNEPzEG!W^!otHZ{~N^E!{iJ*CIERt4?6hWmJ&q+()1sBX$615US!

481evD8Rhf$`$m41oi;%H#V`bNzDiH)~|iD(O7FHJ;x*36fI8_8I9YugyS9 zNDWvp>5*sqH{feQg_#A(5kg{tLtN*j!i7IrA_|4-Ei|J5a|x*{IG|};x2Ik^|7b{- zPm6pQrA3cMBT9h;BBYa)9sS>TlAKuOo5=~0aMQ^%nBreA1J`IUY2dpg53wKF6ZuxO zzul+^0An3?Z&gjqCMbJv^!aS8D0<_4@V8=s0gQ0jK8@DBw;!|&ZXZh9ewV2bNY386 z8?#TCgf&Me=P1}AIX91ru z<}L+0jQd!wj_ePZrCG{{^VRiS~6{*)k7-lM8+3>+M*#=~g)= zQC&Yh3Kl3H)wa|U8yb7>VeXahKJ{hWINt)zXL4;}(&F`_Rqj+(E0~An0cv&$<-@Lf zk7R<(g8qMi6R-Y{aAKdu=4WVme*@q+jY4q!JkrO`SQ0yY@ZcpdUr7bBum+4<&V>4> zeTCUK_*anyHMGwBAOTi@7H%4B5AohchlRl!=v%k(c0htK)jawNJVlzHJ{0^=0&WNm zobNl?(Ey!Yf!r+}JS#e2ko+XH;@-ROx+oa_s)ow+8`3jF%)H)%*U(E~u~n-gcrcpd z7$r=vrD3IB#HjlFUuz=uM105!4()@_bB)U1AL4YtQJPGoukg}%;AnxLy~S`nuT0!X zebyQ(ZaMh{fx78Cs~+XKas9~NxeD>O*7ol)x|H-amH*h@k^aq1ds2qb=DP4<;`WD6 zZ-G(OgtCJej?P=7zAgt9cxvR4cR*_t{1Bh>dyy!Od zRByrHKzT6&Hv}BAD~zX9ILYm=C@5$_@ysJGe&a=ar@T%O7+fKI0zP2!9^$#~*UW^Q zj7%{tcUn3DS1|xY^|9n)fNVlFrMiD$KQf&M4cF z%L?Me7hYS#Ozj*MMxt}hg0+S~3FGMiD>43#rT~^vMaConRiY29Ym~R6&J^GKDWGr@ z$etyFH9PILHDIE9!xBsnV~LVK+voZ8IYEKKv;j{=#0GHlf4Hnp9&f!5Q-L*@jVWy` zd!eKRmi>m1s?({C)eF=6g4rZbB}&^*h9o=_;o;=v3>P^2yIto)XTko3H|MRxx?mQ? z|2wiuZGpf$SO3wQ-nzf9UvI}x_FhMNpa~e{fYFf;fN^~$3pS_wG5aeAL#FTv{(maQ zjzj+k6(a|RG=gFsH@%KaeSG_=p* zT>O>>rJF_tkQmL5Qqh?rQ>)mLazV$a>U5#wvY(Oy%W%Ik$$RL1PbexMV08t1dC`MP zT8wXb*ess;3I(=O1)B@M1K9&&=*YVDw669dd6YOQ+FmxA(tnBvW(KQM6@0&B9rrd0 z*eaJ!8SJPb(ICS+f5p9c8(J;@mC?O&=9)3p5&BLRdi$0)X-GTgi0dGmYeEiEgiLb; z^giD(!I|y);Jsj_?WDh*DPWNX;fPf7QK@8?L4*hLcO_~_qkn)}?WxwrrA(z)zS*o@ zsVVc;!e5+s@_w|)=|B;?`pXWJMhQ@)_vdpVUj@g{g+j5Ej)>zQ1(6)N3bPI#3CO|V z0x2K}rut@A+D|c1VN4p<5V<(lK^H>0eUIU--T*TK1 zJ29n)6A1km4&D?X2!Agysb{@H_DwY%141jnE4e#RFrjiAe&U#0>HQw_UNDP5IA7<% zSj012QxJK>~<$wP6J=@VF|Uw3Y9IA-7M&U|0}GXNHOK* zlOTV~ci`#)ft<7RMcZ&R?OasAnc;Hc@qdaqPb2|}sh6EmGCm9-uZNsm@_VgRoAD!2 zFXmHpH%#uzKc^SJ5>MIHD7rDWS)Z-#%Ywx4)FGTjn;_b57oW zu08@=7LdMG-X|dcNaoWf`M_>=^b(Ymm(P?+j1pF_(~ zTr7#)RJ)vjp=$i>#}9kKjHYh-PV_74k7r7QTTP#3+Y5PxlI`C)zysSQf#TrtW3cxK zPw6CT{kw;DzDGdSLXfl_RRF4qWB4Y09=F?3A6x63Zufv&Tj!Xe`bHM!n9=Y9mPORs zaJKe>tJ9f(GQhE!fpF3VJq$Kxeh6RS>ROCz*SeavvoZP{b4UA-f~h7Pm|Pm3_>+9u zcAd6=jQB>48n4)^umV!#^Vl4dmn?AuJtz4G{^IFyAb(CUKy8M~nN>JU+F{8UnS|!q zsOXt#zNu&hziSjG?TehC;XukV6*PzTXp~WN_smZODgl&g6>_HzfF1dE!m4Ggb-UGDoz$;c!F@lZ=lsp23{QCBsQ{hVjZ>Wp#}`{R(rr_0tnfP zfRKw(fF-9RT*q_Kzw!Vmn}18#5pU8Y0yL=1#&D&Il3_UId%EF-u>kZ(LyP_ zPB!%KjEcJu-?sm9ES;@)Y^eq0{zHB51n;XgK*;X+RSwf&~3SbZWBHZPfAI*Xx-|!`1;WXxXMIg>FE`M%4~Tq!^qwaFU;_ z*A&)&6%6K8N}fl2a#nrnrG@naEX4uJQ0isjFa|h;Z~m08>7(BK`m5g_t> ziU-3wg_Rhja+h{oU;OpG5eN5{;JIZ_ATVd!pRp>Z00A~Y0$eNGCkBru)Z z*;+2=QZx+{bs7Y2<{qGqPur(7ec+y&9rJ{xS4z?Z}Diz?LtcDJF+Ah}HdMlW2 zO;|5*9|7tVy^z&0%Z1N9hu7-B{E!~6kse2lSG!bDj8{vK%dDJ5ToQlmwM30ev1V{w znBlPVjwq2X)Or=%*n3Ug#R)-3vO>J#3GRBJ++UcIai5(I*cb8gB+e*#QEa@TaK64# z!TnT*Qm|PHzNdfgTfnaZF8NxaD!GF)VIw0WnV^Jl2^(!2XryHolLa_G4H4u(pCuEj zjG(6z)CWIly3q4$r2~!Dpj*7vmJQ_ZRWF1#+b|gQbl(>*lrSbVJfl7{!#;Hu+s8jC zwgZ`g`&=$OmJHDu6H^mF;%9WFHv1L>E;$Kt!z)kbH z8UNNn>hqG%wZk?@pxow*ve?mi#s;br-szeN-up5YpD#0AFQ9K!xbpoS|66;k(vd^F zgK>PKJGFBLpr9k#ZyrD*@hBHjDDro^E^>)JO^)r`2{2EM!i&%+dR#8B9liP?zxd^j zU7u`5!0P(ol*Wgs$r_u5U9c%U;*slyovhXkaeK&8twr8dE!`zU#{wb?k3Z&l2>MpN z(@#ne{u$3Xs!vvXRQ0zW+a>y^S>Ql{qrh$Gd2A5j9TCO~(^2|1qM#UHqVL*ooZi5Rv!&w5kjP z;-@)EAh3a-vL`Vy`LmkCV$;qM3_VxCiJPqUAdv!59PuN{T3(yqu@^07PhdX^hIss4 z!09S*t(_;XpqOPJm`ogq^!itS3bb56Q4N=b7cOcBw{WCtp_2;8SSJmd+s@+__i36p zpw4jpt`W{}!#T#k{*AglFl1%5Z%Io#fAmC447%il^k|Gp;4hHN_Le*Fmq4}j^6=Ta zE-CK2YkE^@#byc{Z`1P)%1%^?A>Q-PzUW#t3s>1Wc`+c`!I*&mpXh55OcOv(`b;;7 z7FNwU-|hpE~D}ad&=ZY zMwWiWOYKS}9r4N27apW1ACl;8ndt^rEVp7V(7=l5fS^psAR%f^VnVF(TNn>N3m($u zUu-nyGyN485qicoKMTi&OXZ>j5ZJbEuR}|A{9hf~JtP=`;iug*Ng!DcexyqI6L?_8 zgR}?|tdoOXPLjo!_~KrHhYA6&S0bBQi0~x9G>^Rg9i{>Bbv1EJB+I@qOu$0nsp*OS zk8bgnRo@bo$jQpj_z?JD1e<~>%F#mcCbMEsGYDYme$+WxE;G81Z>!($m3yuvn(Zfs5%MtSXZ{rt8MU*McPO2NFKGx`S_$O5=5XU zZj%Nccpq``+cwP$oLLYq#buX3b^FIXS)fA1^~LN5-`NS<7cgQ0Ss%)G^r{w!7f2U; zVW1?kipyusZtUB#dQh>)Zd)1=cjNcI;F~bsdft~~OQTg-XR^?H+_zt8{pstOx34HB#A;14N*`n>EbFFce`)H-VymD0T2ilF;U+0QY2`SVD&>4n zBkgKRz-g~$X}fWnxjmreTHsO9nPk~M!p?krEhNP4PBqo9%n?+A;tuN6e zbb4U&Rv5b=;0ns3cRL@2*T4*L7-13xljGDN5k{!XI|e|2GOq%i$a{;{!$3)*hwLJ# z{K*{Oj2hje`;e%#Q|kl4VhUvcsgQ%VK~Cu1SGzE=4lY2~*2`dY8!}bmMneR;5ZG!x z1JFLw1il$E;A2rNow1VwgD6<-{~LlKq32IPIfwp5FqF!x8$F7=7+6~PhcY!4?oowwyE8fqWjDC6=M5~M8j2P82NMuKkcDWM!v>lTsXqS zU#oJw4m;)kn8D&pWV{ke<5v10v+SAmtGeamIoioej#U)`7rRnHD{`>FxH7d>xL^qV zjJr9Y?lu@z)K~*q9FcYdJu!|f^PPU7_v7Eqm!N)rZ4GR*5EI@E7;**X7Dw#Yze+C9 z`-VK-SweF^3Y-}~zi!l|ki57m4lpa?felT~SRkg$fw6BIusNOsLdD}{X&@l_XcqV{ zt1!*!n#8&2c`#q-OujgFIJ-{>`65lI|Eu_GEdJj9;EE-xo4@0aJQtP8 z<(sUf8gsaMweil<219t)vH!;E>pwBf1_FMSz82YQFPoq}Fz@$taGy>-bnbX(A5rGw zQdnwtje2f+>+Ma0S@SJsXS4T*ZLL2xSxL`zM?UPW*1Y5%ipr>GB zuu1lpkXB!P^U}sHfQ#>;r*PztV*!F?u&v{swD0EDVh_aN7Ge;}@e_Tllp*BMebPuO zU5InrsG!)>TlRuS(jfcb(>kE6f|!0;W*`HBKbEAfJKtW&f4HE|N73~2IS+`}tr(|C z_T>^{F8b47Q>()ViZ^5WPhiTtKyg(g-$$LBXczLHNN4VvyK^9XPw~ZY7qkz zwr5sFOcs}$6$3B5-VO!3eaZ(}R5lhahnCM&hFlx!1xS8OI*R4oZP}N?KqV4Epb-mcw0ejz%RA3;)_M*(N2cbJ(NIp)P)dw_Y5%9j#OOecX}m^vb?y`P z9Q5Do2*wtj5;R133a87WPM4t>x98nTculnM$|fxjwwd1RwIsM1B$M$BjWWq*DveS> z7u!EPBt#LAlR&D7uLeKf^5y@@`C?Ar)$j_lFu(T@e^^N`C?WMJ_sef5y}ZKd9ivQb zu4q2hKCg3kmG%(t&+leA5FrKRB_BsCO~^a_PM%0`ReKQ|@aomc;REU~T$tF)?!Xwl zRfHT_5WLd{C8aWOZ@Gxs?ee_I7GIKFsQ`?3mQtq-oH(;}=jimhcHD;#`9Iqb-pXAx zI90C<=(^s3E0E=wth0@(BmgdHJ;YaYT!mQfJEf<8aY2fr_(pMc55qnq4&OuEN^3!bkFF z_u!&D%f5`ftmeA8=#daQoeGTqAnpI3olc<2&oEIyCj7_A*YC^`^)EsR*7G;|#K@i> z77s)!#mp$dXBR~n5}LTay@Tq2ODYLz60usy$;olu0Y9hv5Ys!sTo`SKSabu)2%LwL z{A>&nhl$F6WE=lOC(m-{4t;sz&Hmt@;(vq=1?z?DOFm^N_ag~6*bWf7!(dlOTa@S= zF*a7i7v*3OoL})yK2s^8n99M6r0cEcb&2;O%DnQE;vc^9RR-6uQRS0;%lKH(vc z>3W^4fsIA|e;UQDKdX2t2J#a&MEdLSCL8OPyJ;B#N?S1G<5xG6;+6CE z;SoQ6`iC|4L9BS#z%vkuYJn@NIrybkxoX+lp9i=8*AT6_s{Ew4CsT@ADCA_|m*LPw z#V1yYcm*db;&F`UE^!_=F!gKZecZxL;>~=5e><;;pWQ=4*Fb~p&}FGEM#oEf8uWrv zmmGDNm<=0rydoN3VXFoAk%Z9)ktvFW5v@Eqw0`8ai)C0=gnIgXG2aw0I)wr&2InB;5Q zGmm{;aZwj*q`dVOQAL-x#*VKCd(3iltRz+k4_51yhvG8uTR((YCYr?*n#%6nAG=c6oTSsZlwrNeb$I{MhcA}HJa9*fwV8A^k=4gqXWbBWXWc)V| zqb?76Gz}xV^OMu_{bQ^{PEJ%|E&AJTv~PYwzkA0kDY<%oH44$)BR<8cnVE`Av^RU|f5YYJyrp^A z#$t1E*wo_SYZ!`fBd>C~W#o!5^xs&(c+T9y;u`Q_xwyHnkkcGV`rxa52%57zKMft@ zFZX6Ir$rgHH}j_Lm^3gCa?7((g(q}XE_`R7k}t@!*M@(dS6c3ORPnOl3gO* z3v{!3yEHf-{19q$!C~j(+(r`i+wN_SZi;m;HzTynbDg2Y52HB3RnG0S4NK5940NOA z@+4DZpqedJG!qxEI36Uvdb&=_(L1A%9(})E|A$CNn%az=k93A`;M_pDVHlrwh|lxq zVfq4BdX09k6-Y%ggUg5MgOgdGHGpy%1&MUzNAW9C#ico&EHx0%lRukrKWy0cJnlPW1g_6ZCr<%q$*5y&!M{iRwiFKEbENXu_<6rwoGRdxg7Hf*! zhvt2uX>@zZvyt>LoxT+E#z#}G*_OkubpyTLNLbQp!wrv!u|GN11TcY}Xa1()61ft>rAmX-{6=;;PcXm{o*rm~bT(W%WCa2DA+%^7rwwfO&R55iDi=N2!r5ZNQh^*_m) z<2RHgS=RxVU-)OhYt>eq^#hF_Iqmeq#He>gil%t=Cpamsm;0CBu~Q%EPZr*p6f0Ar zem5tr(^UvY6^cN3NCj23COEdgo;mJ(^d~ow?U^D!Th6LE*6Yn+;h&#%BM2{rrvAImJ2J)YiDCTJ9RIAuz~aJ$(H|Q=V&t}Gy2|P& zLTj%H68o7ASBM!AcSgRvg)zQ45?!9}P>kp6yYMu}MkBOox`ZXyIOo23Ob-66@5}w& z$(qW~@FBG}$lnXKP$P;U;$uN~7acE3_sb)HMRA6`z^QhG7n=*+TPCOCB-Z0Xu9d!Rl5JAe ztZd)OBUm&W7QMQ2+DU1VY2*m zXQ8^uq0Nc8j~<`eoLfn=Q&d>JWMye@d04cD3w<{zI4~9+h5BKTBrp0D6hPO&4925Q z@a58#F{MLXC7Lf&GjxIr(-t`fONZ?~8{yMtdrF&buI8V}%J>l8`vnWLAO$Zdh011e z-)2OYKExd8d7)=N_-u)zdDU9$_m7KsmSveAS1#Ho>Lm;=y?u3Pb83s9TQB^s4*#{A zf!U1-o>7WKRGWq*FU2C?RNN|ZoPGS1NwB+mA;{TKH&36hULoj7rTVJJQ>@G?YIlKR za8SK8k=ec`<&&Up?Jui&m@AocymjXy$A&ph1RsN6s+h0av4Xc>zIxpE@W|at#(r~~ zlqoJ(-?E-WttN7ap_a1opT)*g0?b_Pem0kj*PGkSAI@^IEa%e6OtR1YeIM7;`{WGg z8fNaa=(ORx{3Q+sS(0%s_;%Aj#3k%r?;dFR#>>MK-jelso%`fOm~cM0Tl0dtEeg8U zV(zFKsU?h{y6G3OaWP6BSrWyeXG)#{W}%J7nmez4ov4x8hlk!dZ2Fo?vssb#tskN_ z<>Puk$KCyABDyI`jm@b%J%%_oDR5pM15GHxo|n5?KsQT@t(7Uj^mS+0i*8Ol*zpk? zXB>$>5qS2^lYFj7!P5tNKSZQ1ANsMgpB*J=%-8qRN^z8$BkFF61V#P|2^FVTH}d3F z(onHi$g@5ZJM8{T<0aV+AF}CPX(`(KXjA)rhH4}?F`E}9aW@FD?@th{Ej2WiHpAY= zIt?qNd=D_28!*Wa{N;AL3MA>$0XGA~X-Nk&h}NiXZ4%bT2YX|dU0u{lz#v_`V@?^b_j zr5aatb8U< zGOw+=0LFgBNH}D#!VHJ7ur`*SC)l`9&qU2oLlCXKGsx6c$ zQ5I)za#B!-jl~J%&uqNKxz3gRyu5qXu>8DsVf6**z5&)2eC9^cWk~MXW;8s>MlO-i zqd#p3*V#FGPr$oiNu^LvV`L*e#th54^m)B^rQdO+z_Z{j(Wt#IaU6~ukqxu!1st?-P z+vk$nwrQMaYIqB~<@tiWH+r5d_>gU`rqVtLYLtV-;U|c>hWM$%d9|*tbBJ*|V5Gv% zUg-SdTIY3C*xauzR#e$4>3~D<^wI4>w%vv2ILGOgk)Kl@+k=z z(YM8NNB%@kDE9)l&Le1C9jvA5U7x{)x#xC$Mnu>;_X3V~Db&#+1;z`fqQxL29}n8{ z6hi|3xO%zxN1d_tHB<|xRqtBbQB`wHsZLne%#{_2ENKQObo*DTaX^&iM* z;eeNMBsVNEQPA$4iX}1%0;I>EfiBxDb~v0?aKsR~MZrX@JdUh9Z^Y6SPq9Kgjgw-y zZhjpOLNKAF4R_lZN|fAGz%$BT+-kjdSnY{?D$f)r|;s6&P4UVbqCYh>FUH zg!gtFRYELfLT?v!wP31kky?m@cP^uOe1TA11IwVGyBlg-#vN-kMZ2AdJ3VhEFrPBc zRLEh9YH)9BaOVtij)N;^)|%eW??2XxM5yUGo(Kl1_3KP_shb5W@x3@jU^r=@oDGOAPn{ct z=bZv})Ph+}Y`zg1f-3u|pyww7dA+;8etE-{wrw3|@UEO`zK?%PT$1bFn!4t@uC4Zh zdirChSuu_N$VkvAm}Sun%n80=>2>`@k%h{YAev(r0s_n~`7fSGAYAcevUb-$aCIowx@}kYi^U+%{kX` zneyN*%+5uY4NZyX-OPo8T7`msX5^%bH+m$w=_wUmZaRpnn@Pken%%Q%3w!pg=y7Hy zXSaJ#!{f&;yR9cIj~1h@$B7{-&@veEX#xHI$4iaOeLBAZ!0Rv<77p5X<bK zY~Eo+tdx$hf~nr1ACeMwKSdw<*&GBFC@CMM7HYj#k2-94wY4r;N<1WyH-jrpv5_zE z{(Zk`)|b$|1z&sc1@cbhxcD$m3b#3G&PuKHjCtt{VOu0NGCCeshp@!q2vMj;2~xq| z2`4?3kaUx{vpM!e`O&=y!|inUgwx%7tWS*{pBmps?X6pwSTQra34W^%M@R$cW<|W5 zpB#fDVS-{-YxL00$^{&pXh&?%Fj=dprk04fhxkxjzUk%^ z?#o_AMuP)?YyXJ;8SnAp(}9F&spLH|kJN1c;RDutt(KBnZ*Xod(BedJUxGZ4V~Q$4 zj@3u3NjJW9j$wuci4pIVda}cjm-D)33Q@s>R$U8Pj~h4Y|5?Sh7rN{!x83Q{QkPjJ zwWCk3oH7*r^Ta_;&@l9IphQ&pLR-Ax7eO`wNGuN+34VDs(jc_91@=vPmS5v|`DXM1 zx3&PZusz=x^|`gxM@;u9@k-2VH6;EyT33=}o;~y-Veq`|Y=?ug`FMIsQU2o3cX0G5 z78u1DSA_ohH7kW>u!4%rAPgy+yt$F9Z#=Nv+DEwj|CZ<%IMK72Ud|hfTnL_fMOepf zkX|t+{r9R*A;0J3&&wOYt(qAa++&E{Kv*@qC;&zKGZ6A1KMTAZ3`;x#HGmS#Nm~g}Y z&3aHuj`h~+k1y!ZrcScnYMjEB^A;bkUg1lo*)KX#sX8BirkX}v-7d+(lX!XN8rK*B zTz(o*$}Tcttp^>n42u3-8}82_7_-ylBbWmO9XjTZ|M~2a3e1kx%#Fa z>@}F&!HnN87kvL&R-^ZGC!E%HA<%n@l|HEFx^dAp{Qbw|HviW zjv{2G>VM&b1B6hsha3FKojD~M{0v&p!ePoxSQm@PUsjW^=c8tg?NJ2$AlRr_AkYg->k6gq{ax?x?XyM7CF{n!bB-Y8PkMg zVPVUJO5M{Isni8E3GhM}rlAmqzqX)oOLSAcB{`jWhLSr($xKuYF@z8Mi1iNZ9YM)& z>y%A6TQp8c8vn1f22!$P6=u>tySQ5S9~c0u=m4{V1E<3sW+wO3L8gWT9EVvg{e3uR z$$2{4Hqr(mQH{fHKa}?`f5?i`6exS~ep2`*?d+HEHEQD!>AtS%nFsmqgS|zvp-M5O3~GX7P5Bwnv3#w`90H83j$5%lWf;8QK| zBw_f026pZVP}YaQgk7b0iThD35#KU@D-)9H2md=Lsx;d?M+tdp(JySkNx3K9s8RoX zXpruog=y;1$1F`F6#}L0>~)g_bDK?r;L(m5Lx)b?a7m8@fn$fOPptL+I{V|ULy$x6 ziZgsKCBosq?{GfRUFF7i6BnX#rbqtu_sAU<5 zUunOqeRiEJ%~f2IU;c#}`)M;5I@+FEVgA1EOkR%G(S8>t-&k(Ux&vZ70#mtmfM4AX z!?CTwU-tc-?;{@r%z&B}fsFD2B@}%@BZfjy0I#h=2PD8}tlU98G zZl~hlJx=-%ggOqGuKg}Dzw7SZyUi0rCm0rekPkoB$%O7(^Pa=D4JJlzt&F!kQ$H;+ zaC#e6?ZyH5;fBw`!s$K?b@`yiFf;${d6A9Xa~nTGEO2jvU4;Q!Xv1$BZrmoI43-n9 z(i&9P)4kgFMt{c6`Bjc>3|(BJ(+@lqmX0ahcUxcVuT5Stq8 zfQIG6Ntt}9no)UX{>6?Jn_uDFFZD+pM)XZg-qIX7Cku@2Q=laZfhwr^IkOQ@M}|5b z16n&CvBQ3R0|+Y?3jk7e0th8*cyR#PcO%75gAT7Ci0YL8p7Ig*WP;GNI%~1-zuagzNj{;DbfpFvs=}jm;Ni|z& z=kGfd0CP^j!ZE*Cgv~X0-Bq(|`?STo&+qv9+r$voM>8<}e}f5RIFwA+EG^S_#sob= zSwt+!{LR45Eb!Npz6Zi!9Sm+KG3-IWX~+#=lhg(A&|M3nv!~ydW1R-ns(jHxngyQ}A*Vbttbc_}y`L(f{1WTT;BtFNd`xH}zwyrdOzm4b za1nIWq}Q~oex&w)?A1jcAGZ)OWZ>@SmX~O;X^oC+-9}PkM5Vl9FuR2>t!9i1Mc>Q`(e$CeS8?dNhb~8NKz|^B`aYXCJXYI(s%1S9)c=ROh zwzj^1fBu@P>VeXC)hi$j35Ripm-4E&r-vMjIEibJ3;8?Y(|^f*(PY6??2J+`;F`Dn z#l&P;SKLc)h++!y1^AuY_+g~A5sgK_*YZKSa^opJD6DJT-lX5S^cI?+QK-@*%C#J|+A{4AC7- zpFIV>54=FtjYKBI13@Xx1CKlCZw7~CF;1mm$=E0kc@L`DvzcXfDyM76xw1h{ zd!F`v6x$tFGBf-~GkkOc{*=$@)!lV}_PZh^H^tb*BQw<@MPJ7YDi5 z+La7aEHL{w0Q{xK+hRs}q**EPV)RgUXL+qx4DPB~(P2UR=QBFLyD=DbT>b?-mcZAK z+}U{=bIwGr;46^vEP!4V)F9-V)1oX;cG<{zEMjPaiFXca*)Yffrth2Ak-#lWB;2x~ z6Q274or!kzaJIzU&hM^S-xZ55blWw26>1T0roN1Kg3sMy50<-k;w* zI4uG*n7ga@*4tH8>wJ?x0Do+O8{u1KoqhlEC2gechZS*n(4=_09!DlzugUfnJ6vw} z>rujwi;WeebIc>%$k18Da7GGdR{rv@FKUB2{Zb{UYJR>_6Rlm7nx+q;8! zoMXK0EHdL1++mxclQo7^p+ zN#Ok#obtj%HS234)Ag??`PlS`zmDhLRWskRuj3)=q+ z$i2NOqDez$U>_c?&@0Tff+F;pSFLw#W>J-Y}*gWQ2 z1(aX04s$W{R`#2;;=iY#MHGRH@w>dsUIcgnsy@}mY|K&Fba{Vnx=xqY@-FgRQ7(y& zVX1v>o${%jVZwF{gB`=PIE-PJaG}dm$c=b+;kh{=ghvtf)8N}5^8x*tVqek1FVIMH z_Vd}9nk=Cj=*}u`Fi~|}pntvNhzK%a`_Wce(?8l~qIS{!-!f6;pTsQM=G0Es!#ClN z|Mo`(*O~tc@&7*?1R2^Y^KX_5^4FJnv#pHI<7+qEvBDmAX!1n9yR}=P>>+t^j=rl6qW5qcn}F6{}F%xr-oU``oT4K(yk%2+A_maEqV9Za98AN_R}e-dNQ@bbYmMRWwBH2~=1H z@_a1wAD!a9muB{~UL#FJS_t}IJ87bx!jq$_dOgIN1~^Dtx}v35v^aByFz zScxzg$k7d$q% z$@&1kg6;1Q$5?t19}VlGSRW0Lf0!vU!!meWSLjCT(Vs2wU&d^DEaurV^QA zD6>jMs$WpB>R&^iW%<|SZ_?vmNwyP|oi&F(Nj%NOc4uN08pvQ8Qe_bKy0&~qyFni( zm4R9oAkW?XxVHJePkqmRcSn>fPR#hDnm`Kr;jhDQ`7isU{}H|eS;oF-q@W!7M+=j& zg`ohDQvQGR_SElN-vpbNA(*smdhFU5@I(-oR6)P>Jy+|)&4YkCn73a(8tsZaImOC@ z|G!}-BGwkS^B9?EetA?44%#PIBfIdLQLOJnKg?Y_T1ecOT$o5s-zyIq{vnVjt3rrC ze-4PsDgi3-?|0EF^&}Sr6EciK_b=~>c?8}*bdmoFmIcpelp;V`-P*n?zGaC+?W4^)( zopN!&6=LtMfY2B|yM~l;$3DGBZ=WAvI0JTs0MO4PW9~MoHML~02cgnEr-3*5>u`a? zU_@SlFViiY(>E?^{z1efhoI9 z<@P+>DgA+~8jK#&(yF&_vvOA9j34m-TnRWPC0Ao?68?azy*#?G$Yvr@HXtbMcp=@S zPvpGUuD?}F4VG_d&L5mw0=(5-#cb;bXb4m(NxTtOXCCg5A^_yu39_G;J z#sSS$0C+gZ8ak=p-O`4mH?Q(=;sW%Z<_n=_gDKg5GpLqwpmmIXzL)+o1!GPC$wL}ncctR8imB&$gsOZMbkhaKZboeTUHoKH6!7 z!3m;iV<8j;238Hl3+BxqU%SHGME7e(T_^w1ySolOcF54W4x7F&F<1Z=g0$v}tZIK= zlD+|cu80H7m(`JFpj}0q3pH#K68EewCe|mp!mc?oz(fQU_rzuINAaDSAQ#l`%D4XT za1k(;SIKE#nr#YTlcE@&212tVeXlSygL4}*IK<0BqsB|lnuLB{5)aRKx`eRuA^76yFo zXL@BR7R#kZ!s7<=9GcC^3LMf$N;}8Fgweh?MT?=n=yw%S-_P1Gz&Ys9R*7+KK;is_yhN(9JudJ$>Mq&1%4FNl^kmjo|YUG?moQsorS0``~i182W`aI z)TSNMoYB{B`w%jQ=6+j&DzAXY&XB zO5o8rZt=bPIbB9p%s5_UHQrB(Fs{5o00+jhi+OU*6Y0kN+8y7Q@MsdF$Rqud>c{rY z!|&g}e{x zE+_5|?HhUhqp-VRpEhUju1VpC)`bk|W5qOQZ|;VZc+@c_sf1h?sPX-{qZ{MvTB&t^ z7#hv`j%0p(1`VY@>nn6eHKP!0ut9_DijGF|2RPO;R=tS+R(+lzAtvoAIeCN-@a7r1z=OU8Aj-m@pRBaa;N2Aqb>7x*aU8U zm$z@+EzQ;t|DDnYva??8N!Hd?F;i^B2)l5#O@&ne?+ARbAZINm zz0%ZML31-B*SdVwZ*ZsE$n`rPs7jLV1By!Vn?Jls0p4# zG09e|uFN>m52VxnVeI~4D=sA!(wm!lCUZPVDren%&psY|o#`kfm*nf$(0;NRmhst)?ubv|jDhj&2dQF1jb z>+v#EW}e8AZViB}QF(ypmjpHX&cu32D>TivXa;N2@i}dbCoH=x$4E~#T8ht=>~dzj z#ho15YtVS+eHAQ@Vb#1TkO=V!prsg}oDe9>OS+q7=ylh&PLTg$w+I}7MO>{FkY&Y{ zR5t*6dP^Z>J7$6RCccjpf}h2q)EUjp>jq>#rgCYl!=b%Q7bPdjeEIQV?hkL8leLta zHQ!9!*45zp4C+%wTpmeH_crh@dcCk0>GM#4ydjc-9wAq7H;VULBqk&w+Bs>>NH0cz zA87YmlLJpKC>6fPLm&vJ=1qxA{uz%#WxJpMbiB4q3Ym&4CadJM)6N}%0*aGA<={{} z)f>oxv|nrI^fKIdvkDMRQM^*rgk#JYX>G-A4ABx5<6t1@7B5= zvTh|gQ$-do4m$Ka1L*`5PFTNABp1$ipkXw&i&<#;fgO{QdW0F!B#B+zCvPj!+u`{T zv=>Dh!+?fR0PlJTbRD&sJ}s?*Km|1GR3YnAOMnic02N4EM}c3RNG^o5>Wd|%Rc~sz z`c%QYCHf;)Hc+2A*t)j5B#KKPJM#<)7 zIG#JKo{gHP7YWV%xK2I3N{@2Q>~&T%G7(!*Ho^|hh3rmwBA~1Bd_2Ihjqp%HilO4$ zfy>@dpV+RHXI4g4@L5%f&^ZMKrR>EOzU)KwHm=Tht;)&&AT3GZzKm+EvSlCt)@Hv& zjUAL)kki`_0?PiF)p=@Q#`r$lQ3T&>Ug#CgU|3IEs}hsR|9spYAnU|w)~+1$1S2COQL2EZ=7Wem zgjZ<#I!#lvtxiY%5*xgConICJG_yZOn3~Ae%+2Z-)N{O!%#y3S0CQ3e0X@Lqi;3s1 zm%EseoAF$hvXf~1+j>yE1r&Ww%~OorQX!`!Dr5jW`~K|B>$(DvUPn@6^g-kLc!H#z z*0#dP_)_z0O{gt>msXNr58G`%6EVK+v*sbP0=A6Zh=Vyy#M%IowRc?})PU}37XrtH zJU`=^sBq7_B=&_N*N4y?iMV28lRdhyfeeFsW=B+9F zJ{~aPYI>6+IHoc^KT=9oUrUxev8i~n!Rv)~*^goS@_g1(4j`Tv8VJNA{{y6QgxyC(WZPZJk?Y`4drlT(j# z(7NAE6ap#=mV*unPKvbd(|9}cv-6rNNrxdl77*jc9CIzFq1Q63kbReO;GPYvck|96 zypOc0<_ri3IHM`Vmw8Laz>+et0Weo&H20F`4+PKMczQSlq#b}QT|BDc>S=d%P%gv4 zTBT>4yx@0ZuNb^52m%a6xS(XGo(G>a}Uf$=&Rma3}4Oj>#-&?~1X zZu1v4_J^hJ5VzB8(JK7fxRg(Gd{<5-{KY1Tvobxn;2!z&1ylS^uxM?`frFK`k~gpW z3@B!sS3gJ@5=>}*4H5CP^xR$H7<>Ge%etj}>%Tl%N~?1(@TmVtE@5dixy>>F zb$^_%AP2`g4H2egz*y+ zG5IBD+83XQb~4>BmqbcQEz6PkFvXv+i-1Co<2zbnRUa?475yOn>=q^{lkoR9L)BL= zuAG(sUHQ+3ulvs`Pd#h*Kd~$R&>Z#VF4CNvMr3QVdmnaSQ19mw+qTUFNKv`jw?OH0 zIQMWcf!s@A>U=T`o$8Cq0y(mxGvpzrxQRN}*VofYSE|NxNEfPl z2A@`_7a2UDc#cYw=POJf*}0`hxw%8x{W;IHL5L3KE|vGK9D}m`u$4KDJuPuRY*ucK z&4nkAS*x%3?Jcyog=X4aQ73rrhO!$ZX}PoC+_PA6g)k+ATSaCrnVjSoXm9aV!1*iT z?Kgr$*1$+XEXj|+E+vIZNwIwY!VwX4+$QL^4ZD(oy22^zx82rn6^>L`@GlgFqGsE} zfdJ!C);1hkVPicjCUk2jfE%X~0Zy#8-)ofRFS!U2;ha5I<9N2Fdm%Z zy50edvH~Xfp*+pE^Tlfh3>OXl)b4UT*@CeiXjj=&IG;)ekuLvc^`b1oj$jN`y>}OK zB1(Jwo_|%^Z=rEyaZ~BVE_<(KUyy=cZ>7oddu3O8x12XFaIj<5Yt+PlwRm)W&}F6x z&by61i*DsQP6OLYo41VKtOP>ja$>8*%Yv3gK!}>>gx^@GU%}hR5DOViGt&Zb;369M8{r+40 zzBNwUa&aJrV+DPFWfvl!p8q_&F$n?$?@qHUh=VA{ar5yh8`r&ILl7E}GE7*YA@50; zC_y63Vg;|JLO$^6F1;MH;NIv37>1~I>ZM8KR$KC{mEm_M%l~IC+N0x+1#I_F4S)IWOq%s${5zXgt)xc{p9~pKp^ek@- zH%navUGdq}Mv_>%&yrd1c>@VPt=qA^u$#Ij%At3BxNE3)KpQ!R93*$DBZ{(pZ*L;N z^(iui2Mz(+uWGu3{rE3~Ku&J`fE~`Qr3`p#d;|5$mX}aJW?yY~*A6g>Na@F%NC#Kp zJoP}Bj2GH$L7_&QJK4cFG4!;5d5f7`=w%a6p20KlW{n_dc_Gif=mJ`CM7C7y6eUht z-fi0QR;RMQyGRNpWN2JT2))N0)nIWvODWa|PS)2*%l{WF)k-s9tEm~%E13@hoy&u< zJ@v?|4-xlY9-2+iP&@{;PHnV=u8E~MZ0}qSfkix!c3TxGY71@n`Pbm0u7Nd&(rz=~ zsQ8+v>5d(%0)|uyF@4^(E<1)CW8=Bg4IsDEdyS|YCERz7TT(X8T%GG<-Za^aU?%-T znP1z*pcQm)=Sp~)B%2z!l$J=%HFT{ZK1<|9;f$zjcK>ay__hKTn)?G`oF#9Wfz>rY z_^`PJ^sn|P4|E^^{W=W%j~7H3np_?M(-)GX1Bj&d$=O!5%grgYSxWgnA8x)3K#Z!5 zO-+K<3YHAw5M_d>XjlaV)B+1;a3st)U<(=HNFV{SL`!k6nqfBdj(7G_OWI%|u`?JD zNO?e+h7%K_14>J8DDtZrWdqH!S0ytUQLS>Eq=QE4di=J+CsQt(Z+iJW! zE6d^LqBhNBZFTqYe4D8z_muB@PLtvvuB(J5JF`g?L!{>wXhL?;?c;eg*MF5T4^8BR zIViwdW>}R&|-sk*&1Si?(1g@B(l`aqgaxT0Ibtv`I{`5fQErd|I16HEk zrUTvR!=^KVd!VO`Pgjf<*FnKB)bP|Y2Ba?Tzz*=PMT36D{77Y{#qhxh{_njZfQWKL zJD&M}hJeH%O8M-4Rb*cA)eeRVrrnD*Mi{&4`t-D(N)e%@h3L~_wu(x*g;G{`68Zgl zK%kU$|NGu>$S-DPWgS~-$$f2>Tm=hrDj~A?@$(GNlg_u|m1E8WWD|lcpoRWvC{S7Q zHNeYNkfP2Bb4loIFzJI-3c!feQ0DeHwjo`!=*7*D}v~&p;>wY5sIN5az1cH8lX~NC7%vsoW zVA#o{rPa03F3Y!M?Irfzmi7{^Q9zsq@5SfFxI!4G5#Z*H8TYTdDH0OWv>+Jy;g@mt7wD^rbKhpk`WDK;|3=@k@$6E{ z2Gw651610Ze#=vPiG!=i6|soV{7c1D*G?qc?GG_a@<5P_cMIL{B8Va!Z&3^f1Q?Qt zyHwMaoGS}#zB{R-)Kw`VS?V=EX46rzf1lHbR_O!hNXKtuPWwShg&LqKYqdGM2S+6~Z%?YI0^&HG$`v#?6jW@+t zCR-5&hTM{T{z=fPC6{)tB}p^j(+Le9iL2v!_4U=S5Ssl*jmvWj{oe&KH%a{*o+3RW(hwr>J*0#SP zC+Cf*Wt~@NQYWS5nOtB-y=0vV6_MY1p!7rWGvQk$R7Y+j#*ChTB6R5BwBy$mH;3BE zESoY_21%Pwh|G1cYxNyz94oa(#AFc)-{P5%VKOPe(%46Bi#n(?f?Fr+TN^h0`|PO6 zD1ntd5sk;A>*&c6tMC@LYUS&sccjgdbuTS~a{0yY0HIxxQ%+8M%z`K$IlOkaC-J+= za9wX$N>6JRF30nwcUOw6=qDs!w;$Q)5i|U@5FQ7jtecCAiwIvB5EgcBJLBQ`X4)hA zWAhep1ZP3;3ha{bV)yq*o>dPC4NdSly6(GcpQ9oL#4vQ9olherm0S2V|7qp!XZe(+7im|*d-jq& zUA+|;K~#|+>A$YKUuebu#ra(SH^>LvkqlQ5Z#^i+AU;9uaDqh_FBnZ&a#;|4ktSrO zXlmFrkIuUdw5`6I9n6~zKJpfxgg|R*!T1+$hw-OYu1wB6Vo=a2`7#O)}Lp?+GBfW zIgxb;QF&cBiwvm4FaG!4HQ4uK@^dRl%^?o%*|XKG$p4FbichtF^+x7o*0?!3RaV zSPvUKX4P)H+$yR2@L})y8=RrYd_^9n<8;V1aOaJ=J}JbuUht%(-DE2Jue1g<_f0hp zJ$h=3j=9alqo?YxMm`fU@e}bR+tai?{xS)9&YIxQlVc>@k%6Gy*4B?_LG0kniK^h? zDk|)(daWJI2M1(J4i2jq?@o_+Z*P+| zTEu_>)DYdiQycr>K&2RC&zsW!#}5Y%vzMvI6{8&QiDwvn2d)Uw03ARc97b9L3G#8Z zgl};yU9H%@{CieCMG!euQL1)Z$h*8_YFF0!*s_P#lSw>^Nl|INh?K5B06`zVm6xL?TG#&^{YzTd{%lle=m`E1$BO&3Kl!pk z`Wsw34#dnX;QukXHripiCcT=7mxk)~1KZmI&m2s|5!*D<#UjcsXHx#6<*eVUZ3vS| zs~kx{sYPaWN1Y?$b{vlT!P}qz;po0KGUU3-v~xG&=`Uowl3|j8nv(k6mOK^NV_jXI zrrm(~D!Cl_x3-epkqn$Hl`zOr^ueC|{f7KGO@7j>Eq)0iXc02g{(0N`-WmA&QraK& zv%xRYAiwzZNs7VNaDC*;%PmBJ{I)+$V1JsBTmE&`t^(G^ZlwfdFQ<43Y+Kg1^A~8t zOaKMma;)oZJJw&Ih0->SN5MKT4+%v>13rAMeWLfj?KbWFlt{$aJ$%Y{je_kJGF*N; z<2VCIkMBQwga2JPPmTjXDwvblpm!E`iDY(rf+3mCKw=@B7|BHdc~<_dwMGC61Hyg= z!Zd4Q(A_E;;gzA;*F<_0FDV@(P;pt0Cm)(fR+uJxohNzSTp*Ms07KZ21+htyV?j6V zk;4F6Q0}CvnBigiH~Nw+fTZ}iZKpj#))qJ4m}_noSu37dEB@U>Lg!{IO)|0WAuYDAp{Vv`4KUb41!7Ah_@*t$`$<}L9zCwO8+ow_vFkE(u^c|OI z&sFgg>sy)m!>LeLdHi;Ey|vNLyV}{tFG0wK0-l=#DIu_TVvkfV40lzPm9Icma0?k! zAQ>|N##%W@d^Ln%gM}W4zAA`Bivt{971*Wz(Pke+9WUXMOLT=EI}VVs%iqK9AxUe_ z$<@Yneui>D-^f4D)*_p_8~U$&&VH2g0v*gV5LWi-;9n64AE&=i!;H{nvirxDH=RyX zHt6lE{?mvz9h%6MPv2KDLVY?Yjq!dZomu9c49!Vy=OC^8;z$+lT{i|B}QbU^{${)$6&6 zg1wL!g5d5T`yQ0S@L|$rar9Fa@WHq0068s0;P{p5>fXeCnjnNn`^kO|hwu=pg5_3S zqp=_FY`z~9zNKT%_{pKyNe1NH?13E0A@FbSGky}F-e^qL;&U2%=Q-5>_1TxSYSk6U zBCUq|kmiL3DL*E|&v^{dAYQiZ0Qlr_NM>XtQ&i4WZr8)WtIzhDeg;FVljDyPE1sPZ z;9;E{dDVCKw&QJYZ*Nxc@x2;;cRp!7p)y#)dFc<0l=Rd)c`9!%rA%sLEZoo7VMv5k zeutTEw9nJoi>Cee6*A7=aRUP!`W7Rids;Tchy3k6M>WlVBGi0jC z;P-3Uw;rWLuR$jeF~yK{Xm1eqz&Q~4-@MTF>In%c0yYp|gdF{^cNqM4U-Iklva>Gb zS0kT_7`+jRE7uh7LP7!OdsoG=t_^Nb@*qA0KW78oZCHgD;uX*oIkJ#H-9rPTNEBvc z99;Rh!A^}f*v0hT3k?yLxjfn#r?h2gD%AJ#OYhJ2M|+_mAhfBYh6s6Vla_1s5FxA* zo4Hso1{gK(rTXGPvbT>zVyGyT-O*<7rLY`K=7vB#pYBqpzj$h(>&X*{R1yT6crlXu zP}xICEE6XFBrV~pcI+?R`C`{$%2S74S+jFy%^x#**;p$1-t+{>WfTo?Cv5*=W+tEH zYd>#XvbXtUmjP;5e=WAXDpYNi!CniZ`#O zSVIH$9{#&BSCDfI>#!uX(~zQa_p7=+ujG^POvm&xDWL1}_hke{Pw=$2ccMoa>M3Y$ z+pP}aTmIZlLd;7+WoooO2|^_W_eqEx7Y3lN%jKm=A_H@QYn+Kfi1T-> z|Eg@7cCUKim#A&y@5|iqP@HnLPHbjushV$2!QVW;pX;^(aBFmOHA2-?AGHUWr5vnr zF@&v2{LV`c)*-eSWI>!ZiOJ8PJx`;fMsS2)c zv*MDAF$6ZyM#VW{@C@Ih1_|qcCvgUIC)|Prv0tS}?K(>BMeUzXU1Giv=ulL{~HT1O0{S7C+#7PTU5Roi6+#;8ixj&sRhL zz`A*QVHkD7g0~I9nZE)iaK?%e z+Cpvj?q7_H&7IA7cRh9LQ}*y8$@LeaehL`GeYoIrEa(%-$E|tZNEY9h`HrkZN2%iT z+UKlYO`W&Yq+tLsNY%Q<86vm5$r=T|YH9*KZc-BNJ8pa(>{>`q@|_&UC|I+OgwQm# zr)P9dt~F=|Tjy)Uod}z#Y-k8Y*cFKXykymTm$uL^sC0z{2|h!Bu?8TLh+2ar!C*HY z$P?w#OgXMQ=z3ybnDHcdiFjc+E!5@x#_)7iwOx|Y}P7f6;%b_ss$|GXh!2l1e8m>-bu^#SHA z$W)VpwjUguub(ikuwbyR6$Hqnib3*Lnh#uKHr)f!1r0$kYS-%TxXA62u$yA%2Zjpm zA>qW!rd0ca$oVKWbq7av+|Y$$xBq1RVzUkY|6<^;6)SsM_I3J@9x04?QlVw>l>jr$;!l4$(7{s2|EbW0Xqw;&`-J} zBAnzdG%w3>pnhN8xAbx%Z3Z|Wp19v{&N}o9*u7NITM#MOWDS?8H{8PkiznZ$(n&kW>{s*E8 zt95(K0_q$q{+YPP`!o3rQ1J#RKzsMTQZQzU2n;@rjSyGbYgcf!Zhg?N$b)jIj^xI! z{CJXc+PqaXEs_d(uE}Iz7ArEZb+cMqY>e0~Y_`$HDt;gFi~9Vi$L2FB%RFu|{2=qB zW2Qc0gn^XQDiCnR$@ri2%Ui1zXsCp>LPoI5m7HsW^FYYx5dNJR+Wzq6sfjbuW8-Bvq(@jf1W$LFjSIPtx- zeIe7IyDW>a-RqyY5~>QYW47IP=K&1R*F^MVHG$;dA*d|uDLOo}wQF3iGI!#(11Y$G zgw}vVHLkZ`?>!k;Rz33{jwHHZU8}i<&|M;#Kfcv$|C);ad=My{Yal0q3-;9g zfw@^!Szq5816sS#NSB$X54XAz_fmXTJ1RhY;7 zhJB}Lg6V=bP^3s|bO4t|(pZBV1T+AJKx3c_%@x@_0_FxJU77XbMHR$kf&&c&`ACLt zQ$sxpnsE=f`H)%<>-;!iO^Ir;tCPx&PoTc2g8B%^bGv+@hzjyu=`8f4TnAY|wG^>A zEcjaqx0QsNEBPUrCf$cJ_pu`eL1z(kO+Y5{`)t{);P@(6O8IKpUssM>o@&glz5Z@^ zDhk99lIs|o*g>Uv+)BW~K~JCLPVr&d_+bxCdq7UlgNRGdcfTs}3VmYqn6lNXd%zKJ zYP=)HA;YSr)AtI<<|?eU0-oxGGw#yzbG!V?F8|a}Uo)@NgpEdeYz2JDhaWV>*Qv1R zW*N$soO!+{#X^5$1ISJKe4qrL+1XFE(`4{_??LEzH^m|=m_YiG)Bx@9vZWjtrT3f= ze#n$@%XFj2Og^UrTvH_`F>Z9{&WSwz1$!uev~ehey`5whd35SguhZxravytHGhW~x zDJ8pp|6RKljW35tr`>5e-I;1Mdowr%rg(#z!D9XWjP-NNY&a8XmBnes;E`XX=$ln0&t^L1DaAp zSatu^7fmfb_hgGMu6U@Cm=&2gtJY`NVHCP&GO+;)dVn?0IU2plbNfE}qQk>=hbQ__ znD-A)C(Y(WYDu6-^ZrL^;Hl<@ z_%!(+zP9%9)g9q~$a#;kq1Z}X%B65sqJgE)HU@B=pQKW^BBoU&q4D3y2qb*!U$Y~O zeMO9om;%kyKC?r!fAi*ZB-g{hh%yiW8hMyJhP=7cUcsUoRcLX~QcEnoQuvEo2Azwd zs+!tzNDyd!HH|Nt!n>Ez3xQstdd{*|Mv1xg3Q9!5x6AM+R;~77so_3|BKHC2Q~-B| zYe))@3-@q8ON~@nyi~D(rfSZ&YD z6i=c965x31N&oPUr>TcG`Qd!nvW{-S#svlv_&xY$+oyjIkHu`lWh-?Y!Ev@bCNv&N zZ=*Bs{&NeHhcm+AB4~_X>;iPYeCZ@pmO!YHWr&KJq|i;K2!12)rP)4|Bx%#uv~x*| z;}LlCk>G*{XTr|dFT-Yxlxa>-zqplmuBe)v<;DcUSs1w3ASD$BF>K0G!SEdIP5u*R zrz3T+J|_;A%YAj`qUr!_EupaQID;G9Dp$k7p0d2 zVCEmZ5@G#zTJ$+#(2t;|N-$aVY+@kuXz%daBC9LkJ~#IL@5pPi*&Ee%K%rLccaEL~ zuH6zcIG%fy6sp7Q(pZArzLI48cRdvdng@RY!-9p16k`Sb|QD;P=WE4Pf zaze=Bf!5D9C?4m8dmgJbmuB)6uU(^k;BBRmnA>d*9tUtgT!oy#P{99m6&b1m#0oKx zOE*{sWmSG&6^lpI2kwDaD290?RP-(9_gM2hHaQ}0&*3-)krloS0z=B!jX+|-pr6>1 zeGojZxS`?UJzi)yfj@n8zW)5cYZ%d$v$C_LE!`a;56A4Oj*^n!eW^@1oL6; zs3)azQJ)k)2c_)Ft5m=n75gPI#JMr(aWn26s+U!8sWq{3<2_G|Tk~*T;OEB5(=_6u)xxVSwLoUSr9sdwo`pKl9IO_oV)p;^uT*27;pNziphBq?4x3qr`-cpk-pY}`%tXd zp;(9?0p7`Ts@6y+!l*gOAAQEp!y?RQYaoMMRjCzleVLeJE#mPKL4iSypxNIw%}x&OIA=q^1gIRm^9>ydN=E zAmPMkYW{Al_-B?~aIXS0JPV+L*bb77zaX9SY?c;ROzp;kb8G09S-l8N5Bs2=T*6`e znH3|hmEa63?A0p=xoBnXtGqsX^r)3AnLv~N1obTA3wH!Hi@>Q^Cho5CjlD1C$Em^zYvVMR^OcOk#yS5unKJ=od z%FZefq`W*}_>xmBo9*aWXlC&{=J0ag%J7@7uCO9#L6dUwh;~kFt`$h`V^O4nAppPZ zEt(E?(GzCtlFO)TGiiml%`4>`g4fRRTs~)ZicRYrYM|jc zzN9*bF>buW?z;x3wa#x}bwZ@-K*MFXQ+(KTNX=>e!&-rNj?_oVC*r0tw;>~ZFd!&a z?b)mok|60sM&5$CJuJj~?N}OS53N|%^&$Y<@w0v&OofPI169~T+OgyOIoTUm)%%6X zNp*KQ%jOH@&G7XxQp$}@4H?8n=B~%zSEP}aPQG)Sa1)-zUnCO18w~oSCTo_FVpw+j z^vaenMrh_G@j9t&@e4Irg{_=72UkHR6AG3%VTsk?m~UW#!@Dm&CHg26Dl~)lsdzZPN_&D=Cjyhpd0+i0;xcxK{1ybE_l>0se|EzoQ@ONP9ZX)!m-#|#<)1`)o&h(iN}Ang7CmRw2*}++sP{1}oc_XR zcM8M884Pv1Ke_sE<=lHt(1p z6k#c_SRIFP8~^#iv-zXS_q2ftCurib9{ha&q4)y?AT+|_sl`A$3MQ9ks`_oL=?8b4MNqTcu~eL)Y}x~Rsyi*C1_u9s9cM1B)5NMriU8=^VO6kG&EDRPeW8Pc?}U_Ws(UG ziq{9Wl^;}#3?h%-HYcjd2+srhT>}#XM`B{)o1ysJQ#}AXoHy^vO)cD*NLGb5;)q)h zusXv)`q@-4JKP|AhU^JQI0Kbh2+Uj$I-n&mhxO(Xj3C2d5^B zs98rMZt=^l^pR<%nj-BvX!9q1@0mneKQArc)gXES`(CkZs$KVv@v z42y8Rmz=7bvw2a)cfUByo{w=|@T%{O>&)>&g9k7eMD640syA|x5VVt+wfl+ci2({x zmve5cTH{Gpvr78Bi4%72>G70rDZfNqeO*F(8%@~*uX?tik2>seLtGZvS7V}~yI9mKuft6VPNxM0=R7kNngvp9r8u=ZfFModwW3V5D- z0dzcJF(VBzs9$4q&hx2a{fESt98PV_tW2*a;Ds!e#JFfTyv_E0bMdh4Xg1P$JwVM zVl>m=-zC8V@Y2oxT5!B1dv%vYAU+;J=bFzap^EK_P@ll_}LJFlQyNG{7%>7!(Re7onoL2FK$ zl`s0c?vtVUwSWp4X6pxcibi@red6~mvk5kDO;zs7eaNVHy4a4g+x=#b`+9JPZJA_^ z*~(`{8cy*^QuXPx2+>)lE65{T&|T$c5;V zP18Iz(sHCIV}&HFt!}H4d@g#<7k!^~V@yWsjUK+Utra`TjarxUW;={dtPK0beL$L) zmUf(Z)=_2y@(800I!eRbxmWr&TJstQ0ioQ;hksP$Tr?YRjN`18yBN_{Xm%$OQW|50 zqRRZA^J*{*m-QXUZgjxmdx#b&yI)P4!hw_dFgZ^y;vs=nx2`$+R1cU9I1dTAv(V9o;tgneDlg+J-a^Yf?n3iYvR(0X8ch1eq_rL$c$J~ca zBt3t?dntN#^MfBCG(S4q>9S+o76M}wsOXiVybJ+^$nEw)N~7LW)p>$JGlHXB8gb ze=xaFE+SO8!scHQAs*eH&zY)IP+b1Yqve3KOPHC3T`OOx)3u9v zQtxI?U2V8cp-8@_ueux1N&S9@OaJx`SHn9jywb4xx%4FQJ9dql^b4E)vS~qb>tefv zI{$3t1L1*GXZoKjXr{@x);z|M&V!77+7Zw72oqXu^3i1rUNLK>9F5?93pu$MRuOx_ z&ut|;CN=biuTC*cZ_xvJ7Yo|(y{pAXYtBFaIX140btVa4z0K#+QDcT~79EXLYZ%Lc z{3PerEI0uLize^QCW%^vS@U2X{gkGU^LLv<=TvbUpA}naN2}HP9utT@_$JZVmid0{ z2E^m&MYKyUhBw4gozFi-*l5EkQM(KxQ} zVatW15`0Ddd-!g_0dmt4bj`DvP`$-BZL!pDW7o&+(p`G`V-&Il{X9A*fKe}&E%WIW<`cyNTN)ki8~E@_`n#|g=ZA5gHHGF#B^gCXddQ)s z^zpjY@rvhKx$t5JR%CYfxJBfu*JwOUop*G6IYsQ!=C|^f7-`9toFQsuz9-D8)Lr<}7ERR@P_&x#xb`VS&Yj;Sn!&y7 z0JeD;Lip1q-gr)iiif~;{H#7C5}ucKZA_nM5ex%xcH)GQbU&mo)22rI{V}hohc20hs#M{iNtr{j-S@Ze!dKe z$b}o(P{V49WF#h3ihxdD#V*2Ak*CEw*xm)k3sQFVP;>GD6~d};_oM5x(Jn+M>ZFb$ z=NA63A~T%|qLq^5`jDPrvKGnBNOeLZ`_6J-g%2RdnOeNl?Jnc;s7|qg7iTAIovPKM z8}aZc^pbik($I5}+>5&R^o*V-)g*<~r}SwF1T5F2`Pwd(dNcqsuN93oAk!$&cZBp$$F|0s8;E z*BkRN=8p2S)wh%FqZuFaeS;>%CWV+L5x>Qza(i2GwPJGiS ze1hA9n6IwdUTv0D`0qf=lKN5mYHN&2itT;Zzil15<AL=X(_!}Dj|+5W-)R!7DylAGXCIay0s6MVe4n19{WXOCLgx_pcL95DjU$H zgt<+~NNuQ)vfFUP_E*wMd;< zvucW0Tn_M?7v>7o^6vQQCq-Pl)HM0=z#UHGg=$?Mjr9~032wJ(bCf*vHH)K{2DNMV z=YmNr9vV8_d3*M@qD5cy#lWuB;?*MJk?8eJgMC%nNsAm(>$1d;y)uNzN8k311H+kO z;>5UV^CgZ8X$cal4``Bj^eTLfKtEf|JJLsT=!vklaIAA)s0@^e7GD^8&EYTZbSaY4cr}&7{{(U9 z=dKnn(ma-NtlYlQ*F~ImB`btI6vD|ACs)s9|2=3e-sl z5mrU*6EDepDT;0BZOl&43xPNdb@tOjgF9MWL z4&(kL&7m0Al)Hon)yKm}?z2pp?^@ZTMShm6(=JgU^(hozmHEi4sL;Pq*~|Wt_TFh3 z{7=lMzEkYJ8*f&o<5v_v2t|G!Ea-jFX#kJwNpwfW*Em>_%i)5Qaz4I35&A*x<7MAo z*?|XVB|@6Vok9LoeX|H%#Z89Ld-ggw-_0{2b-qU2Xojlx5ohKORzdo~c90J_-(O2I zUYjsNw<@H&m<($3XfU(^-;_5ZpRzjdbbQvnx7?JeMqZ zJT890@zv+IrFv6mS7`7r+~oAD^cf6TG8^<=&dq<}-O%c4Tao{?`jx-4ab++v2Rn_; zm=1AFCDgc8x&>9aUGNLO5=&YAz{i@W_WpfsqS-Te8BIyDq#b8k6Qr zG7(D-DVR#t$&SwhBU3LV5d26EDN8Y_tbU&QS+AnLJQG^;55+9^TfG??4XAAIbblcC zUzr}Srz83{jV07{UG;b`>X6P8BgXBZ51UOhK~vFc9?u!*jD~(;1<4}Rt97Om2zUEM zh5AT(n8Wk{x4CH$S)RGZ7=!N~b(Udqdprx4+oaj=e3*HkUU|KR0O#`jtAY0=W6n=A zR6K9X9m*tM^N)hU2zf{TIPypK|0?g=!=YN+zEchz2%SX6yUV8JSRtoTDmz3{TedPq zM2_Q-q%owuk;5dXiVP_f(bPEQFl>wpIVEQ%gAy|oX3EU0^*w9G-o5X4ecyL|?{$6u zeeOTZHO8#<+|Pag?%(};p0$?$zDB|=bHvnB%wL&4)m*k4>tiqR{8+sDT|5lj2QR_J z&Q`NS4{$UTw*}9jp~JMpO67+4p8lh5EU69^k`K?o(YT5xZ}4gDjU2tCv`@)0sk+ki zezO)8Wgr;0nC{QE-Qh(KQxBZ-;D3jME<`OrrCO!QSLjt#Jd&_hZPd--^)j zFRyf`WWTEh+u%aA>LSp709%bVwbSjebi?{dMmWlO|oIBIgjkSgmLWm`WgWSxLLs0N@jgaJvM9xkZK zsBxrboCqI`Vda9-bmEHKWT)B4JF|rcUmbFN7t)`41qOQmM!M#eD+k-R?duy!&A!@Z zf4H?cLB*@obaO9kwXxYY971upM@e9voFI}wfV@3_bv0e5XUQPy%l6z^yT~W^ljz9&l&$7&3SuL%|z!*7~di z3(&-J9H$#xDBN?NVB$HLGGoN5g8YJr%Z~8b_Yt6;m-0dlSUvDi7u+JtF5+B%hZFPr zOu05{&FO=@P=f_UVR)pJqqrJzcwdEu8@OjOtcJSV{hP5yT<;jL(jO`hE41udIQ`gH ziAq{y8`j}xH}?*2dT|H6-){};chJq-REZ|IIrz0``Af$7t&SaD|BkYp!B2rtQx<#X zQBZ|2tPry$#tN+?$vKBne5UQX4>=}gK!OS&HwF$wsRp4ES6|waqlGNM}HoDdRt8TSRs|5LuiU#ovn(x*#%|;XhpDO?OFfTP6RChmuCx zO@}1o&SK+w(C(N?dWzhO{5hxk=bSye{^S!L6xX{P`@X&^DoFIB_}g_^2H`Z5;If9G z=#SzZ>#{#?scy=K^5DT7H~_^&4lVX^QV+cJ7G)m}Z^pMzq4^>Nq)#&A5$CS$=Mh9@ z-d3XBDPc43gF6N(1*OnjMSgUKCh_Zi17@W0aTZ@)AtJ63Si8Qh*iCDdUx4Y@1$UVU zbIze=qj6`O%mxXpW`6&K=Jxr}$x#a)GFczH*3*@#rU~I&*gDMf!`p)n#^HLt6S2j) zRFda4bQS%5@WQ=Q)xI%=kvZAv?*tRqiZRZg+X5us3=4xyW!np>M#`B><%k^@DdhV( zQ`vm7r~x_5J|es}OVQ9Ez>hXuANE4xt%YM(gm_2$OV{^lN^WWWJ@`e8;v(M*GVC;3 z%^7jv5MNrIXDKqN26IpF9D<8@x;?wrMVnCwwU4U7?bMj%ThYR*Egs;S&dXvJ(_6+YDW)$x|JMa`*dE46y9qfxM!j23{o!$Q8o`PQkH>whtEIkY3TOWX>&4E`BH%-_GZ6&u!|F zk14WA-8a*I)l*CDH@FXSZA*(4Imo?I6n;8a|8kvTPwkBU4k~H7$mySEV_L!0kEm}N z`Nr{g7$lgt8LVLF-BRyF+cj%&#iL5Ob?HLlDOaT9qU-Q2K*}smk1EUQsUvGMtU2j_ z7OKav9^t$&gB3Se?n)Y-O4T#WeO??MyC4SbLm>w=aBtr!-5pxL?TREgjc|j9cS2@6 zEtGW`P6^wuB!K5xZ7^T0vg%gP^|wlB!Ap@>a>5t>P+5+_maL=h2NaZ_1PP)})d??= z-a+4!==pI`hGzlq#lWvPt$ZUqIVM49LEKckvqsc=?*1>}o_?h^xyIcGWXAjlHEx-t0`q|qws(cCIxeCvoGSE& zMrxpYH4iJ9J%k5y;Q%y~e;7KnzmrRjp+T1e@F$g_7Wf+q25!$Z3&@IF53mPGnBu*z zkCNM@R9PTasa{mlbt)+_v;1LiQD1(VMtVUa+t;c!UF#@kxAU0?sGW@E5kE&>x-677vk|5Pyt)P%1o+VU z>q$}cd>N&fk{lp*yhyqevZG~-D(f$A(U3^O;-%hpxbt6TcJR6|nQuWay(-a7_sWLW z0pC&beunei7Jc7=+d$U0S@XnQ<6}o@dP$anwp(Q_k}iwVvxVuIiK-Vrp5lc}e#Jd0 z*r3*Z{RylbOoOUT-9%f&lh!F2;Aw_N&sNS?!9;)NmEWq7-ISbvbs@O=)DNG;8EW9! zM*;sK;|PZQm+P@VTYz~-@MgZgMq+9Y2x&USL$LtNsbb6ZLvBZ_<1W2^bNJLixYn6l zQw)1ervZ(w`>7wmw8E;PIbW~%4V9bvj@GDZ{zld@1&{gl7X8G8%Kvts*zsz5Y}GX_ zfde=EUpUZBC#ji+UAyC$Pq7E8$U|w!Ug5P5z~0VmclfT@qeW~7GC?9cL4tf-$%*+>Z8N|jgP1olr*}+ z0u_wxUl`k$6qLt$zLw`(O1_$%h$9xoT$s48Hus#mi&TLBgjz1h6!0X3TXsq>Q=n47 z90O4ad8)3j)$=sNU_(c4pEQ)hPUYL$Hm$M-z9MeG6)57mRMLr>9g$Bw?s`XavLjVg zcG#)%%{rMf;bmNj{;Y_&m;hJ5f)QF^*57w{7N~I;@c#gH8u9IKdAia%(t8ICZ!J*2 z)_tw>-LkL=v=dEclddQ#`1)euBct-NjP7UXMOt)v#!og}te_^7!YI0pE|JUAZ26=GLJbMmf!K|>(fDe+tx z&VN-iXNOVrEx_(P+V$~H5|O0?3Mv>XMQ)IQaMj;#-))T%Ck*Lcu`yr2UQA5b{-F7V z>_{G?9xBuZ_3#6l8w0m1n@ASxM;^Z{Bn*&5fPiZvG)c($dMNFo-%)63GyL_s-GjAQ z%s{0!^Krl3tQt$66US?cXpm4XFQG;tLs4C}JA1^@*uE~xw<>~9L8K5S@^*ON=Q_>d z&3$nK=YJ~==SpzSqi17y&nV&jcAR+JykLye+z!B+JgB;Rk`nJ_piHt6f(*Fc4c2)j zHzmc1^kf%B6Tg;}P%w@IU^uE`hkjn$KPEj(SiZjU-Tw0?3+zHp`8=B0h^ypl3I@AA zPSS_|#9{0H8t=V!JaWE>Ik~0x_e79UpkGew6pX^~v6h9%qis{dBG*A^Nyf^F{FEXw z>o38w#PKNvaG5`gcHmr@@Qvr9l7eG^qJf$BjypE1!74lX=+Q3CQ(lkX$X%0jkLA3f z;;?qj5w2(wk?*!OX6mGneLxg;16hOrtoL#-?&~_A)+PB)vAx2_%)zhVsSsgh+tNc5{z zBrFcnu*TUn+f^hb!En_7p`v&G$LbRQyQ4qerC5$s{0@UW6}YU-ZNEG9pFm zR8qH@*RM=V4Cgw=+6PGofxE1%PXRqu-D22LpBW#%YbCsZ+c5J7;+__fkT5?T2RUSP z_1dQTpK~rD0*=cMFu-#|6JPqTVK;}2BjF5&HKV+;o`#;CQ)cx*t|)*8z-9hM@SY@H z;I1|x=T1#Z5I})P0g|&b7dQ3P8QrBQmSOK=XX|G@RPJwQoiS@_rCY5O-lJJjke6f< zoY7(V{hTX3pM24Mt23Y)>diL$5s_J+jQ7Qi#o(Ty*dL&sA|5vkz&!MbGvtqDLAm%( zM8D4{90qiT)dOrSnjs4FlP(Ywh}r(II$y~sX*fgI&aIAGBXhsI;|R_IQErfcOf2C| z`Ht#2y)`TkalTg!F@B2kc8aXz_81Bk)Tqu>v)UT7rb6$9}zSiALojWW%}Ty2wJ zHAD!o$J>a#%JBomL%X-lkZK~!Bfs*Pf4EI*gUId39V$}4h;-AA%8r+=Zs0L!P@%tI zX6Jr_8_oJ9K%cgm1P~DS1;Kd`di#vo7il#Eq91b~xgr(Cr}4r+x_MU8ar zZ5yrfl`uw8M>yRA4%}Vm5Q~Hu!iT%-j`h_EV;B967yYLzEl0dL%Mr%Q5sRmIL~P+} zYOZG<0P&X!932q!JW=7*T$w|I!aso;<2Bzzi))aNR$Jvs(GuZTn&&Gh{6AG1NxCHc zm!ONok5fi_@n1*3jw)}R?=KjFV2daN)jgMi?~_rGw$TOZa1 zu0hN_(aF_Lka~^>ImkO{w1+R(N~K=DBf$qx6%{MVSQ}-&th2OAki_$pfoO@SUh(yB zq*Z8Ug6M6;HI%CAgDT$_csO0-^I+g%1>+BxFfKnZ9z4AXisni&$S7+q zE&Q$I@`G!lgMqxiD#2di`&HiWaL$$5CGsl=#IV1~uo@$fa)4()BZ8!*;gJl$BMou_ zf@>a1iu<(DS4{YofNUqlXaq%7|CQ$UTKy|$pw}sdx4I7q>ZjNtDdA)(QC5X0NJZKT zbSj#3a7{tM<`OspH9&@)_$KW8xAFi?mbM_LKx!^vrgc&M;3F&Ti9seOx`@y0!4@Xl zcppJM5U?3QYA*ac`P#P_Memd&z2>~;IOPxMwWoWzEX$bhUPN;Z=oeBhW?evXNG#;g z1?NNLiR2Ztf01H&piM+l_)v;y>~3WsQ;uJoMuDz&Iv?r+njDUji9@k_%=k6$n>JgO zoffn?kJ$oxTYi|mI5}C^zZZB7Nh-3x6r=SouPMhwCdvQwp!KHb4?-X>KFglCtJYx> zHuZXsUADWeI;nuydI>H}(VBs^FyVbOqf4RHb4B$MSx#6CC<| zu-b(ULD?nvHW^axx8B5yV81wS7|e}34yOlj>KU3wYH8)0(5(pw|GN?Tx5Qm3eD zId;OVxpv$IK~%YKsjWFkm!84W%*7#t)hkV?K><&u{3lPQh|gXG^C_^_tm7aDGkPI= zwX^SGutlPzuXbkc@|Yw183ncCUh_>i>33yyQsQ>@PQa`6kUXs~I3xZq^OhdwKEX2- z3(ndgd-m5u@;@+Q?>RIWxxh|O-H;0(q!hCVM$^xsxvyoRwal~l3Qpa!BRr2`TJsI8 z6fBy@`6^Y}VM{ABzzh_NnN8|>A_IGbv-ZRwgKg8;KG*V(9Qwo9PtSk4hj2zokq0*- zUp*A&AR`wTB9rt$?q&FQM>Cf28Kt!|Az;m8gxyP720|j>0*Ha9yGU61&|l$hhBwzD zbD%oEGvj~&_?-^|NgcqHi$WM$T6mk<;X@f4yZ(s?uj@z1v%u2#=K_+ZUBt_?eOU}w zUt^pt4euLc)RjWLXs}dtn{Td4YfO*3Dq1ofhBcV(NKQrBRjuU@%xg?;FmyD(J*9T- z?mT9N-%$F`Y88*%tv3^XdzVTtrF_1W~50rx;huFeL@oX)jAb9t9zO%m_*t`Rtv7kPGiJsr? z)%DR#|Z@Wt}UkB9_LutWw4d2XumTvtf)Cx6=&JtG;WD&Aj_S^?dmRCgXf5 zMZPHT=WjsXB@Pq#W_Q@>^Xo^|6P!+8LVw*Iln#WK9Sb^Don|NMSXp@ykeGI zi}0YwJFSm7{pR|n8&rxhu;b?mSL zXfnJagvR%Sbv152ovGPfUbg1YS<13@A5_NEmy!hBUAvDRZ4Ov1#Z*{~8;zeYJxvpZzhIU+Pda`f zvZnn;fIf-n7@=t#8VdP<48$ Date: Thu, 19 Dec 2024 23:01:19 -0500 Subject: [PATCH 24/24] Docs: add minimum specs --- README.md | 4 ++-- docs/database-guide.md | 5 +++++ docs/local-development.md | 13 ++++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 665e7317..0563cc7f 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Chayn's Bloom service offers several key features designed to support individual ## Bloom Backend Technical Documentation -Read our [Bloom Backend Technical Wiki Docs](https://github.com/chaynHQ/bloom-backend/wiki/Key-Concepts-and-Architecture) for overviews of key concepts and data & database architecture. +Read our [Bloom Backend Tech Wiki Docs](https://github.com/chaynHQ/bloom-backend/wiki) for overviews of key concepts and data & database architecture. Technologies Used: @@ -38,7 +38,7 @@ Technologies Used: - [GitHub Actions](https://github.com/features/actions) - CI pipeline - [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/) for linting and formatting. -## Local development +## Local Development Making an open-source contribution you have agreed to our [Code of Conduct](/CODE_OF_CONDUCT.md). diff --git a/docs/database-guide.md b/docs/database-guide.md index d0b073bd..0deaf1d9 100644 --- a/docs/database-guide.md +++ b/docs/database-guide.md @@ -2,6 +2,11 @@ ## How to Populate the Database +**Prerequisites:** + +- [Postgres 16](https://www.postgresql.org/download/) \*technically not required if running in Docker +- Running Bloom’s backend + ### Summary Most open-source contributions (like running Cypress integration tests from the frontend) require adding test data to your local database. To do this, download Bloom's test data dump file, connect to the database server, then populate the database with the backup data. diff --git a/docs/local-development.md b/docs/local-development.md index 7c2c3cb8..11c16a08 100644 --- a/docs/local-development.md +++ b/docs/local-development.md @@ -24,6 +24,14 @@ To test the backend: - Docker - PostgreSQL 16 +#### Recommended Minimum System Requirements: + +- CPU: Quad-core 2.5 GHz (i5/Ryzen 5) +- Memory: 16 GB RAM +- Storage: 512 GB +- OS: Linux, macOS, Windows, or WSL2 (latest versions) +- Internet Connection: For accessing dependencies and external APIs/services + ## Configure Environment Variables See [configure-env.md](configure-env.md) for instructions on configuring environment variables. @@ -138,11 +146,6 @@ Populating your local database with test data is required for running Cypress in See the [database-guide.md](database-guide.md) for instructions. -**Prerequisites:** - -- [Postgres 16](https://www.postgresql.org/download/) \*_technically not required if using the Docker method, but recommended._ -- Running Bloom’s backend - # Git Flow and Deployment **The develop branch is our source of truth, not main.**

D|AfA<3zmEJ`BK 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