154 Commits

Author SHA1 Message Date
41555ca674
Eager Loading SPT Versions 2024-09-30 23:47:04 -04:00
39a7640e92
Reworked Follow Livewire Components
Fixes PHPStan errors and makes it a little more performant. Still not good enough. Making way to many queries for what it's doing.
2024-09-30 22:56:06 -04:00
df8e7f958d
Uses On Attribute for Livewire Listener 2024-09-30 22:54:45 -04:00
30985541e7
Fixes PHPStan Issues 2024-09-30 22:54:15 -04:00
1127f2b9df
Eager Load User Mods 2024-09-30 22:53:32 -04:00
319e5e65e9
Disable Lazy Loading in Development 2024-09-30 22:52:44 -04:00
0d043ff880
Username Handling
- When a new user is created using Discord OAuth information, if the username returned from Discord is already taken, append randomness to the end of the username.
- Validates that a new account name is unique.
- Validates that an updated account name is unique.
2024-09-30 16:43:31 -04:00
0208213564
Removes fancy quotes. 2024-09-30 14:09:38 -04:00
caefd6dbb2
Discord Avatar Import
Imports the user's avatar from discord when a new user is created through OAuth.
2024-09-30 14:06:37 -04:00
746fed1746
OAuth Management
Adds a edit-user-profile section to allow a user to remove an OAuth connection from their account when they have a local account password set.
2024-09-27 20:41:36 -04:00
46550b5d8f
OAuth Account Password Creation
This allows a user that was created via OAuth to set a local password on their account.
2024-09-27 16:51:13 -04:00
88aa9b1ad8
Discord OAuth
Creates the base structure for Discord OAuth.
2024-09-26 16:55:44 -04:00
7e1c66f250
Download Count Review
Reviewed the download count PR work and made some changes:
- Updated the download link route to include the mod's slug for easier identification.
- Moved rate limiter from the route middleware (the entire controller) to just the show method in the controller.
- Created a ModVersionPolicy that the controller can check against.
- Moves download increment logic into the model.
- Defers the call to the download increment logic (now run in the background)
- Updated the route to have a name, and the downloadUrl methods to build the URL dynamically using the route name.
- Wrote some tests to check URL building, download counting, and rate limiting.

# Conflicts:
#	app/Http/Controllers/ModVersionController.php
#	app/Providers/AppServiceProvider.php
2024-09-25 17:04:46 -04:00
Refringe
deca405976 Pint PHP Style Fixes [no ci] 2024-09-25 19:15:41 +00:00
6b7efb87ec Merge remote-tracking branch 'upstream/develop' into impl/download-tracking 2024-09-24 14:13:17 -04:00
4e33dd9ec5
Updates About Field Default
Updates the about column to have a default of an empty string. Curse you, MySQL!
2024-09-24 00:46:44 -04:00
6bc02ca210
Imports User Follows
The import script will now import hub user follows.
2024-09-24 00:43:15 -04:00
2cd8e9fa86
Global Search Fixes
Fixes an issue with the global search box not functioning correctly with keyboard navigation.
2024-09-24 00:42:26 -04:00
691f352d01
User Follow Components
Updates the user follow component to two smaller components. Still needs to be optimized.
2024-09-24 00:40:33 -04:00
8a156d8a43 update controller
to recalculate downloads and return 307 specifically
2024-09-20 10:46:26 -04:00
6d6670e246 setup download counting 2024-09-20 10:37:16 -04:00
cf381c9e7d
Method syncWithoutDetaching Expects Array 2024-09-17 17:19:39 -04:00
db259e2689
Removes PHPStan Errors 2024-09-17 17:19:07 -04:00
c3f9fcf19f
Minor User Model Changes
- Added a few docblock comments
- Pint reordered methods (for some reason)
- Added type casts for id, hub_id, created_at, and updated_at
2024-09-17 15:33:42 -04:00
be05d2693e
Remove Controller User Model Binding
We're going to being in the user id from the URI instead so we can do a custom lookup on it.
2024-09-17 14:51:32 -04:00
579a26a360 Merge branch 'profile-data' into user-profile-info 2024-09-17 17:32:46 +00:00
2cca45bcea
Removes Array Definition Docblock Information
Part of moving back to PHPStan level 5 means we can remove some of these. They're very busy and don't give enough context to outweigh the ugly.
2024-09-17 13:30:11 -04:00
df779135c1
Global Search Accessibility
Improved the accessibility of the global search field in the header.
- When focus is lost, the dropdown disappears
- The tab key and up/down arrows can be used to cycle through results
- When using the keyboard to cycle through results, focus loops back to the top result
- Pressing the esc key will clear the search text and remove the focus lock on the search

Resolves #25
2024-09-17 11:59:28 -04:00
0f3c7e03d0 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-17 09:39:43 -04:00
297937a2ea
Scribe API Documentation
Installs Scribe for (mostly) automatic API documentation. Does a pretty good job and it's pretty painless to set-up. I'll have to configure it to work in the CI and to ensure that the static files are being pushed to production as they should be, but this is a good start.
2024-09-17 01:41:00 -04:00
d70a38bf08
API Filters Clean-up
Generalized similar API filter methods and moved them into a FilterMethods trait. Rewrote ModFilter and UserFilter methods to use the general trait methods.
2024-09-17 01:38:28 -04:00
2199e34569
Mod Updated Column
Updating a ModVersion model now updates it's parent Mod's updated_at column.
2024-09-16 15:43:25 -04:00
743ed27bd0 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-16 09:38:30 -04:00
c2d36e8b09
Simplifies Expression
Null not possible.
2024-09-15 23:46:02 -04:00
7909f629c6
Homepage Query Caching 2024-09-15 23:27:00 -04:00
45a211b66d
Listing Query & Relationship Clean-up
Rebuilt the filtering queries and many of the mod-to-modVersion-to-sptVersion relationships.

Resolves #38
2024-09-15 23:05:38 -04:00
58e8adb730
Adds TODO for query. 2024-09-13 00:17:13 -04:00
d1b142c2ee
Reworked Mod Listing
Updates the mod listing components to be a little more friendly.
2024-09-13 00:08:00 -04:00
d9b7d6fcc8
Resolves Remaining Larastan Issues 2024-09-12 13:19:52 -04:00
cdaddbb44f Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-12 09:12:41 -04:00
bbb8fab1a1
Resolves Some Larastan Issues 2024-09-11 23:08:58 -04:00
aaf8ee4249
Chaperone
Add chaperone calls to all of the relationships that support it.
2024-09-11 15:09:38 -04:00
2179da3c4d Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-11 14:52:24 -04:00
cc2cc71c26 Merge branch 'develop' into fix/view-all-filtering 2024-09-11 18:25:48 +00:00
f16b3fe497 pint and some mod data changes 2024-09-11 14:15:13 -04:00
f443364721 paginate mods 2024-09-11 09:25:02 -04:00
90aeecc6d8 fix user-stack showing wrong name in dialog title 2024-09-11 09:24:43 -04:00
affb0d11f7 add sections bar to profile page
mods and about sections WIP. Also adjusted user-stack tooltip position
slightly
2024-09-10 13:31:59 -04:00
a07e64ff51 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-10 11:57:59 -04:00
8211731c32 remove clear filters call 2024-09-10 09:20:53 -04:00