diff --git a/Src/Notion.Client/Models/PropertyItems/IPropertyItemObject.cs b/Src/Notion.Client/Models/PropertyItems/IPropertyItemObject.cs index e6eb91c2..5ebc7730 100644 --- a/Src/Notion.Client/Models/PropertyItems/IPropertyItemObject.cs +++ b/Src/Notion.Client/Models/PropertyItems/IPropertyItemObject.cs @@ -13,5 +13,14 @@ public interface IPropertyItemObject [JsonProperty("type")] string Type { get; } + + [JsonProperty("id")] + string Id { get; } + + /// + /// Only present in paginated property values with another page of results. If present, the url the user can request to get the next page of results. + /// + [JsonProperty("next_url")] + string NextURL { get; } } } diff --git a/Src/Notion.Client/Models/PropertyItems/ListPropertyItem.cs b/Src/Notion.Client/Models/PropertyItems/ListPropertyItem.cs index 3ca83d81..f539fcd6 100644 --- a/Src/Notion.Client/Models/PropertyItems/ListPropertyItem.cs +++ b/Src/Notion.Client/Models/PropertyItems/ListPropertyItem.cs @@ -4,14 +4,16 @@ namespace Notion.Client { - [JsonConverter(typeof(JsonSubtypes), "type")] - [JsonSubtypes.KnownSubType(typeof(RollupPropertyItem), "rollup")] - [JsonSubtypes.FallBackSubType(typeof(ListPropertyItem))] public class ListPropertyItem : IPropertyItemObject { public string Object => "list"; + public virtual string Type { get; set; } + public string Id { get; set; } + + public string NextURL { get; set; } + [JsonProperty("results")] public IEnumerable Results { get; set; } @@ -20,5 +22,8 @@ public class ListPropertyItem : IPropertyItemObject [JsonProperty("next_cursor")] public string NextCursor { get; set; } + + [JsonProperty("property_item")] + public SimplePropertyItem PropertyItem { get; set; } } } diff --git a/Src/Notion.Client/Models/PropertyItems/RollupPropertyItem.cs b/Src/Notion.Client/Models/PropertyItems/RollupPropertyItem.cs deleted file mode 100644 index 6e6e53cd..00000000 --- a/Src/Notion.Client/Models/PropertyItems/RollupPropertyItem.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Newtonsoft.Json; - -namespace Notion.Client -{ - public class RollupPropertyItem : ListPropertyItem - { - public override string Type => "rollup"; - - [JsonProperty("rollup")] - public RollupValue Rollup { get; set; } - } -} diff --git a/Src/Notion.Client/Models/PropertyItems/SimplePropertyItem.cs b/Src/Notion.Client/Models/PropertyItems/SimplePropertyItem.cs index 6cc1f52b..da753319 100644 --- a/Src/Notion.Client/Models/PropertyItems/SimplePropertyItem.cs +++ b/Src/Notion.Client/Models/PropertyItems/SimplePropertyItem.cs @@ -27,5 +27,9 @@ public abstract class SimplePropertyItem : IPropertyItemObject public string Object => "property_item"; public abstract string Type { get; } + + public string Id { get; set; } + + public string NextURL { get; set; } } }