From 872f0e9f094f37db9ff208d178ad5bea2fafc1a7 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 10 Feb 2021 14:31:31 +0800 Subject: ... --- .../Exceptions/TimelinePostNoDataException.cs | 15 ----- .../Services/TimelinePostCreateDataException.cs | 16 +++++ .../Services/TimelinePostDataNotExistException.cs | 15 +++++ BackEnd/Timeline/Services/TimelinePostService.cs | 68 +++++++--------------- 4 files changed, 53 insertions(+), 61 deletions(-) delete mode 100644 BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs create mode 100644 BackEnd/Timeline/Services/TimelinePostCreateDataException.cs create mode 100644 BackEnd/Timeline/Services/TimelinePostDataNotExistException.cs (limited to 'BackEnd/Timeline/Services') diff --git a/BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs b/BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs deleted file mode 100644 index c4b6bf62..00000000 --- a/BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - -namespace Timeline.Services.Exceptions -{ - [Serializable] - public class TimelinePostNoDataException : Exception - { - public TimelinePostNoDataException() : this(null, null) { } - public TimelinePostNoDataException(string? message) : this(message, null) { } - public TimelinePostNoDataException(string? message, Exception? inner) : base(Resources.Services.Exceptions.TimelineNoDataException.AppendAdditionalMessage(message), inner) { } - protected TimelinePostNoDataException( - System.Runtime.Serialization.SerializationInfo info, - System.Runtime.Serialization.StreamingContext context) : base(info, context) { } - } -} diff --git a/BackEnd/Timeline/Services/TimelinePostCreateDataException.cs b/BackEnd/Timeline/Services/TimelinePostCreateDataException.cs new file mode 100644 index 00000000..fd1e6664 --- /dev/null +++ b/BackEnd/Timeline/Services/TimelinePostCreateDataException.cs @@ -0,0 +1,16 @@ +namespace Timeline.Services +{ + [System.Serializable] + public class TimelinePostCreateDataException : System.Exception + { + public TimelinePostCreateDataException() { } + public TimelinePostCreateDataException(string message) : base(message) { } + public TimelinePostCreateDataException(string message, System.Exception inner) : base(message, inner) { } + public TimelinePostCreateDataException(long index, string? message, System.Exception? inner = null) : base(message, inner) { Index = index; } + protected TimelinePostCreateDataException( + System.Runtime.Serialization.SerializationInfo info, + System.Runtime.Serialization.StreamingContext context) : base(info, context) { } + + public long Index { get; } + } +} diff --git a/BackEnd/Timeline/Services/TimelinePostDataNotExistException.cs b/BackEnd/Timeline/Services/TimelinePostDataNotExistException.cs new file mode 100644 index 00000000..eac7a771 --- /dev/null +++ b/BackEnd/Timeline/Services/TimelinePostDataNotExistException.cs @@ -0,0 +1,15 @@ +using System; + +namespace Timeline.Services +{ + [Serializable] + public class TimelinePostDataNotExistException : Exception + { + public TimelinePostDataNotExistException() : this(null, null) { } + public TimelinePostDataNotExistException(string? message) : this(message, null) { } + public TimelinePostDataNotExistException(string? message, Exception? inner) : base(message, inner) { } + protected TimelinePostDataNotExistException( + System.Runtime.Serialization.SerializationInfo info, + System.Runtime.Serialization.StreamingContext context) : base(info, context) { } + } +} diff --git a/BackEnd/Timeline/Services/TimelinePostService.cs b/BackEnd/Timeline/Services/TimelinePostService.cs index 98841478..cea702a1 100644 --- a/BackEnd/Timeline/Services/TimelinePostService.cs +++ b/BackEnd/Timeline/Services/TimelinePostService.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Threading.Tasks; using Timeline.Entities; using Timeline.Helpers; +using Timeline.Helpers.Cache; using Timeline.Models; using Timeline.Models.Validation; using Timeline.Services.Exceptions; @@ -14,49 +15,15 @@ using static Timeline.Resources.Services.TimelineService; namespace Timeline.Services { - public class TimelinePostDataDigest - { - public TimelinePostDataDigest(string kind, string eTag, DateTime lastModified) - { - Kind = kind; - ETag = eTag; - LastModified = lastModified; - } - - public string Kind { get; set; } - public string ETag { get; set; } - public DateTime LastModified { get; set; } - } - - public class TimelinePostData - { - public TimelinePostData(string kind, byte[] data, string eTag, DateTime lastModified) - { - Kind = kind; - Data = data; - ETag = eTag; - LastModified = lastModified; - } - - public string Kind { get; set; } - -#pragma warning disable CA1819 // Properties should not return arrays - public byte[] Data { get; set; } -#pragma warning restore CA1819 // Properties should not return arrays - - public string ETag { get; set; } - public DateTime LastModified { get; set; } - } - public class TimelinePostCreateRequestData { - public TimelinePostCreateRequestData(string kind, byte[] data) + public TimelinePostCreateRequestData(string contentType, byte[] data) { - Kind = kind; + ContentType = contentType; Data = data; } - public string Kind { get; set; } + public string ContentType { get; set; } #pragma warning disable CA1819 // Properties should not return arrays public byte[] Data { get; set; } #pragma warning restore CA1819 // Properties should not return arrays @@ -69,14 +36,13 @@ namespace Timeline.Services /// If not set, current time is used. public DateTime? Time { get; set; } - public List Content { get; set; } = new List(); + public List DataList { get; set; } = new List(); } public class TimelinePostPatchRequest { public string? Color { get; set; } public DateTime? Time { get; set; } - public List? Content { get; set; } } public interface ITimelinePostService @@ -102,18 +68,29 @@ namespace Timeline.Services /// Thrown when post of does not exist or has been deleted. Task GetPost(long timelineId, long postId, bool includeDelete = false); - Task GetPostDataDigest(long timelineId, long postId, long dataIndex); + /// + /// Get the data digest of a post. + /// + /// The timeline id. + /// The post id. + /// The index of the data. + /// The data digest. + /// Thrown when timeline does not exist. + /// Thrown when post of does not exist or has been deleted. + /// Thrown when data of that index does not exist. + Task GetPostDataDigest(long timelineId, long postId, long dataIndex); /// /// Get the data of a post. /// - /// The id of the timeline of the post. - /// The id of the post. - /// The etag of the data. + /// The timeline id. + /// The post id. + /// The index of the data. + /// The data. /// Thrown when timeline does not exist. /// Thrown when post of does not exist or has been deleted. - /// Thrown when post has no data. - Task GetPostData(long timelineId, long postId, long dataIndex); + /// Thrown when data of that index does not exist. + Task GetPostData(long timelineId, long postId, long dataIndex); /// /// Create a new post in timeline. @@ -140,7 +117,6 @@ namespace Timeline.Services /// Thrown when is of invalid format. /// Thrown when timeline does not exist. /// Thrown when post does not exist. - /// Thrown if data is not a image. Validated by . Task PatchPost(long timelineId, long postId, TimelinePostPatchRequest request); /// -- cgit v1.2.3