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

Rename return-requirements route return-versions #1431

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Cruikshanks
Copy link
Member

https://eaflood.atlassian.net/browse/WATER-4257
DEFRA/water-abstraction-team#126

Part of the work to migrate managing returns from NALD to WRLS

When we first started working on creating and managing 'requirements for returns,' 'requirements' was the term used in all conversations.

So, we used it as the root URL for all related endpoints. However, things started getting confusing when we realised that, depending on the context, 'return requirements' can mean two different things.

Within the app and amongst the team, it is a general term that refers to all the details needed to determine how and when a licensee should submit their returns: the 'requirements for returns'.

In the code and database, it means the child record of a 'return version'. The return version holds the start and end dates of when the requirements apply and why they were created. But the child 'return requirements' hold the details used to generate the return logs that licensees will submit against.

When you go through the set-up journey, you are not creating a new return requirement; you're creating a new return version and all its child return requirement records. When you click a 'Requirement for returns' entry in the UI, the view is not of a return requirement but of a return version and all its child return requirement records.

We've fallen into the same trap as the legacy code of confusing our naming. As the journey sets up a new return version, /return-versions should be the root. The same goes for GET /return-versions/a8a0dbbd-f7bf-47c0-887f-c4e9ad43ab52 to view a return version.

This is a housekeeping change to rename the root and ensure that associated presenters, services, and validators are also correctly named and located.

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

> Part of the work to migrate managing returns from NALD to WRLS

When we first got started on the work for creating and managing 'requirements for returns', 'requirements' was the term being used in all conversations.

So, that is what we used as the root URL for all endpoints related to it. However, things started becoming confused when we realised depending on the context, 'return requirements' can mean two different things.

Within the app, and amongst the team, it is a general term that refers to all the details needed to determine how and when a licensee should submit their returns: the 'requirements for returns'.

In the code and database, it means the child record of a 'return version'. The return version holds the start and end dates of when the requirements apply, and why they were created. But the child 'return requirements' hold the detail that will be used to generate the return logs licensees will submit against.

When you go through the set up journey you are not creating a new return requirement, you're creating a new return version and its child return requirement records. When you click a 'Requirement for returns' entry in the UI, the view is not of a return requirement, but a return version and all its child return requirement records.

We've fallen into the same trap as the legacy code of confusing our naming. As the journey is setting up a new return version, `/return-versions` should be the root. The same goes for `GET /return-versions/a8a0dbbd-f7bf-47c0-887f-c4e9ad43ab52` to view a return version.

So, this is a housekeeping change to rename the root and ensure associated presenters, services and validators are also correctly named and located.
@Cruikshanks Cruikshanks added the housekeeping Refactoring, tidying up or other work which supports the project label Oct 21, 2024
@Cruikshanks Cruikshanks self-assigned this Oct 21, 2024
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.

1 participant