Skip to content

Commit

Permalink
update activity log
Browse files Browse the repository at this point in the history
  • Loading branch information
LukePulverenti committed Jun 24, 2018
1 parent a3a3304 commit 8895f0b
Show file tree
Hide file tree
Showing 61 changed files with 352 additions and 646 deletions.
4 changes: 2 additions & 2 deletions BDInfo/BDInfo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
Expand Down
2 changes: 1 addition & 1 deletion BDInfo/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
</packages>
4 changes: 2 additions & 2 deletions DvdLib/DvdLib.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@
<Compile Include="Ifo\VideoAttributes.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
Expand Down
2 changes: 1 addition & 1 deletion DvdLib/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
</packages>
6 changes: 3 additions & 3 deletions Emby.Dlna/Emby.Dlna.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -174,13 +174,13 @@
</ItemGroup>
<ItemGroup>
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
Expand Down
4 changes: 2 additions & 2 deletions Emby.Dlna/packages.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.55-beta" targetFramework="net47" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.1" targetFramework="net47" />
</packages>
6 changes: 3 additions & 3 deletions Emby.Drawing.ImageMagick/Emby.Drawing.ImageMagick.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@
<HintPath>..\packages\ImageMagickSharp.1.0.0.19\lib\net45\ImageMagickSharp.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
4 changes: 2 additions & 2 deletions Emby.Drawing.ImageMagick/packages.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ImageMagickSharp" version="1.0.0.19" targetFramework="net452" />
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.55-beta" targetFramework="net47" />
</packages>
6 changes: 3 additions & 3 deletions Emby.Drawing.Skia/Emby.Drawing.Skia.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@
<Compile Include="StripCollageBuilder.cs" />
<Compile Include="UnplayedCountIndicator.cs" />
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
Expand Down
4 changes: 2 additions & 2 deletions Emby.Drawing.Skia/packages.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.55-beta" targetFramework="net47" />
<package id="SkiaSharp" version="1.58.1" targetFramework="portable45-net45+win8" requireReinstallation="true" />
</packages>
6 changes: 3 additions & 3 deletions Emby.Drawing/Emby.Drawing.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@
</ItemGroup>
<ItemGroup>
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
Expand Down
4 changes: 2 additions & 2 deletions Emby.Drawing/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.55-beta" targetFramework="net47" />
</packages>
6 changes: 3 additions & 3 deletions Emby.Photos/Emby.Photos.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Common.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Server.Core.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Controller.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MediaBrowser.Common.3.3.54-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
<HintPath>..\packages\MediaBrowser.Common.3.3.55-beta\lib\netstandard2.0\MediaBrowser.Model.dll</HintPath>
</Reference>
<Reference Include="TagLib.Portable">
<HintPath>..\ThirdParty\taglib\TagLib.Portable.dll</HintPath>
Expand Down
4 changes: 2 additions & 2 deletions Emby.Photos/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.Common" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.54-beta" targetFramework="net47" />
<package id="MediaBrowser.Common" version="3.3.55-beta" targetFramework="net47" />
<package id="MediaBrowser.Server.Core" version="3.3.55-beta" targetFramework="net47" />
</packages>
2 changes: 0 additions & 2 deletions Emby.Server.Implementations/Activity/ActivityManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
using MediaBrowser.Model.Querying;
using System;
using System.Linq;
using System.Threading.Tasks;

