37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
from rest_framework import serializers
|
|
from jobposting.models import JobListing, SkillLevels, CompanyLogo, Skills
|
|
from core.models import MyUser
|
|
|
|
class MyUserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = MyUser
|
|
fields = ['id', 'email', 'first_name', 'last_name']
|
|
|
|
class SkillLevelsSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = SkillLevels
|
|
fields = ['id', 'skill_id', 'skill_level']
|
|
|
|
class JobListingSerializer(serializers.ModelSerializer):
|
|
created_by = MyUserSerializer(read_only=True)
|
|
job_skills = SkillLevelsSerializer(many=True, read_only=True)
|
|
|
|
class Meta:
|
|
model = JobListing
|
|
fields = [
|
|
'id', 'posting_option',
|
|
'company_name', 'name', 'content', 'minsalary', 'maxsalary',
|
|
'localization', 'created_by', 'created_at', 'status', 'status_paid',
|
|
'expiration_date', 'experience_level', 'employmentType', 'workFromHome',
|
|
'updated_at', 'skillLevels', 'contact_email', 'first_name', 'last_name',
|
|
]
|
|
|
|
class CompanyLogoSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = CompanyLogo
|
|
fields = ['id', 'company_logo']
|
|
|
|
class SkillsSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Skills
|
|
fields = ['id', 'skill_name'] |