* Convert entities to serializable after aggregating rather before
* Cache instances of CustomXmlSerializer and create readonly constants for reused settings
* Change CustomXmlSerializer and serializer cache to work with deserializer
* Initial work for serialization refactor
* Experiment with new naming conventions
* Mostly implement user and slot serialization.
Still needs to be fine tuned to match original implementation
Many things are left in a broken state like website features/api endpoints/lbp3 categories
* Fix release building
* Migrate scores, reviews, and more to new serialization system.
Many things are still broken but progress is steadily being made
* Fix Api responses and migrate serialization for most types
* Make serialization better and fix bugs
Fix recursive PrepareSerialization when recursive item is set during root item's PrepareSerialization, items, should be properly indexed in order but it's only tested to 1 level of recursion
* Fix review serialization
* Fix user serialization producing malformed SQL query
* Remove DefaultIfEmpty query
* MariaDB doesn't like double nested queries
* Fix LBP1 tag counter
* Implement lbp3 categories and add better deserialization handling
* Implement expression tree caching to speed up reflection and write new serializer tests
* Remove Game column from UserEntity and rename DatabaseContextModelSnapshot.cs back to DatabaseModelSnapshot.cs
* Make UserEntity username not required
* Fix recursive serialization of lists and add relevant unit tests
* Actually commit the migration
* Fix LocationTests to use new deserialization class
* Fix comments not serializing the right author username
* Replace all occurrences of StatusCode with their respective ASP.NET named result
instead of StatusCode(403) everything is now in the form of Forbid()
* Fix SlotBase.ConvertToEntity and LocationTests
* Fix compilation error
* Give Location a default value in GameUserSlot and GameUser
* Reimplement stubbed website functions
* Convert grief reports to new serialization system
* Update DatabaseModelSnapshot and bump dotnet tool version
* Remove unused directives
* Fix broken type reference
* Fix rated comments on website
* Don't include banned users in website comments
* Optimize score submission
* Fix slot id calculating in in-game comment posting
* Move serialization interfaces to types folder and add more documentation
* Allow uploading of versus scores
* Replace Location table with packed 64 bit int
* Remove double Include and fix Slot documentation
* Fix compilation errors from merge
* Fix namespaces and add expected values to unit tests
* Start of reorganization and cleanup
* Remove duplicate title id
* Refactor types
* Fix Release building
* Move classes in /Types to a Types namespace
* Fix compilation error (RoomVisualizerPage strikes again)
* Fix bugs created from auto merge
* Fix auto-merge compilation error
* Changes from review/fix failed merge
* Implement favouriting developer slots
* note todo
* list developer levels in hearted
* set gameversion for hearted developer slot
* removed game exclusions
* reverse order of favouriteSlots and lolcatftw
* also order hearted users
* also reverse order in LBP3 hearted category
* add proper sorting for lolcatftw and favouriteSlots
* forgot a set of brackets lol
* cleanup and queue and hearted category fixes for LBP3
(they now show as empty when they are in fact empty)
* sort favouriteUsers properly
* ok I think I fixed it now
* ok it should be fine now?
* ok this returns wrong
* reorder query to fix it lol
* Update ProjectLighthouse/PlayerData/Profiles/HeartedProfile.cs
Co-authored-by: Jayden <jvyden@jvyden.xyz>
* tweaks
Co-authored-by: Jayden <jvyden@jvyden.xyz>
* Many bug fixes and performance enhancements
* Fix warnings and speed up photos with me
* Finish refactoring user serialization
* Finish refactoring user serialization
Use GameTokens instead of User when possible
Prevent negative page sizes
* Fix debug compilation
* Add gzip compression to example nginx config
* Remove deflate changes
* Add UsernameFromWebToken
Co-authored-by: Jayden <jvyden@jvyden.xyz>
* Initial commit to support developer slots
* Remove hearting story levels, prevent race condition in adding dev slots, and remove LastContactHelper local db object.
* Fix photos taken in pod showing wrong level.
* Add support for pod and create mode photos
* Add time display to photos and added photo display to level page
* Add pagination to in game photos
* Update in pod description
* Fix migration
* Adjust wording of photos taken on local slots
* Set slot default type to User
Fixes old slots being set to developer slots
* Apply suggestions
* Add player count to developer slots
Co-authored-by: Jayden <jvyden@jvyden.xyz>