* typos :help_me:
* (part 1/?) massive cleanup to make the code more Rust-ic and cut down heap allocations.
* (part 2/?) massive cleanup to make the code more Rust-ic and cut down heap allocations.
* (part 3/?) cut down some pretty major heap allocations here - more Bytes and BytesMuts, less Vec<u8>s
also I don't really understand why you need to `to_vec` when you don't really use it again afterwards
* (part 4/?) deduplicate error handling in backblaze logic
* (part 5/?) fixes, cleanups, refactors, and reformatting
* (part 6/?) cleanups and refactors
* remove loads of `as_str` in types that already are `Display`
* Revert "remove loads of `as_str` in types that already are `Display`"
This reverts commit 4f974310cfb167ceba03001d81388db4f0fbb509.
* reformat and move routes util to the util module
* use streams
* Run prepare + formatting issues
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
* Initial work for modpacks and project types
* Code cleanup, fix some issues
* Username route getting, remove pointless tests
* Base validator types + fixes
* Fix strange IML generation
* Multiple hash requests for version files
* Fix docker build (hopefully)
* Legacy routes
* Finish validator architecture
* Update rust version in dockerfile
* Added caching and fixed typo (#203)
* Added caching and fixed typo
* Fixed clippy error
* Removed log for cache
* Add final validators, fix how loaders are handled and add icons to tags
* Fix search module
* Fix parts of legacy API not working
Co-authored-by: Redblueflame <contact@redblueflame.com>
* Change header name
* Add default bio value
* Remove default
* Make name null
* Run prepare
* Add new API Routes for requesting multiple of an item
* Run formatter
* Simplify get mods query
* Run prepare
* Refactor to use one query for most routes, change version create route to have mod_id in data
* More fixes
* feat: Implement more database methods & add mod and version routes
* feat: Implement deleting mods/versions & implement categories
* feat: Implement routes for categories, game versions & loaders
* feat: Reorganize API routes in a (hopefully) usable way
* refactor: improve error handling
* fix: specify bind address instead of port
* fix: remove temporary testing file
* fix(errors): change error names to snake_case
* refactor(errors): split indexing error types, remove unused errors
* feat: add env variable checking at program start
This just checks whether the enviroment variables exist and can
parse to the given type and gives a warning if they can't. This
should prevent cases where the program fails at runtime due to
checking an environment variable that doesn't exist.
* feat(schema): add basic structs for schema
* feat(schema): implement base62 id parsing
* docs(schema): add documentation for schema structs
fix(schema): prevent integer overflow in base62 decoding
* refactor(schema): move ids into submodules, reexport from ids mod
* feat(schema): add random generation of base62 ids
style: run rustfmt