Commit Graph

329 Commits

Author SHA1 Message Date
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
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