Metadata-Version: 2.4
Name: filesystempack
Version: 1.1.2
Summary: File system to handle connection with microsevice
Project-URL: Repository, https://github.com/gufi2115/filesystem-integration
Project-URL: Microservice_repository, https://github.com/gufi2115/Microservice-to-save-files
Author-email: buber2006xdd@gmail.com
License: MIT
Keywords: Connection,File handling,Microservice
Classifier: Programming Language :: Python
Requires-Python: >=3.10
Requires-Dist: django>=5.2.9
Requires-Dist: djangorestframework>=3.16.1
Requires-Dist: niquests
Requires-Dist: python-magic
Description-Content-Type: text/markdown

# filesystem-integration

Biblioteka służy do obsługi plików z mikroserwisu do twojego projektu.

## Instalacja

Postaw kontenery z mikroserwisem
https://github.com/gufi2115/Microservice-to-save-files

``pip install filesystempack``

## Jak używać jeśli używasz DRF

W setttings.py dodaj:

```python
INSTALLED_APPS = ["filesystempack.drf_filesystem"]
```

```python
FILES_MICROSERVICE_URL = "http://host:6767/api/file/"
```

```python
FILES_MICROSERVICE_API_KEY = API_KEY
```

W models.py:
```python
from filesystempack.drf_filesystem.models import FileInfoM

class TwójModel(FileInfoM):
    pass
```

W serializers.py:

```python
from filesystempack.drf_filesystem.serializers import FileSerializer

class TwójSerializer(FileSerializer):
    class Meta:
        model = TwójModel
        fields = FileSerializer.Meta.fields + ('twoje_pola')
        read_only_fields = FileSerializer.Meta.read_only_fields + ('twoje_pola')
```

W views.py:

```python
from filesystempack.drf_filesystem.views import FileViewSet

class TwójViewSet(FileViewSet):
    queryset = TwójModel
    serializer_class = TwójSerializer
```

## Jak używać bez DRF


```from filesystempack.filesystem import Filesystem```

Storzenie instancji na przykład w helpers.py

```file_system = Filesystem(url="http://host:6767/api/file/", api_key=twój_api_key_z_mikroserwisu)```

POST

``uuid = file_system.save_file(file=plik, content_type=mime_type_opcjonalnie)``

GET

``file, content_type = file_system.get_file(uuid)``

DELETE

``delete = file_system.delete_file(uuid)``

status 

``status = file_system.status``