Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor View License Summary services and presenters #957

Merged
merged 13 commits into from
May 1, 2024

Conversation

jonathangoulding
Copy link
Collaborator

@jonathangoulding jonathangoulding commented Apr 30, 2024

Extract the common view license data (data not in the View License tabs) into it's own service and presenter.

Use the new view license and view license summary functionality called from the View License Summary Controller.

Optimise the fetch calls to get license data per service requirement.

This work is done prior to https://eaflood.atlassian.net/browse/WATER-4444 to allow the common page data to be shared across pages.

@jonathangoulding jonathangoulding added the housekeeping Refactoring, tidying up or other work which supports the project label Apr 30, 2024
@jonathangoulding jonathangoulding self-assigned this Apr 30, 2024
Extract the common view license data (data not in the View License tabs) into it's owm service and presenter.

Use the new view license and view license summary functionality called from the View License Summary Controller.

Optimise the fetch calls to get licence data per service requirement.
@jonathangoulding jonathangoulding force-pushed the view-license-summary-tab-refactor branch from 476ed4d to 2e8c5e3 Compare April 30, 2024 14:52
@jonathangoulding jonathangoulding force-pushed the view-license-summary-tab-refactor branch from 38f5475 to ea026be Compare May 1, 2024 08:19
@jonathangoulding jonathangoulding marked this pull request as ready for review May 1, 2024 12:45
@jonathangoulding jonathangoulding merged commit 3d0e264 into main May 1, 2024
6 checks passed
@jonathangoulding jonathangoulding deleted the view-license-summary-tab-refactor branch May 1, 2024 14:17
jonathangoulding added a commit that referenced this pull request May 1, 2024
The existing service handling view license is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a returns controller, service and presenter to handle the view license returns page.

This will share he same view as the summary page and load the same 'common data' established in previous work.

Both pieces of work are part of - https://eaflood.atlassian.net/browse/WATER-4444

Previous work as mentioned above - #957
Cruikshanks added a commit that referenced this pull request May 3, 2024
https://eaflood.atlassian.net/browse/WATER-4444

The existing service handling view license is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a returns controller, service and presenter to handle the view license returns page.

This will share the same view as the summary page and load the same 'common data' established in [previous work](#957).

---------

Co-authored-by: Alan Cruikshanks <alan.cruikshanks@gmail.com>
jonathangoulding added a commit that referenced this pull request May 7, 2024
https://eaflood.atlassian.net/browse/WATER-4316

The existing service handling view licence is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a bills controller, service and presenter to handle the view licence bills page.

This will share the same view as the summary page and load the same 'common data' established in [previous work](#957).
jonathangoulding added a commit that referenced this pull request May 7, 2024
* Add View Licence Bills page

https://eaflood.atlassian.net/browse/WATER-4316

The existing service handling view licence is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a bills controller, service and presenter to handle the view licence bills page.

This will share the same view as the summary page and load the same 'common data' established in [previous work](#957).
jonathangoulding added a commit that referenced this pull request May 8, 2024
https://eaflood.atlassian.net/browse/WATER-4433
https://eaflood.atlassian.net/browse/WATER-4434

The existing service handling view licence is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a contact details controller, service and presenter to handle the view licence contact details page.

This will share the same view as the summary page and load the same 'common data' established in [previous work](#957).
Cruikshanks pushed a commit that referenced this pull request May 13, 2024
https://eaflood.atlassian.net/browse/WATER-4433
https://eaflood.atlassian.net/browse/WATER-4434

The existing service handling view licence is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a contact details controller, service and presenter to handle the view licence contact details page.

This will share the same view as the summary page and load the same 'common data' established in [previous work](#957).
jonathangoulding added a commit that referenced this pull request May 13, 2024
* Add View Licence contact details page

https://eaflood.atlassian.net/browse/WATER-4433
https://eaflood.atlassian.net/browse/WATER-4434

The existing service handling view licence is slow because it loads all the data for the tabs in one render. Work has been done previously to refactor the summary page to load only the summary information.

This change will introduce a contact details controller, service and presenter to handle the view licence contact details page.

This will share the same view as the summary page and load the same 'common data' established in [previous work](#957).

PR made to optimise the fetch service for the licence contact details
Suggested View contact details changes (#1011)

In this commit, we have tried to highlight how we think the changes would be implemented if they followed our current norms.

- corrections - adding line breaks, extensions to module imports, parens and block body for arrow functions
- fetch logic - switching from Objection to Knex directly. Where we are fetching data from various tables to provide a summarised view, and not intending to interact with the instances other than that, dropping to Knex can make things easier and remove the need for additional logic in presenters services
- single responsibility - switching the basis for the modules to be single-responsibility. The ViewService will be responsible for fetching and presenting the data for the whole tab. But assume fetching and presenter licence contacts versus customer contacts will be different hence rename/update the fetch and presenter to be licence contact-specific

---------

Co-authored-by: Alan Cruikshanks <alan.cruikshanks@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
housekeeping Refactoring, tidying up or other work which supports the project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants