Skip to content

[Back End] Upgrade existing Upload File Endpoint #101

Open
@taichan03

Description

@taichan03

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

  • Implement authentication for the POST, DELETE, and GET requests to prevent unauthorized file uploads or deletions.
  • The system must ensure the integrity and security of the file content during upload, storage, and retrieval.
  • All API responses should be in JSON format, adhering to RESTful principles.

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

Image

Image

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions