Commit Graph

367 Commits

Author SHA1 Message Date
Bond_009 501de7b6dc Enable nullable in more files 2021-07-26 23:02:32 +02:00
Cody Robibero de12ee5dba Update to dotnet 5.0.8 2021-07-19 08:08:02 -06:00
Patrick Barron 60ce0c9fa9 Add dto for device options 2021-07-13 19:30:11 -04:00
Patrick Barron 06d682c296 Merge remote-tracking branch 'origin/authenticationdb-efcore' into authenticationdb-efcore 2021-06-27 16:46:09 -04:00
Patrick Barron fdba71e133 Fix Api Key authentication 2021-06-27 16:44:34 -04:00
Patrick Barron bbac9ff67e GetDeviceOptions always returns an instance of DeviceOptions 2021-06-27 16:42:26 -04:00
Patrick Barron 5d1139ec62
Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-06-26 15:17:57 -04:00
Patrick Barron ae878fa051 Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
#	Emby.Server.Implementations/Session/SessionManager.cs
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
2021-06-23 20:22:12 -04:00
Patrick Barron 3884837513 Convert method group to lambda in DeviceManager 2021-06-21 19:01:34 -04:00
Patrick Barron 67308f489f Implement DeleteDevice 2021-06-19 15:24:53 -04:00
Patrick Barron 2a9474f6e7 Count records before skipping 2021-06-19 15:24:42 -04:00
Patrick Barron 6b24cc6d1f Fix UpdateDeviceOptions 2021-06-19 15:24:26 -04:00
Patrick Barron 54fdc2fd88 Use ExecuteSqlInterpolated instead of ExecuteSqlRaw
oop
2021-06-18 19:15:08 -04:00
Patrick Barron be88efce3c Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Devices/DeviceManager.cs
#	Emby.Server.Implementations/HttpServer/Security/SessionContext.cs
#	Emby.Server.Implementations/Security/AuthenticationRepository.cs
#	Emby.Server.Implementations/Session/SessionManager.cs
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
#	MediaBrowser.Controller/Library/IUserManager.cs
#	MediaBrowser.Controller/Net/ISessionContext.cs
2021-06-18 18:56:10 -04:00
Patrick Barron 336ba2879f Re-add support for API keys 2021-06-18 18:26:58 -04:00
Patrick Barron 0292936c65 Use consistent name for db context 2021-06-18 17:09:59 -04:00
Patrick Barron 4206c0e091 Combine if statements 2021-06-18 17:09:39 -04:00
Patrick Barron 3fd0b1a359 Recreate devices migration with missing fields 2021-06-18 17:07:22 -04:00
Patrick Barron 3d9c16ba6b Fix concurrency issues 2021-06-18 17:06:38 -04:00
crobibero e021a0e9ce Update to dotnet 5.0.7 2021-06-14 06:44:55 -06:00
Bond_009 0bc0601442 Fix some warnings 2021-05-28 14:33:54 +02:00
Patrick Barron 37a8a82ac5 Make methods static in AuthenticationContext 2021-05-21 00:19:54 -04:00
Patrick Barron b6446c06ee Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Security/AuthenticationRepository.cs
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
#	MediaBrowser.Controller/Devices/IDeviceManager.cs
2021-05-21 00:19:07 -04:00
Patrick Barron a0c6f72762 Migrate authentication db to EF Core 2021-05-20 23:56:59 -04:00
Patrick Barron ab63a7745c Add PaginatedQuery abstract class, change startIndex to skip 2021-05-20 20:48:41 -04:00
Patrick Barron e1f7086077 Remove unnecessary query class 2021-05-20 20:39:22 -04:00
Patrick Barron a225f34796 Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Jellyfin.Api/Helpers/RequestHelpers.cs
2021-05-18 18:09:46 -04:00
crobibero 66b185898f Update to dotnet5.0.6 2021-05-14 17:28:36 -06:00
Bill Thornton 77f0f89e45
Merge pull request #5623 from barronpm/ef-cleanup2
EF Core Cleanup 2
2021-05-04 23:59:15 -04:00
Joshua M. Boniface e2cfc308ea
Merge pull request #5729 from crobibero/dotnet5.0.5
Update to dotnet 5.0.5
2021-04-14 09:49:43 -04:00
Patrick Barron ed0b5ff017 Fix builds 2021-04-10 17:11:59 -04:00
Patrick Barron 3ebc047434 Convert UpdateUser to solely async 2021-04-10 16:59:41 -04:00
Patrick Barron 8607b52541 Make device/session code async 2021-04-10 16:57:25 -04:00
Patrick Barron 44e71774b1 Rewrite device manager using EF Core 2021-04-10 16:17:36 -04:00
Patrick Barron 98e19c9fd3 Add device indexes 2021-04-10 16:16:08 -04:00
Patrick Barron e6f1ffdc8d Add device entities to schema. 2021-04-10 16:15:59 -04:00
crobibero b1faf8c2e8 Update to dotnet 5.0.5 2021-04-08 07:36:13 -06:00
cvium d772fddfb3 make custompref value nullable 2021-04-07 13:09:00 +02:00
Bond-009 a92736baad
Merge pull request #5174 from barronpm/authenticateuser-cleanup 2021-04-03 00:26:56 +02:00
Patrick Barron 499785bebb Use new entities for API key endpoints 2021-04-01 17:08:22 -04:00
Patrick Barron 1c501b17d7 Add ApiKey entity and associated relationships 2021-04-01 17:05:54 -04:00
Patrick Barron 7364155579 Clean up user deletion 2021-03-25 19:51:27 -04:00
Patrick Barron a7b29e2fe0 Clean up user renaming 2021-03-25 19:51:27 -04:00
Patrick Barron daa21c9e99 Add migration 2021-03-25 19:51:27 -04:00
Patrick Barron ea0a9c2cca Properly configure foreign keys 2021-03-25 19:51:27 -04:00
Patrick Barron a07ad71222 Use NOCASE collation and index on username field 2021-03-25 19:51:27 -04:00
Patrick Barron 3c4187e780 Add indexes for user permissions and preferences 2021-03-25 19:51:27 -04:00
Patrick Barron 0a579e5bbd Configure user deletion behavior 2021-03-25 19:51:27 -04:00
Patrick Barron 3ffef5794e Delete unnecessary indexes
Multicolumn indexes can be queried on the first column without needing a separate index
2021-03-25 19:51:26 -04:00
Patrick Barron 12b8e29aef Fix duplicate permissions 2021-03-17 17:42:45 -04:00
Patrick Barron e5380c653b Merge branch 'master' into ef-cleanup
# Conflicts:
#	Jellyfin.Data/Entities/Libraries/MediaFileStream.cs
#	Jellyfin.Data/Jellyfin.Data.csproj
2021-03-14 10:19:35 -04:00
Bond_009 a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
Bond_009 9ed7f429c0 FxCop -> Net Analyzers (part 1) 2021-03-09 03:04:47 +01:00
Patrick Barron 7c413a323b Move EF Core dependency out of Jellyfin.Data 2021-03-06 20:33:11 -05:00
Patrick Barron f638ee6b09 Enable nullable for Jellyfin.Data and remove unnecessary attributes 2021-03-06 17:43:01 -05:00
Patrick Barron 03cc6b1d78 Make styling more consistent 2021-02-25 19:02:27 -05:00
cvium 442e770688 Validate the new username when renaming 2021-02-17 11:30:14 +01:00
Patrick Barron f127096660 Don't allow new users to be created with the same name as an existing user. 2021-02-16 20:48:41 -05:00
Patrick Barron 1171b5ab92 Fix user renaming logic 2021-02-16 20:41:53 -05:00
crobibero 407c35f087 Update to dotnet 5.0.3 2021-02-09 19:02:02 -07:00
Patrick Barron a5e55ba859 Clean up UserManager.AuthenticateUser 2021-02-06 15:59:27 -05:00
crobibero a087ab389a dotnet 5.0.2 2021-01-16 10:17:33 -07:00
Claus Vium 21d2e9ff0c
Merge pull request #4771 from crobibero/typed-get-preference
Use typed UserManager GetPreference
2020-12-16 22:15:56 +01:00
crobibero ee23d06154 Use a more descriptive function name 2020-12-13 08:15:26 -07:00
Patrick Barron d9263dacd5 Enable nullable for Jellyfin.Server.Implementations 2020-12-12 11:20:48 -05:00
crobibero b670937c3d Use typed UserManager GetPreference 2020-12-11 15:00:43 -07:00
Bond-009 04ba59ab40
Merge pull request #4766 from barronpm/usermanager-async
Convert DeleteUser to async
2020-12-11 21:29:20 +01:00
Patrick Barron 76f61eb0d6 Convert DeleteUser to async 2020-12-11 10:15:43 -05:00
crobibero aa5fa7cb8f Update to dotnet 5.0.1 2020-12-09 07:36:31 -07:00
crobibero 3db6ae91f6 Add ItemId to all display preferences 2020-12-04 16:00:11 -07:00
crobibero b0c79edd2c Add support for custom item display preferences 2020-12-03 13:51:12 -07:00
crobibero 6c0188c42b Fix efcore not returning a UTC DateTime 2020-11-25 07:44:11 -07:00
crobibero 5de8c249a0 Don't send activity event if notification type is null 2020-11-23 08:18:07 -07:00
Greenback 9a323f6df0 More spelling corrections. 2020-11-18 13:46:14 +00:00
Bill Thornton 84b0932cfe
Merge pull request #4485 from crobibero/update-user-cache
Update user cache after updating user.
2020-11-16 00:49:53 -05:00
crobibero 3f313206c6 Suggestions from review 2020-11-15 11:35:36 -07:00
crobibero c70710de32 Update user cache after updating user. 2020-11-15 09:30:04 -07:00
crobibero 73d2cb1c2a Updated based on review feedback 2020-11-13 18:04:06 -07:00
crobibero 95ebb9a55a Use null coalescing when possible 2020-11-13 11:24:46 -07:00
crobibero 5f52a58e78 Convert NullReferenceException to ResourceNotFoundException 2020-11-13 11:14:44 -07:00
crobibero 57b1e93411 Fix nullability errors in Jellyfin.Server.Implementations 2020-11-13 08:32:24 -07:00
crobibero 83629ab6f2 Update packages to net5 2020-11-10 09:52:34 -07:00
Bond-009 51dc92c3a9
Merge pull request #4326 from crobibero/purge-activity-log
Automatically clean activity log database
2020-11-02 16:52:49 +01:00
Patrick Barron 72263613d0 Convert some code in UserManager to async 2020-10-29 20:30:33 -04:00
Bond-009 e37805e82e
Merge pull request #4378 from barronpm/fix-nullref
Fix possible null reference exception
2020-10-30 00:34:28 +01:00
Patrick Barron d887e42405 Fix possible NullReferenceException 2020-10-29 19:16:39 -04:00
Patrick Barron 67f39ed54f Properly remove profile images 2020-10-27 12:28:37 -04:00
Patrick Barron f051590f14 Apply suggestions 2020-10-27 12:12:08 -04:00
Patrick Barron aff8684d2e Add caching to users 2020-10-26 20:36:31 -04:00
crobibero 15a7f88e08 Automatically clean activity log database 2020-10-14 11:44:11 -06:00
crobibero f998e52107 Update to dotnet 3.1.9 2020-10-13 18:50:04 -06:00
Anthony Lavado ecabcff8f0
Merge pull request #4274 from barronpm/activitylog-query
Rewrite Activity Log Backend
2020-10-09 20:12:26 -04:00
dkanada 3a238de35e
Merge pull request #4265 from KonH/remove_unnecessary_null_checks
Remove unnecessary null checks in some places
2020-10-06 13:04:54 +09:00
Patrick Barron d4a492ef93 Fix activity log query. 2020-10-05 22:51:52 -04:00
Joshua M. Boniface b3249e849c Add default value of 0 2020-10-05 16:54:51 -04:00
Joshua M. Boniface 49c363751a Make MaxActiveSessions not nullable
Fixes a bad assumption with the previous migration.
2020-10-05 14:04:57 -04:00
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