61 lines
2.1 KiB
Python
61 lines
2.1 KiB
Python
from rest_framework import serializers
|
|
from jobposting.models import JobOffer, CompanyLogo, Skill
|
|
from core.models import MyUser, AnonymousUserData
|
|
|
|
|
|
class MyUserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = MyUser
|
|
fields = ['id', 'email', 'first_name', 'last_name']
|
|
|
|
|
|
class AnonymousUserDataSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = AnonymousUserData
|
|
fields = ['id', 'contact_email', 'first_name', 'last_name']
|
|
|
|
|
|
class JobOfferSerializer(serializers.ModelSerializer):
|
|
created_by = MyUserSerializer(read_only=True)
|
|
anonymous_user_data = AnonymousUserDataSerializer(read_only=True)
|
|
|
|
class Meta:
|
|
model = JobOffer
|
|
fields = [
|
|
'id', 'posting_option',
|
|
'company_name', 'name', 'content', 'min_salary', 'max_salary',
|
|
'localization', 'created_by', 'created_at', 'status',
|
|
'status_paid', 'expiration_date', 'experience_level',
|
|
'employment_type', 'work_from_home', 'updated_at', 'skill_levels',
|
|
'contact_email', 'first_name', 'last_name', 'anonymous_user_data',
|
|
'category', 'webpage', 'image', 'require_salary', 'vat_number'
|
|
]
|
|
|
|
|
|
class CompanyLogoSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = CompanyLogo
|
|
fields = ['id', 'company_name','company_logo']
|
|
|
|
|
|
class SkillSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Skill
|
|
fields = ['id', 'skill_name']
|
|
|
|
class SlimJobOffersSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = JobOffer
|
|
fields = ['id', 'company_name', 'name', 'min_salary', 'max_salary',
|
|
'localization', 'image', 'posting_option', 'category',
|
|
'require_salary' ]
|
|
|
|
class MainJobOfferSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = JobOffer
|
|
fields = [
|
|
'id', 'company_name', 'name', 'content',
|
|
'localization', 'expiration_date', 'experience_level',
|
|
'employment_type', 'work_from_home', 'skill_levels',
|
|
'contact_email', 'category', 'webpage',
|
|
] |