ProjectLighthouse/ProjectLighthouse/Migrations
Josh 329ab66043
Refactor serialization system (#702)
* 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
2023-03-28 00:39:54 +00:00
..
20211019021627_InitialCreate.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211019031221_HeartedLevels.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211019203627_LastMatches.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211020220840_ResourceList.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211026010814_FavouriteUsers.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211028015915_AddSlotTimestamp.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211028021513_AddSlotFirstUploadedAndLastUpdated.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211029213334_RemoveUsedSlotsFromDb.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211030203837_AddMMPickToSlot.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211031234245_AddScoresTable.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211102215859_RenameTeamPick.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211103194917_RemoveStartupMigrations.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211104031327_AddGameVersionToToken.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211104040509_AddGameVersionToSlots.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211104195812_AddPhotoSupport.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211105205010_UpdatePhotoAndPhotoSubjectToDoStuffWeirdName.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211105205239_DropPhotoSubjectParentPhoto.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211105205749_DropPhotoSlot.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211106010424_AddCreatorToPhoto.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211107023452_NoPhotosByMeOrWithMeInUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211108013443_RemoveCommentsEnabled.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211108015422_AddPlaysToSlot.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211108054552_RemoveCountsFromDatabase.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211108093616_GameSpecificPlayCounts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211108114052_VisitedLevelsTable.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211108212022_BooYayRateLevels.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211109225543_AddLevelTypeToSlot.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211113091631_AddUserLocationToToken.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211113215128_VisitedLevelPlayCounts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211113220306_VisitedLevelDropGameVersion.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211114231343_UserRefactor.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211115050553_UserAddDefaultsToNullableStrings.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211115052941_SlotAddLbpVitaPlays.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211120045239_AddPasswordToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211120052549_RenameTokensToGameTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211120053654_AddWebTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211122002000_AddAuthenticationAttempts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211123224001_AddIsAdminToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211125052035_AddGameVersionToLastMatch.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211127201738_AddPasswordResetRequiredToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211130190200_AddYayBooMehHashesToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211202235932_RenameLastMatchesToLastContacts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211211045823_AddLevelReviews.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211213195540_AddUserApprovedIpAddresses.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211214005427_AddUsedBoolToGameToken.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20211217000749_AddBannedPropertiesToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220113125615_AddDatabaseCustomCategories.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220121024607_AddVitaCrossControlRequiredToSlot.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220205132152_CommentRefactor.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220212041106_AddGriefReports.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220212091645_RemoveVisiblePlayersFromReport.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220216230824_AddEarthHashesForAllGames.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220217045519_AddPlatformForLastContactsAndGameTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220301195426_AddEmailAddressToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220301204930_AddEmailVerificationTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220301212120_SplitSetAndVerificationTokenTypes.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220302003658_AddEmailVerifiedToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220402212909_AddAdminGrantedSlotsToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220413192851_AddUserForeignKeyToLastContacts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220522192158_SwitchToPermissionLevels.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220610061641_AddCompletedMigrations.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220610230341_AddModerationCases.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220610230647_AddExpirationDateToCases.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220611012037_AddAffectedIdToCases.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220611221819_OnlyAllowSingleApprovedIP.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220624210701_AddedPasswordResetTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220715222906_UserInvite.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220716234844_RemovedAPIKeyEnabled.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220729002704_DeveloperSlots.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220729182709_AddExpiryTimesToTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220801055525_AddPrivacySettingsToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220802150408_Arrrrrr.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220805213150_RenameCaseProperties.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220805234507_AddModNotesToCase.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220806013840_AddHiddenSlots.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220806181028_AddCommentsEnabledToSlotsAndUsers.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220808053519_RemoveVitaPlayCount.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220825212051_AddLevelTagToRatedLevel.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220826001101_AddLoginTimestampsToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220910190711_AddUserLanguageAndTimezone.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220910190824_RemoveUserIsAPirate.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220916141401_ScoreboardAdvSlot.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220918154500_AddIsAdventureColumn.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20220923042831_AddPlaylists.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221016234831_AddUsernameToRegistrationToken.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221105212037_AddTwoFactorToUser.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221117165700_AddCrossControlPlanet.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221118162114_AddVerifiedToWebToken.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221217002014_ReworkGameTokens.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221217043015_AddPlatformLinkAttempts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20221217044751_AddForeignKeyToLinkAttempts.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20230127021453_AddUsernameToCaseTable.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20230208165011_AddedUserBlocking.cs Refactor Database class (#616) 2023-02-15 23:54:30 -06:00
20230215195324_ChangeLocationStorage.cs Replace Location table with packed 64-bit int (#679) 2023-02-21 14:53:38 -06:00
20230221215252_FixPhotoAndSubjectRelation.cs Make PhotoSubjects use a one to many relationship (#687) 2023-02-24 04:20:55 +00:00
20230222065412_RemovePhotoSubjectCollection.cs Make PhotoSubjects use a one to many relationship (#687) 2023-02-24 04:20:55 +00:00
20230310075648_RemoveGameFromUser.cs Refactor serialization system (#702) 2023-03-28 00:39:54 +00:00
20230319024330_AddCommentForeignKeyToReactions.cs Refactor serialization system (#702) 2023-03-28 00:39:54 +00:00
20230319024424_RenameReactionsTableToRatedComments.cs Refactor serialization system (#702) 2023-03-28 00:39:54 +00:00