namespace Emby.Server.Implementations.Activity
{
Expand All @@ -27,7 +26,6 @@ public ActivityManager(ILogger logger, IActivityRepository repo, IUserManager us

public void Create(ActivityLogEntry entry)
{
entry.Id = Guid.NewGuid().ToString("N");
entry.Date = DateTime.UtcNow;

_repo.Create(entry);
Expand Down
90 changes: 77 additions & 13 deletions Emby.Server.Implementations/Activity/ActivityRepository.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,20 +48,84 @@ private void InitializeInternal()
{
RunDefaultInitialization(connection);

string[] queries = {
"create table if not exists ActivityLogEntries (Id GUID PRIMARY KEY NOT NULL, Name TEXT NOT NULL, Overview TEXT, ShortOverview TEXT, Type TEXT NOT NULL, ItemId TEXT, UserId TEXT, DateCreated DATETIME NOT NULL, LogSeverity TEXT NOT NULL)",
"create index if not exists idx_ActivityLogEntries on ActivityLogEntries(Id)"
};
connection.RunQueries(new[]
{
"create table if not exists ActivityLog (Id INTEGER PRIMARY KEY, Name TEXT NOT NULL, Overview TEXT, ShortOverview TEXT, Type TEXT NOT NULL, ItemId TEXT, UserId TEXT, DateCreated DATETIME NOT NULL, LogSeverity TEXT NOT NULL)",
"drop index if exists idx_ActivityLogEntries"
});

TryMigrate(connection);
}
}

connection.RunQueries(queries);
private void TryMigrate(ManagedConnection connection)
{
try
{
if (LegacyTableExists(connection))
{
connection.RunQueries(new[]
{
"INSERT INTO ActivityLog (Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity) SELECT Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity FROM ActivityLogEntries",
"drop table if exists ActivityLogEntries"
});
}
}
catch (Exception ex)
{
Logger.ErrorException("Error migrating activity log database", ex);
}
}

private const string BaseActivitySelectText = "select Id, Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity from ActivityLogEntries";
private bool LegacyTableExists(ManagedConnection connection)
{
return connection.RunInTransaction(db =>
{
using (var statement = PrepareStatement(db, "select DISTINCT tbl_name from sqlite_master where tbl_name = 'ActivityLogEntries'"))
{
foreach (var row in statement.ExecuteQuery())
{
return true;
}
}

return false;

}, ReadTransactionMode);
}

private const string BaseActivitySelectText = "select Id, Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity from ActivityLog";

public void Create(ActivityLogEntry entry)
{
Update(entry);
if (entry == null)
{
throw new ArgumentNullException("entry");
}

using (WriteLock.Write())
{
using (var connection = CreateConnection())
{
connection.RunInTransaction(db =>
{
using (var statement = db.PrepareStatement("insert into ActivityLog (Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity) values (@Name, @Overview, @ShortOverview, @Type, @ItemId, @UserId, @DateCreated, @LogSeverity)"))
{
statement.TryBind("@Name", entry.Name);

statement.TryBind("@Overview", entry.Overview);
statement.TryBind("@ShortOverview", entry.ShortOverview);
statement.TryBind("@Type", entry.Type);
statement.TryBind("@ItemId", entry.ItemId);
statement.TryBind("@UserId", entry.UserId);
statement.TryBind("@DateCreated", entry.Date.ToDateTimeParamValue());
statement.TryBind("@LogSeverity", entry.Severity.ToString());

statement.MoveNext();
}
}, TransactionMode);
}
}
}

public void Update(ActivityLogEntry entry)
Expand All @@ -77,11 +141,11 @@ public void Update(ActivityLogEntry entry)
{
connection.RunInTransaction(db =>
{
using (var statement = db.PrepareStatement("replace into ActivityLogEntries (Id, Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity) values (@Id, @Name, @Overview, @ShortOverview, @Type, @ItemId, @UserId, @DateCreated, @LogSeverity)"))
using (var statement = db.PrepareStatement("Update ActivityLog set Name=@Name,Overview=@Overview,ShortOverview=@ShortOverview,Type=@Type,ItemId=@ItemId,UserId=@UserId,DateCreated=@DateCreated,LogSeverity=@LogSeverity where Id=@Id"))
{
statement.TryBind("@Id", entry.Id.ToGuidBlob());
statement.TryBind("@Name", entry.Name);
statement.TryBind("@Id", entry.Id);

statement.TryBind("@Name", entry.Name);
statement.TryBind("@Overview", entry.Overview);
statement.TryBind("@ShortOverview", entry.ShortOverview);
statement.TryBind("@Type", entry.Type);
Expand Down Expand Up @@ -121,7 +185,7 @@ public QueryResult<ActivityLogEntry> GetActivityLogEntries(DateTime? minDate, in
string.Empty :
" where " + string.Join(" AND ", whereClauses.ToArray(whereClauses.Count));

whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM ActivityLogEntries {0} ORDER BY DateCreated DESC LIMIT {1})",
whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM ActivityLog {0} ORDER BY DateCreated DESC LIMIT {1})",
pagingWhereText,
startIndex.Value.ToString(_usCulture)));
}
Expand All @@ -141,7 +205,7 @@ public QueryResult<ActivityLogEntry> GetActivityLogEntries(DateTime? minDate, in

var statementTexts = new List<string>();
statementTexts.Add(commandText);
statementTexts.Add("select count (Id) from ActivityLogEntries" + whereTextWithoutPaging);
statementTexts.Add("select count (Id) from ActivityLog" + whereTextWithoutPaging);

return connection.RunInTransaction(db =>
{
Expand Down Expand Up @@ -187,7 +251,7 @@ private ActivityLogEntry GetEntry(IReadOnlyList<IResultSetValue> reader)

var info = new ActivityLogEntry
{
Id = reader[index].ReadGuidFromBlob().ToString("N")
Id = reader[index].ToInt64()
};

index++;
Expand Down
Loading

0 comments on commit 8895f0b

Please sign in to comment.