from django.contrib.sitemaps import Sitemap
from django.urls import reverse
from properties.models import Property
from blog.models import Post

class StaticViewSitemap(Sitemap):
    priority = 0.8
    changefreq = 'daily'

    def items(self):
        return ['core:home', 'core:about', 'core:services', 'properties:list', 'blog:list', 'enquiries:contact']

    def location(self, item):
        return reverse(item)

class PropertySitemap(Sitemap):
    changefreq = "hourly"
    priority = 0.9

    def items(self):
        return Property.objects.filter(is_published=True)

    def lastmod(self, obj):
        return obj.updated_at

class BlogSitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.7

    def items(self):
        return Post.objects.filter(is_published=True)

    def lastmod(self, obj):
        return obj.published_at
