* upgrade sqlalchemy to 2.0
* rewrite all db models to sqla 2.0 mapping api
* fix some importing and typing weirdness
* fix types of a lot of nullable columns
* remove get_ref methods
* fix issues found by tests
* rewrite all queries in repository_recipe to 2.0 style
* rewrite all repository queries to 2.0 api
* rewrite all remaining queries to 2.0 api
* remove now-unneeded __allow_unmapped__ flag
* remove and fix some unneeded cases of "# type: ignore"
* fix formatting
* bump black version
* run black
* can this please be the last one. okay. just. okay.
* fix repository errors
* remove return
* drop open API validator
---------
Co-authored-by: Sören Busch <fleshgolem@gmx.net>
* tidied up shopping list item models
redefined recipe refs and updated models
added calculated display attribute to unify shopping list item rendering
added validation to use a food's label if an item's label is null
* fixed schema reference
* refactored shopping list item service
route all operations through one central method to account for edgecases
return item collections for all operations to account for merging
consolidate recipe items before sending them to the shopping list
* made fractions prettier
* replaced redundant display text util
* fixed edgecase for zero quantity items on a recipe
* fix for pre-merging recipe ingredients
* fixed edgecase for merging create_items together
* fixed bug with merged updated items creating dupes
* added test for self-removing recipe ref
* update items are now merged w/ existing items
* refactored service to make it easier to read
* added a lot of tests
* made it so checked items are never merged
* fixed bug with dragging + re-ordering
* fix for postgres cascade issue
* added prevalidator to recipe ref to avoid db error
* 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