feat: add MicroDAO pinning - 4 platform districts always on top
This commit is contained in:
@@ -1757,6 +1757,8 @@ async def get_microdaos(district: Optional[str] = None, q: Optional[str] = None,
|
||||
m.is_active,
|
||||
COALESCE(m.is_public, true) as is_public,
|
||||
COALESCE(m.is_platform, false) as is_platform,
|
||||
COALESCE(m.is_pinned, false) as is_pinned,
|
||||
COALESCE(m.pinned_weight, 0) as pinned_weight,
|
||||
m.parent_microdao_id,
|
||||
pm.slug as parent_microdao_slug,
|
||||
m.logo_url,
|
||||
@@ -1773,7 +1775,7 @@ async def get_microdaos(district: Optional[str] = None, q: Optional[str] = None,
|
||||
LEFT JOIN microdaos pm ON m.parent_microdao_id = pm.id
|
||||
WHERE {where_sql}
|
||||
GROUP BY m.id, oa.display_name, pm.slug
|
||||
ORDER BY m.name
|
||||
ORDER BY COALESCE(m.is_pinned, false) DESC, COALESCE(m.pinned_weight, 0) ASC, m.created_at ASC
|
||||
LIMIT ${len(params) + 1} OFFSET ${len(params) + 2}
|
||||
"""
|
||||
|
||||
@@ -1838,6 +1840,8 @@ async def list_microdao_summaries(
|
||||
m.is_active,
|
||||
COALESCE(m.is_public, true) as is_public,
|
||||
COALESCE(m.is_platform, false) as is_platform,
|
||||
COALESCE(m.is_pinned, false) as is_pinned,
|
||||
COALESCE(m.pinned_weight, 0) as pinned_weight,
|
||||
m.parent_microdao_id,
|
||||
pm.slug as parent_microdao_slug,
|
||||
m.logo_url,
|
||||
@@ -1854,7 +1858,7 @@ async def list_microdao_summaries(
|
||||
LEFT JOIN microdaos pm ON m.parent_microdao_id = pm.id
|
||||
WHERE {where_sql}
|
||||
GROUP BY m.id, oa.display_name, pm.slug
|
||||
ORDER BY m.name
|
||||
ORDER BY COALESCE(m.is_pinned, false) DESC, COALESCE(m.pinned_weight, 0) ASC, m.created_at ASC
|
||||
LIMIT ${len(params) + 1} OFFSET ${len(params) + 2}
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user