- genre filtering
- added unapproved filtering
- fixed sfw filtering
- fixed kids filtering
- fixed deprecation warnings as of php 8.1
- DateTime ctor can't take `null` anymore as first param
- preg_replace doesn't accept `null` values as `$subject`
- fixed failed items indexer (the --failed option of indexers) -- it didn't load the correct file making it impossible to retry the indexing
- changed the document schema for search indexed anime/manga
- added `approved` field to them
- staging will require a reimport into TypeSense
- the central filtering system will now process `sfw` and `unapproved` filters, so they will be applied implicitly through the `filter` model scope method.
- added logic to forward `order_by` parameter to the search engine
- modified mongodb query when no search engine is present to use "textMatchScore" name instead of "score" for text match scores -- the text score projection was shadowing the "score" attribute
- order_by field was applied together with "mal_id", making the endpoints act oddly
- order_by parameter was ignored for non anime/manga endpoints
- made Producers data product searchable -> it's going to be indexed in the search index.
- fixed some more things to make the code base compatible with php 8.1