Skip to content

CWMVUE-634 Implements Access To Water Endpoint#1030

Draft
rma-bryson wants to merge 8 commits into
developfrom
feature/Adding_Access_To_Water_Endpoint
Draft

CWMVUE-634 Implements Access To Water Endpoint#1030
rma-bryson wants to merge 8 commits into
developfrom
feature/Adding_Access_To_Water_Endpoint

Conversation

@rma-bryson
Copy link
Copy Markdown
Collaborator

No description provided.

@rma-bryson rma-bryson force-pushed the feature/Adding_Access_To_Water_Endpoint branch from 0670b66 to 1d4ecf3 Compare February 25, 2025 22:51
Copy link
Copy Markdown
Collaborator

@adamkorynta adamkorynta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"type" is a bit ambiguous, especially that is is describing the type of parameter (but not to be confused with parameter type inst/ave/const/etc). otherwise the structure looks good. I'd probably prefer parameter even if it doesn't exactly match the parameter in the time series identifier.

@rma-bryson rma-bryson force-pushed the feature/Adding_Access_To_Water_Endpoint branch from 41be4ec to 4950f40 Compare February 27, 2025 17:08
@MikeNeilson
Copy link
Copy Markdown
Contributor

I don't hate it, but it's not giving me any warm and fuzzies for the future either.

@jeffsuperglide, @adamscarberry can you grant @rma-bryson and @adamkorynta at least read access to the access to water repositories to see how you're using the various A2W tables. I don't recall the usage being super high. But since this particular interface and objects will be new to everyone it's a good time to at least consider changes to how the data is presented and I'm not involved enough on the A2W side to say if the proposed design will be sensible.

It may just be that these new endpoints are only used for the district level control of things and it may not matter, but better to get a conversation started sooner rather than later.

@rma-bryson I would suggest also considering the following scenario to provide a little more insight:

  • 3 dams from different districts
  • at least 3 different elements of data for each.

The current example and test has one, which isn't a good sample size for something that could be rather foundational to our various operations.

@adamscarberry
Copy link
Copy Markdown

@rma-bryson rma-bryson marked this pull request as draft March 6, 2025 18:46
@rma-bryson rma-bryson changed the title CWMVUE-634 Implements Access To Water DTO CWMVUE-634 Implements Access To Water Endpoint Mar 6, 2025
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm understanding these changes I'm not loving them. I picture CwmsId as a lightweight {office,id} pair. If I'm understanding this PR CwmsId now has an additional map of additional properties that it carries with it. Properties are added/removed per instance at runtime and properties can be "required" at runtime. Why are we changing every CwmsId across the application instead of creating a new class that can be used where this is needed? Why even do it dynamically like this? Wouldn't explicitly naming the fields be better, not just for CDA but for documenting the input/output and for our code-gen clients. Whats the performance overhead of this? If I'm reading this right both collections are instantiated whether they are used or not. I think I need to be convinced b/c right now this is a nope from me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps this was written before we had better established the required parameter validation.

But coming back to it a few months later I'm just as confused. We did add, or at least discuss, some flexible properties fields, but there's clearly isn't that even though it read that way on first glance -- until I saw the required and validation everywhere.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I don't remember the exact discussion that lead to the properties map, but I don't love it looking at it now. Doesn't that defeat the whole purpose of having a well-defined schema?

If we want an "id" object that contains kind and bounding office id, then I would think we just make a new ID object that contains those?

@krowvin
Copy link
Copy Markdown
Collaborator

krowvin commented May 18, 2026

Could help out with
#956

Talked about this on 05/18/26 CDA call.

@krowvin
Copy link
Copy Markdown
Collaborator

krowvin commented May 18, 2026

I do not agree with continuing to name things "accesstowater". Access to water does not name things access to water still (afaik). This goes for endpoint name and class names.

Perhaps this ties into "BEST"? (Sidebar in call With Peter and Eric N about standard naming)

/catalog/{ONESUBNAMETORULETHEMALL/{location-id}/{type}?office=SWT

/catalog/{ONESUBNAMETORULETHEMALL}?location-id=SWT&office=SWT&type=elev

Some sidebar about alias and whether or not "best" is what this should even be called.

Right now not everyone names their TSID version "best"

TBD

@rma-bryson rma-bryson force-pushed the feature/Adding_Access_To_Water_Endpoint branch from c09c6bc to 01dd06f Compare May 20, 2026 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants