From 616823e03f551bf77ed24886d5a6bffc1c198622 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Wed, 25 Oct 2017 13:19:01 -0500 Subject: [PATCH] add JsonIgnore to BaseEntity properties --- data/ListSchema.json | 20 +------------------ .../Json/JsonSampleGenerator.cs | 6 +----- .../Models/Implementations/BaseEntity.cs | 4 ++++ 3 files changed, 6 insertions(+), 24 deletions(-) diff --git a/data/ListSchema.json b/data/ListSchema.json index 9486ab2ad..48e797983 100644 --- a/data/ListSchema.json +++ b/data/ListSchema.json @@ -90,21 +90,6 @@ "minLength": 6, "maxLength": 2083, "format": "uri" - }, - "Id": { - "type": "integer" - }, - "AddedDateUtc": { - "type": "string", - "default": "CURRENT_TIMESTAMP", - "format": "date-time" - }, - "ModifiedDateUtc": { - "type": [ - "string", - "null" - ], - "format": "date-time" } }, "required": [ @@ -117,9 +102,6 @@ "HomeUrl", "IssuesUrl", "Name", - "ViewUrl", - "Id", - "AddedDateUtc", - "ModifiedDateUtc" + "ViewUrl" ] } \ No newline at end of file diff --git a/src/FilterLists.Data/Json/JsonSampleGenerator.cs b/src/FilterLists.Data/Json/JsonSampleGenerator.cs index 6c6dfb430..b36970533 100644 --- a/src/FilterLists.Data/Json/JsonSampleGenerator.cs +++ b/src/FilterLists.Data/Json/JsonSampleGenerator.cs @@ -16,7 +16,7 @@ public static void WriteSampleToFile() private static JObject GetSampleList() { - var sampleList = (JObject) JToken.FromObject(new List + return (JObject) JToken.FromObject(new List { Author = "John Doe", Description = "A sample list to filter out advertisements.", @@ -29,10 +29,6 @@ private static JObject GetSampleList() Name = "My Sample List", ViewUrl = "https://mysample.list/list.txt" }); - sampleList.Remove("Id"); - sampleList.Remove("AddedDateUtc"); - sampleList.Remove("ModifiedDateUtc"); - return sampleList; } } } \ No newline at end of file diff --git a/src/FilterLists.Data/Models/Implementations/BaseEntity.cs b/src/FilterLists.Data/Models/Implementations/BaseEntity.cs index 34f8d0144..770201d59 100644 --- a/src/FilterLists.Data/Models/Implementations/BaseEntity.cs +++ b/src/FilterLists.Data/Models/Implementations/BaseEntity.cs @@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using FilterLists.Data.Models.Contracts; +using Newtonsoft.Json; namespace FilterLists.Data.Models.Implementations { @@ -10,15 +11,18 @@ public abstract class BaseEntity : IBaseEntity { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [JsonIgnore] public long Id { get; set; } [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [JsonIgnore] //TODO: Implement http://stackoverflow.com/a/38102266/2343739 so DefaultValue takes effect in db automatically //For now, manually execute on new tables: InitializeNewTableBaseEntityDefaults.sql [DefaultValue("CURRENT_TIMESTAMP")] public DateTime AddedDateUtc { get; set; } [DatabaseGenerated(DatabaseGeneratedOption.Computed)] + [JsonIgnore] public DateTime? ModifiedDateUtc { get; set; } } } \ No newline at end of file