Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content Delivery API #14051

Merged
merged 54 commits into from
Apr 19, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
5925fde
Add the core parts of the headless PoC
kjac Nov 30, 2022
e5e2013
Add Content API project (WIP - loads of TODOs and dupes that need to …
kjac Nov 30, 2022
a9a5cd7
Merge branch 'v12/dev' into v12/feature/headless
kjac Dec 1, 2022
ddb2722
Merge branch 'v12/dev' into v12/feature/headless
kjac Dec 2, 2022
5314e68
Rename the content API project and namespaces
kjac Dec 2, 2022
75327cb
Merge branch 'v12/dev' into v12/feature/headless
kjac Dec 21, 2022
7ec005a
Fixed bad merge
kjac Dec 21, 2022
cf72e07
Rename everything "Headless" to "ContentApi" or "Api"
kjac Dec 21, 2022
72c8add
Refactor Content + Media: Key => Id, Name not nullable
kjac Dec 21, 2022
539d878
Make Content API property return value types independent of datatype …
kjac Dec 21, 2022
e2153af
Clean up refactorings
kjac Dec 22, 2022
3f8f6ec
First stab at an expansion strategy using content picker as example i…
kjac Dec 23, 2022
d6caa7b
Merge branch 'v12/dev' into v12/feature/headless
kjac Jan 4, 2023
f47ff3c
Use named JSON options for content API serialization
kjac Jan 4, 2023
491ed16
Proper inclusion and registration of the content API
kjac Jan 4, 2023
a0ce781
Introduce API media builder
kjac Jan 4, 2023
8acb745
Make MNTP return API content/media depending on configuration (instea…
kjac Jan 4, 2023
9e8d350
Merge branch 'v12/dev' into v12/feature/headless
kjac Jan 24, 2023
7d4c436
Content API: Get by controllers (#13740)
elit0451 Jan 26, 2023
270e646
Content API: Add start-node header value to deal with url collisions …
elit0451 Feb 2, 2023
1ab908b
Merge branch 'v12/dev' into v12/feature/headless
kjac Feb 10, 2023
b93672d
Content API: Support Accept-Language header (#13831)
kjac Feb 16, 2023
3776521
Content API: Output expansion (#13848)
kjac Feb 17, 2023
40d51e3
Merge branch 'v12/dev' into v12/feature/headless
kjac Feb 23, 2023
fddd38c
Encapsulate content API dependencies in the DI
kjac Feb 23, 2023
4b38ef3
Support multi-site and multi-culture routing + a little rename/refact…
kjac Feb 24, 2023
3cd02ea
Rename services from "Default" to "Noop"
kjac Feb 27, 2023
cea294f
Ensure that Umbraco can boot without adding "AddContentApi()" to Conf…
kjac Feb 27, 2023
cac8698
Merge branch 'v12/dev' into v12/feature/headless
kjac Mar 4, 2023
dc90513
Moved incorrectly placed media builder
kjac Mar 4, 2023
6296e13
Fix API routes (#13915)
elit0451 Mar 6, 2023
6b7c37a
Fix multi URL picker value converter trying to access disposed object…
kjac Mar 17, 2023
cb5a4b0
Merge remote-tracking branch 'origin/v12/feature/headless' into v12/f…
kjac Mar 20, 2023
02fc748
Merge branch 'v12/dev' into v12/feature/headless
kjac Mar 20, 2023
a0292ae
Delivery API: Content routing and structure (#13984)
kjac Mar 20, 2023
78e1f74
Conditionally enabling the delivery API + add protection and preview …
kjac Mar 23, 2023
c6a2337
Include umbraco properties (width, height, ...) in the Media Properti…
kjac Mar 29, 2023
8af83d1
Add content type deny list (#14025)
kjac Mar 29, 2023
4f69b06
Dedicated property cache level for Content API (#14027)
kjac Mar 29, 2023
4826588
Merge branch 'v12/dev' into v12/feature/headless
kjac Mar 29, 2023
e818135
Support redirect tracking (#14033)
kjac Mar 30, 2023
05d3128
Add cultures and their routes to the API output (#14038)
kjac Mar 30, 2023
831e067
Delivery API: Query controller (#14041)
elit0451 Apr 6, 2023
c67963e
Merge branch 'v12/dev' into v12/feature/headless
kjac Apr 7, 2023
7c364fb
Delivery API: Adding pagination to query endpoint (#14083)
elit0451 Apr 14, 2023
6c0a977
Add missing CompatibilitySuppressions.xml
bergmania Apr 18, 2023
954806e
Merge remote-tracking branch 'origin/v12/dev' into v12/feature/headless
bergmania Apr 18, 2023
7eb2e11
Make Delivery API packable
bergmania Apr 18, 2023
9cc139d
Make Api.Common packable
bergmania Apr 18, 2023
cdcb2d0
Renamed extension method and namespace so it is discoverable
bergmania Apr 18, 2023
25233a2
Untangle ApiVersion configuration into api.common, so delivery api do…
bergmania Apr 18, 2023
e96eeab
configure options in management api
bergmania Apr 18, 2023
f0fef94
RTE output as JSON for Content API (#14067)
kjac Apr 18, 2023
bed9134
Rename to Delivery API (#14119)
kjac Apr 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'v12/dev' into v12/feature/headless
# Conflicts:
#	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyType.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/ContentPickerValueConverter.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/MediaPickerValueConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/NestedContentManyValueConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/NestedContentSingleValueConverter.cs
  • Loading branch information
kjac committed Mar 29, 2023
commit 4826588866d013fe84bc021c674d8330f35c9820
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ private void InitializeLocked()
_contentApiCacheLevel = _converter is IContentApiPropertyValueConverter contentApiConverter
? contentApiConverter.GetPropertyContentApiCacheLevel(this)
: _cacheLevel;
_modelClrType = _converter == null ? typeof (object) : _converter.GetPropertyValueType(this);
_modelClrType = _converter?.GetPropertyValueType(this) ?? typeof(object);
}

/// <inheritdoc />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters;

internal class ContentPickerValueConverter : PropertyValueConverterBase, IContentApiPropertyValueConverter
public class ContentPickerValueConverter : PropertyValueConverterBase, IContentApiPropertyValueConverter
{
private static readonly List<string> PropertiesToExclude = new()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters;
/// The media picker property value converter.
/// </summary>
[DefaultPropertyValueConverter]
[Obsolete("Please use the MediaPicker3 instead, will be removed in V13")]
public class MediaPickerValueConverter : PropertyValueConverterBase, IContentApiPropertyValueConverter
{
// hard-coding "image" here but that's how it works at UI level too
Expand All @@ -23,7 +24,7 @@ public class MediaPickerValueConverter : PropertyValueConverterBase, IContentApi
private readonly IPublishedSnapshotAccessor _publishedSnapshotAccessor;
private readonly IApiMediaBuilder _apiMediaBuilder;

[Obsolete("Use constructor that takes all parameters, scheduled for removal in V14")]
[Obsolete("Use constructor that takes all parameters, scheduled for removal in V13")]
public MediaPickerValueConverter(
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IPublishedModelFactory publishedModelFactory)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,13 @@ namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters;
/// content.
/// </summary>
[DefaultPropertyValueConverter(typeof(JsonValueConverter))]
public class NestedContentManyValueConverter : NestedContentValueConverterBase, IContentApiPropertyValueConverter
[Obsolete("Nested content is obsolete, will be removed in V13")]
public class NestedContentManyValueConverter : NestedContentValueConverterBase
{
private readonly IProfilingLogger _proflog;
private readonly IApiElementBuilder _apiElementBuilder;

[Obsolete("Use constructor that takes all parameters, scheduled for removal in V14")]
[Obsolete("Use constructor that takes all parameters, scheduled for removal in V13")]
public NestedContentManyValueConverter(
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IPublishedModelFactory publishedModelFactory,
Expand All @@ -40,9 +41,9 @@ public NestedContentManyValueConverter(
}

/// <summary>
/// Initializes a new instance of the <see cref="NestedContentSingleValueConverter" /> class.
/// Initializes a new instance of the <see cref="NestedContentManyValueConverter" /> class.
/// </summary>
public NestedContentManyValueConverter (
public NestedContentManyValueConverter(
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IPublishedModelFactory publishedModelFactory,
IProfilingLogger proflog,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@ namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters;
/// content.
/// </summary>
[DefaultPropertyValueConverter(typeof(JsonValueConverter))]
[Obsolete("Nested content is obsolete, will be removed in V13")]
public class NestedContentSingleValueConverter : NestedContentValueConverterBase, IContentApiPropertyValueConverter
{
private readonly IProfilingLogger _proflog;
private readonly IApiElementBuilder _apiElementBuilder;

[Obsolete("Use constructor that takes all parameters, scheduled for removal in V14")]
[Obsolete("Use constructor that takes all parameters, scheduled for removal in V13")]
public NestedContentSingleValueConverter(
IPublishedSnapshotAccessor publishedSnapshotAccessor,
IPublishedModelFactory publishedModelFactory,
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.