usdigitalresponse / usdr-gost

USDR-hosted grants management tools
http://grants.usdigitalresponse.org
Apache License 2.0
32 stars 21 forks source link

Hide forecasted grants while UI is being developed to support forecasted grants #3456

Open masimons opened 2 months ago

masimons commented 2 months ago

Ticket #3213

Description

Hide forecasted grants on production during development and testing.

Screenshots / Demo Video

Testing

Automated and Unit Tests

Manual tests for Reviewer

Checklist

github-actions[bot] commented 2 months ago

QA Summary

QA Check Result
๐ŸŒ Client Tests โœ…
๐Ÿ”— Server Tests โœ…
๐Ÿค E2E Tests โœ…
๐Ÿ“ ESLint โœ…
๐Ÿงน TFLint โœ…

Test Coverage

Coverage report for `packages/client` St|File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --|-------------------|---------|----------|---------|---------|------------------- ๐Ÿ”ด|All files | 35.81 | 34.5 | 32.55 | 37.39 | ๐Ÿ”ด| src| 0 | 100 | 100 | 0 | ๐Ÿ”ด|  [App.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/App.vue)| 0 | 100 | 100 | 0 |[2-9](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/App.vue#L2-L9) ๐Ÿ”ด| src/arpa_reporter| 0 | 100 | 100 | 0 | ๐Ÿ”ด|  [App.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/arpa_reporter/App.vue)| 0 | 100 | 100 | 0 |[2-13](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/arpa_reporter/App.vue#L2-L13) ๐ŸŸก| ...ter/components| 58.58 | 48 | 46.8 | 59.78 | ๐ŸŸก|  [AlertBox.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/AlertBox.vue)| 80 | 75 | 50 | 80 |[13](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/AlertBox.vue#L13) ๐Ÿ”ด|  [...oadButton.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...oadButton.vue)| 20 | 0 | 0 | 20 |[2-7](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...oadButton.vue#L2-L7),[38-67](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...oadButton.vue#L38-L67) ๐ŸŸข|  [...ileButton.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...ileButton.vue)| 100 | 100 | 100 | 100 | ๐ŸŸข|  [...ttonSmall.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...ttonSmall.vue)| 100 | 100 | 100 | 100 | ๐ŸŸข|  [...mplateBtn.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...mplateBtn.vue)| 100 | 100 | 100 | 100 | ๐ŸŸก|  [...avigation.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...avigation.vue)| 67.74 | 63.63 | 52.63 | 67.74 |[...13-219](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...avigation.vue#...L13-L219),[228-235](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/...avigation.vue#L228-L235) ๐Ÿ”ด|  [StandardForm.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/StandardForm.vue)| 45 | 50 | 41.66 | 45.45 |[...24-128](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/StandardForm.vue#...L24-L128),[135-157](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ter/components/StandardForm.vue#L135-L157) ๐ŸŸข| ...porter/helpers| 84.61 | 79.48 | 87.5 | 84.61 | ๐ŸŸข|  [form-helpers.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...porter/helpers/form-helpers.js)| 84.21 | 79.48 | 85.71 | 84.21 |[7](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...porter/helpers/form-helpers.js#L7),[16](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...porter/helpers/form-helpers.js#L16),[25](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...porter/helpers/form-helpers.js#L25),[81-83](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...porter/helpers/form-helpers.js#L81-L83) ๐ŸŸข|  [short-uuid.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...porter/helpers/short-uuid.js)| 100 | 100 | 100 | 100 | ๐Ÿ”ด| ...eporter/router| 0 | 0 | 0 | 0 | ๐Ÿ”ด|  [index.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...eporter/router/index.js)| 0 | 0 | 0 | 0 |[20-131](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...eporter/router/index.js#L20-L131) ๐Ÿ”ด| ...reporter/store| 3.92 | 0 | 2.17 | 4.12 | ๐Ÿ”ด|  [index.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/store/index.js)| 3.92 | 0 | 2.17 | 4.12 |[11-14](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/store/index.js#L11-L14),[32-261](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/store/index.js#L32-L261) ๐Ÿ”ด| ...reporter/views| 40.98 | 25.13 | 41.37 | 42.91 | ๐ŸŸข|  [AgenciesView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/AgenciesView.vue)| 100 | 0 | 100 | 100 |[16](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/AgenciesView.vue#L16) ๐Ÿ”ด|  [AgencyView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/AgencyView.vue)| 40.74 | 36.36 | 50 | 45.83 |[53-62](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/AgencyView.vue#L53-L62),[70-96](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/AgencyView.vue#L70-L96) ๐Ÿ”ด|  [HomeView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/HomeView.vue)| 26.66 | 34.14 | 36.36 | 26.66 |[36-66](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/HomeView.vue#L36-L66),[113](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/HomeView.vue#L113),[137-207](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/HomeView.vue#L137-L207) ๐Ÿ”ด|  [LoginView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/LoginView.vue)| 29.62 | 36.36 | 20 | 30.76 |[1](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/LoginView.vue#L1),[4](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/LoginView.vue#L4),[19-34](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/LoginView.vue#L19-L34),[72-100](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/LoginView.vue#L72-L100) ๐Ÿ”ด|  [...plateView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...plateView.vue)| 27.02 | 35.71 | 45.45 | 25 |[...2](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...plateView.vue#...L2),[30-37](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...plateView.vue#L30-L37),[69-113](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...plateView.vue#L69-L113) ๐Ÿ”ด|  [...ploadView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ploadView.vue)| 24.24 | 16.66 | 33.33 | 26.66 |[1](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ploadView.vue#L1),[30-31](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ploadView.vue#L30-L31),[116-144](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ploadView.vue#L116-L144) ๐Ÿ”ด|  [...eriodView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...eriodView.vue)| 48 | 18.18 | 75 | 52.17 |[64-90](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...eriodView.vue#L64-L90) ๐ŸŸก|  [...riodsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...riodsView.vue)| 57.57 | 28.57 | 60 | 59.37 |[101](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...riodsView.vue#L101),[132](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...riodsView.vue#L132),[149-171](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...riodsView.vue#L149-L171) ๐Ÿ”ด|  [...pientView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...pientView.vue)| 40 | 10.52 | 30.76 | 41.02 |[73-93](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...pientView.vue#L73-L93),[110-152](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...pientView.vue#L110-L152) ๐Ÿ”ด|  [...ientsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ientsView.vue)| 48.48 | 8.33 | 46.66 | 53.33 |[...46](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ientsView.vue#...L46),[165-190](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ientsView.vue#L165-L190),[203](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ientsView.vue#L203) ๐ŸŸก|  [UploadView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UploadView.vue)| 61.53 | 43.75 | 62.5 | 61.36 |[...41-442](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UploadView.vue#...L41-L442),[448-449](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UploadView.vue#L448-L449) ๐Ÿ”ด|  [UploadsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UploadsView.vue)| 16.66 | 0 | 0 | 18.18 |[59](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UploadsView.vue#L59),[110-287](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UploadsView.vue#L110-L287) ๐Ÿ”ด|  [UserView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UserView.vue)| 46.34 | 33.33 | 68.75 | 48.64 |[84](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UserView.vue#L84),[97-137](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UserView.vue#L97-L137) ๐ŸŸก|  [UsersView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UsersView.vue)| 60 | 7.69 | 62.5 | 66.66 |[91-92](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UsersView.vue#L91-L92),[105-107](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UsersView.vue#L105-L107),[123](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/UsersView.vue#L123) ๐Ÿ”ด|  [...ationView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ationView.vue)| 37.03 | 18.18 | 26.66 | 41.66 |[...19](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ationView.vue#...L19),[238](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ationView.vue#L238),[246-270](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...reporter/views/...ationView.vue#L246-L270) ๐ŸŸก| src/components| 55.3 | 44.6 | 56.64 | 56.06 | ๐Ÿ”ด|  [...vityTable.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...vityTable.vue)| 18.75 | 0 | 28.57 | 19.35 |[115-185](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...vityTable.vue#L115-L185) ๐ŸŸก|  [BaseLayout.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/BaseLayout.vue)| 69.56 | 53.84 | 60 | 69.56 |[172](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/BaseLayout.vue#L172),[219-231](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/BaseLayout.vue#L219-L231) ๐Ÿ”ด|  [CopyButton.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/CopyButton.vue)| 30 | 33.33 | 40 | 30 |[5](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/CopyButton.vue#L5),[53-62](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/CopyButton.vue#L53-L62) ๐ŸŸข|  [...tActivity.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...tActivity.vue)| 80.76 | 62.85 | 83.33 | 80.76 |[...31-136](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...tActivity.vue#...L31-L136),[179](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...tActivity.vue#L179),[201](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...tActivity.vue#L201) ๐ŸŸข|  [GrantNotes.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantNotes.vue)| 90 | 78.26 | 85 | 89.79 |[...87](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantNotes.vue#...L87),[207](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantNotes.vue#L207),[216-217](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantNotes.vue#L216-L217) ๐Ÿ”ด|  [GrantsTable.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantsTable.vue)| 45.03 | 38.77 | 45 | 46.85 |[...51-455](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantsTable.vue#...L51-L455),[463-543](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/GrantsTable.vue#L463-L543) ๐Ÿ”ด|  [...dUploader.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...dUploader.vue)| 24.24 | 33.33 | 37.5 | 24.24 |[16](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...dUploader.vue#L16),[25](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...dUploader.vue#L25),[74-111](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...dUploader.vue#L74-L111) ๐Ÿ”ด|  [SearchFilter.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/SearchFilter.vue)| 40.74 | 28 | 37.5 | 40 |[...52](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/SearchFilter.vue#...L52),[64](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/SearchFilter.vue#L64),[67](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/SearchFilter.vue#L67),[72-82](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/SearchFilter.vue#L72-L82) ๐Ÿ”ด|  [ShareGrant.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/ShareGrant.vue)| 38.7 | 64.28 | 23.07 | 40 |[...08-112](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/ShareGrant.vue#...L08-L112),[131-152](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/ShareGrant.vue#L131-L152) ๐ŸŸข|  [...ivityItem.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...ivityItem.vue)| 96.15 | 90.9 | 100 | 96.15 |[64](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...ivityItem.vue#L64) ๐ŸŸก|  [UserAvatar.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/UserAvatar.vue)| 70 | 75 | 100 | 62.5 |[35-37](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/UserAvatar.vue#L35-L37) ๐ŸŸข|  [...eaderText.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/components/...eaderText.vue)| 100 | 100 | 100 | 100 | ๐Ÿ”ด| ...ponents/Modals| 29.21 | 44.34 | 33.1 | 32.94 | ๐Ÿ”ด|  [...anization.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...anization.vue)| 17.39 | 65.62 | 30 | 22.22 |[1-14](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...anization.vue#L1-L14),[149-178](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...anization.vue#L149-L178) ๐Ÿ”ด|  [AddTeam.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddTeam.vue)| 45.45 | 55.55 | 61.53 | 57.69 |[...04](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddTeam.vue#...L04),[210](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddTeam.vue#L210),[222-245](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddTeam.vue#L222-L245) ๐Ÿ”ด|  [AddUser.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddUser.vue)| 36.66 | 66.66 | 60 | 37.5 |[...40](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddUser.vue#...L40),[145](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddUser.vue#L145),[148-176](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/AddUser.vue#L148-L176) ๐Ÿ”ด|  [...anization.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...anization.vue)| 15.38 | 64.28 | 14.28 | 16.66 |[1-15](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...anization.vue#L1-L15),[58-78](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...anization.vue#L58-L78) ๐Ÿ”ด|  [EditTeam.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditTeam.vue)| 18.18 | 26.43 | 33.33 | 20.83 |[...29](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditTeam.vue#...L29),[208](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditTeam.vue#L208),[216-301](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditTeam.vue#L216-L301) ๐Ÿ”ด|  [EditUser.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditUser.vue)| 21.05 | 66.66 | 25 | 22.22 |[1](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditUser.vue#L1),[101-128](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/EditUser.vue#L101-L128) ๐Ÿ”ด|  [...ilsLegacy.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...ilsLegacy.vue)| 22.03 | 0 | 0 | 24.07 |[131](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...ilsLegacy.vue#L131),[177](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...ilsLegacy.vue#L177),[205-369](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...ilsLegacy.vue#L205-L369) ๐ŸŸข|  [...Followers.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...Followers.vue)| 83.33 | 88.88 | 57.14 | 83.33 |[10](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...Followers.vue#L10),[114-115](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...Followers.vue#L114-L115) ๐ŸŸก|  [ImportTeams.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportTeams.vue)| 50 | 41.17 | 50 | 53.33 |[28](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportTeams.vue#L28),[64-69](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportTeams.vue#L64-L69),[81-82](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportTeams.vue#L81-L82) ๐Ÿ”ด|  [ImportUsers.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportUsers.vue)| 42.85 | 60 | 40 | 46.15 |[29](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportUsers.vue#L29),[65-80](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/ImportUsers.vue#L65-L80) ๐Ÿ”ด|  [...archPanel.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...archPanel.vue)| 27.9 | 15.78 | 23.52 | 28.57 |[...68-178](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...archPanel.vue#...L68-L178),[211-255](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/...archPanel.vue#L211-L255) ๐Ÿ”ด|  [SearchPanel.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/SearchPanel.vue)| 21.62 | 63.26 | 32 | 27.58 |[...77-380](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/SearchPanel.vue#...L77-L380),[386-458](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...ponents/Modals/SearchPanel.vue#L386-L458) ๐Ÿ”ด| src/helpers| 18.12 | 17.92 | 18.6 | 18.88 | ๐ŸŸข|  [constants.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/constants.js)| 100 | 100 | 100 | 100 | ๐ŸŸข|  [currency.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/currency.js)| 100 | 100 | 100 | 100 | ๐ŸŸก|  [dates.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/dates.js)| 66.66 | 100 | 33.33 | 100 | ๐Ÿ”ด|  [fetchApi.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/fetchApi.js)| 6 | 13.79 | 5.26 | 6.12 |[10-12](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/fetchApi.js#L10-L12),[20-132](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/fetchApi.js#L20-L132) ๐Ÿ”ด|  [filters.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/filters.js)| 4 | 0 | 0 | 4.54 |[19-51](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/filters.js#L19-L51) ๐Ÿ”ด|  [form-helpers.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/form-helpers.js)| 0 | 0 | 0 | 0 |[5-82](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/form-helpers.js#L5-L82) ๐ŸŸก|  [gtag.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/gtag.js)| 77.77 | 90 | 75 | 77.77 |[12](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/gtag.js#L12),[51](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/gtag.js#L51) ๐ŸŸข|  [testHelpers.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/testHelpers.js)| 100 | 100 | 100 | 100 | ๐Ÿ”ด|  [...patWarning.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/...patWarning.js)| 0 | 0 | 0 | 0 |[39-61](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/helpers/...patWarning.js#L39-L61) ๐ŸŸข| ...s/featureFlags| 84.61 | 100 | 71.42 | 84.61 | ๐ŸŸก|  [index.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...s/featureFlags/index.js)| 60 | 100 | 60 | 60 |[8](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...s/featureFlags/index.js#L8),[16](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...s/featureFlags/index.js#L16) ๐ŸŸข|  [utils.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/...s/featureFlags/utils.js)| 100 | 100 | 100 | 100 | ๐Ÿ”ด| src/mixin| 20 | 0 | 28.57 | 20 | ๐Ÿ”ด|  [...zableTable.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/mixin/...zableTable.js)| 20 | 0 | 28.57 | 20 |[16-31](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/mixin/...zableTable.js#L16-L31),[36-37](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/mixin/...zableTable.js#L36-L37),[42](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/mixin/...zableTable.js#L42) ๐Ÿ”ด| src/router| 18.91 | 14.28 | 11.11 | 18.91 | ๐Ÿ”ด|  [index.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/router/index.js)| 18.91 | 14.28 | 11.11 | 18.91 |[...76-177](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/router/index.js#...L76-L177),[181-200](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/router/index.js#L181-L200) ๐ŸŸข| src/store| 100 | 100 | 100 | 100 | ๐ŸŸข|  [index.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/index.js)| 100 | 100 | 100 | 100 | ๐Ÿ”ด| src/store/modules| 2.82 | 0 | 4.48 | 2.94 | ๐Ÿ”ด|  [agencies.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/agencies.js)| 5.26 | 100 | 8.33 | 5.55 |[13-70](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/agencies.js#L13-L70) ๐Ÿ”ด|  [alerts.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/alerts.js)| 20 | 100 | 20 | 20 |[10-24](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/alerts.js#L10-L24) ๐Ÿ”ด|  [grants.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/grants.js)| 0.99 | 0 | 0.97 | 1.03 |[61-456](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/grants.js#L61-L456) ๐Ÿ”ด|  [organization.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/organization.js)| 33.33 | 100 | 33.33 | 33.33 |[21-25](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/organization.js#L21-L25) ๐Ÿ”ด|  [roles.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/roles.js)| 20 | 100 | 20 | 25 |[13-22](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/roles.js#L13-L22) ๐Ÿ”ด|  [tenants.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/tenants.js)| 11.11 | 100 | 14.28 | 12.5 |[13-32](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/tenants.js#L13-L32) ๐Ÿ”ด|  [users.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/users.js)| 2.43 | 0 | 4.76 | 2.5 |[17-100](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/store/modules/users.js#L17-L100) ๐Ÿ”ด| src/views| 44.73 | 37.22 | 33.77 | 46.55 | ๐Ÿ”ด|  [...orterView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...orterView.vue)| 25.58 | 51.85 | 18.18 | 26.82 |[...](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...orterView.vue#...),[62](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...orterView.vue#L62),[84](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...orterView.vue#L84),[109-151](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...orterView.vue#L109-L151) ๐ŸŸก|  [...boardView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...boardView.vue)| 50 | 17.64 | 50 | 52 |[89-98](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...boardView.vue#L89-L98),[114-125](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...boardView.vue#L114-L125) ๐Ÿ”ด|  [...tailsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...tailsView.vue)| 32.97 | 14.28 | 17.07 | 33.69 |[...96-435](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...tailsView.vue#...L96-L435),[441-462](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...tailsView.vue#L441-L462) ๐ŸŸข|  [GrantsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/GrantsView.vue)| 100 | 100 | 100 | 100 | ๐ŸŸก|  [LoginView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/LoginView.vue)| 56 | 38.88 | 44.44 | 58.33 |[23](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/LoginView.vue#L23),[137-159](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/LoginView.vue#L137-L159) ๐ŸŸก|  [MyGrantsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/MyGrantsView.vue)| 77.77 | 66.66 | 66.66 | 77.77 |[1](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/MyGrantsView.vue#L1),[69](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/MyGrantsView.vue#L69) ๐ŸŸก|  [...ofileView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ofileView.vue)| 78.26 | 80 | 42.85 | 78.26 |[1](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ofileView.vue#L1),[32](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ofileView.vue#L32),[63](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ofileView.vue#L63),[136-140](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ofileView.vue#L136-L140) ๐ŸŸข|  [NotFoundView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/NotFoundView.vue)| 100 | 100 | 100 | 100 | ๐Ÿ”ด|  [...tionsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...tionsView.vue)| 47.05 | 57.14 | 41.66 | 53.33 |[...97-100](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...tionsView.vue#...L97-L100),[114-118](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...tionsView.vue#L114-L118) ๐Ÿ”ด|  [...ivityView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ivityView.vue)| 46.42 | 23.8 | 43.75 | 46.42 |[...01](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ivityView.vue#...L01),[114](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ivityView.vue#L114),[120-134](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/...ivityView.vue#L120-L134) ๐Ÿ”ด|  [TeamsView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/TeamsView.vue)| 44.44 | 88.88 | 41.66 | 53.33 |[1](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/TeamsView.vue#L1),[58](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/TeamsView.vue#L58),[142](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/TeamsView.vue#L142),[156-163](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/TeamsView.vue#L156-L163) ๐ŸŸก|  [UsersView.vue](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/UsersView.vue)| 50 | 66.66 | 36.36 | 53.84 |[...16-121](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/UsersView.vue#...L16-L121),[133-139](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/client/src/src/views/UsersView.vue#L133-L139)
Coverage report for `packages/server` St|File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --|-------------------------------|---------|----------|---------|---------|--------------------------- ๐ŸŸก|All files | 60.06 | 53.68 | 56.06 | 60.15 | ๐ŸŸข| src| 81.81 | 0 | 50 | 81.81 | ๐ŸŸข|  [configure.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/configure.js)| 81.81 | 0 | 50 | 81.81 |[47-54](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/configure.js#L47-L54),[83-85](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/configure.js#L83-L85) ๐ŸŸข| src/arpa_reporter| 100 | 71.42 | 100 | 100 | ๐ŸŸข|  [configure.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/configure.js)| 100 | 33.33 | 100 | 100 |[34-41](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/configure.js#L34-L41) ๐ŸŸข|  [environment.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/environment.js)| 100 | 100 | 100 | 100 | ๐ŸŸข|  [use-request.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/use-request.js)| 100 | 100 | 100 | 100 | ๐ŸŸก| src/arpa_reporter/db| 50.73 | 45.88 | 50 | 51.9 | ๐ŸŸก|  [arpa-subrecipients.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/arpa-subrecipients.js)| 53.19 | 50 | 38.46 | 54.54 |[23-60](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/arpa-subrecipients.js#L23-L60),[101](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/arpa-subrecipients.js#L101),[113-122](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/arpa-subrecipients.js#L113-L122) ๐Ÿ”ด|  [reporting-periods.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/reporting-periods.js)| 37.2 | 46.87 | 40 | 38.09 |[46](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/reporting-periods.js#L46),[77-156](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/reporting-periods.js#L77-L156) ๐ŸŸข|  [settings.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/settings.js)| 100 | 83.33 | 100 | 100 |[13](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/settings.js#L13) ๐ŸŸก|  [uploads.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/uploads.js)| 50 | 28.57 | 52.38 | 51.42 |[18-29](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/uploads.js#L18-L29),[84](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/uploads.js#L84),[99-124](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/uploads.js#L99-L124),[141-150](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/db/uploads.js#L141-L150) ๐Ÿ”ด| src/arpa_reporter/lib| 29.57 | 33.08 | 34.56 | 28.46 | ๐ŸŸข|  [arpa-ec-codes.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/arpa-ec-codes.js)| 100 | 100 | 100 | 100 | ๐Ÿ”ด|  [audit-report.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/audit-report.js)| 21.44 | 19.35 | 24.19 | 21.32 |[...28-529](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/audit-report.js#...L28-L529),[554-684](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/audit-report.js#L554-L684),[732-758](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/audit-report.js#L732-L758) ๐ŸŸก|  [ensure-async-context.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/ensure-async-context.js)| 75 | 100 | 50 | 100 | ๐ŸŸข|  [format.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/format.js)| 90.62 | 90 | 90 | 91.3 |[41-42](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/format.js#L41-L42) ๐ŸŸก|  [log.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/log.js)| 75 | 50 | 50 | 75 |[13](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/log.js#L13),[25](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/log.js#L25) ๐ŸŸก|  [preconditions.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/preconditions.js)| 66.66 | 33.33 | 100 | 66.66 |[3](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/preconditions.js#L3) ๐Ÿ”ด|  [spreadsheet.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/spreadsheet.js)| 9.09 | 0 | 0 | 9.09 |[15-32](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/spreadsheet.js#L15-L32) ๐ŸŸข|  [validation-error.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/validation-error.js)| 85.71 | 100 | 50 | 85.71 |[16](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/lib/validation-error.js#L16) ๐Ÿ”ด| src/arpa_reporter/routes| 40 | 14.92 | 14.28 | 40.6 | ๐Ÿ”ด|  [agencies.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/agencies.js)| 22.58 | 0 | 0 | 23.33 |[13-21](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/agencies.js#L13-L21),[26-53](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/agencies.js#L26-L53) ๐ŸŸก|  [application_settings.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/application_settings.js)| 75 | 100 | 0 | 75 |[10-11](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/application_settings.js#L10-L11) ๐ŸŸก|  [audit-report.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/audit-report.js)| 68.91 | 58.33 | 100 | 68.91 |[57-58](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/audit-report.js#L57-L58),[64-78](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/audit-report.js#L64-L78),[100-116](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/audit-report.js#L100-L116) ๐ŸŸข|  [exports.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/exports.js)| 81.42 | 83.33 | 100 | 81.42 |[61-75](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/exports.js#L61-L75),[98-99](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/exports.js#L98-L99) ๐Ÿ”ด|  [reporting-periods.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/reporting-periods.js)| 20 | 0 | 0 | 20.43 |[...25-137](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/reporting-periods.js#...L25-L137),[143-149](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/reporting-periods.js#L143-L149),[154-180](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/reporting-periods.js#L154-L180) ๐Ÿ”ด|  [subrecipients.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/subrecipients.js)| 23.8 | 0 | 0 | 23.8 |[12-13](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/subrecipients.js#L12-L13),[17-27](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/subrecipients.js#L17-L27),[31-48](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/subrecipients.js#L31-L48),[52-63](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/subrecipients.js#L52-L63) ๐Ÿ”ด|  [uploads.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/uploads.js)| 28.28 | 7.89 | 9.09 | 29.16 |[...33-154](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/uploads.js#...L33-L154),[164-166](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/uploads.js#L164-L166),[173-180](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/uploads.js#L173-L180) ๐Ÿ”ด|  [users.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/users.js)| 19.6 | 0 | 0 | 20 |[15-35](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/users.js#L15-L35),[39-44](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/users.js#L39-L44),[48-81](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/routes/users.js#L48-L81) ๐Ÿ”ด| src/arpa_reporter/services| 44.55 | 34.79 | 47.55 | 44.83 | ๐Ÿ”ด|  [generate-arpa-report.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/generate-arpa-report.js)| 36.86 | 2.77 | 50 | 37.24 |[...-975](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/generate-arpa-report.js#...-L975),[984-997](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/generate-arpa-report.js#L984-L997),[1071-1138](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/generate-arpa-report.js#L1071-L1138) ๐Ÿ”ด|  [get-template.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/get-template.js)| 21.62 | 0 | 0 | 21.62 |[18-79](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/get-template.js#L18-L79) ๐ŸŸก|  [persist-upload.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/persist-upload.js)| 69.66 | 90 | 73.07 | 69.76 |[...64-206](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/persist-upload.js#...L64-L206),[227-241](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/persist-upload.js#L227-L241),[279-301](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/persist-upload.js#L279-L301) ๐Ÿ”ด|  [records.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/records.js)| 20.75 | 0 | 11.11 | 21.15 |[38-204](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/records.js#L38-L204),[221-276](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/records.js#L221-L276) ๐Ÿ”ด|  [revalidate-uploads.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/revalidate-uploads.js)| 37.5 | 100 | 0 | 37.5 |[5-14](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/revalidate-uploads.js#L5-L14) ๐Ÿ”ด|  [validate-upload.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validate-upload.js)| 43.56 | 58.51 | 37.03 | 44.2 |[...52](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validate-upload.js#...L52),[371](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validate-upload.js#L371),[393](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validate-upload.js#L393),[411-688](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validate-upload.js#L411-L688),[703](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validate-upload.js#L703) ๐ŸŸข|  [validation-rules.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validation-rules.js)| 98.18 | 90 | 90.9 | 100 |[157](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validation-rules.js#L157),[173](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/arpa_reporter/services/validation-rules.js#L173) ๐ŸŸก| src/db| 74.56 | 72.25 | 68.96 | 74.61 | ๐ŸŸข|  [connection.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/connection.js)| 100 | 50 | 100 | 100 |[6](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/connection.js#L6) ๐ŸŸข|  [constants.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/constants.js)| 100 | 100 | 100 | 100 | ๐ŸŸก|  [helpers.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/helpers.js)| 75 | 83.33 | 50 | 75 |[5](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/helpers.js#L5),[21-22](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/helpers.js#L21-L22) ๐ŸŸข|  [index.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/index.js)| 82.67 | 79.29 | 82.48 | 82.63 |[...75-1441](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/index.js#...L75-L1441),[1623-1624](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/index.js#L1623-L1624),[1631](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/index.js#L1631) ๐ŸŸข|  [saved_search_migration.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/saved_search_migration.js)| 92 | 88.23 | 71.42 | 93.61 |[5](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/saved_search_migration.js#L5),[69](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/saved_search_migration.js#L69),[134](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/saved_search_migration.js#L134) ๐Ÿ”ด|  [tenant_creation.js](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/tenant_creation.js)| 10.58 | 2.7 | 0 | 11.11 |[15-40](https://github.com/usdigitalresponse/usdr-gost/blob/aa2c4bd00e21fa4cd36cbd6a930d227f69902eb5/packages/server/src/db/tenant_creation.js#L15-L40),[...*[Comment body truncated]*
github-actions[bot] commented 2 months ago

Terraform Summary

Step Result
๐Ÿ–Œ Terraform Format & Style โœ…
โš™๏ธ Terraform Initialization โœ…
๐Ÿค– Terraform Validation โœ…
๐Ÿ“– Terraform Plan โœ…

Hint: If "Terraform Format & Style" failed, run terraform fmt -recursive from the terraform/ directory and commit the results.

Output

Validation Output ``` stdout: Success! The configuration is valid. ------------------------------------- stderr: ```
Plan Summary | CHANGE | RESOURCE | |----------|-----------------------------------------------------------------------------------------------------------------| | add | `module.website.aws_s3_object.origin_dist_artifact["assets/ActivityTable-DTd2sFX0.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/ActivityTable-DTd2sFX0.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/ArpaAnnualPerformanceReporterView-CDdDTksC.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/ArpaAnnualPerformanceReporterView-CDdDTksC.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/DashboardView-TapDTibd.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/DashboardView-TapDTibd.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsLegacy-Cz_aXguf.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsLegacy-Cz_aXguf.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsView-D5GpA3Du.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsView-D5GpA3Du.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsTable-DXygXY3I.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsTable-DXygXY3I.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsView-D8QTMq0E.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsView-D8QTMq0E.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyGrantsView-mTLphgQW.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyGrantsView-mTLphgQW.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyProfileView-kfN1a99H.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyProfileView-kfN1a99H.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/NotFoundView-DG0C-4Kw.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/NotFoundView-DG0C-4Kw.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/OrganizationsView-CKQRlZ5P.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/OrganizationsView-CKQRlZ5P.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecentActivityView-CPrFA33M.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecentActivityView-CPrFA33M.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecordUploader-C9DgaHrg.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecordUploader-C9DgaHrg.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/TeamsView-BSGssl7p.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/TeamsView-BSGssl7p.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/UsersView-shQyCqcR.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/UsersView-shQyCqcR.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/arpa_reporter-BDVWdOGe.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/arpa_reporter-BDVWdOGe.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/form-helpers-BmCDRMDS.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/form-helpers-BmCDRMDS.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/main-yGBsrI0n.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/main-yGBsrI0n.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/style-Cjl3lQxh.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/style-Cjl3lQxh.js.map"]` | | update | `module.api.aws_ecs_service.default[0]` | | | `module.api.module.grant_digest_scheduled_task.aws_iam_role_policy.default[0]` | | | `module.api.module.grant_digest_scheduled_task.aws_scheduler_schedule.default[0]` | | | `module.arpa_audit_report.aws_ecs_service.default` | | | `module.arpa_treasury_report.aws_ecs_service.default` | | | `module.consume_grants.aws_ecs_service.default` | | | `module.website.aws_s3_object.deploy-config[0]` | | | `module.website.aws_s3_object.origin_dist_artifact["arpa_reporter/index.html"]` | | | `module.website.aws_s3_object.origin_dist_artifact["index.html"]` | | recreate | `module.api.aws_ecs_task_definition.default[0]` | | | `module.arpa_audit_report.aws_ecs_task_definition.consumer` | | | `module.arpa_treasury_report.aws_ecs_task_definition.consumer` | | | `module.consume_grants.aws_ecs_task_definition.consume_grants` | | delete | `module.website.aws_s3_object.origin_dist_artifact["assets/ActivityTable-YqgOOPXw.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/ActivityTable-YqgOOPXw.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/ArpaAnnualPerformanceReporterView-DKVm08Xg.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/ArpaAnnualPerformanceReporterView-DKVm08Xg.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/DashboardView-VsspTFBS.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/DashboardView-VsspTFBS.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsLegacy-CVlel6Ry.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsLegacy-CVlel6Ry.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsView-DJGnKTa1.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantDetailsView-DJGnKTa1.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsTable-jhzN9SPv.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsTable-jhzN9SPv.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsView-BrsJtfrf.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/GrantsView-BrsJtfrf.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyGrantsView-BjfVdyV4.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyGrantsView-BjfVdyV4.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyProfileView-B3fT5aIb.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/MyProfileView-B3fT5aIb.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/NotFoundView-BNQmXSgE.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/NotFoundView-BNQmXSgE.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/OrganizationsView-D-fJvjQ_.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/OrganizationsView-D-fJvjQ_.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecentActivityView-C0M1DIV9.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecentActivityView-C0M1DIV9.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecordUploader-BabAXXQR.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/RecordUploader-BabAXXQR.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/TeamsView-LLkFMdO8.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/TeamsView-LLkFMdO8.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/UsersView-CQQQ-iaa.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/UsersView-CQQQ-iaa.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/arpa_reporter-B11UrlnO.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/arpa_reporter-B11UrlnO.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/form-helpers-k5gBX_5e.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/form-helpers-k5gBX_5e.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/main-DxZvaAMs.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/main-DxZvaAMs.js.map"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/style-Lb7S2aAW.js"]` | | | `module.website.aws_s3_object.origin_dist_artifact["assets/style-Lb7S2aAW.js.map"]` |

Pusher: @lsr-explore, Action: pull_request_target, Workflow: Continuous Integration

masimons commented 1 month ago

@TylerHendrickson thanks for checking this out, I missed this comment. Out of curiosity, do you have an example off the top of your head where we use an env var in that way? I was looking into how we use feature flags, but it seems that those are scoped to the client side?

TylerHendrickson commented 1 month ago

@masimons re

Out of curiosity, do you have an example off the top of your head where we use an env var in that way? I was looking into how we use feature flags, but it seems that those are scoped to the client side?

The implementation details for #3060 provide some instructions for implementing an API-side feature flag using a SHARE_TERMINOLOGY_ENABLED environment variable (plus a client-side feature flag, which doesn't apply here). This was implemented by PR #3147.

Fundamentally, this sort of thing would entail the following:

I'd recommend that an environment variable that provides a binary feature flag be evaluated as a string using strict equality, e.g. my_feature_is_enabled = process.env.MY_FEATURE_ENABLED === 'true'.

lsr-explore commented 3 weeks ago

@masimons I really like how this implementation parameterizes the flag in src/db/index.js and allows the caller to decide whether to pull in the toggle from env var or something else. This is looking good overall!

I did notice in local testing that setting SHOW_FORECASTED_GRANTS=false in packages/server/.env doesn't seem to have the desired effect (I could still see forecasted grants in search results), although when the env var is altogether missing, forecasted grants are hidden like we'd expect.

I believe this is because the packages/server/db/index.js functions are expecting a true boolean value (or else undefined, so that the arg default of false in the function signature is used), but when a value is provided from process.env.SHOW_FORECASTED_GRANTS, it's a string rather than a boolean, and !"false" is evaluating to true. I think the simplest way to resolve this is to have callers explicitly check whether process.env.SHOW_FORECASTED_GRANTS === "true", which I provided in a comment suggestion.

@TylerHendrickson , @masimons - I've accepted Ty's changes - this should be ready for review

lsr-explore commented 2 weeks ago

@lsr-explore Thanks for the updates. I think we need the strict === 'true' comparison for all usages of the environment variable, so I added a few additional comment suggestions to address those as well. I think that I covered all of them, but feel free to double check me on that ๐Ÿ™‚

Sorry that I missed this @TylerHendrickson . I applied the changes and did another sanity check of the code. I noticed a couple additional places where the flag needed to be sent and added a commit.

I noticed that the db.getGrantsInterested didn't have this check. This would only be an issue if we needed to turn off grants after enabling it and user had clicked follow.

Do you think we need the check on getGrantsInterested?

masimons commented 2 weeks ago

I noticed that the db.getGrantsInterested didn't have this check. This would only be an issue if we needed to turn off grants after enabling it and user had clicked follow.

Do you think we need the check on getGrantsInterested?

That's a fair point - I don't know if that particular case came up when we were thinking about this