Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions backend/api/v2/objects/serializers.py
Original file line number Diff line number Diff line change
@@ -1 +1,41 @@
"""Сериализаторы для API."""
from rest_framework import serializers

from base_objects.models import (
BaseObject,
Object,
BaseObjectField,
ObjectField,
)


class BaseObjectSerializer(serializers.ModelSerializer):
"""Сериализатор поля документов."""

class Meta:
fields = '__all__'
model = BaseObject


class BaseObjectFieldSerializer(serializers.ModelSerializer):
"""Сериализатор поля документов."""

class Meta:
fields = '__all__'
model = BaseObjectField


class ObjectSerializer(serializers.ModelSerializer):
"""Сериализатор поля документов."""

class Meta:
fields = '__all__'
model = Object


class ObjectFieldSerializer(serializers.ModelSerializer):
"""Сериализатор поля документов."""

class Meta:
fields = '__all__'
model = ObjectField
36 changes: 36 additions & 0 deletions backend/api/v2/objects/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
from rest_framework import (
viewsets,
)

from base_objects.models import (
BaseObject,
Object,
BaseObjectField,
ObjectField
)
from .serializers import (
BaseObjectSerializer,
BaseObjectFieldSerializer,
ObjectSerializer,
ObjectFieldSerializer,
)


class BaseObjectViewSet(viewsets.ModelViewSet):
queryset = BaseObject.objects.all()
serializer_class = BaseObjectSerializer


class BaseObjectFieldViewSet(viewsets.ModelViewSet):
queryset = BaseObjectField.objects.all()
serializer_class = BaseObjectFieldSerializer


class ObjectViewSet(viewsets.ModelViewSet):
queryset = Object.objects.all()
serializer_class = ObjectSerializer


class ObjectFieldViewSet(viewsets.ModelViewSet):
queryset = ObjectField.objects.all()
serializer_class = ObjectFieldSerializer
2 changes: 1 addition & 1 deletion backend/api/v2/templates/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ class TemplateGroupSerializerMinified(serializers.ModelSerializer):

class Meta:
model = TemplateFieldGroup
fields = ("id", "name")
fields = ("id", "name", )


class TemplateGroupSerializer(serializers.ModelSerializer):
Expand Down
49 changes: 26 additions & 23 deletions backend/api/v2/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@
from api.v2.favorites.views import (
FavTemplateAPIview,
FavDocumentAPIview,)
# from api.v2.objects.views import (BaseObjectViewSet,
# BaseObjectFieldViewSet,
# ObjectViewSet)
from api.v2.objects.views import (
BaseObjectViewSet,
BaseObjectFieldViewSet,
ObjectViewSet,
ObjectFieldViewSet
)

from django.urls import include, path, re_path
from rest_framework.routers import DefaultRouter
Expand Down Expand Up @@ -46,26 +49,26 @@
viewset=DocumentViewSet,
)

# router_v1.register(
# prefix="base_objects",
# basename="base_objects",
# viewset=BaseObjectViewSet,
# )
# router_v1.register(
# prefix="base_object_fields",
# basename="base_object_fields",
# viewset=BaseObjectFieldViewSet,
# )
# router_v1.register(
# prefix="objects",
# basename="objects",
# viewset=ObjectViewSet,
# )
# router_v1.register(
# prefix="object_fields",
# basename="object_fields",
# viewset=ObjectFieldViewSet,
# )
router_v1.register(
prefix="base_objects",
basename="base_objects",
viewset=BaseObjectViewSet,
)
router_v1.register(
prefix="base_object_fields",
basename="base_object_fields",
viewset=BaseObjectFieldViewSet,
)
router_v1.register(
prefix="objects",
basename="objects",
viewset=ObjectViewSet,
)
router_v1.register(
prefix="object_fields",
basename="object_fields",
viewset=ObjectFieldViewSet,
)

urlpatterns = [
path(
Expand Down
17 changes: 17 additions & 0 deletions backend/base_objects/migrations/0006_remove_object_base_object.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 3.2 on 2024-01-14 17:40

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('base_objects', '0005_alter_object_base_object'),
]

operations = [
migrations.RemoveField(
model_name='object',
name='base_object',
),
]
14 changes: 6 additions & 8 deletions backend/base_objects/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,16 @@ class Object(models.Model):

# owner = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# on_delete=models.SET_NULL,
# verbose_name="Автор документа",
# null=True,
# blank=True,
# )
base_object = models.ForeignKey(
BaseObject,
on_delete=models.PROTECT,
verbose_name="Юр или физ лицо",
null=True,
blank=True,
)
# base_object = models.ForeignKey(
# BaseObject,
# on_delete=models.CASCADE,
# verbose_name="поля базового Обьект",
# )
name = models.CharField(
max_length=255, verbose_name="Наименование обьекта"
)
Expand Down
2 changes: 1 addition & 1 deletion backend/documents/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class TemplateFieldAdmin(admin.ModelAdmin):
"group",
"type",
"length",
"base_object_field",
# "base_object_field",
)
list_filter = ("template",)
readonly_fields = ("id",)
Expand Down
5 changes: 4 additions & 1 deletion backend/documents/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@

from core.constants import Messages
from core.template_render import DocumentTemplate
from base_objects.models import BaseObject, BaseObjectField
from base_objects.models import (
BaseObject,
BaseObjectField,
)

User = get_user_model()

Expand Down
37 changes: 37 additions & 0 deletions backend/request/objects.http
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
@TOKEN = Token 66ba19730c8aaad7378dc20fae75656b06b00e02

# @URL = https://documents-template.site/
@URL = http://localhost:8000/api/v2


### Все базовые обьекты
GET {{URL}}/base_objects/
Content-Type: application/json
Authorization: {{TOKEN}}

{
}

### Все поля базового обьекта
GET {{URL}}/base_object_fields/
Content-Type: application/json
Authorization: {{TOKEN}}

{
}

### Все поля базового обьекта
GET {{URL}}/objects/
Content-Type: application/json
Authorization: {{TOKEN}}

{
}

### Все поля базового обьекта
GET {{URL}}/object_fields/
Content-Type: application/json
Authorization: {{TOKEN}}

{
}
8 changes: 4 additions & 4 deletions backend/request/template.http
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@TOKEN = Token c911144116cd1689f8fd01e00102bcd1ce4cc175
@TOKEN = Token 66ba19730c8aaad7378dc20fae75656b06b00e02

# @URL = https://documents-template.site/
@URL = http://localhost:8000/api/v2
Expand All @@ -13,7 +13,7 @@ Authorization: {{TOKEN}}
}

### Просмотр одного шаблона
GET {{URL}}/templates/42/
GET {{URL}}/templates/22/
Content-Type: application/json
Authorization: {{TOKEN}}

Expand All @@ -30,7 +30,7 @@ Authorization: {{TOKEN}}
}

### Добавить шаблон в избранное
POST {{URL}}/templates/42/favorite/
POST {{URL}}/templates/22/favorite/
Content-Type: application/json
Authorization: {{TOKEN}}

Expand All @@ -47,7 +47,7 @@ Authorization: {{TOKEN}}


### Получить первью документа от анонимного пользователя
POST {{URL}}/templates/42/download_preview/
POST {{URL}}/templates/22/download_preview/
Content-Type: application/json
# Authorization: {{TOKEN}}

Expand Down
Loading