IZAAC_BASE - serializery, widoki, urls
All checks were successful
continuous-integration/drone Build is passing
All checks were successful
continuous-integration/drone Build is passing
This commit is contained in:
parent
edc3a7dca6
commit
d5d58be12b
@ -19,4 +19,5 @@ from django.urls import path, include
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("admin/", admin.site.urls),
|
path("admin/", admin.site.urls),
|
||||||
path("api/user/", include('core.urls'))
|
path("api/user/", include('core.urls'))
|
||||||
|
patj("api/jobposting/", include('jobposting.urls'))
|
||||||
]
|
]
|
||||||
|
|||||||
33
jobposting/serializers.py
Normal file
33
jobposting/serializers.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
from rest_framework import serializers
|
||||||
|
from jobposting.models import JobListing, Skill, JobSkill
|
||||||
|
from core.models import MyUser
|
||||||
|
|
||||||
|
class MyUserSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = MyUser
|
||||||
|
fields = ['id', 'email', 'first_name', 'last_name']
|
||||||
|
|
||||||
|
class SkillSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Skill
|
||||||
|
fields = ['id', 'name', 'proficiency']
|
||||||
|
|
||||||
|
class JobSkillSerializer(serializers.ModelSerializer):
|
||||||
|
skill = SkillSerializer(read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = JobSkill
|
||||||
|
fields = ['id', 'job_listing', 'skill', 'proficiency']
|
||||||
|
|
||||||
|
class JobListingSerializer(serializers.ModelSerializer):
|
||||||
|
created_by = MyUserSerializer(read_only=True)
|
||||||
|
job_skills = JobSkillSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = JobListing
|
||||||
|
fields = [
|
||||||
|
'id', 'company_name', 'name', 'content', 'min_salary', 'max_salary',
|
||||||
|
'location', 'coordinates', 'created_by', 'created_at', 'status',
|
||||||
|
'status_paid', 'category', 'expiration_date', 'company_description',
|
||||||
|
'experience_level', 'contract_type', 'is_remote', 'updated_at', 'job_skills'
|
||||||
|
]
|
||||||
16
jobposting/urls.py
Normal file
16
jobposting/urls.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from django.urls import path, include
|
||||||
|
|
||||||
|
from rest_framework.routers import DefaultRouter
|
||||||
|
from jobposting import views
|
||||||
|
|
||||||
|
router = DefaultRouter()
|
||||||
|
router.register(r'users', views.MyUserViewSet)
|
||||||
|
router.register(r'joblistings', views.JobListingViewSet)
|
||||||
|
router.register(r'skills', views.SkillViewSet)
|
||||||
|
router.register(r'jobskills', views.JobSkillViewSet)
|
||||||
|
|
||||||
|
# Twoje urlpatterns
|
||||||
|
urlpatterns = [
|
||||||
|
# ...
|
||||||
|
path('api/', include(router.urls)),
|
||||||
|
]
|
||||||
@ -1,3 +1,35 @@
|
|||||||
from django.shortcuts import render
|
from rest_framework import viewsets, permissions
|
||||||
|
from jobposting.models import JobListing, Skill, JobSkill
|
||||||
|
|
||||||
# Create your views here.
|
from jobposting.serializers import (
|
||||||
|
JobListingSerializer,
|
||||||
|
SkillSerializer,
|
||||||
|
JobSkillSerializer,
|
||||||
|
MyUserSerializer,
|
||||||
|
)
|
||||||
|
from core.models import MyUser
|
||||||
|
|
||||||
|
class MyUserViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = MyUser.objects.all()
|
||||||
|
serializer_class = MyUserSerializer
|
||||||
|
permission_classes = [permissions.IsAuthenticated]
|
||||||
|
|
||||||
|
class JobListingViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = JobListing.objects.all()
|
||||||
|
serializer_class = JobListingSerializer
|
||||||
|
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
|
||||||
|
|
||||||
|
def perform_create(self, serializer):
|
||||||
|
serializer.save(created_by=self.request.user)
|
||||||
|
|
||||||
|
class SkillViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = Skill.objects.all()
|
||||||
|
serializer_class = SkillSerializer
|
||||||
|
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
|
||||||
|
|
||||||
|
class JobSkillViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = JobSkill.objects.all()
|
||||||
|
serializer_class = JobSkillSerializer
|
||||||
|
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
|
||||||
|
|
||||||
|
# Możesz także chcieć dodać widoki szczegółowe lub niestandardowe akcje.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user