Skip to content

Commit 74172f3

Browse files
committed
ActiveCampaign upgraded for V16
1 parent 501fcb7 commit 74172f3

30 files changed

+2001
-2130
lines changed

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/ActiveCampaignComposer.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
using Microsoft.Extensions.DependencyInjection;
22
using Microsoft.OpenApi.Models;
33
using Swashbuckle.AspNetCore.SwaggerGen;
4+
using Umbraco.Cms.Api.Common.OpenApi;
45
using Umbraco.Cms.Core.Composing;
56
using Umbraco.Cms.Core.DependencyInjection;
67
using Umbraco.Forms.Core.Providers;
8+
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Configuration;
79
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Configuration;
810
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Services;
911

@@ -44,8 +46,9 @@ public void Compose(IUmbracoBuilder builder)
4446
Description = $"Describes the {Constants.ManagementApi.ApiTitle} available for handling ActiveCampaign automation and configuration."
4547
});
4648

47-
options.CustomOperationIds(e => $"{e.ActionDescriptor.RouteValues["action"]}");
48-
});
49+
options.OperationFilter<BackOfficeSecurityRequirementsOperationFilter>();
50+
})
51+
.AddSingleton<IOperationIdHandler, ActiveCampaignOperationIdHandler>();
4952
}
5053
}
5154
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Mvc.ApiExplorer;
3+
using Microsoft.AspNetCore.Mvc.Controllers;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Api.Common.OpenApi;
6+
7+
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Configuration;
8+
9+
internal class ActiveCampaignOperationIdHandler : OperationIdHandler
10+
{
11+
public ActiveCampaignOperationIdHandler(IOptions<ApiVersioningOptions> apiVersioningOptions) : base(apiVersioningOptions)
12+
{
13+
}
14+
15+
protected override bool CanHandle(ApiDescription apiDescription, ControllerActionDescriptor controllerActionDescriptor)
16+
=> controllerActionDescriptor.ControllerTypeInfo.Namespace?.StartsWith("Umbraco.Forms.Integrations.Crm.ActiveCampaign") is true;
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using Umbraco.Cms.Api.Management.OpenApi;
2+
3+
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Configuration;
4+
5+
public class BackOfficeSecurityRequirementsOperationFilter : BackOfficeSecurityRequirementsOperationFilterBase
6+
{
7+
protected override string ApiName => Constants.ManagementApi.ApiName;
8+
}

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/Accounts/AccountControllerBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Accounts
77
{
8-
[ApiVersion("1.0")]
98
[BackOfficeRoute($"{Constants.ManagementApi.RootPath}/v{{version:apiVersion}}/accounts")]
109
[ApiExplorerSettings(GroupName = Constants.ManagementApi.AccountsGroupName)]
1110
public class AccountControllerBase : ActiveCampaignControllerBase

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/Accounts/GetAccountController.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Microsoft.AspNetCore.Authorization;
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Authorization;
23
using Microsoft.AspNetCore.Http;
34
using Microsoft.AspNetCore.Mvc;
45
using Umbraco.Cms.Web.Common.Authorization;
@@ -7,7 +8,7 @@
78

89
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Accounts
910
{
10-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
11+
[ApiVersion("1.0")]
1112
public class GetAccountController : AccountControllerBase
1213
{
1314
public GetAccountController(IAccountService accountService) : base(accountService)

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/ActiveCampaignControllerBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controlle
88
[ApiController]
99
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
1010
[MapToApi(Constants.ManagementApi.ApiName)]
11-
public class ActiveCampaignControllerBase : Controller
11+
public class ActiveCampaignControllerBase : ControllerBase
1212
{
1313
}
1414
}

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/Contacts/CheckApiAccessController.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
using Microsoft.AspNetCore.Authorization;
1+
using Asp.Versioning;
22
using Microsoft.AspNetCore.Http;
33
using Microsoft.AspNetCore.Mvc;
44
using Microsoft.Extensions.Options;
5-
using Umbraco.Cms.Web.Common.Authorization;
65
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Configuration;
76
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Models.Dtos;
87
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Services;
98

109
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Contacts
1110
{
12-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
11+
[ApiVersion("1.0")]
1312
public class CheckApiAccessController : ContactControllerBase
1413
{
1514
public CheckApiAccessController(IOptions<ActiveCampaignSettings> options, IContactService contactService) : base(options, contactService)

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/Contacts/ContactControllerBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Contacts
99
{
10-
[ApiVersion("1.0")]
1110
[BackOfficeRoute($"{Constants.ManagementApi.RootPath}/v{{version:apiVersion}}/contacts")]
1211
[ApiExplorerSettings(GroupName = Constants.ManagementApi.ContactGroupName)]
1312
public class ContactControllerBase : ActiveCampaignControllerBase

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/Contacts/GetContactFieldsController.cs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,13 @@
1-
using Microsoft.AspNetCore.Authorization;
1+
using Asp.Versioning;
22
using Microsoft.AspNetCore.Http;
33
using Microsoft.AspNetCore.Mvc;
44
using Microsoft.Extensions.Options;
5-
using System;
6-
using System.Collections.Generic;
7-
using System.Linq;
8-
using System.Text;
9-
using System.Threading.Tasks;
10-
using Umbraco.Cms.Web.Common.Authorization;
115
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Configuration;
12-
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Models.Dtos;
136
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Services;
147

158
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Contacts
169
{
17-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
10+
[ApiVersion("1.0")]
1811
public class GetContactFieldsController : ContactControllerBase
1912
{
2013
public GetContactFieldsController(IOptions<ActiveCampaignSettings> options, IContactService contactService) : base(options, contactService)

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/Contacts/GetCustomFieldsController.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
using Microsoft.AspNetCore.Authorization;
1+
using Asp.Versioning;
22
using Microsoft.AspNetCore.Http;
33
using Microsoft.AspNetCore.Mvc;
44
using Microsoft.Extensions.Options;
5-
using Umbraco.Cms.Web.Common.Authorization;
65
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Configuration;
76
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Models.Dtos;
87
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Services;
98

109
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Contacts
1110
{
12-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
11+
[ApiVersion("1.0")]
1312
public class GetCustomFieldsController : ContactControllerBase
1413
{
1514
public GetCustomFieldsController(IOptions<ActiveCampaignSettings> options, IContactService contactService) : base(options, contactService)

0 commit comments

Comments
 (0)