generated from corrad-software/corrad-af-2024
Updated dms-api.md
Added documentation for new API endpoints. Some endpoints have goofy messages for now.
This commit is contained in:
parent
cb7f104b1d
commit
47d3ea4987
159
dms-api.md
Normal file
159
dms-api.md
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
# 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**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"status": 201,
|
||||||
|
"message": "Folder created successfully",
|
||||||
|
"folder": {...}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### PATCH /api/dms/folder
|
||||||
|
- **Description**: Updates an existing folder (rename or move)
|
||||||
|
- **Method**: PATCH
|
||||||
|
- **Request Body**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"status": 200,
|
||||||
|
"message": "Folder renamed successfully",
|
||||||
|
"folder": {...}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### DELETE /api/dms/folder
|
||||||
|
- **Description**: Deletes an existing folder/cabinet from the DMS
|
||||||
|
- **Method**: DELETE
|
||||||
|
- **Request Body**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"cabinet_id": "folder-id"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Required Fields**: cabinet_id
|
||||||
|
- **Response Example**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"fileName": "example.pdf",
|
||||||
|
"fileType": "application/pdf"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Required Fields**: fileName, fileType
|
||||||
|
- **Response Example**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"status": 200,
|
||||||
|
"message": "Signed URL generated for file: example.pdf",
|
||||||
|
"signedUrl": "https://bucket-name.s3.region.amazonaws.com/..."
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Error Responses**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"status": 400,
|
||||||
|
"message": "Missing required fields { fileName, fileType }"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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
|
Loading…
x
Reference in New Issue
Block a user