Skip to content

AP-10132 # Added uploadFormSubmissionEdit and submission versionId - #82

Merged
Zaxist merged 3 commits into
masterfrom
AP-10132
Aug 27, 2026
Merged

AP-10132 # Added uploadFormSubmissionEdit and submission versionId#82
Zaxist merged 3 commits into
masterfrom
AP-10132

Conversation

@mymattcarroll

@mymattcarroll mymattcarroll commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Requester Checklist

Please only check the items that you have actioned. Do not check items that are not applicable to your PR.

Implementation

  • Have you tested your implementation locally?
  • If applicable, has an appropriate changelog entry been added? Do not include if you are fixing/changing something that is only in the current release.
  • There are no warnings that have been suppressed unnecessarily
  • Have automated tests been added, or have related ones been updated to cover the change?
  • Have all OneBlink dependency updates been completed (eg apps / apps-react / types etc).
  • Have you ensured this change does not add unwanted dependencies?
  • If this PR contains a refactor, have relevant Jira testing tasks added?
  • Changes that will knowingly make the feature/bug incomplete have been commented with TODO and a description of what needs to be done to finish the feature/bug
  • Any changes made to public APIs have been reflected in the documentation
  • Have you isolated business logic where possible to allow for unit testing?

Logging and Debugging

  • Are the error messages, if any, informative?
  • Are there enough log events and are they written in a way that allows for easy debugging?
  • "Debugging" code removed
  • Front-end: No erroneous Console.WriteLines

Readability

  • All class, variable, property and method modifiers are provided with the smallest scope possible
  • New files, variables and functions are descriptive/comprehensible and named consistently.
  • There is no dead code (unreachable code)
  • There is no usage of magic numbers
  • There is no commented out code.
  • In hard-to-understand areas, comments exist and describe rationale or reasons for decisions in code

Security

  • All personal data inputs are checked (for the correct type, length/size, format, and range).
  • No sensitive information is logged or visible in a stacktrace
  • Are authorization and authentication handled correctly?
  • Is (user) input validated, sanitized, and escaped to prevent security attacks such as cross-site scripting or SQL injection?
  • Is data retrieved from external APIs or libraries checked for security issues?
  • Do API endpoints return appropriate status codes

Reviewer Guide

  • It is important that you understand the purpose of the PR.
  • You are encouraged to engage with the requestor if you do not understand any of the proposed code changes/additions/deletions.
  • Do you, the reviewer, understand what the code does? Do you think a specific expert, like a security expert or a usability expert, should look over the code before it can be accepted?
  • Is a framework, API, library, or service used that should not be used? Are there alternatives you could recommend?
  • Are there existing hooks/components/functions in the same code base that could be utilised?
  • When reviewing tests, attempt to identify missing edge cases that may be relevant to the proposed implementation
  • Ensure you check for:
    • Security
    • Scalability
    • Performance
    • Maintainability

Note

Medium Risk
Breaking return type on downloadSubmission() requires consumer updates; edit uploads depend on correct S3 version IDs for concurrency, though conflict errors are now easier to handle.

Overview
Adds support for editing form submissions via OneBlinkUploader.uploadFormSubmissionEdit(), uploading JSON to form-submission-meta/{submissionId}/edit with editedS3ObjectVersionId and edit context in the request header.

Download changes: downloadSubmission() can pass an optional versionId for S3 GetObject versioning and now returns { data, versionId } instead of the submission payload alone — a breaking change for callers that expected the raw data.

S3 JSON downloads gain downloadJsonFromS3WithMetadata; API error handling surfaces optional conflict on OneBlinkStorageError (from JSON error bodies). Changelog updated; unit tests cover the new upload and download paths; a.json removed and @oneblink/types lockfile ref bumped.

Reviewed by Cursor Bugbot for commit 2e6da1c. Bugbot is set up for automated code reviews on this repo. Configure here.

@mymattcarroll
mymattcarroll marked this pull request as draft August 25, 2026 00:57
@mymattcarroll
mymattcarroll marked this pull request as ready for review August 26, 2026 23:46
@Zaxist
Zaxist merged commit df6e61b into master Aug 27, 2026
2 checks passed
@Zaxist
Zaxist deleted the AP-10132 branch August 27, 2026 00:26
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