* Added validators for users and recipes
provide a simple get api, allowing to test for existence of
- user by username
- recipe by slug
- group by name (not tested yet)
* updated formatting
* Use group_id+slug for recipes, use ValidationRespone
* Fixed Flake8 errors and warnings
* add missing field for TestUser init
* fix food seeder to use value instead of keys
* fix all recipe names being slugified
* add helper path utilities
* add fix script for database to rename foods
* add safe calling for fixes
* toggle hide recipe sections
* disable parser if food or units is defined
* make inputs clearable
* remove console.logs
* fix linter error
* fix linter errors
* test-case for #1011
* revert regressions for #1011
* update cache key on new image
* lint
* fix#1012
* typing
* random_recipe fixture
* remove delete button when no listeners are present
* spacing
* update copy to match settings value
* fix type issues for #999
* fix regression #995
* remove error from frontend and log error #996
* cleanup darkmode on login page
* keep primary color bg
* Set up alembic migration usage
* Fix import order, add isort as alembic hook
* Only run migrations if needed
* Include date as part of migration file name for better sorting
* Skip initial migrations if tables already exist
This eases the transition from a pre-alembic state
* Fix deprecation warning in alembic revision
* Add alembic test stubs
* update to GUIDs
* fix cookbook id relationships
* update webhook keys
* cleanup naming and attribute orders
* remove old database tables
* fix meal-plan images
* remove dashbaord and events api
* use recipe-id instead of id
* cleanup documentation assets
* cleanup docs for v1 beta-release
* add depends_on for docker-compose
* use docker volumes for examples
* move caddy to frontend container
* update naming
* refactor tests to use shared structure
* shorten names
* add tools test case
* refactor to support multi-tenant
* set group_id on creation
* initial refactor for multitenant tags/cats
* spelling
* additional test case for same valued resources
* fix recipe update tests
* apply indexes to foreign keys
* fix performance regressions
* handle unknown exception
* utility decorator for function debugging
* migrate recipe_id to UUID
* GUID for recipes
* remove unused import
* move image functions into package
* move utilities to packages dir
* update import
* linter
* image image and asset routes
* update assets and images to use UUIDs
* fix migration base
* image asset test coverage
* use ids for categories and tag crud functions
* refactor recipe organizer test suite to reduce duplication
* add uuid serlization utility
* organizer base router
* slug routes testing and fixes
* fix postgres error
* adopt UUIDs
* move tags, categories, and tools under "organizers" umbrella
* update composite label
* generate ts types
* fix import error
* update frontend types
* fix type errors
* fix postgres errors
* fix#978
* add null check for title validation
* add note in docs on multi-tenancy
* cleanup oversized buttons
* add get all by category function to reciep repos
* fix shopping-list can_merge logic
* use randomized data for testing
* add random getter to repository for meal-planner
* add stub route for random meals
* cleanup global namespace
* add rules database type
* fix type
* add plan rules schema
* test plan rules methods
* add mealplan rules controller
* add new repository
* update frontend types
* formatting
* fix regression
* update autogenerated types
* add api class for mealplan rules
* add tests and fix bugs
* fix data returns
* proof of concept rules editor
* add tag support
* remove old group categories
* add tag support
* implement random by rules api
* change snack to sides
* remove incorrect typing
* split repo for custom methods
* fix query and use and_ clause
* use repo function
* remove old test
* update changelog
* generate types
* use generated types
* ui updates
* init button link for common styles
* add links
* setup label views
* add delete confirmation
* reset when not saved
* link label to foods and auto set when adding to shopping list
* generate types
* use inheritence to manage exception handling
* fix schema generation and add test for open_api generation
* add header to api docs
* move list consilidation to service
* split list and list items controller
* shopping list/list item tests - PARTIAL
* enable recipe add/remove in shopping lists
* generate types
* linting
* init global utility components
* update types and add list item api
* fix import cycle and database error
* add container and border classes
* new recipe list component
* fix tests
* breakout item editor
* refactor item editor
* update bulk actions
* update input / color contrast
* type generation
* refactor controller dependencies
* include food/unit editor
* remove console.logs
* fix and update type generation
* fix incorrect type for column
* fix postgres error
* fix delete by variable
* auto remove refs
* fix typo
* Fix or comment several ts-ignores
* Fix typing related to BaseOverflowButton
* Remove unused functionality of useCookbooks, fix usage bug
* Fix more typing, add some comments
* Only allow ts-ignore if it has a comment
* fix group page
* setup group notification for backend
* update type generators
* script to auto-generate schema exports
* setup frontend CRUD interface
* remove old notifications UI
* drop old events api
* add test functionality
* update naming for fields
* add event dispatcher functionality
* bump to python 3.10
* bump python version
* purge old event code
* use-async apprise
* set mealie logo as image
* unify styles for buttons rows
* add links to banners
* Activate more linting rules from eslint and typescript
* Properly add VForm as type information
* Fix usage of native types
* Fix more linting issues
* Rename vuetify types file, add VTooltip
* Fix some more typing problems
* Use composition API for more components
* Convert RecipeRating
* Convert RecipeNutrition
* Convert more components to composition API
* Fix globals plugin for type checking
* Add missing icon types
* Fix vuetify types in Nuxt context
* Use composition API for RecipeActionMenu
* Convert error.vue to composition API
* Convert RecipeContextMenu to composition API
* Use more composition API and type checking in recipe/create
* Convert AppButtonUpload to composition API
* Fix some type checking in RecipeContextMenu
* Remove unused components BaseAutoForm and BaseColorPicker
* Convert RecipeCategoryTagDialog to composition API
* Convert RecipeCardSection to composition API
* Convert RecipeCategoryTagSelector to composition API
* Properly import vuetify type definitions
* Convert BaseButton to composition API
* Convert AutoForm to composition API
* Remove unused requests API file
* Remove static routes from recipe API
* Fix more type errors
* Convert AppHeader to composition API, fixing some search bar focus problems
* Convert RecipeDialogSearch to composition API
* Update API types from pydantic models, handle undefined values
* Improve more typing problems
* Add types to other plugins
* Properly type the CRUD API access
* Fix typing of static image routes
* Fix more typing stuff
* Fix some more typing problems
* Turn off more rules
The problem was that on smaller screens or when resizing, v-navigation-drawer would change its value on its own, but these changes were not propagated to AppSidebar.
I also added a few missing type definitions for SidebarLinks.
* add default assets for user profile
* add recipe avatar
* change user_id to UUID
* add profile image upload
* setup image cache keys
* cleanup tests and add image tests
* purge user data on delete
* new user repository tests
* add user_id validator for int -> UUID conversion
* delete depreciated route
* force set content type
* refactor tests to use temp directory
* validate parent exists before createing
* set user_id to correct type
* update instruction id
* reset primary key on migration
* feat: ✨ support for lockable recipes
* feat(backend): ✨ check user can update before updating recipe
* test(backend): ✅ add recipe lock tests
* feat(frontend): ✨ disabled lock action when not owner
* test(backend): ✅ test non-owner can't lock recipe
* hide quantity on zero value
* fix(backend): 🐛 temp/partial fix for recipes with same name. WIP
* simplify context menu
* move computed to comp-api
* feat: ✨ create share tokens for recipes for sharing recieps to non-users
* feat: ✨ shareable recipe links with og tags
* feat(backend): 🌐 make foods/ingredients translatable
* feat(backend): ✨ add remember me support for login - 14 days
* feat(frontend): 💄 add persistent darkmode for user sessions
* capture #859
* feat(frontend): 💄 add basic open-graph data for site links