massenergize / api

Backend Code for Massenergize Portal. This provides the API to the backend database, and is shared by the various front-end portal projects.
MIT License
5 stars 8 forks source link

Customizing navigation menus for community sites: Restructure the models and endpoints to use json #1067

Closed abdullai-t closed 2 months ago

abdullai-t commented 3 months ago

Tasks

  1. Update the Menu model to include community, is_custom, community_logo_link, footer_content and footer_content fields.

  2. Create endpoints to create, update, reset, delete, and list of admin Menu.

  3. Create a backfill script that generates default menu instances for all communities in the database. This script should iterate over all communities, check if a menu instance exists, and if not, create a default menu instance.

Acceptance Criteria

Additional Context

This change is part of a larger effort to improve the flexibility and scalability of our community site customization features. By storing menu items as JSON, we can easily add, remove, or reorder items without requiring database schema changes.