Commit graph

371 commits

Author SHA1 Message Date
Bond-009 e011659186
Merge pull request #4210 from nielsvanvelzen/typed-websocket-message
Use enum for WebSocket message types
2020-10-05 10:40:52 +02:00
Joshua M. Boniface f2763a71e0 Rename migrations to match others 2020-10-04 20:31:24 -04:00
Patrick Barron 4d7e7d6331 Rewrite activity log backend to use a query class. 2020-10-04 20:29:28 -04:00
Joshua M. Boniface 725acb528a Add pragma warning disabled to migrations 2020-10-04 13:47:59 -04:00
Joshua M. Boniface cd328a0be3 Remove default set for MaxActiveSessions 2020-10-04 13:34:53 -04:00
Joshua M. Boniface b9d79d7635 Add DB migration for new MaxActiveSessions field 2020-10-04 13:14:32 -04:00
Joshua M. Boniface 5a7dda337f Add active session tracking
Adds a flag for a maximum number of user sessions, as well as an
authentication check to ensure that the user is not above this level.
2020-10-04 13:02:54 -04:00
cvium a839b015f9 Disable invalid auth provider 2020-10-03 21:24:04 +02:00
KonH 211c9cd608 Remove unnecessary null checks in some places
Related to https://github.com/jellyfin/jellyfin/issues/2149
2020-10-03 22:03:23 +07:00
Niels van Velzen 72534f9d66 Use SessionMessageType for WebSocket messages 2020-09-27 10:00:20 +02:00
crobibero 46ae51bc9a update to dotnet 3.1.8 2020-09-12 10:19:04 -06:00
Patrick Barron 46c705b545 Generate migration for display preferences fix. 2020-09-05 18:11:03 -04:00
Patrick Barron db46a9e7c8 Clean up JellyfinDb and fix display preferences index. 2020-09-05 17:54:34 -04:00
Patrick Barron d814302707 Merge branch 'master' into scoped-displaypreferences 2020-09-03 15:15:43 -04:00
crobibero 5d528e202f Merge remote-tracking branch 'upstream/master' into 3.1.7 2020-08-31 08:10:15 -06:00
crobibero bd66fd25df Merge remote-tracking branch 'upstream/master' into 3.1.7 2020-08-31 08:00:05 -06:00
Bond-009 9a2f2aac22
Merge pull request #4018 from barronpm/library-entity-cleanup
Library Entity Cleanup
2020-08-31 11:00:28 +02:00
Patrick Barron acb213e4b8 First pass at cleaning entity classes.
- Documents all library entities
- Fixes styling warnings for library entities
- Updates library entities to inherit from interfaces
- Makes library entites no longer partial.
2020-08-30 18:51:31 -04:00
crobibero ec8967b8e6 Fix partial library and channel access 2020-08-27 10:00:06 -06:00
Joshua M. Boniface cf6ef9958d
Merge pull request #3910 from barronpm/event-rewrite-1
Event Rewrite (Part 1)
2020-08-25 16:59:35 -04:00
Patrick Barron fa8892fde4 Make LibraryController.GetDownload async 2020-08-24 20:27:10 -04:00
Patrick Barron ee7beed804 Comment and reorder service registration. 2020-08-17 21:48:44 -04:00
Patrick Barron 6f88087fa9 Use index access instead of LINQ. 2020-08-17 21:42:59 -04:00
Patrick Barron 075ae53d83 Register new IEventConsumer services. 2020-08-15 23:27:51 -04:00
Patrick Barron dcf97efaf8 Rename PackageInstallationFailedLogger to have more consistent naming. 2020-08-15 23:22:26 -04:00
Patrick Barron a40064a146 Migrate ServerEventNotifier.OnPackageInstallationCancelled to IEventConsumer 2020-08-15 23:20:41 -04:00
Patrick Barron e82dd8b70e Migrate ServerEventNotifier.OnPackageInstallationCompleted to IEventConsumer 2020-08-15 23:16:15 -04:00
Patrick Barron 25437af594 Migrate ServerEventNotifier.OnPackageInstallationFailed to IEventConsumer 2020-08-15 23:12:34 -04:00
Patrick Barron 4478945e20 Migrate ServerEventNotifier.OnPluginUninstalled to IEventConsumer 2020-08-15 23:12:01 -04:00
Patrick Barron b7ceb40d6e Migrate ServerEventNotifier.OnPackageInstalling to IEventConsumer 2020-08-15 18:57:46 -04:00
Patrick Barron b2f734efd1 Gracefully handle exceptions in IEventConsumers 2020-08-15 18:36:37 -04:00
Patrick Barron dc88e93504 Migrate ServerEventNotifier.OnHasPendingRestartChanged to IEventConsumer 2020-08-15 18:33:30 -04:00
Patrick Barron 5282a5c8c2 Migrate ServerEventNotifier.OnTaskCompleted to IEventConsumer 2020-08-15 18:16:41 -04:00
Patrick Barron a0453a0fe6 Migrate ServerEventNotifier.OnUserUpdated to IEventConsumer 2020-08-15 18:16:20 -04:00
Patrick Barron 8b90e0205c Add EventingServiceCollectionExtensions 2020-08-15 15:56:47 -04:00
Patrick Barron 6f7d289feb Create EventManager 2020-08-15 15:55:58 -04:00
Patrick Barron 816c80525a Use IEventManager in UserManager 2020-08-15 15:55:15 -04:00
Patrick Barron d39e236dfe Migrates ServerEventNotifier.OnUserDeleted to IEventConsumer 2020-08-15 15:49:11 -04:00
Patrick Barron 93c00c1440 Rename to SessionEndedLogger 2020-08-15 13:48:12 -04:00
Patrick Barron 4d18dbf9de Document UserDeletedLogger 2020-08-15 03:35:42 -04:00
Patrick Barron 665f58dfbd Document TaskCompletedLogger 2020-08-15 03:34:52 -04:00
Patrick Barron 8570cfdba6 Migrate ActivityLogEntryPoint.OnSessionEnded to IEventConsumer 2020-08-15 02:07:28 -04:00
Patrick Barron ca3a8bdb98 Migrate ActivityLogEntryPoint.OnSessionStarted to IEventConsumer 2020-08-15 02:02:58 -04:00
Patrick Barron 98cbf1c2de Migrate ActivityLogEntryPoint.OnPackageInstallationFailed to IEventConsumer 2020-08-14 15:56:54 -04:00
Patrick Barron e924444880 Migrate ActivityLogEntryPoint.OnPluginUpdated to IEventConsumer 2020-08-14 15:50:17 -04:00
Patrick Barron 0da7c0568d Migrate ActivityLogEntryPoint.OnPluginUninstalled to IEventConsumer 2020-08-14 15:22:12 -04:00
Patrick Barron b7f21971f4 Migrate ActivityLogEntryPoint.OnPluginInstalled to IEventConsumer 2020-08-14 15:21:17 -04:00
Patrick Barron f4275adfcb Migrate ActivityLogEntryPoint.OnAuthenticationSucceeded to IEventConsumer 2020-08-13 21:38:24 -04:00
Patrick Barron bff05d7186 Migrate ActivityLogEntryPoint.OnAuthenticationFailed to IEventConsumer 2020-08-13 21:33:28 -04:00
Patrick Barron 8a4bdaed6b Migrate ActivityLogEntryPoint.OnUserLockedOut to IEventConsumer 2020-08-13 21:11:38 -04:00
Patrick Barron a1ecafb40d Migrate ActivityLogEntryPoint.OnUserPasswordChanged to IEventConsumer 2020-08-13 21:07:08 -04:00
Patrick Barron 737a86d0cb Migrate ActivityLogEntryPoint.OnUserDeleted to IEventConsumer 2020-08-13 21:01:35 -04:00
Patrick Barron 18d34f953b Migrate ActivityLogEntryPoint.OnUserCreated to IEventConsumer 2020-08-13 20:57:13 -04:00
Patrick Barron ca1f15af19 Move GenericEventArgs to Jellyfin.Data.Events 2020-08-13 20:52:55 -04:00
Patrick Barron ade40a4c42 Migrate ActivityLogEntryPoint.OnSubtitleDownloadFailure to IEventConsumer 2020-08-13 20:40:18 -04:00
Patrick Barron fdd73f1186 Migrate ActivityLogEntryPoint.OnTaskCompleted to IEventConsumer 2020-08-13 20:34:28 -04:00
Patrick Barron 5c29b8982d Migrate ActivityLogEntryPoint.OnPlaybackStopped to IEventConsumer 2020-08-13 20:33:16 -04:00
Patrick Barron 3e5fe04427 Migrate ActivityLogEntryPoint.OnPlaybackStart to IEventConsumer 2020-08-13 20:32:54 -04:00
crobibero 6709645ec9 bump deps 2020-08-12 15:52:29 -06:00
Patrick Barron 229a5d9e0b Make DisplayPreferencesManager scoped 2020-08-08 13:39:49 -04:00
Anthony Lavado c2799fe4d3
Merge pull request #3784 from barronpm/add-sync
Minor fixes to ActivityManager
2020-08-04 17:34:56 -07:00
Patrick Barron 6f306f0a17 Minor fixes to ActivityManager 2020-08-01 16:20:08 -04:00
Bond-009 b7421db5fe
Merge pull request #3578 from barronpm/displaypreferences-efcore
Migrate Display Preferences to EF Core
2020-08-01 21:51:49 +02:00
Anthony Lavado 06db5f8bca
Merge pull request #3727 from K900/patch-1
Fix #3624
2020-07-31 08:26:59 -07:00
cvium 5f03fb0ef7 Use factory pattern to instantiate jellyfindb context to avoid disposed contexts piling up in DI container 2020-07-31 10:13:54 +02:00
K900 3ed9463d25
Fix #3624
It doesn't really make sense to throw an error when creating the default user, because the error is completely non-actionable. Instead, if the autodetected username is not valid, just fall back to a sane default.
2020-07-28 12:03:08 +03:00
Patrick Barron c3a36485b6 Recreate display preferences migration. 2020-07-27 23:41:16 -04:00
Patrick Barron 68a185fd02 Serialize/deserialize new entities properly. 2020-07-27 20:40:21 -04:00
Anthony Lavado ff6d102872
Merge pull request #3679 from barronpm/json-1
Use System.Text.Json in DefaultPasswordResetProvider
2020-07-27 13:07:35 -07:00
Odd Stråbø 27e12798bc Update comment to include space 2020-07-26 13:57:22 +02:00
Odd Stråbø 2da2f1b20b Allow space in username 2020-07-25 22:19:27 +02:00
Patrick Barron 1aa853067a Use async json serialization. 2020-07-25 13:07:12 -04:00
Patrick Barron 1ee8790189 Use System.Text.Json in DefaultPasswordResetProvider 2020-07-23 21:50:41 -04:00
Patrick Barron 3d69cea1c9
Merge branch 'master' into displaypreferences-efcore 2020-07-23 23:50:12 +00:00
Joshua M. Boniface 845ee21ddc
Merge pull request #3664 from Bond-009/createuserasync
Make CreateUser async
2020-07-23 18:08:29 -04:00
Joshua M. Boniface 22cc602117
Merge pull request #3366 from barronpm/remove-usermanager-addparts
Remove UserManager.AddParts
2020-07-23 18:05:57 -04:00
Bond-009 6b11cccb7f
Merge pull request #3663 from crobibero/efcore-leak
Add missing usings to UserManager
2020-07-23 10:30:45 +02:00
Patrick Barron 5f67ba4d70 Restructure query to avoid extra database access. 2020-07-22 15:21:50 -04:00
Patrick Barron 8a9ec7809f Wrap context creation with using 2020-07-22 15:19:18 -04:00
Bond_009 941f326c0b Don't AddAsync 2020-07-22 21:07:13 +02:00
Bond_009 6cbfae209d Make CreateUser async 2020-07-22 20:57:29 +02:00
Patrick Barron 52ebf6ae8f Move DisplayPreferencesManager.cs to Users namespace 2020-07-22 14:53:32 -04:00
crobibero b4532ad3a2 add missing using 2020-07-22 11:35:31 -06:00
Patrick Barron 0c5ac10a68 Make IncrementInvalidLoginAttemptCount async. 2020-07-21 14:27:09 -04:00
crobibero 9787b2fe8a Detach tracked entries on dispose 2020-07-21 10:19:53 -06:00
crobibero d1e351a00a Fix username case change 2020-07-19 20:21:30 -06:00
Anthony Lavado 8ac08499bc
Merge pull request #3587 from crobibero/user-update-policy
fix UserManager UpdatePolicy
2020-07-18 23:04:14 -04:00
crobibero 2f38d9700c fix UserManager UpdatePolicy 2020-07-18 20:29:27 -06:00
Patrick Barron 1ac1186312 Add pragmas to DisplayPreferences migration files 2020-07-17 20:01:17 -04:00
Patrick Barron 4742ddbb71 Update .NET Core to 3.1.6 2020-07-17 19:48:11 -04:00
Patrick Barron 27eefd49f1 Add missing fields 2020-07-17 19:36:55 -04:00
Patrick Barron ab396225ea Migrate Display Preferences to EF Core 2020-07-17 16:11:53 -04:00
crobibero e143387cbd Fix update user 2020-07-14 06:47:46 -06:00
Claus Vium 340b585234 Use ToList instead of AsEnumerable due to delayed execution 2020-07-14 12:38:56 +02:00
Patrick Barron 303c175714 Fix circular dependency 2020-07-13 17:25:50 -04:00
Patrick Barron 3b085f6a03 Remove UserManager.AddParts 2020-07-13 17:25:50 -04:00
Patrick Barron b468ae2aea Use AsEnumerable for UserManager.Users 2020-07-13 14:09:20 -04:00
Patrick Barron 18c03fa9c8
Merge branch 'master' into fix-memoryleak 2020-07-13 17:45:54 +00:00
Patrick Barron 0ee55bc1f9 Use AsEnumerable instead of ToList 2020-07-12 15:08:55 -04:00
Patrick Barron 8959621da7 Fix EF Core memory leak 2020-07-12 14:45:52 -04:00
Patrick Barron c0bd10879a Ignore casing when authenticating users 2020-07-09 21:55:07 -04:00
Joshua M. Boniface 46f67c9ea4
Merge pull request #3423 from crobibero/easypassword
Remove EasyPassword from Authentication providers
2020-07-04 00:25:00 -04:00
Patrick Barron 2967dd6afd Change to ResourceNotFoundException 2020-06-24 20:36:58 -04:00
Patrick Barron 9a01cd8590 Fix user deletion. 2020-06-24 20:19:47 -04:00
crobibero 44a8ea6bee implement ChangeEasyPassword from legacy provider 2020-06-24 09:45:11 -06:00
crobibero 3169b0af89 fix merge 2020-06-22 20:24:59 -06:00
crobibero f4d8e0e20c Merge remote-tracking branch 'upstream/master' into easypassword 2020-06-22 20:23:06 -06:00
aled 991b6fb739 Merge remote-tracking branch 'upstream/master' into check-stored-password-exists 2020-06-16 19:30:54 +01:00
aled 05f736defb Merge branch 'master' into check-stored-password-exists
# Conflicts:
#	Jellyfin.Server.Implementations/Users/DefaultAuthenticationProvider.cs
2020-06-16 19:30:23 +01:00
Bond-009 9af6eda0b4
Merge pull request #3343 from telans/comment-stops
Add full stop at end of comments (SA1629)
2020-06-16 11:54:58 +02:00
telans 247f9c61e6
fix SA1513/SA1516 2020-06-16 16:11:30 +12:00
telans 9018f8d8be
Add full stop at end of comments (SA1629) 2020-06-16 10:37:52 +12:00
Patrick Barron 42b4f0aa2e Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Library/UserManager.cs
#	Jellyfin.Data/Jellyfin.Data.csproj
2020-06-13 19:41:05 -04:00
Patrick Barron e8f8307521 Add comment 2020-06-13 19:30:45 -04:00
Patrick Barron 6f325fea61 Add missing properties to UserDto 2020-06-13 18:26:46 -04:00
Patrick Barron 8405ae9b1f Actually set BlockUnratedItems 2020-06-13 18:23:13 -04:00
Patrick Barron 3278015444 Actually fix profile images 2020-06-13 16:38:17 -04:00
Patrick Barron 1e1386bbc6 Fix build issues 2020-06-13 11:59:19 -04:00
Patrick Barron 84f0cf6cc6 Regenerate migrations 2020-06-13 11:56:18 -04:00
Patrick Barron 103c9b7162 Actually fix deleting profile images (hopefully) 2020-06-13 08:28:42 -04:00
Patrick Barron fc02157b42 Fix build errors 2020-06-11 18:28:49 -04:00
Patrick Barron 7fba0b778e Properly remove profile images 2020-06-11 17:51:02 -04:00
crobibero a6815018dc Update to .NET Core 3.1.5 2020-06-11 07:13:56 -06:00
Patrick Barron 4d559b4ec4 Fix bugs for fresh installs. 2020-06-10 20:14:24 -04:00
Patrick Barron d105bc728d Fix startup wizard. 2020-06-09 14:04:25 -04:00
Patrick Barron ce737c31ec Enable nullable annotations 2020-06-09 13:35:29 -04:00
Patrick Barron d85308b474 Add another missing property 2020-06-07 23:11:51 -04:00
Patrick Barron 824cd87b75 Add missing property 2020-06-07 20:16:51 -04:00
Patrick Barron 75af0a4e57 Implement more review suggestions 2020-06-07 19:37:47 -04:00
crobibero 3d87c4c1b6 Fix EasyPassword setting 2020-06-07 14:55:37 -06:00
crobibero 68e1ecaaf9 Remove EasyPassword from Authentication providers 2020-06-07 14:47:08 -06:00
Patrick Barron 98142613e8 Apply review suggestions and fix bug 2020-06-07 13:36:43 -04:00
Patrick Barron bb828d54c5 Remove unused methods 2020-06-02 14:40:48 -04:00
Patrick Barron 585fdbad39 Apply review suggestion and fix entity concurrency tokens. 2020-05-31 17:00:57 -04:00
Patrick Barron edbb1482e8 Remove unused compile remove statements. 2020-05-31 00:15:41 -04:00
Patrick Barron 63344ec5fd Remove unused portions of the user schema 2020-05-30 22:11:53 -04:00
Patrick Barron 1b297eae78 Reset invalid login attempt count properly 2020-05-30 00:20:59 -04:00
Patrick Barron c8fef9dd2e Reimplement password resetting 2020-05-30 00:19:36 -04:00
Patrick Barron 4857b7d620 Make UserManager.IsValidUsername static 2020-05-29 15:32:31 -04:00
Patrick Barron 7f8f3e09e5 Ignore documentation warnings in new migration files 2020-05-29 15:19:41 -04:00
Patrick Barron 12a900b8f6 Update schema and migration to allow LastLoginDate and LastActivityDate to be null 2020-05-29 15:16:17 -04:00
Patrick Barron 8ca78f33e9 Fix bug when migrating user db with users that have never logged in. 2020-05-28 14:21:26 -04:00
Patrick Barron d116497912 Optimize number of created DbContexts and fix default values for some fields 2020-05-28 01:08:37 -04:00
Patrick Barron 82b0786cc6 Remove unnecessary logging statement 2020-05-28 00:59:31 -04:00
Patrick Barron 46a0a2a601 Update migrations and fix a few bugs 2020-05-26 21:20:55 -04:00
Patrick Barron 7c823464bc Fix merge conflicts with SyncPlay 2020-05-26 20:52:05 -04:00
Patrick Barron 01ce56016a Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Library/UserManager.cs
#	Jellyfin.Data/Jellyfin.Data.csproj
#	MediaBrowser.Api/UserService.cs
#	MediaBrowser.Controller/Library/IUserManager.cs
2020-05-26 20:29:11 -04:00
Patrick Barron e052128c52 Cleanup and fix more bugs 2020-05-23 16:07:42 -04:00
Patrick Barron e8173df9dc Cleanup 2020-05-23 15:33:14 -04:00
Patrick Barron 99511b3be8 Fix a couple bugs 2020-05-23 14:53:24 -04:00
Patrick Barron e3f9aaa9c6 Fix bugs relating to users not being properly locked out. 2020-05-22 21:45:31 -04:00
Patrick Barron 56212e8101 Warnings cleanup 2020-05-22 20:20:18 -04:00
Patrick Barron 42177d1739 Replace Weekday with DayOfWeek 2020-05-21 00:22:43 -04:00
Patrick Barron d72ea70995 Document user class and fix a few minor issues 2020-05-20 19:47:41 -04:00
Patrick Barron becfe018f0 Add internal id for new users 2020-05-20 13:49:44 -04:00
Patrick Barron c464f700db Remove redundant qualifiers 2020-05-20 13:07:53 -04:00
Patrick Barron 64c14beb27 Fix default permissions and HasPassword property 2020-05-20 10:04:00 -04:00
Patrick Barron 1d1a145ad4 Fix issues and add profile image support 2020-05-20 10:04:00 -04:00
Patrick Barron 292993d8ef Document various classes. 2020-05-20 10:04:00 -04:00
Patrick Barron e7b297c67b Add some missing properties 2020-05-20 10:04:00 -04:00
Patrick Barron 3eeb6576d8 Migrate User DB to EF Core 2020-05-20 10:04:00 -04:00
Mark Monteiro 3ed76d7e08 Update to .NET Core 3.1.4 2020-05-17 13:33:38 -04:00
Patrick Barron aca7e221d8 Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs
#	Emby.Server.Implementations/ApplicationHost.cs
#	Emby.Server.Implementations/Devices/DeviceManager.cs
#	Jellyfin.Server/Jellyfin.Server.csproj
#	Jellyfin.Server/Migrations/MigrationRunner.cs
#	MediaBrowser.Controller/Devices/IDeviceManager.cs
2020-05-15 17:20:07 -04:00
Patrick Barron a5dee36808 Apply more review suggestions 2020-05-15 12:51:18 -04:00
Patrick Barron b94afc597c Address review comments 2020-05-14 17:13:45 -04:00
Patrick Barron 511d20a100 Apply review suggestions 2020-05-13 15:03:35 -04:00
Patrick Barron b7621d762c 2nd half of changes 2020-05-13 00:00:57 -04:00
Patrick Barron 9ad839c776 Initial migration code 2020-05-12 22:10:35 -04:00
Patrick Barron a78184ef44 Add the user data to the schema 2020-05-04 16:00:41 -04:00
Patrick Barron 37dcbfbc39 Update code to only add implemented parts of the schema 2020-05-02 19:26:24 -04:00
Patrick Barron 032de931b1 Migrate activity db to EF Core 2020-05-02 18:32:22 -04:00