Пример #1
0
 def test_register_endpoint(self):
     router.register(endpoint=Endpoint(Product))
     endpoint = router.get_endpoint('sample/products')
     self.assertTrue(isinstance(endpoint, Endpoint))
Пример #2
0
 def test_alternate_url(self):
     router.register(Product, url='bogus')
     endpoint = router.get_endpoint('bogus')
     self.assertTrue(isinstance(endpoint, Endpoint))
Пример #3
0

@register
class CharacterEndpoint(BookRelatedEndpoint):
    model = Character
    search_fields = ('name', )


@register
class PropEndpoint(BookRelatedEndpoint):
    model = Prop
    search_fields = ('name', )


@register
class SceneEndpoint(BookRelatedEndpoint):
    model = Scene
    search_fields = (
        'short_description',
        'summary',
    )


@register
class InventoryExchangeEndpoint(Endpoint):
    model = InventoryExchange


router.register(Document)
router.register(ContentType, read_only=True, list_me=False)
Пример #4
0
from drf_auto_endpoint.endpoints import Endpoint
from drf_auto_endpoint.router import router, register

from .models import Product, Category, HowItWorks
from .views import AbstractHowItWorksViewSet, ProductViewSet


@register
class ProductEndpoint(Endpoint):
    model = Product
    fields_annotation = {'name': {'placeholder': 'Enter your name here'}}
    viewset = ProductViewSet


router.register(Category)
router.register(HowItWorks, base_viewset=AbstractHowItWorksViewSet)
Пример #5
0

@register
class HowItWorksEndpoint(Endpoint):
    model = HowItWorks
    base_viewset = AbstractHowItWorksViewSet

    @custom_action(method='POST')
    def increment(self, request, pk):
        obj = get_object_or_404(self.model, pk=pk)
        obj.count += 1
        obj.save()
        return Response(self.get_serializer(obj).data)

    @bulk_action(method='POST')
    def decrement(self, request):
        for obj in self.model.objects.all():
            obj.count = max(0, obj.count - 1)
            obj.save()
        return Response(status=204)

    @wizard(AddSerializer, method='POST')
    def add(self, request, pk):
        obj = get_object_or_404(self.model, pk=pk)
        obj.count += request.validated_data['amount']
        obj.save()
        return Response(self.get_serializer(obj).data)


router.register(Category)
Пример #6
0
from django.conf.urls import include, url
from drf_auto_endpoint.router import router
from .endpoints import RoomEndpoint, DayEndpoint, TemplateTaskEndpoint, TaskInstanceEndpoint
#from list.endpoints import ListItemEndpoint, ListEndpoint

from .views import UserViewSet

router.registerViewSet(r'userinfos', UserViewSet)
router.register(endpoint=RoomEndpoint())
router.register(endpoint=DayEndpoint())
router.register(endpoint=TemplateTaskEndpoint())
router.register(endpoint=TaskInstanceEndpoint())
#router.register(endpoint=ListItemEndpoint())
#router.register(endpoint=ListEndpoint())

urlpatterns = [
    url(r'', include(router.urls)),
]
Пример #7
0
    base_serializer = FamilyNestedSerializer


@register
class ParentFilterEndpoint(Endpoint):
    model = models.Parent
    filter_fields = ("families", )


@register(url="appflow")
class ApplicationFlowEndpoint(Endpoint):
    model = models.Application
    base_serializer = ApplicationSerializer


@register(url="studentapplication")
class StudentApplicationEndpoint(Endpoint):
    model = models.Application
    base_viewset = StudentApplicationViewSet


router.register(models.Student, url="students")
router.register(models.Application, url="applications")
router.register(models.Family, url="families")
router.register(models.Evaluation)
router.register(models.OtherSchool)
router.register(models.Parent, url="parents")
router.register(models.SchoolYear)
router.register(models.Sibling)
router.register(models.Address)
Пример #8
0
    CalendarReminderView,
    AlgoliaApiKeyView,
    GeneralViewSet,
    IndexView,
    JWTCookieNameView,
)
from .views.general_view_set import MODELS_TO_EXCLUDE_FROM_URL_BINDING

accelerator_router = routers.DefaultRouter()
simpleuser_router = routers.DefaultRouter()
simpleuser_router.register('User', GeneralViewSet, base_name='User')

for model in apps.get_models('accelerator'):
    if (model._meta.app_label == 'accelerator' and not model._meta.auto_created
            and model.__name__ not in MODELS_TO_EXCLUDE_FROM_URL_BINDING):
        schema_router.register(model, url=model_name_to_snake(model.__name__))

sso_urlpatterns = [
    url(r'^api-token-auth/', obtain_jwt_token),
    url(r'^api-token-refresh/', refresh_jwt_token),
    url(r'^api-token-verify/', verify_jwt_token),
]

account_urlpatterns = [
    url(r'^', include('registration.backends.simple.urls')),
]

urls = [
    url(r'^api/sso/token_name/',
        JWTCookieNameView.as_view(),
        name=JWTCookieNameView.view_name),
Пример #9
0
from django.conf.urls import include, url
from django.contrib import admin

from drf_auto_endpoint.router import router

from sample.endpoints import ProductEndpoint
from sample.models import Category, HowItWorks
from sample.views import AbstractHowItWorksViewSet, HomepageView, ProductViewSet
from export_app import urls as export_urls, settings as export_settings

router.register(endpoint=ProductEndpoint(), viewset=ProductViewSet)
router.register(Category)
router.register(HowItWorks, base_viewset=AbstractHowItWorksViewSet)

urlpatterns = [
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^$', HomepageView.as_view()),
    url(r'^api/', include(router.urls)),
    url(r'^models/',
        include(export_urls, namespace=export_settings.URL_NAMESPACE)),
]