WIP - gets 'inbound' routing working to generate culture specific URLs

This commit is contained in:
Shannon
2018-04-24 01:31:01 +10:00
parent 7d349ef518
commit 48641166b9
36 changed files with 350 additions and 85 deletions

View File

@@ -190,6 +190,8 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
}
else
{
var deserialized = DeserializeData(dto.EditData);
d = new ContentData
{
Name = dto.EditName,
@@ -198,7 +200,8 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
VersionId = dto.VersionId,
VersionDate = dto.EditVersionDate,
WriterId = dto.EditWriterId,
Properties = DeserializeData(dto.EditData)
Properties = deserialized.PropertyData,
CultureInfos = deserialized.CultureData
};
}
@@ -212,6 +215,8 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
}
else
{
var deserialized = DeserializeData(dto.PubData);
p = new ContentData
{
Name = dto.PubName,
@@ -220,7 +225,8 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
VersionId = dto.VersionId,
VersionDate = dto.PubVersionDate,
WriterId = dto.PubWriterId,
Properties = DeserializeData(dto.PubData)
Properties = deserialized.PropertyData,
CultureInfos = deserialized.CultureData
};
}
}
@@ -244,6 +250,8 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
if (dto.EditData == null)
throw new Exception("No data for media " + dto.Id);
var deserialized = DeserializeData(dto.EditData);
var p = new ContentData
{
Name = dto.EditName,
@@ -252,7 +260,8 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
VersionId = dto.VersionId,
VersionDate = dto.EditVersionDate,
WriterId = dto.CreatorId, // what-else?
Properties = DeserializeData(dto.EditData)
Properties = deserialized.PropertyData,
CultureInfos = deserialized.CultureData
};
var n = new ContentNode(dto.Id, dto.Uid,
@@ -268,7 +277,7 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
return s;
}
private static Dictionary<string, PropertyData[]> DeserializeData(string data)
private static ContentSerializedData DeserializeData(string data)
{
// by default JsonConvert will deserialize our numeric values as Int64
// which is bad, because they were Int32 in the database - take care
@@ -278,7 +287,7 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
Converters = new List<JsonConverter> { new ForceInt32Converter() }
};
return JsonConvert.DeserializeObject<Dictionary<string, PropertyData[]>>(data, settings);
return JsonConvert.DeserializeObject<ContentSerializedData>(data, settings);
}
}
}