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

Occurrence controller record id accommodation #2292

Open
wants to merge 3 commits into
base: API-updates
Choose a base branch
from

Conversation

Atticus29
Copy link
Collaborator

@Atticus29 Atticus29 commented Mar 12, 2025

Description

This PR addresses the following in the API Audit doc:

In the OccurrenceController, I have a method that translates the identifier into the primary key (aka occid) if it is a UUID. This was done because recordID used to be stored within a separate table, but now it is stored directly within the omoccurrences table. This can, and probably should be changed so that: 1) if identifier is an integer, if queries occurrence via occid, 2) if it is a UUID, if queries records via the recordID field.

The occurrence/foo endopoints now accommodate occid, occurrenceID, and recordID as identifier inputs.

Pull Request Checklist:

Pre-Approval

  • There is a description section in the pull request that details what the proposed changes do. It can be very brief if need be, but it ought to exist.
  • Hotfixes should be branched off of the master branch and PR'd using the merge option (not squashed) into the hotfix branch.
    • N/A
  • Features and backlog bugs should be merged into the Development branch, NOT master
  • All new text is preferably internationalized (i.e., no end-user-visible text is hard-coded on the PHP pages), and the spreadsheet tracking internationalizations has been updated either with a new row or with checkmarks to existing rows.
    • N/A
  • There are no linter errors
  • New features have responsive design (i.e., look aesthetically pleasing both full screen and with small or mobile screens)
    • N/A
  • Symbiota coding standards have been followed
  • If any files have been reformatted (e.g., by an autoformatter), the reformat is its own, separate commit in the PR
    • N/A
  • Comment which GitHub issue(s), if any does this PR address
  • If this PR makes any changes that would require additional configuration of any Symbiota portals outside of the files tracked in this repository, make sure that those changes are detailed in this document.
    • N/A

Post-Approval

  • It is the code author's responsibility to merge their own pull request after it has been approved
  • If this PR represents a merge into the Development branch, remember to use the squash & merge option
  • If this PR represents a merge into the hotfix branch, remember to use the merge option (i.e., no squash).
  • If this PR represents a merge from the Development branch into the master branch, remember to use the merge option
  • If this PR represents a merge from the hotfix branch into the master branch use the squash & merge option
    • a subsequent PR from master into Development should be made with the merge option (i.e., no squash).
    • Immediately delete the hotfix branch and create a new hotfix branch
    • increment the Symbiota version number in the symbase.php file and commit to the hotfix branch.
  • If the dev team has agreed that this PR represents the last PR going into the Development branch before a tagged release (i.e., before an imminent merge into the master branch), make sure to notify the team and lock the Development branch to prevent accidental merges while QA takes place. Follow the release protocol here.
  • Don't forget to delete your feature branch upon merge. Ignore this step as required.

Thanks for contributing and keeping it clean!

@Atticus29 Atticus29 marked this pull request as ready for review March 12, 2025 14:45
Copy link
Collaborator

@NikitaSalikov NikitaSalikov left a comment

Choose a reason for hiding this comment

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

Tested and lgtm!

$occurrence = $this->getOccurrence($id);
if (!$occurrence) {
return response()->json(['error' => 'Occurrence not found'], 404);
}
if($occurrence){
if(!$occurrence->occurrenceID) $occurrence->occurrenceID = $occurrence->recordID;
if($request->input('includeMedia')) $occurrence->media;
Copy link
Collaborator

Choose a reason for hiding this comment

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

@Atticus29, Given the current implementation for including inputs, should we prompt that it should be "1" / "not zero" in /documentation?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@NikitaSalikov what do you mean?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@Atticus29, I mean adding to description something like this:
1 = Include media
0 or omitted = Do not include media
Or is it too much and should be obvious?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants