* search patch for accurate loader/gv filtering
* backup
* basic search test
* finished test
* incomplete commit; backing up
* Working multipat reroute backup
* working rough draft v3
* most tests passing
* works
* search v2 conversion
* added some tags.rs v2 conversions
* Worked through warnings, unwraps, prints
* refactors
* new search test
* version files changes fixes
* redesign to revs
* removed old caches
* removed games
* fmt clippy
* merge conflicts
* fmt, prepare
* moved v2 routes over to v3
* fixes; tests passing
* project type changes
* moved files over
* fmt, clippy, prepare, etc
* loaders to loader_fields, added tests
* fmt, clippy, prepare
* fixed sorting bug
* reversed back- wrong order for consistency
* fmt; clippy; prepare
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
* WIP end-of-day push
* Authorize endpoint, accept endpoints, DB stuff for oauth clients, their redirects, and client authorizations
* OAuth Client create route
* Get user clients
* Client delete
* Edit oauth client
* Include redirects in edit client route
* Database stuff for tokens
* Reorg oauth stuff out of auth/flows and into its own module
* Impl OAuth get access token endpoint
* Accept oauth access tokens as auth and update through AuthQueue
* User OAuth authorization management routes
* Forgot to actually add the routes lol
* Bit o cleanup
* Happy path test for OAuth and minor fixes for things it found
* Add dummy data oauth client (and detect/handle dummy data version changes)
* More tests
* Another test
* More tests and reject endpoint
* Test oauth client and authorization management routes
* cargo sqlx prepare
* dead code warning
* Auto clippy fixes
* Uri refactoring
* minor name improvement
* Don't compile-time check the test sqlx queries
* Trying to fix db concurrency problem to get tests to pass
* Try fix from test PR
* Fixes for updated sqlx
* Prevent restricted scopes from being requested or issued
* Get OAuth client(s)
* Remove joined oauth client info from authorization returns
* Add default conversion to OAuthError::error so we can use ?
* Rework routes
* Consolidate scopes into SESSION_ACCESS
* Cargo sqlx prepare
* Parse to OAuthClientId automatically through serde and actix
* Cargo clippy
* Remove validation requiring 1 redirect URI on oauth client creation
* Use serde(flatten) on OAuthClientCreationResult
* Add redis caching to getting a user's project ids
* Run `cargo sqlx prepare` to update the sqlx-data.json
* Add redis caching for getting user notifications
* Fix new clippy warnings
* Remove log that shouldn't have been committed
* Batch insert of notifications (untested)
* sqlx prepare...
* Fix merge conflict things and use new redis struct
* Fix bug with calling delete_many without any elements (caught by tests)
* cargo sqlx prepare
* Add tests around cache invalidation (and fix bug they caught!)
* Some test reorg based on code review suggestions
* Port redis to staging
* redis cache on staging
* add back legacy auth callback
* Begin work on new auth flows
* Finish all auth flows
* Finish base session authentication
* run prep + fix clippy
* make compilation work
* 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>
* 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>
* 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
* WIP Switch to Postgres
* feat(postgres): more work on porting to postgres, now compiles
* feat(docker-compose): Changed the docker-compose.yml file to use postgres.
* Update docker, documentation, gh actions...
* Remove bson dependency
* Remove bson import
* feat: move mock filehost to trait rather than cargo feature
* feat(postgres): transactions for mod creation, multipart refactor
* fix: Add Cargo.lock so that sqlx functions
* Update sqlx offline build data
* fix: Use SQLX_OFFLINE to force sqlx into offline mode for CI
* Default release channels
* feat(postgres): refactor database models to fit postgres models
* fix: Fix sqlx prepare, fix double allocation in indexing
* Add dockerfile (#40)
Co-authored-by: Charalampos Fanoulis <charalampos.fanoulis@gmail.com>
Co-authored-by: Aeledfyr <aeledfyr@gmail.com>
Co-authored-by: redblueflame <contact@redblueflame.com>
Co-authored-by: Jai A <jai.a@tuta.io>
Co-authored-by: Valentin Ricard <redblueflame1@gmail.Com>
Co-authored-by: Charalampos Fanoulis <charalampos.fanoulis@gmail.com>