aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Models
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-02-10 14:31:31 +0800
committercrupest <crupest@outlook.com>2021-02-10 14:31:31 +0800
commit872f0e9f094f37db9ff208d178ad5bea2fafc1a7 (patch)
tree27291dc4105e64ca3ed6ed43a8822cb911ed49a9 /BackEnd/Timeline/Models
parent253b06dfaa091d986a8714c081fd1e01679f538a (diff)
downloadtimeline-872f0e9f094f37db9ff208d178ad5bea2fafc1a7.tar.gz
timeline-872f0e9f094f37db9ff208d178ad5bea2fafc1a7.tar.bz2
timeline-872f0e9f094f37db9ff208d178ad5bea2fafc1a7.zip
...
Diffstat (limited to 'BackEnd/Timeline/Models')
-rw-r--r--BackEnd/Timeline/Models/Http/ErrorResponse.cs11
-rw-r--r--BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequest.cs17
-rw-r--r--BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequestData.cs19
-rw-r--r--BackEnd/Timeline/Models/MimeTypes.cs14
-rw-r--r--BackEnd/Timeline/Models/TimelinePostContentTypes.cs13
-rw-r--r--BackEnd/Timeline/Models/Validation/TimelinePostContentTypeValidator.cs19
6 files changed, 34 insertions, 59 deletions
diff --git a/BackEnd/Timeline/Models/Http/ErrorResponse.cs b/BackEnd/Timeline/Models/Http/ErrorResponse.cs
index 1bc46680..3812471d 100644
--- a/BackEnd/Timeline/Models/Http/ErrorResponse.cs
+++ b/BackEnd/Timeline/Models/Http/ErrorResponse.cs
@@ -253,17 +253,6 @@ namespace Timeline.Models.Http
{
return new CommonResponse(ErrorCodes.TimelineController.PostNotExist, string.Format(message, formatArgs));
}
-
- public static CommonResponse PostNoData(params object?[] formatArgs)
- {
- return new CommonResponse(ErrorCodes.TimelineController.PostNoData, string.Format(TimelineController_PostNoData, formatArgs));
- }
-
- public static CommonResponse CustomMessage_PostNoData(string message, params object?[] formatArgs)
- {
- return new CommonResponse(ErrorCodes.TimelineController.PostNoData, string.Format(message, formatArgs));
- }
-
}
}
diff --git a/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequest.cs b/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequest.cs
index 20d1a25b..07d823ad 100644
--- a/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequest.cs
+++ b/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequest.cs
@@ -5,22 +5,6 @@ using Timeline.Models.Validation;
namespace Timeline.Models.Http
{
- public class HttpTimelinePostCreateRequestData
- {
- /// <summary>
- /// Kind of the data.
- /// </summary>
- [Required]
- [TimelinePostDataKind]
- public string Kind { get; set; } = default!;
-
- /// <summary>
- /// The true data. If kind is text or markdown, this is a string. If kind is image, this is base64 of data.
- /// </summary>
- [Required]
- public string Data { get; set; } = default!;
- }
-
public class HttpTimelinePostCreateRequest
{
/// <summary>
@@ -28,6 +12,7 @@ namespace Timeline.Models.Http
/// </summary>
[Required]
[MinLength(1)]
+ [MaxLength(100)]
public List<HttpTimelinePostCreateRequestData> DataList { get; set; } = default!;
/// <summary>
diff --git a/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequestData.cs b/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequestData.cs
new file mode 100644
index 00000000..94ee5aa7
--- /dev/null
+++ b/BackEnd/Timeline/Models/Http/HttpTimelinePostCreateRequestData.cs
@@ -0,0 +1,19 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Timeline.Models.Http
+{
+ public class HttpTimelinePostCreateRequestData
+ {
+ /// <summary>
+ /// Mime type of the data.
+ /// </summary>
+ [Required]
+ public string ContentType { get; set; } = default!;
+
+ /// <summary>
+ /// Base64 of data.
+ /// </summary>
+ [Required]
+ public string Data { get; set; } = default!;
+ }
+}
diff --git a/BackEnd/Timeline/Models/MimeTypes.cs b/BackEnd/Timeline/Models/MimeTypes.cs
new file mode 100644
index 00000000..37d3a893
--- /dev/null
+++ b/BackEnd/Timeline/Models/MimeTypes.cs
@@ -0,0 +1,14 @@
+namespace Timeline.Models
+{
+ public static class MimeTypes
+ {
+ public const string ImagePng = "image/png";
+ public const string ImageJpeg = "image/jpeg";
+ public const string ImageGif = "image/gif";
+ public const string ImageWebp = "image/webp";
+ public const string TextPlain = "text/plain";
+ public const string TextMarkdown = "text/markdown";
+ public const string TextJson = "text/json";
+ public const string ApplicationJson = "application/json";
+ }
+}
diff --git a/BackEnd/Timeline/Models/TimelinePostContentTypes.cs b/BackEnd/Timeline/Models/TimelinePostContentTypes.cs
deleted file mode 100644
index d432e03c..00000000
--- a/BackEnd/Timeline/Models/TimelinePostContentTypes.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Collections.Generic;
-
-namespace Timeline.Models
-{
- public static class TimelinePostDataKind
- {
- public static IReadOnlyList<string> AllTypes { get; } = new List<string> { Text, Image, Markdown };
-
- public const string Text = "text";
- public const string Image = "image";
- public const string Markdown = "markdown";
- }
-}
diff --git a/BackEnd/Timeline/Models/Validation/TimelinePostContentTypeValidator.cs b/BackEnd/Timeline/Models/Validation/TimelinePostContentTypeValidator.cs
deleted file mode 100644
index b65c846c..00000000
--- a/BackEnd/Timeline/Models/Validation/TimelinePostContentTypeValidator.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Linq;
-
-namespace Timeline.Models.Validation
-{
- public class TimelinePostDataKindValidator : StringSetValidator
- {
- public TimelinePostDataKindValidator() : base(TimelinePostDataKind.AllTypes.ToArray()) { }
- }
-
- [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
- public class TimelinePostDataKindAttribute : ValidateWithAttribute
- {
- public TimelinePostDataKindAttribute() : base(typeof(TimelinePostDataKindValidator))
- {
-
- }
- }
-}