diff --git a/src/Nikcio.UHeadless.IntegrationTests.TestProject/umbraco/Data/Default-Tests b/src/Nikcio.UHeadless.IntegrationTests.TestProject/umbraco/Data/Default-Tests
index 424da21f..bf4cd7ea 100644
Binary files a/src/Nikcio.UHeadless.IntegrationTests.TestProject/umbraco/Data/Default-Tests and b/src/Nikcio.UHeadless.IntegrationTests.TestProject/umbraco/Data/Default-Tests differ
diff --git a/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaAtRootQuery.cs b/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaAtRootQuery.cs
index 42867afa..cf8c0cf3 100644
--- a/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaAtRootQuery.cs
+++ b/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaAtRootQuery.cs
@@ -59,7 +59,7 @@ query MediaAtRootQuery(
items {
url(urlMode: ABSOLUTE)
properties {
- ...typedProperties
+ ...customMediaType
__typename
}
urlSegment
@@ -70,7 +70,7 @@ query MediaAtRootQuery(
parent {
url(urlMode: ABSOLUTE)
properties {
- ...typedProperties
+ ...customMediaType
__typename
}
urlSegment
@@ -87,5 +87,5 @@ query MediaAtRootQuery(
hasNextPage
}
}
- """ + Fragments.TypedProperties;
+ """ + Fragments.CustomMediaType;
}
diff --git a/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaByContentTypeQuery.cs b/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaByContentTypeQuery.cs
new file mode 100644
index 00000000..707f99ae
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/ApiTests.MediaByContentTypeQuery.cs
@@ -0,0 +1,98 @@
+using System.Net.Http.Json;
+
+namespace Nikcio.UHeadless.IntegrationTests.Defaults;
+
+public partial class ApiTests
+{
+ private const string _mediaByContentTypeSnapshotPath = $"{SnapshotConstants.BasePath}/MediaByContentType";
+
+ [Theory]
+ [InlineData("image", 1, 0, true)]
+ [InlineData("folder", 1, 0, true)]
+ [InlineData("customMediaType", 1, 10, true)]
+ [InlineData("image", 1, 1, true)]
+ [InlineData("image", 2, 1, true)]
+ [InlineData("image", 1, 1000, true)]
+ [InlineData("image", 1000, 1000, true)]
+ [InlineData("image", 1, 5, true)]
+ [InlineData("image", 0, 5, false)]
+ [InlineData("image", -1, 5, false)]
+ [InlineData("image", 0, -1, false)]
+ [InlineData("", 1, 1, false)]
+ public async Task MediaByContentTypeQuery_Snaps_Async(
+ string contentType,
+ int page,
+ int pageSize,
+ bool expectSuccess)
+ {
+ var snapshotProvider = new SnapshotProvider($"{_mediaByContentTypeSnapshotPath}/Snaps");
+ HttpClient client = _factory.CreateClient();
+
+ using var request = JsonContent.Create(new
+ {
+ query = MediaByContentTypeQueries.GetItems,
+ variables = new
+ {
+ contentType,
+ page,
+ pageSize,
+ }
+ });
+
+ HttpResponseMessage response = await client.PostAsync("/graphql", request).ConfigureAwait(true);
+
+ string responseContent = await response.Content.ReadAsStringAsync().ConfigureAwait(true);
+
+ string snapshotName = $"MediaByContentType_Snaps_{contentType}_{page}_{pageSize}";
+
+ await snapshotProvider.AssertIsSnapshotEqualAsync(snapshotName, responseContent).ConfigureAwait(true);
+ Assert.Equal(expectSuccess, response.IsSuccessStatusCode);
+ }
+}
+
+public static class MediaByContentTypeQueries
+{
+ public const string GetItems = """
+ query MediaAtRootQuery(
+ $contentType: String!
+ $page: Int!,
+ $pageSize: Int!
+ ) {
+ mediaByContentType(
+ contentType: $contentType
+ page: $page,
+ pageSize: $pageSize
+ ) {
+ items {
+ url(urlMode: ABSOLUTE)
+ properties {
+ ...customMediaType
+ __typename
+ }
+ urlSegment
+ name
+ id
+ key
+ templateId
+ parent {
+ url(urlMode: ABSOLUTE)
+ properties {
+ ...customMediaType
+ __typename
+ }
+ urlSegment
+ name
+ id
+ key
+ templateId
+ }
+ __typename
+ }
+ page
+ pageSize
+ totalItems
+ hasNextPage
+ }
+ }
+ """ + Fragments.CustomMediaType;
+}
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Fragments.cs b/src/Nikcio.UHeadless.IntegrationTests/Fragments.cs
index 9e519117..7e077538 100644
--- a/src/Nikcio.UHeadless.IntegrationTests/Fragments.cs
+++ b/src/Nikcio.UHeadless.IntegrationTests/Fragments.cs
@@ -3,7 +3,7 @@ namespace Nikcio.UHeadless.IntegrationTests;
public static class Fragments
{
///
- /// This is meant to select as many properties as possiable to give the best image of changes in the output from the tests.
+ /// This is meant to select as many properties as possible to give the best image of changes in the output from the tests.
///
public const string TypedProperties = """
fragment typedProperties on TypedProperties {
@@ -766,7 +766,204 @@ ... on IEmailAddressEditorCulture {
}
__typename
}
+ """ + TypedContentProperties + TypedImageProperties + TypedBlockGridContent + TypedBlockGridSettings + TypedBlockListContent + TypedBlockListSettings + TypedMemberProperties;
+ ///
+ /// Used to select properties from the custom media type.
+ ///
+ public const string CustomMediaType = """
+ fragment customMediaType on ICustomMediaType {
+ eyeDropperColorPicker {
+ value
+ model
+ __typename
+ }
+ article {
+ value
+ model
+ __typename
+ }
+ audio {
+ value
+ model
+ __typename
+ }
+ file {
+ value
+ model
+ __typename
+ }
+ video {
+ value
+ model
+ __typename
+ }
+ imageCropper {
+ value
+ model
+ __typename
+ }
+ imageMediaPicker {
+ mediaItems {
+ url(urlMode: ABSOLUTE)
+ properties {
+ ...typedImageProperties
+ __typename
+ }
+ urlSegment
+ name
+ id
+ key
+ __typename
+ }
+ model
+ __typename
+ }
+ blockList {
+ blocks {
+ contentAlias
+ settingsAlias
+ contentProperties {
+ ...typedBlockListContent
+ __typename
+ }
+ settingsProperties {
+ ...typedBlockListSettings
+ __typename
+ }
+ __typename
+ }
+ model
+ __typename
+ }
+ memberGroupPicker {
+ value
+ model
+ __typename
+ }
+ memberPicker {
+ members {
+ properties {
+ ...typedMemberProperties
+ __typename
+ }
+ name
+ id
+ key
+ __typename
+ }
+ model
+ __typename
+ }
+ multinodeTreepicker {
+ items {
+ url(urlMode: ABSOLUTE)
+ properties {
+ ...typedContentProperties
+ __typename
+ }
+ urlSegment
+ name
+ id
+ key
+ __typename
+ }
+ model
+ __typename
+ }
+ multiUrlPicker {
+ links {
+ url(urlMode: ABSOLUTE)
+ properties {
+ ...typedContentProperties
+ __typename
+ }
+ urlSegment
+ target
+ type
+ name
+ id
+ key
+ __typename
+ }
+ model
+ __typename
+ }
+ numeric {
+ value
+ model
+ __typename
+ }
+ radiobox {
+ value
+ model
+ __typename
+ }
+ checkboxList {
+ value
+ model
+ __typename
+ }
+ slider {
+ value
+ model
+ __typename
+ }
+ tags {
+ value
+ model
+ __typename
+ }
+ textarea {
+ value
+ model
+ __typename
+ }
+ textstring {
+ value
+ model
+ __typename
+ }
+ userPicker {
+ value
+ model
+ __typename
+ }
+ contentPicker {
+ items {
+ url(urlMode: ABSOLUTE)
+ properties {
+ ...typedContentProperties
+ __typename
+ }
+ urlSegment
+ name
+ id
+ key
+ __typename
+ }
+ model
+ __typename
+ }
+ datePickerWithTime {
+ value
+ model
+ __typename
+ }
+ decimal {
+ value
+ model
+ __typename
+ }
+ emailAddress {
+ value
+ model
+ __typename
+ }
+ }
+ """ + TypedContentProperties + TypedImageProperties + TypedBlockGridContent + TypedBlockGridSettings + TypedBlockListContent + TypedBlockListSettings + TypedMemberProperties;
+
+ private const string TypedContentProperties = """
fragment typedContentProperties on TypedProperties {
... on IBlockGridEditor {
blockGrid {
@@ -1521,7 +1718,9 @@ ... on IEmailAddressEditorCulture {
}
__typename
}
+ """;
+ private const string TypedImageProperties = """
fragment typedImageProperties on TypedProperties {
... on IImage {
umbracoWidth {
@@ -1547,7 +1746,9 @@ ... on IImage {
__typename
}
}
+ """;
+ private const string TypedBlockGridContent = """
fragment typedBlockGridContent on TypedBlockGridContentProperties {
... on IUmbBlockGridDemoHeadlineBlock {
headline {
@@ -1585,7 +1786,9 @@ ... on IUmbBlockGridDemoRichTextBlock {
__typename
}
}
+ """;
+ private const string TypedBlockGridSettings = """
fragment typedBlockGridSettings on TypedBlockGridSettingsProperties {
... on IUmbBlockGridDemoHeadlineBlock {
headline {
@@ -1623,7 +1826,9 @@ ... on IUmbBlockGridDemoRichTextBlock {
__typename
}
}
+ """;
+ private const string TypedBlockListContent = """
fragment typedBlockListContent on TypedBlockListContentProperties {
... on IBlockGridEditor {
blockGrid {
@@ -2402,7 +2607,9 @@ ... on ICheckboxListEditorCulture {
}
}
}
+ """;
+ private const string TypedBlockListSettings = """
fragment typedBlockListSettings on TypedBlockGridSettingsProperties {
... on IBlockGridEditor {
blockGrid {
@@ -3182,7 +3389,9 @@ ... on ICheckboxListEditorCulture {
}
__typename
}
+ """;
+ private const string TypedMemberProperties = """
fragment typedMemberProperties on TypedProperties {
... on ITestMember {
blockList {
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Nikcio.UHeadless.IntegrationTests.csproj b/src/Nikcio.UHeadless.IntegrationTests/Nikcio.UHeadless.IntegrationTests.csproj
index 68898337..6d172afb 100644
--- a/src/Nikcio.UHeadless.IntegrationTests/Nikcio.UHeadless.IntegrationTests.csproj
+++ b/src/Nikcio.UHeadless.IntegrationTests/Nikcio.UHeadless.IntegrationTests.csproj
@@ -39,9 +39,4 @@
-
-
-
-
-
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaAtRoot/Snaps/MediaAtRoot_Snaps_1_1000 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaAtRoot/Snaps/MediaAtRoot_Snaps_1_1000
index b43bf4b6..6ba1c0b4 100644
--- a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaAtRoot/Snaps/MediaAtRoot_Snaps_1_1000
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaAtRoot/Snaps/MediaAtRoot_Snaps_1_1000
@@ -70,6 +70,237 @@
{
"url": "",
"properties": {
+ "eyeDropperColorPicker": {
+ "value": "#a94444",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "article": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "audio": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "file": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "video": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "imageCropper": {
+ "value": null,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "imageMediaPicker": {
+ "mediaItems": [
+ {
+ "url": "http://localhost/media/oeklujof/skaermbillede-2023-04-17-kl-201527.png",
+ "properties": {
+ "umbracoWidth": {
+ "value": 0,
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "umbracoHeight": {
+ "value": 0,
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "umbracoBytes": {
+ "value": 0,
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "umbracoExtension": {
+ "value": "",
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.27",
+ "id": 1138,
+ "key": "25ba1577-a0c5-4329-8f32-9e9abe4a6d2d",
+ "__typename": "MediaPickerItem"
+ }
+ ],
+ "model": "MediaPicker",
+ "__typename": "MediaPicker"
+ },
+ "blockList": {
+ "blocks": [],
+ "model": "BlockList",
+ "__typename": "BlockList"
+ },
+ "memberGroupPicker": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "memberPicker": {
+ "members": [],
+ "model": "MemberPicker",
+ "__typename": "MemberPicker"
+ },
+ "multinodeTreepicker": {
+ "items": [
+ {
+ "url": "http://site-2.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-2",
+ "name": "Site 2",
+ "id": 1148,
+ "key": "dcf14fa0-dfc3-4108-8c9b-a4e9f77c0c29",
+ "__typename": "ContentPickerItem"
+ },
+ {
+ "url": "http://localhost/no-domain-site/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "no-domain-site",
+ "name": "No domain site",
+ "id": 1147,
+ "key": "cb9726b8-2307-4a01-9b39-7c2850c4d19a",
+ "__typename": "ContentPickerItem"
+ },
+ {
+ "url": "http://site-1.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-1",
+ "name": "Site 1",
+ "id": 1146,
+ "key": "eadd5be4-456c-4a7d-8c4a-2f7ead9c8ecf",
+ "__typename": "ContentPickerItem"
+ }
+ ],
+ "model": "ContentPicker",
+ "__typename": "ContentPicker"
+ },
+ "multiUrlPicker": {
+ "links": [
+ {
+ "url": "http://site-2.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-2",
+ "target": null,
+ "type": "CONTENT",
+ "name": "Site 2",
+ "id": 1148,
+ "key": "dcf14fa0-dfc3-4108-8c9b-a4e9f77c0c29",
+ "__typename": "MultiUrlPickerItem"
+ },
+ {
+ "url": "http://site-3.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-with-unpublished-pages",
+ "target": null,
+ "type": "CONTENT",
+ "name": "Site with unpublished pages",
+ "id": 1150,
+ "key": "805a5fe7-d8ff-472d-9dd4-b73e48a6d15b",
+ "__typename": "MultiUrlPickerItem"
+ }
+ ],
+ "model": "MultiUrlPicker",
+ "__typename": "MultiUrlPicker"
+ },
+ "numeric": {
+ "value": 12452,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "radiobox": {
+ "value": "2",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "checkboxList": {
+ "value": [
+ "2"
+ ],
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "slider": {
+ "value": 1,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "tags": {
+ "value": [
+ "tag1",
+ "normal",
+ "what"
+ ],
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "textarea": {
+ "value": "dasgadg",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "textstring": {
+ "value": "fasfa",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "userPicker": {
+ "value": -1,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "contentPicker": {
+ "items": [
+ {
+ "url": "http://site-1.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-1",
+ "name": "Site 1",
+ "id": 1146,
+ "key": "eadd5be4-456c-4a7d-8c4a-2f7ead9c8ecf",
+ "__typename": "ContentPickerItem"
+ }
+ ],
+ "model": "ContentPicker",
+ "__typename": "ContentPicker"
+ },
+ "datePickerWithTime": {
+ "value": "2023-04-25T12:00:00.000Z",
+ "model": "DateTimePicker",
+ "__typename": "DateTimePicker"
+ },
+ "decimal": {
+ "value": 123.12,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "emailAddress": {
+ "value": "mail@mail.com",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
"__typename": "CustomMediaType"
},
"urlSegment": null,
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps__1_1 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps__1_1
new file mode 100644
index 00000000..a1bc20e3
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps__1_1
@@ -0,0 +1,17 @@
+{
+ "errors": [
+ {
+ "message": "The value cannot be an empty string. (Parameter \u0027contentType\u0027)",
+ "locations": [
+ {
+ "line": 6,
+ "column": 3
+ }
+ ],
+ "path": [
+ "mediaByContentType"
+ ]
+ }
+ ],
+ "data": null
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_customMediaType_1_10 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_customMediaType_1_10
new file mode 100644
index 00000000..b7c6d122
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_customMediaType_1_10
@@ -0,0 +1,256 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [
+ {
+ "url": "",
+ "properties": {
+ "eyeDropperColorPicker": {
+ "value": "#a94444",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "article": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "audio": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "file": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "video": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "imageCropper": {
+ "value": null,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "imageMediaPicker": {
+ "mediaItems": [
+ {
+ "url": "http://localhost/media/oeklujof/skaermbillede-2023-04-17-kl-201527.png",
+ "properties": {
+ "umbracoWidth": {
+ "value": 0,
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "umbracoHeight": {
+ "value": 0,
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "umbracoBytes": {
+ "value": 0,
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "umbracoExtension": {
+ "value": "",
+ "model": "Label",
+ "__typename": "Label"
+ },
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.27",
+ "id": 1138,
+ "key": "25ba1577-a0c5-4329-8f32-9e9abe4a6d2d",
+ "__typename": "MediaPickerItem"
+ }
+ ],
+ "model": "MediaPicker",
+ "__typename": "MediaPicker"
+ },
+ "blockList": {
+ "blocks": [],
+ "model": "BlockList",
+ "__typename": "BlockList"
+ },
+ "memberGroupPicker": {
+ "value": "",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "memberPicker": {
+ "members": [],
+ "model": "MemberPicker",
+ "__typename": "MemberPicker"
+ },
+ "multinodeTreepicker": {
+ "items": [
+ {
+ "url": "http://site-2.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-2",
+ "name": "Site 2",
+ "id": 1148,
+ "key": "dcf14fa0-dfc3-4108-8c9b-a4e9f77c0c29",
+ "__typename": "ContentPickerItem"
+ },
+ {
+ "url": "http://localhost/no-domain-site/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "no-domain-site",
+ "name": "No domain site",
+ "id": 1147,
+ "key": "cb9726b8-2307-4a01-9b39-7c2850c4d19a",
+ "__typename": "ContentPickerItem"
+ },
+ {
+ "url": "http://site-1.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-1",
+ "name": "Site 1",
+ "id": 1146,
+ "key": "eadd5be4-456c-4a7d-8c4a-2f7ead9c8ecf",
+ "__typename": "ContentPickerItem"
+ }
+ ],
+ "model": "ContentPicker",
+ "__typename": "ContentPicker"
+ },
+ "multiUrlPicker": {
+ "links": [
+ {
+ "url": "http://site-2.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-2",
+ "target": null,
+ "type": "CONTENT",
+ "name": "Site 2",
+ "id": 1148,
+ "key": "dcf14fa0-dfc3-4108-8c9b-a4e9f77c0c29",
+ "__typename": "MultiUrlPickerItem"
+ },
+ {
+ "url": "http://site-3.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-with-unpublished-pages",
+ "target": null,
+ "type": "CONTENT",
+ "name": "Site with unpublished pages",
+ "id": 1150,
+ "key": "805a5fe7-d8ff-472d-9dd4-b73e48a6d15b",
+ "__typename": "MultiUrlPickerItem"
+ }
+ ],
+ "model": "MultiUrlPicker",
+ "__typename": "MultiUrlPicker"
+ },
+ "numeric": {
+ "value": 12452,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "radiobox": {
+ "value": "2",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "checkboxList": {
+ "value": [
+ "2"
+ ],
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "slider": {
+ "value": 1,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "tags": {
+ "value": [
+ "tag1",
+ "normal",
+ "what"
+ ],
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "textarea": {
+ "value": "dasgadg",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "textstring": {
+ "value": "fasfa",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "userPicker": {
+ "value": -1,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "contentPicker": {
+ "items": [
+ {
+ "url": "http://site-1.com/",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": "site-1",
+ "name": "Site 1",
+ "id": 1146,
+ "key": "eadd5be4-456c-4a7d-8c4a-2f7ead9c8ecf",
+ "__typename": "ContentPickerItem"
+ }
+ ],
+ "model": "ContentPicker",
+ "__typename": "ContentPicker"
+ },
+ "datePickerWithTime": {
+ "value": "2023-04-25T12:00:00.000Z",
+ "model": "DateTimePicker",
+ "__typename": "DateTimePicker"
+ },
+ "decimal": {
+ "value": 123.12,
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "emailAddress": {
+ "value": "mail@mail.com",
+ "model": "DefaultProperty",
+ "__typename": "DefaultProperty"
+ },
+ "__typename": "CustomMediaType"
+ },
+ "urlSegment": null,
+ "name": "Media custom",
+ "id": 1143,
+ "key": "d6355171-2e04-4b73-b11b-01f408ec242a",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ }
+ ],
+ "page": 1,
+ "pageSize": 10,
+ "totalItems": 1,
+ "hasNextPage": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_folder_1_0 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_folder_1_0
new file mode 100644
index 00000000..8c36f462
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_folder_1_0
@@ -0,0 +1,11 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [],
+ "page": 1,
+ "pageSize": 0,
+ "totalItems": 2,
+ "hasNextPage": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_-1_5 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_-1_5
new file mode 100644
index 00000000..3f224f3c
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_-1_5
@@ -0,0 +1,17 @@
+{
+ "errors": [
+ {
+ "message": "Page must be greater than or equal to 1 (Parameter \u0027page\u0027)",
+ "locations": [
+ {
+ "line": 6,
+ "column": 3
+ }
+ ],
+ "path": [
+ "mediaByContentType"
+ ]
+ }
+ ],
+ "data": null
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_0_-1 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_0_-1
new file mode 100644
index 00000000..3f224f3c
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_0_-1
@@ -0,0 +1,17 @@
+{
+ "errors": [
+ {
+ "message": "Page must be greater than or equal to 1 (Parameter \u0027page\u0027)",
+ "locations": [
+ {
+ "line": 6,
+ "column": 3
+ }
+ ],
+ "path": [
+ "mediaByContentType"
+ ]
+ }
+ ],
+ "data": null
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_0_5 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_0_5
new file mode 100644
index 00000000..3f224f3c
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_0_5
@@ -0,0 +1,17 @@
+{
+ "errors": [
+ {
+ "message": "Page must be greater than or equal to 1 (Parameter \u0027page\u0027)",
+ "locations": [
+ {
+ "line": 6,
+ "column": 3
+ }
+ ],
+ "path": [
+ "mediaByContentType"
+ ]
+ }
+ ],
+ "data": null
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1000_1000 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1000_1000
new file mode 100644
index 00000000..53bebcd7
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1000_1000
@@ -0,0 +1,11 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [],
+ "page": 1000,
+ "pageSize": 1000,
+ "totalItems": 5,
+ "hasNextPage": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_0 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_0
new file mode 100644
index 00000000..74814aea
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_0
@@ -0,0 +1,11 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [],
+ "page": 1,
+ "pageSize": 0,
+ "totalItems": 5,
+ "hasNextPage": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_1 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_1
new file mode 100644
index 00000000..324daaaf
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_1
@@ -0,0 +1,25 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [
+ {
+ "url": "http://localhost/media/oeklujof/skaermbillede-2023-04-17-kl-201527.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.27",
+ "id": 1138,
+ "key": "25ba1577-a0c5-4329-8f32-9e9abe4a6d2d",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ }
+ ],
+ "page": 1,
+ "pageSize": 1,
+ "totalItems": 5,
+ "hasNextPage": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_1000 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_1000
new file mode 100644
index 00000000..8eb2a930
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_1000
@@ -0,0 +1,97 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [
+ {
+ "url": "http://localhost/media/oeklujof/skaermbillede-2023-04-17-kl-201527.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.27",
+ "id": 1138,
+ "key": "25ba1577-a0c5-4329-8f32-9e9abe4a6d2d",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/eb3ogqdq/skaermbillede-2023-04-17-kl-201540.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.40",
+ "id": 1139,
+ "key": "40e37a26-8570-47dd-b30a-a1bd391f603b",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/z4bdynec/skaermbillede-2023-04-17-kl-201551.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.51",
+ "id": 1140,
+ "key": "343c83c9-1782-4db5-8e13-cdcddf7ab772",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/gy0bdnwp/skaermbillede-2023-04-17-kl-201618.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.16.18",
+ "id": 1144,
+ "key": "b6113530-0ccf-4006-88d4-3dcd31c8297e",
+ "templateId": -1,
+ "parent": {
+ "url": "",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": null,
+ "name": "My media",
+ "id": 1141,
+ "key": "01164aab-e1f7-4628-9e20-870b49951482",
+ "templateId": -1
+ },
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/1t2jp2ry/skaermbillede-2023-04-17-kl-201618.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.16.18 (1)",
+ "id": 1145,
+ "key": "f297f8da-2938-4e5c-a08b-3a7c83c5cf5d",
+ "templateId": -1,
+ "parent": {
+ "url": "",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": null,
+ "name": "My media",
+ "id": 1141,
+ "key": "01164aab-e1f7-4628-9e20-870b49951482",
+ "templateId": -1
+ },
+ "__typename": "MediaItem"
+ }
+ ],
+ "page": 1,
+ "pageSize": 1000,
+ "totalItems": 5,
+ "hasNextPage": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_5 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_5
new file mode 100644
index 00000000..baf7d9ca
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_1_5
@@ -0,0 +1,97 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [
+ {
+ "url": "http://localhost/media/oeklujof/skaermbillede-2023-04-17-kl-201527.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.27",
+ "id": 1138,
+ "key": "25ba1577-a0c5-4329-8f32-9e9abe4a6d2d",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/eb3ogqdq/skaermbillede-2023-04-17-kl-201540.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.40",
+ "id": 1139,
+ "key": "40e37a26-8570-47dd-b30a-a1bd391f603b",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/z4bdynec/skaermbillede-2023-04-17-kl-201551.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.51",
+ "id": 1140,
+ "key": "343c83c9-1782-4db5-8e13-cdcddf7ab772",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/gy0bdnwp/skaermbillede-2023-04-17-kl-201618.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.16.18",
+ "id": 1144,
+ "key": "b6113530-0ccf-4006-88d4-3dcd31c8297e",
+ "templateId": -1,
+ "parent": {
+ "url": "",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": null,
+ "name": "My media",
+ "id": 1141,
+ "key": "01164aab-e1f7-4628-9e20-870b49951482",
+ "templateId": -1
+ },
+ "__typename": "MediaItem"
+ },
+ {
+ "url": "http://localhost/media/1t2jp2ry/skaermbillede-2023-04-17-kl-201618.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.16.18 (1)",
+ "id": 1145,
+ "key": "f297f8da-2938-4e5c-a08b-3a7c83c5cf5d",
+ "templateId": -1,
+ "parent": {
+ "url": "",
+ "properties": {
+ "__typename": "EmptyPropertyType"
+ },
+ "urlSegment": null,
+ "name": "My media",
+ "id": 1141,
+ "key": "01164aab-e1f7-4628-9e20-870b49951482",
+ "templateId": -1
+ },
+ "__typename": "MediaItem"
+ }
+ ],
+ "page": 1,
+ "pageSize": 5,
+ "totalItems": 5,
+ "hasNextPage": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_2_1 b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_2_1
new file mode 100644
index 00000000..9408b6e2
--- /dev/null
+++ b/src/Nikcio.UHeadless.IntegrationTests/Snapshots/MediaByContentType/Snaps/MediaByContentType_Snaps_image_2_1
@@ -0,0 +1,25 @@
+{
+ "data": {
+ "mediaByContentType": {
+ "items": [
+ {
+ "url": "http://localhost/media/eb3ogqdq/skaermbillede-2023-04-17-kl-201540.png",
+ "properties": {
+ "__typename": "Image"
+ },
+ "urlSegment": null,
+ "name": "Sk\u00E6rmbillede 2023 04 17 Kl. 20.15.40",
+ "id": 1139,
+ "key": "40e37a26-8570-47dd-b30a-a1bd391f603b",
+ "templateId": -1,
+ "parent": null,
+ "__typename": "MediaItem"
+ }
+ ],
+ "page": 2,
+ "pageSize": 1,
+ "totalItems": 5,
+ "hasNextPage": true
+ }
+ }
+}
\ No newline at end of file