Dean Herbert
56427becbb
Move logging and early return into `UndeleteForReuse` method itself
2022-04-13 14:33:28 +09:00
Dean Herbert
6dbfc26158
Add log output when a model is undeleted
2022-04-12 18:23:38 +09:00
Dean Herbert
0fcb3bdba9
Fix beatmap date added not being updated on reimporting a soft deleted beatmap
...
Addresses concerns raised in https://github.com/ppy/osu/discussions/17399 .
2022-03-22 14:10:36 +09:00
Dean Herbert
79d1d54e33
Rename parameter to match other usages
2022-02-08 20:35:38 +09:00
Dan Balasescu
b1a73996ba
Fix incorrect check for beatmap availability
2022-02-08 19:36:42 +09:00
Dean Herbert
5288eedd31
Update all usages of `RulesetID` and `Ruleset.ID` to use `Ruleset.OnlineID`
2022-01-27 15:38:03 +09:00
Dean Herbert
cd71ec0edd
Remove `ILive<>` interface (and use `abstract Live<>` instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
778d2a71b4
Remove `Task` from the inner-most `Import` method in `RealmArchiveModelImporter`
...
One of my pending work items for post-realm merge.
The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.
Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dan Balasescu
bfa521bdd2
Merge pull request #16593 from peppy/realm-clean-up
...
Clean up realm naming
2022-01-25 14:33:53 +09:00
Dean Herbert
bbcc149e2e
During import if files are found to be missing, ensure they are restored
...
This is one step closer to sanity in terms of physical files. As per the
comment I have left in place, we really should be checking file sizes or
hashes, but to keep things simple and fast I've opted to just cover the
"missing file" scenario for now.
Ran into this when testing against a foreign `client.realm` by:
- Noticing a beatmap doesn't load
- Deleting said beatmap
- Downloading via beatmap overlay
- Beatmap is restored but still doesn't work
Note that I've kept the logic where this will undelete an existing
import rather than create one from fresh, as I think that is beneficial
to the user (ie. it will still keep any linked scores on restore).
2022-01-25 13:44:54 +09:00
Dean Herbert
d7342880f5
Update remaining cases of clashes with `realm.Write` and `realm.RegisterForNotifications`
2022-01-25 13:09:48 +09:00
Dean Herbert
3e5c9e8436
Fix cases of `Access` instead of `Realm`
2022-01-25 12:58:15 +09:00
Dean Herbert
f30894840c
Update terminology to realm "instance" rather than "context"
...
This matches the terminology used by realm themselves, which feels
better.
2022-01-24 20:38:38 +09:00
Dean Herbert
6eb2c28e41
Rename `RealmContextFactory` to `RealmAccess`
2022-01-24 20:38:07 +09:00
Dean Herbert
114c9e8c1f
Update all usages of `CreateContext` to use either `Run` or `Write`
2022-01-21 17:27:08 +09:00
Dean Herbert
a5d2047f05
Fix various cases of creating realm contexts from update thread when not necessary
2022-01-21 01:44:56 +09:00
Dean Herbert
7f65f3a47f
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-18 22:57:39 +09:00
Dean Herbert
a0e2106468
Guard against null values getting inserted into database during score/beatmap imports
2022-01-17 14:05:08 +09:00
Dean Herbert
8424d86e9a
Remove unused `cancellationToken` parameter in synchronous `BeatmapOnlineLookupQueue` flow
2022-01-14 13:19:00 +09:00
Dean Herbert
c61419dfe5
Fix scores not using correct filename/display strings
...
I've updated all cases where we should have been using
`GetDisplayString()` anyway, but left the `ToString()` implementations
in place for safety. They should probably be removed in the future.
2022-01-13 16:56:11 +09:00
Dean Herbert
93c78253d6
Add synchronous fetch flow to `BeatmapOnlineLookupQueue`
...
The async flow doesn't work great with the realm import process. We
might be able to improve on this going forward, but for the time being
adding a synchronous path seems safest.
After all, we are already an an asynchronous (dedicated) thread pool at
this point.
2022-01-13 16:36:54 +09:00
Dean Herbert
bdb2979b2e
Remove `async` from `Populate` method
2022-01-13 16:36:54 +09:00
Dean Herbert
70c107b434
Remove pointless override method in `RealmArchiveModelManager`
2022-01-13 16:27:12 +09:00
Dean Herbert
88145dedf1
Remove oudated comments
2022-01-13 15:27:43 +09:00
Dean Herbert
a4de0f93fa
Move manager `Update` methods to be explicit to where they are still used by legacy code
...
Also fixes skin hash repopulation being completely broken.
2022-01-12 17:49:11 +09:00
Dean Herbert
7dba3c3551
Fix most remaining test issues
2022-01-12 17:49:11 +09:00
Dean Herbert
80eee6d7b0
Make `RealmArchiveModelManager.Update` work using automapper
2022-01-12 17:49:11 +09:00
Dean Herbert
64a47ff850
Allow `RealmArchiveModelManager` file operations to be performed on detached instances
2022-01-12 17:49:11 +09:00
Dean Herbert
d8e75a9de4
Reimplmeent `IsAvailableLocally` as an `abstract` method
2022-01-12 17:49:10 +09:00
Dean Herbert
b619ff1264
Reattach detached items on delete/undelete
2022-01-12 17:00:17 +09:00
Dean Herbert
e74a5022c9
Fix multiple tests via null checks and changing `ToLive` to `Detach`
...
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
fe8a5e867d
Remove updated/removed flow method mapping
2022-01-12 17:00:16 +09:00
Dean Herbert
00e9f0d41e
Replace `BeatmapDownloadTracker` event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366
Update model manager and many related classes to get things compiling again
2022-01-12 17:00:00 +09:00
Dean Herbert
d70e292828
Remove old EF classes
2022-01-12 16:57:27 +09:00
Dean Herbert
e711a6d355
Remove unused `ScoreImporter` class
2022-01-12 16:57:27 +09:00
Dean Herbert
2a4bee61dd
Update many score-related classes to move closer to being able to persist to realm
2022-01-12 16:57:27 +09:00
Dean Herbert
3da762e145
Replace EF `ScoreInfo` with realm version
...
May contain errors.
2022-01-12 16:57:27 +09:00
Dean Herbert
a5df01ff47
Add score importer
2022-01-12 16:57:27 +09:00
Dean Herbert
3ecd889fef
Replace EF `RulesetStore` with realm version
...
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
Dean Herbert
213d89b479
Update null fallback cases involving `OnlineID`
2022-01-12 16:39:36 +09:00
Dean Herbert
618903c217
Rename realm to become imposter classes
2022-01-12 16:39:36 +09:00
Dean Herbert
441b7baa93
Provide a realm factory to usages of `ToLive`/`RealmLive`
2021-12-14 14:26:34 +09:00
Dean Herbert
68b482fc48
Merge branch 'master' into skin-export-instntiation-info
2021-12-06 17:12:42 +09:00
Dean Herbert
452fa93444
Merge branch 'master' into realm-integration/skins-rebase
2021-12-06 15:21:02 +09:00
Dean Herbert
675ecb603f
Add `IRulesetStore` to allow for transitional usage in upcoming manager classes
2021-12-03 17:57:40 +09:00
Dean Herbert
fe99d4e984
Standardise parameter naming across all file IO methods
2021-12-02 17:19:53 +09:00
Dean Herbert
ae3038ead4
Overwrite existing files if `AddFile` is called with an existing filename
2021-12-02 17:18:06 +09:00
Dean Herbert
ea66cd6c5e
Add xmldoc and make realm ongoing transaction file op methods `protected` instead of `public`
2021-12-01 12:55:21 +09:00
Dean Herbert
c629a7a36f
Fix random selection and avoid using legacy events for handling skin import/deletion
2021-11-29 18:28:25 +09:00