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

[SIMPLE_FORMS] feat: form remediation solution streamlining, test coverage, and documentation - PART 2 #18769

Merged
merged 1 commit into from
Oct 8, 2024

Conversation

pennja
Copy link
Contributor

@pennja pennja commented Oct 7, 2024

Summary

This solution is designed to remediate form submissions which have failed submission and are over two weeks old. It is composed of several Ruby on Rails service objects which interact with each other.

The primary use-case for this solution is for form remediation. This process consists of the following:

  1. Accept a form submission identifier.
  2. Generate an archive payload consisting of the original form submission data as well as remediation specific documentation:
    1. Hydrate the original form submission
    2. Hydrate any original attachments that were a part of this submission
    3. Generate a JSON file with the original metadata from the submission
    4. Generate a manifest file to be used in the remediation process
  3. Upload the generated archive as a .zip file onto the configured S3 bucket
  4. Optionally return a presigned URL for accessing this file

This solution also provides a means for storing and retrieving a single .pdf copy of the originally submitted form.

The following image depicts how this solution is architected:

Error Remediation Architecture Diagram_2024-10-07_14-14-25

  • This work updates the form remediation solution to be configurable and usable by all other va.gov teams.
  • This is part 2 of a larger PR which was too large and needed broken up. It includes submission remediation data, etc.

Related issue(s)

Testing done

  • New logic is covered by unit tests

Requested Feedback

Any

@va-vsp-bot
Copy link
Collaborator

Error: A file (or its parent directories) does not have a CODEOWNERS entry. Please update the .github/CODEOWNERS file and add the entry for the Offending file: lib/simple_forms_api/form_remediation/configuration/base.rb

Copy link

github-actions bot commented Oct 7, 2024

1 Warning
⚠️ This PR changes 206 LoC (not counting whitespace/newlines).

In order to ensure each PR receives the proper attention it deserves, we recommend not exceeding
200. Expect some delays getting reviews.

File Summary

Files

  • modules/simple_forms_api/app/services/simple_forms_api/form_remediation/submission_remediation_data.rb (+91/-0)

  • modules/simple_forms_api/spec/services/form_remediation/submission_remediation_data_spec.rb (+115/-0)

    Note: We exclude files matching the following when considering PR size:

    *.csv, *.json, *.tsv, *.txt, *.md, Gemfile.lock, app/swagger, modules/mobile/docs, spec/fixtures/, spec/support/vcr_cassettes/, modules/mobile/spec/support/vcr_cassettes/, db/seeds, modules/vaos/app/docs, modules/meb_api/app/docs, modules/appeals_api/app/swagger/, *.bru, *.pdf
    

Big PRs are difficult to review, often become stale, and cause delays.

Generated by 🚫 Danger

@pennja pennja force-pushed the jap/simple-forms/remediation-config-2 branch from e9c04b7 to f19b060 Compare October 7, 2024 15:57
@va-vfs-bot va-vfs-bot temporarily deployed to jap/simple-forms/remediation-config-2/main/main October 7, 2024 16:10 Inactive
@pennja pennja changed the title [SIMPLE_FORMS] feat: WIP [SIMPLE_FORMS] feat: form remediation solution streamlining, test coverage, and documentation - PART 2 Oct 7, 2024
@pennja pennja marked this pull request as draft October 7, 2024 20:48
@pennja pennja enabled auto-merge (squash) October 8, 2024 19:40
Copy link

github-actions bot commented Oct 8, 2024

Backend-review-group approval confirmed.

@pennja pennja merged commit 21f7b56 into master Oct 8, 2024
25 of 30 checks passed
@pennja pennja deleted the jap/simple-forms/remediation-config-2 branch October 8, 2024 22:23
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.

5 participants