CodeForPhilly / balancer-main

CodeForPhilly balancer project (https://opencollective.com/code-for-philly/projects/balancer)
GNU Affero General Public License v3.0
11 stars 8 forks source link

[Back End] Upgrade existing Upload File Endpoint #101

Open taichan03 opened 3 months ago

taichan03 commented 3 months ago

Objective

Modify the existing document management system's API endpoint to support additional functionality and data fields in line with new project specifications. These changes aim to enhance the system's capability in handling file operations, including uploading, listing, and deleting documents.

Scope API Endpoint Modifications:

Update the existing API to accept POST, GET, and DELETE requests. Ensure compatibility with the newly specified data fields. Data Fields to be Supported:

  1. GUID (Globally Unique Identifier)
  2. Filename
  3. File Content
  4. Date of Upload
  5. Size
  6. Page Number
  7. File Type
  8. Uploaded By
  9. Title
  10. Source URL
  11. Analyzed (Y/N)
  12. Approved (Y/N)

Functional Requirements

POST (File Upload):

Accept a JSON payload containing filename, file_content (Base64 encoded), size, page_number, file_type, uploaded_by, title, and source_url. Automatically generate and assign a GUID and Date of Upload upon file submission. Set the Analyzed and Approved fields to 'N' by default.

JSON payload for POST endpoint:

{ "filename": "example.pdf", "file_content": "", "size": 102400, // Size in bytes "page_number": 15, "file_type": "pdf", "uploaded_by": "username", "title": "Example Document Title", "source_url": "http://example.com/source-of-the-document" }

GET (List Files):

Retrieve a list of files along with their respective information, as outlined in the data fields.

DELETE (Remove File):

Allow the removal of a file from the system using its GUID.

Technical Specifications

This is what is already created. This needs to be modified to the above requirements.

Image

Image