Skip to content

Expose your dynamo tables as REST endpoints. Customer Isolation supported

Notifications You must be signed in to change notification settings

parthakonda/cortadyno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

cortadyno

Expose your dynamo tables as REST endpoints. Customer Isolation supported

from cortadyno.serializers import Serializer
from cortadyno.viewsets import ListCreateAPIView, RetrieveUpdateDestroyAPIView
from cortadyno.schema import Schema

from your_app import model1
from your_app import serializer1, serializer2

class TodoListCreateAPIView(ListCreateAPIView):
    model = model1
    serializer = {
        'list': serializer1,
        'create': serializer2
    }
    index_name = '<your_index>' ## Optional: if you want isolation

    def get_index_value(self):
        ### This will be used to isolate the data or partition or index query value
        return "<>"

    def presave(self, payload=None, validated_data=None):
        # Update the necessary fields
        return payload

    def postsave(self, instance):
        # Do some actions if any
        return instance


class TodoRetreiveUpdateDestroyAPIView(RetrieveUpdateDestroyAPIView):

    model = model1
    serializer = {
        'retrieve': serializer1,
        'update': serializer2
    }
    index_name = '<index_name>'
    lookup = '<your url lookup id>'  # Ex: /todo/<todo_id>/, todo_id is the lookup
    hard_delete = True  # delete will be allowed if True

    def validate(self, instance):
        # Validate before saving
        return <True|False>, <message|None>

About

Expose your dynamo tables as REST endpoints. Customer Isolation supported

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages