791aa8c610
* fix(frontend): 🐛 update dialog implementation to simplify state management * test(backend): ✅ refactor test fixtures + admin group tests * chore(backend): 🔨 add launcher.json for python debugging (tests) * fix typing * feat(backend): ✨ refactor/fix group management for admins * feat(frontend): ✨ add/fix admin group management * add LDAP checker Co-authored-by: hay-kot <hay-kot@pm.me>
123 lines
4.9 KiB
Python
123 lines
4.9 KiB
Python
class AppRoutes:
|
|
def __init__(self) -> None:
|
|
self.prefix = "/api"
|
|
|
|
self.auth_token = "/api/auth/token"
|
|
self.auth_token_long = "/api/auth/token/long"
|
|
self.auth_refresh = "/api/auth/refresh"
|
|
self.users_sign_ups = "/api/users/sign-ups"
|
|
self.users = "/api/users"
|
|
self.users_self = "/api/users/self"
|
|
self.users_api_tokens = "/api/users/api-tokens"
|
|
self.groups = "/api/groups"
|
|
self.groups_self = "/api/groups/self"
|
|
self.recipes_summary = "/api/recipes/summary"
|
|
self.recipes_summary_untagged = "/api/recipes/summary/untagged"
|
|
self.recipes_summary_uncategorized = "/api/recipes/summary/uncategorized"
|
|
self.recipes_category = "/api/recipes/category"
|
|
self.recipes_tag = "/api/recipes/tag"
|
|
self.recipes_create = "/api/recipes/create"
|
|
self.recipes_create_url = "/api/recipes/create-url"
|
|
self.categories = "/api/categories"
|
|
self.categories_empty = "/api/categories/empty"
|
|
self.tags = "/api/tags"
|
|
self.tags_empty = "/api/tags/empty"
|
|
self.about_events = "/api/about/events"
|
|
self.meal_plans_all = "/api/meal-plans/all"
|
|
self.meal_plans_create = "/api/meal-plans/create"
|
|
self.meal_plans_this_week = "/api/meal-plans/this-week"
|
|
self.meal_plans_today = "/api/meal-plans/today"
|
|
self.meal_plans_today_image = "/api/meal-plans/today/image"
|
|
self.group_cookbook = "/api/groups/cookbooks"
|
|
self.site_settings = "/api/site-settings"
|
|
self.site_settings_webhooks_test = "/api/site-settings/webhooks/test"
|
|
self.themes = "/api/themes"
|
|
self.themes_create = "/api/themes/create"
|
|
self.backups_available = "/api/backups/available"
|
|
self.backups_export_database = "/api/backups/export/database"
|
|
self.backups_upload = "/api/backups/upload"
|
|
self.migrations = "/api/migrations"
|
|
self.debug = "/api/debug"
|
|
self.debug_statistics = "/api/debug/statistics"
|
|
self.debug_version = "/api/debug/version"
|
|
self.debug_last_recipe_json = "/api/debug/last-recipe-json"
|
|
self.debug_log = "/api/debug/log"
|
|
self.utils_download = "/api/utils/download"
|
|
|
|
def users_sign_ups_token(self, token):
|
|
return f"{self.prefix}/users/sign-ups/{token}"
|
|
|
|
def users_id(self, id):
|
|
return f"{self.prefix}/users/{id}"
|
|
|
|
def users_id_reset_password(self, id):
|
|
return f"{self.prefix}/users/{id}/reset-password"
|
|
|
|
def users_id_image(self, id):
|
|
return f"{self.prefix}/users/{id}/image"
|
|
|
|
def users_id_password(self, id):
|
|
return f"{self.prefix}/users/{id}/password"
|
|
|
|
def users_api_tokens_token_id(self, token_id):
|
|
return f"{self.prefix}/users/api-tokens/{token_id}"
|
|
|
|
def groups_id(self, id):
|
|
return f"{self.prefix}/groups/{id}"
|
|
|
|
def recipes_recipe_slug(self, recipe_slug):
|
|
return f"{self.prefix}/recipes/{recipe_slug}"
|
|
|
|
def recipes_recipe_slug_image(self, recipe_slug):
|
|
return f"{self.prefix}/recipes/{recipe_slug}/image"
|
|
|
|
def recipes_recipe_slug_assets(self, recipe_slug):
|
|
return f"{self.prefix}/recipes/{recipe_slug}/assets"
|
|
|
|
def categories_category(self, category):
|
|
return f"{self.prefix}/categories/{category}"
|
|
|
|
def tags_tag(self, tag):
|
|
return f"{self.prefix}/tags/{tag}"
|
|
|
|
def media_recipes_recipe_slug_images_file_name(self, recipe_slug, file_name):
|
|
return f"{self.prefix}/media/recipes/{recipe_slug}/images/{file_name}"
|
|
|
|
def media_recipes_recipe_slug_assets_file_name(self, recipe_slug, file_name):
|
|
return f"{self.prefix}/media/recipes/{recipe_slug}/assets/{file_name}"
|
|
|
|
def about_events_id(self, id):
|
|
return f"{self.prefix}/about/events/{id}"
|
|
|
|
def meal_plans_plan_id(self, plan_id):
|
|
return f"{self.prefix}/meal-plans/{plan_id}"
|
|
|
|
def meal_plans_id_shopping_list(self, id):
|
|
return f"{self.prefix}/meal-plans/{id}/shopping-list"
|
|
|
|
def group_cookbook_id(self, id):
|
|
return f"{self.prefix}/groups/cookbooks/{id}"
|
|
|
|
def themes_id(self, id):
|
|
return f"{self.prefix}/themes/{id}"
|
|
|
|
def backups_file_name_download(self, file_name):
|
|
return f"{self.prefix}/backups/{file_name}/download"
|
|
|
|
def backups_file_name_import(self, file_name):
|
|
return f"{self.prefix}/backups/{file_name}/import"
|
|
|
|
def backups_file_name_delete(self, file_name):
|
|
return f"{self.prefix}/backups/{file_name}/delete"
|
|
|
|
def migrations_import_type_file_name_import(self, import_type, file_name):
|
|
return f"{self.prefix}/migrations/{import_type}/{file_name}/import"
|
|
|
|
def migrations_import_type_file_name_delete(self, import_type, file_name):
|
|
return f"{self.prefix}/migrations/{import_type}/{file_name}/delete"
|
|
|
|
def migrations_import_type_upload(self, import_type):
|
|
return f"{self.prefix}/migrations/{import_type}/upload"
|
|
|
|
def debug_log_num(self, num):
|
|
return f"{self.prefix}/debug/log/{num}"
|