Repository navigation
File Management Endpoints
This page outlines the file management system in The Wall API, which provides endpoints for uploading, listing, and deleting wall configuration files.
- Overview
- Initial File Upload Flow Diagram
- File Management Endpoints
-
File Management Views
4.1 Throttling Controls
4.2 OpenAPI Schema Documentation
4.3 Key DRF Files -
File Management and ORM Representation
5.1 Data Model Overview
5.2 Key Behaviors
-
File management is a core functionality in The Wall API, allowing users to perform the following operations on wall configuration files:
✔ Upload a new configuration file.
✔ List theconfig_idvalues of all uploaded configuration files.
✔ Delete one or more configuration files. -
All operations require authentication and are subject to rate limits.
-
Files are linked to user accounts, ensuring secure and user-specific access to uploaded wall configurations.
The following diagram illustrates the API request flow for initial file uploads in The Wall API. It shows how the system processes file uploads, checks for duplicates, manages concurrent tasks, and triggers Celery-based calculations.

| Action | Endpoint | Requires Authentication? |
|---|---|---|
| Upload File | /api/v2/wallconfig-files/upload/ |
✅ Yes |
| List Files | /api/v2/wallconfig-files/list/ |
✅ Yes |
| Delete File | /api/v2/wallconfig-files/delete/ |
✅ Yes |
💡 API Access Overview - Full API endpoints breakdown and applied throttling rates.
💡 Uploaded Files - Rules and limitations for uploaded files.
💡 Detailed OpenAPI Documentation - Comprehensive information on each file management endpoint and its parameters.
File management in The Wall API is handled by dedicated Django Rest Framework (DRF) views. These views enforce authentication, apply request throttling, and are integrated with DRF Spectacular for API documentation.
- Request limits are enforced under the File management throttle scope to prevent excessive API usage.
- This ensures fair resource distribution and protects the API from abuse.
💡 For more details on throttling, refer to the API Throttling page.
- File management endpoints are fully documented using DRF Spectacular’s schema extension, ensuring clear and structured API visibility.
- This documentation provides detailed request and response structures, making it easier for clients to integrate with the API.
💡 For more details on OpenAPI schema generation, see the DRF Spectacular page.
The following files handle file management operations:
-
the_wall_api/views.py- Defines file management views, implemented with the
views.APIViewclass. - Each view utilizes
@extend_schemafrom drf-spectacular, providing clear and structured documentation tailored to each endpoint.
- Defines file management views, implemented with the
-
config/urls.py– Maps file management API endpoints. -
the_wall_api/utils/api_utils.py– Manages file management endpoints integration within the centralized API setup. -
the_wall_api/serializers.py– Handles request validation and response formatting. -
config/settings.py– Configures authentication, permissions, and throttling settings for file operations.-
Global authentication and permission settings are defined under
REST_FRAMEWORK:💡 These settings enforce token-based authentication and restrict access to authenticated users for all file management views, unless explicitly overridden in the view configuration.REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.TokenAuthentication', ], 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', ], }
-
Global authentication and permission settings are defined under
- The Wall API uses two ORM models to manage uploaded wall configuration files:
-
WallConfig: Stores unique wall configuration data.
💡 Complete WallConfig ORM Model breakdown -
WallConfigReference: Tracks user file uploads and links them to the correspondingWallConfiginstance.
💡 Complete WallConfigReference ORM Model breakdown
-
-
A
WallConfigReferenceis always created for every uploaded file, ensuring user-specific access. -
If an identical wall configuration already exists, only a
WallConfigReferenceis created instead of creating a duplicateWallConfig. -
Each
WallConfigReferenceentry contains aconfig_id, which is defined by the user at the time of upload. Thisconfig_idallows users to manage their own configurations independently, even when referring to the same underlyingWallConfig. -
Deleting a file aborts any ongoing user-related task processing for that file.
💡 Check the Abort Signals section for a detailed description of the abort task mechanism.
Next: Profiles Endpoints
Back to: Authentication (Djoser)
Return to Top
DTS Index
Home Page
📌 Notable Technical Sections
👤 Author
LinkedIn: Aleksandar Dimitrov
Yahoo: sasho_1983@yahoo.com