SPIKE - UI Discovery for Cont. In Integration
Repo is the filings UI - entities product.
- [x] Determine when Documents are sent to Minio and what validation occurs
- [x] How does the UI handle the temporary stage with temp IDs before the final submission
- [x] Once the continuation in is approved, how are the documents provided
1. Document Upload to MinIO and Validation Processes
When documents are uploaded, several validations occur on the file upload component before a unique key is generated for each uploaded file. The validations include:
- File Size: Ensures the file meets size constraints.
- File Extension: Accepts only PDF files.
-
PDF Validation:
- Verifies the PDF is a valid file.
- Checks if the PDF is encrypted.
- Ensures the file content is not locked.
- Confirms the file is paginated.
- File Name Validation: Allows only strings containing Latin-1 characters.
- Duplicate File Check: Verifies no duplicate file names are uploaded.
2. UI Handling of Temporary IDs Before Final Submission
-
Upon document upload, the validations (as outlined in Section 1) are executed. If the PDF passes all checks, the Create UI send a request to get a presigned URL and a unique key from the Legal API for the document file.
-
The document is then uploaded to MinIO using the presigned URL and unique key.
### 3. Document Retrieval Post-Authorization Approval
- Once the Continuation Authorization is approved, a new record is created in the database.
- Whenever the Create UI needs to retrieve the document, it uses the file name to obtain the unique key, then fetches the file from MinIO using the filename and key.
Looks great sir, very informative. Gives us a good idea of the exchanges with Minio.
If we are replacing Minio, there will be quite a bit of re-work for sure, in reference to both the Create UIs and LEAR connections to it. Just need to overcome the fact these are clients uploading documents. What IS reassuring is the additional validations that are happening client side before the upload.
Questions that we need to answer for moving forward:
- We need to identify what is happening on the Legal API side (actions that we can't see yet) - we need access
- How does Legal API talk to Min.io? What is happening at the signature request?
- Is there any temp/draft storage? Why not upload once at submission
- Can we create a proof of concept on feature branch?