
import os
import json
import django
from django.conf import settings

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
django.setup()

from jobs.models import Currency
from candidates.models import (
    AbroadJobCategory, QualificationType, DegreeCourse,
    PreferredJobRole, Language, IndustryType as CandIndustryType
)
from employers.models import IndustryType as EmpIndustryType

data = {
    "currencies": [],
    "abroad_job_categories": [],
    "qualification_types": [],
    "degree_courses": [],
    "preferred_job_roles": [],
    "languages": [],
    "candidate_industry_types": [],
    "employer_industry_types": [],
}

# Currencies
for obj in Currency.objects.all():
    data["currencies"].append({
        "name": obj.name,
        "code": obj.code,
        "symbol": obj.symbol
    })

# AbroadJobCategory
for obj in AbroadJobCategory.objects.all():
    data["abroad_job_categories"].append({"name": obj.name})

# QualificationType
for obj in QualificationType.objects.all():
    data["qualification_types"].append({"name": obj.name})

# DegreeCourse
for obj in DegreeCourse.objects.all():
    data["degree_courses"].append({
        "name": obj.name,
        "qualification_type": obj.qualification_type.name
    })

# PreferredJobRole
for obj in PreferredJobRole.objects.all():
    data["preferred_job_roles"].append({"name": obj.name})

# Language
for obj in Language.objects.all():
    data["languages"].append({"name": obj.name})

# Candidate IndustryType
for obj in CandIndustryType.objects.all():
    data["candidate_industry_types"].append({"name": obj.name})

# Employer IndustryType
for obj in EmpIndustryType.objects.all():
    data["employer_industry_types"].append({"name": obj.name})

with open("reference_data.json", "w", encoding='utf-8') as f:
    json.dump(data, f, indent=4)

print("Export complete. Data saved to reference_data.json")
