Metadata-Version: 2.1
Name: adsocket-transport-django
Version: 0.1.2
Summary: ADSocket transport library with Django integration
Home-page: https://github.com/AwesomeDevelopersUG/adsocket-transport-django
Author: Awesome Developers UG
Author-email: support@awesomedevelopers.eu
Maintainer: Awesome Developers UG
Maintainer-email: support@awesomedevelopers.eu
License: MIT
Platform: any
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Description-Content-Type: text/markdown
Requires-Dist: adsocket-transport (>=0.1.1)

# Adsocket transport

## Install

``` bash
pip install adsocket-transport-django
```

## Usage

Using django.db.singals is very easy...

```python
from django.apps import AppConfig
from adsocket_transport_django.apps import ADSocketConfig


class VideosConfig(ADSocketConfig, AppConfig):
    """
    Basic application config
    """
    name = "myapp"
    verbose_name = "My App"

    adsocket_signals = [
        'myapp.ws_message_creator.VideoMessageCreator'

    ]
```

```python
from adsocket_transport_django.creator import ADSocketCreator
from adsocket_transport_django import CREATE, UPDATE, DELETE, Message

from myapp import models


class VideoMessageCreator(ADSocketCreator):

    class Meta:
        model = models.Todo

    def create(self, model):
        return Message(
            type='publish',
            channel=f'todos:{model.pk}',
            data={'obj': model.pk, 'action': 'create'}
        )

    def update(self, model):
        return Message(
            type='publish',
            channel=f'todos:{model.pk}',
            data={'obj': model.pk, 'action': 'update'}
        )

    def delete(self, model):
        return Message(
            type='publish',
            channel=f'todos:{model.pk}',
            data={'obj': model.pk, 'action': 'delete'}
        )

```


