* Move to SPDX licenses
Found a way to do this without breaking API compat, so here it is, instead of waiting for v3
Resolves MOD-129
Resolves#396
* License URL updates
* what was I thinking
* Do a thing
* Add open source filter
* Remove dead imports
* Borrow
* Update 20220910132835_spdx-licenses.sql
* Add license text route
* Update migration
* Address comments
* Add initial support for blocking inappropriate text content
To make something clear, **nothing** is automatically censored or
deleted as a result of this pull request. This pull request is
meant to add two things:
- Regenerate new IDs (project, version, user, etc.) with profanity
- Send reports to the moderators for new inappropriate content
* Make it build
* Fix logic issue
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
* 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>
* Hotfixes for indexing
* Handles missing INDEX_CACHE_PATH environment variable
* Exits on startup if environment variables are missing. The flag
--allow-missing-vars disables this, but that is generally a bad
idea, since most environment variables are required (and the ones
that aren't should be marked as such).
* Disables the query loggers
* Upgrade meilisearch-sdk to 0.4.0 for MeiliSearch 0.16 support
* Fix swap of Forge and Fabric labeling
* Improve curseforge and local indexing
This should make curseforge indexing more efficient, and reuses
some of the normal local indexing for the queued indexing of
recently created mods.
* Unify impls for single and multiple routes for mods and versions
This uses the same backend for the single and multiple query
routes so that they no longer return inconsistent information.
* Cache valid curseforge mod ids to reduce request load
This caches the ids of minecraft mods and reuses them on indexing
to reduce the amount of unused addons that are returned.