generated from corrad-software/corrad-af-2024

Uploading now works with AWS. Documentation can be found in dms-api.md at the root folder.
3.7 KiB
3.7 KiB
DMS API Documentation
Folders
GET /api/dms/folder
- Description: Retrieves all folders/cabinets in the DMS
- Method: GET
- Response: List of all folders with their details
- Response Example:
{ "status": 200, "message": "Hello from the backend", "folders": [...] }
POST /api/dms/folder
- Description: Creates a new folder/cabinet in the DMS
- Method: POST
- Request Body:
{ "cabinet_name": "Cabinet 1", "cabinet_parent_id": null, "cabinet_owner": "", "cabinet_sector": "", "dp_id": null, "userID": null }
- Required Fields: cabinet_name, cabinet_sector
- Response Example:
{ "status": 201, "message": "Folder created successfully", "folder": {...} }
PATCH /api/dms/folder
- Description: Updates an existing folder (rename or move)
- Method: PATCH
- Request Body:
{ "function": "rename|move", "cabinet_id": "folder-id", "new_name": "New Folder Name", "new_parent_id": "parent-folder-id" }
- Required Fields: cabinet_id, function
- Functions:
rename
: Changes folder name (requires new_name)move
: Changes parent folder (requires new_parent_id)
- Response Example:
{ "status": 200, "message": "Folder renamed successfully", "folder": {...} }
DELETE /api/dms/folder
- Description: Deletes an existing folder/cabinet from the DMS
- Method: DELETE
- Request Body:
{ "cabinet_id": "folder-id" }
- Required Fields: cabinet_id
- Response Example:
{ "status": 200, "message": "Folder deleted successfully", "folder": {...} }
Settings
GET /api/dms/settings
- Description: Retrieves DMS configuration settings
- Method: GET
- Response: Comprehensive settings for the DMS organized by category
- Categories:
- User & Access Management
- Document & Folder Settings
- Metadata & Tagging
- Workflow & Automation
- Upload & Storage Settings
- System Settings
POST /api/dms/settings
- Description: Updates DMS configuration settings
- Method: POST
- Request Body: Object containing settings to update, structured by category
- Categories:
- access: User roles, permissions, authentication
- documents: Folder hierarchy, naming conventions, retention, version control
- metadata: Custom fields, tagging, classification
- workflow: Approval flows, notifications, automation
- upload: File types, size limits, quotas, storage
- system: Timezone, backup, maintenance, monitoring
- Response Example:
{ "statusCode": 200, "message": "DMS settings updated successfully", "data": { "settingID": 1 } }
Files
POST /api/dms/upload-file
- Description: Generates a signed URL for direct file upload to S3
- Method: POST
- Content-Type: multipart/form-data
- Request Body:
{ "fileName": "example.pdf", "fileType": "application/pdf" }
- Required Fields: fileName, fileType
- Response Example:
{ "status": 200, "message": "Signed URL generated for file: example.pdf", "signedUrl": "https://bucket-name.s3.region.amazonaws.com/..." }
- Error Responses:
{ "status": 400, "message": "Missing required fields { fileName, fileType }" }
{ "status": 500, "message": "Failed to generate signed URL", "error": "Error details..." }
- Notes:
- The signed URL expires after 60 seconds
- Use the returned signedUrl with a PUT request to upload the file directly to S3
- Include the file's Content-Type header when uploading to S3