Metadata-Version: 2.1
Name: django-saccess-response
Version: 1.0.2b0
Summary: Django app for customizing response
Home-page: https://github.com/QuvonchbekBobojonov/saccess_response
Author: Quvonchbek Bobojonov
Author-email: hi@moorfo.uz
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# Django rest framework app for customizing response data

## Installation

```bash
pip install django-saccess-response
```

## Usage

```python
from saccess_response.response import SaccessResponse
from rest_framework.views import APIView


class MyView(APIView):
    @staticmethod
    def get(request):
        data = {'key': 'value'}
        return SaccessResponse(data)
```
result:
```json
{
    "status": true,
    "result": {
        "key": "value"
    }
}
```


## Error Handling

```python
from saccess_response.response import SaccessResponse
from rest_framework.views import APIView

class MyView(APIView):
    @staticmethod
    def get(request):
        data = {'key': 'value'}
        return SaccessResponse(data, saccess=False)
```

result:
```json
{
    "status": false,
    "result": {
        "detail": "error"
    }
}
```

## Custom Django Rest Framework error handling

```python
REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'saccess_response.views.saccess_exception_handler'
}
```

## Ganeric View and ViewSet class name

- **CreateAPIView**: `SaccessCreateAPIView`
- **RetrieveAPIView**: `SaccessRetrieveAPIView`
- **UpdateAPIView**: `SaccessUpdateAPIView`
- **DestroyAPIView**: `SaccessDestroyAPIView`
- **ListAPIView**: `SaccessListAPIView`
- **RetrieveUpdateAPIView**: `SaccessRetrieveUpdateAPIView`
- **RetrieveDestroyAPIView**: `SaccessRetrieveDestroyAPIView`
- **RetrieveUpdateDestroyAPIView**: `SaccessRetrieveUpdateDestroyAPIView`
- **ModelViewSet**: `SaccessModelViewSet`
- **ReadOnlyModelViewSet**: `SaccessReadOnlyModelViewSet`
