* Move validators to seperate thread, other fixes
* Update rust version in Dockerfile
* Fix notifs not working
* Fix pack validator not enforcing files
* 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>
* reduced the default, and added environment override.
* Using parse is more stable and doesn't fail CI this time :P
* Added support for monitoring
This support is currently basic, but it can be improved later down the road.
* Forgot scheduler file
* Added health check
* Cargo fix
* Update cargo.lock to avoid action fails.
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>
* Moderation + Mod Editing WIP
* Run prepare, fix perms
* Make it compile
* Finish moderation and edit routes
* More fixes
* Use better queries
* Final Fixes
* Team routes template
* More work on teams
* Updating routes WIP
* Edit routes
* Fixes
* Run prepare, prevent non-members from seeing perms
* More fixes
* Finish team routes
* More fixes
* Unpushed changes
* Some more fixes and error handling
* Fix sqlx prepare, formatting
Co-authored-by: Aeledfyr <aeledfyr@gmail.com>
* Support for using a master key
* Expand scope of PR, add wrapper struct, add files to intitial versions/mods
* Change changelog path, run formatter
* Split file changes into different PR
* Formatting, rename main variable
Co-authored-by: Aeledfyr <aeledfyr@gmail.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
* Merged mod file upload in version creation, mod creation and
version file add to one function; This makes sure that they are
consistent
* Made some fields on `User` optional: `github_id`, `avatar_url`, `bio`.
* We may not want to publicly show the `github_id` to everyone
with access to the API
* If we allow non-github users, some of those fields would be
invalid; some oauth providers may not have avatars or bios
* Made CORS origins should configurable
* Made `--reconfigure-indices` and `--reset-indices` exit after
completion instead of starting the server
* 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
* Creation Stuff
* Make it work
* Response structs + Mod ID validation
* Run code formatter
* Push local changes
* Finish up version creation - fix comments, impl file creation
* fix: Add sqlx prepare data
Co-authored-by: Aeledfyr <aeledfyr@gmail.com>
* fix(mod-creation): fix actix server data & mod creation route
* feat(file-host): implement mock file hosting
This implements a mock file hosting system backed by the system's
filesystem. It mirrors the API of the backblaze integration, but
puts the files directly on disk in the path specified by the
MOCK_FILE_PATH environment variable (defaults to /tmp/modrinth).
The mock file hosting is enabled by default using cargo features
to allow people to work on modrinth without access to a valid
backblaze account and setup. To enable backblaze, specify the
cargo feature "backblaze" when running, ex. `cargo run --features
backblaze`.
* feat(file-hosting): implement basic backblaze API error handling
* fix(mod-creation): fix extension parsing, use base62 ids for paths
fix(file-hosting): reduce unnecessary allocations
* fix: fix auth with docker mongodb
* fix: fix failing checks
* fix: remove testing files
* chore: Removed everything not needed, and added base for rewrite
feat(error_handling): Added 404 general cache
feat(index): Added informations about the app in the / route.
* feat(indexing): Brought back the indexing, with conditions to make it easier
* fix: Fixed build error with a forgotten call
* feat: Add Docker development enviroment (#19)
* ci: add a *lot* of new actions
* fix: rename linting action
* fix: invalid yaml begone(?)
* ci: Added cache to speed up build times
* fix(ci): 🦀ed the yaml errors
* fix(ci): fixed a missing hyphen
* ci: Added matrix of rust versions, and changed way to install rust toolchain
* fix(ci): Added names to build with the matrix so it's easier to find the source of the problem
* style(ci): Added eof lines
* refactor: Finished moving the search.rs file to a separate module.
* Search Endpoint
* refactor: Moved around functions and struct for a better understanding of what it does.
* chore: Change env default settings to resolve conversation
* refactor: Removed #[use_macros]
fix: Fixed meilisearch address from env
* chore: Added email to Aeledfyr
* fix: Brought back the dotenv variables
* style: Ran `cargo fmt`
Co-authored-by: Charalampos Fanoulis <charalampos.fanoulis@gmail.com>
Co-authored-by: Jai A <jai.a@tuta.io>