Skip to content

Commit 9f44de3

Browse files
committed
V14: Integrations (ActiveCampaign/Forms)
- Fix pr comments - Re generate api - Create new form field dto
1 parent 28ad4f5 commit 9f44de3

26 files changed

+98
-478
lines changed

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public class ActiveCampaignContactsWorkflow : WorkflowType
2121
private readonly IContactService _contactService;
2222

2323
private readonly ILogger<ActiveCampaignContactsWorkflow> _logger;
24-
private readonly IFormService _formService;
2524

2625
[Core.Attributes.Setting("Account",
2726
Description = "Please select an account",
@@ -66,7 +65,7 @@ public override async Task<WorkflowExecutionStatus> ExecuteAsync(WorkflowExecuti
6665
.ValuesAsString();
6766

6867
// Check if contact exists.
69-
var contacts = _contactService.Get(email).ConfigureAwait(false).GetAwaiter().GetResult();
68+
var contacts = await _contactService.Get(email).ConfigureAwait(false);
7069

7170
if(contacts.Contacts.Count > 0 && !_settings.AllowContactUpdate)
7271
{
@@ -91,14 +90,13 @@ public override async Task<WorkflowExecutionStatus> ExecuteAsync(WorkflowExecuti
9190
}).ToList();
9291
}
9392

94-
var contactId = _contactService.CreateOrUpdate(requestDto, contacts.Contacts.Count > 0)
95-
.ConfigureAwait(false).GetAwaiter().GetResult();
93+
var contactId = await _contactService.CreateOrUpdate(requestDto, contacts.Contacts.Count > 0).ConfigureAwait(false);
9694

9795
if (string.IsNullOrEmpty(contactId))
9896
{
9997
_logger.LogError($"Failed to create/update contact: {email}");
10098

101-
return await Task.FromResult<WorkflowExecutionStatus>(WorkflowExecutionStatus.Failed);
99+
return WorkflowExecutionStatus.Failed;
102100
}
103101

104102
// Associate contact with account if last one is specified.
@@ -108,13 +106,13 @@ public override async Task<WorkflowExecutionStatus> ExecuteAsync(WorkflowExecuti
108106
.ConfigureAwait(false).GetAwaiter().GetResult();
109107
}
110108

111-
return await Task.FromResult<WorkflowExecutionStatus>(WorkflowExecutionStatus.Completed);
109+
return WorkflowExecutionStatus.Failed;
112110
}
113111
catch(Exception ex)
114112
{
115113
_logger.LogError(ex, ex.Message);
116114

117-
return await Task.FromResult<WorkflowExecutionStatus>(WorkflowExecutionStatus.Failed);
115+
return WorkflowExecutionStatus.Failed;
118116
}
119117
}
120118

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
@@ -15,7 +15,6 @@ namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controlle
1515
[ApiVersion("1.0")]
1616
[BackOfficeRoute($"{Constants.ManagementApi.RootPath}/v{{version:apiVersion}}/accounts")]
1717
[ApiExplorerSettings(GroupName = Constants.ManagementApi.AccountsGroupName)]
18-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
1918
public class AccountControllerBase : ActiveCampaignControllerBase
2019
{
2120
protected readonly IAccountService _accountService;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Threading.Tasks;
88
using Umbraco.Cms.Api.Common.Attributes;
99
using Umbraco.Cms.Web.Common.Authorization;
10+
using Umbraco.Cms.Web.Common.Routing;
1011

1112
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers
1213
{

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@ public CheckApiAccessController(IOptions<ActiveCampaignSettings> options, IConta
2323

2424
[HttpGet("api-access")]
2525
[ProducesResponseType(typeof(ApiAccessDto), StatusCodes.Status200OK)]
26-
public IActionResult CheckApiAccess() => Ok(new JsonResult(new ApiAccessDto(_settings.BaseUrl, _settings.ApiKey)));
26+
public IActionResult CheckApiAccess() => Ok(new ApiAccessDto(_settings.BaseUrl, _settings.ApiKey));
2727
}
2828
}

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
@@ -17,7 +17,6 @@ namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controlle
1717
[ApiVersion("1.0")]
1818
[BackOfficeRoute($"{Constants.ManagementApi.RootPath}/v{{version:apiVersion}}/contacts")]
1919
[ApiExplorerSettings(GroupName = Constants.ManagementApi.ContactGroupName)]
20-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
2120
public class ContactControllerBase : ActiveCampaignControllerBase
2221
{
2322
protected readonly ActiveCampaignSettings _settings;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public GetCustomFieldsController(IOptions<ActiveCampaignSettings> options, ICont
2323

2424
[HttpGet("custom")]
2525
[ProducesResponseType(typeof(CustomFieldCollectionResponseDto), StatusCodes.Status200OK)]
26-
public IActionResult GetCustomFields() =>
27-
Ok(_contactService.GetCustomFields().ConfigureAwait(false).GetAwaiter().GetResult());
26+
public async Task<IActionResult> GetCustomFields() =>
27+
Ok(await _contactService.GetCustomFields().ConfigureAwait(false));
2828
}
2929
}

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

Lines changed: 4 additions & 3 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.Mvc;
34
using System;
45
using System.Collections.Generic;
@@ -11,9 +12,9 @@
1112

1213
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Forms
1314
{
15+
[ApiVersion("1.0")]
1416
[BackOfficeRoute($"{Constants.ManagementApi.RootPath}/v{{version:apiVersion}}/forms")]
15-
[ApiExplorerSettings(GroupName = Constants.ManagementApi.AccountsGroupName)]
16-
[Authorize(Policy = AuthorizationPolicies.BackOfficeAccess)]
17+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.FormsGroupName)]
1718
public class FormControllerBase : ActiveCampaignControllerBase
1819
{
1920
protected readonly IFormService FormService;

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
using System.Text;
77
using System.Threading.Tasks;
88
using Umbraco.Cms.Core.Actions;
9-
using Umbraco.Forms.Core.Models;
109
using Umbraco.Forms.Core.Services;
1110
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Configuration;
11+
using Umbraco.Forms.Integrations.Crm.ActiveCampaign.Models.Dtos;
1212

1313

1414
namespace Umbraco.Forms.Integrations.Crm.ActiveCampaign.Api.Management.Controllers.Forms
@@ -20,14 +20,14 @@ public GetFormFieldsController(IFormService formService) : base(formService)
2020
}
2121

2222
[HttpGet("fields")]
23-
[ProducesResponseType(typeof(List<Field>), StatusCodes.Status200OK)]
23+
[ProducesResponseType(typeof(List<ActiveCampaignFormFieldDto>), StatusCodes.Status200OK)]
2424
public IActionResult GetFormFields(string formId)
2525
{
26-
List<Field> formFields = new List<Field>();
26+
List<ActiveCampaignFormFieldDto> formFields = new List<ActiveCampaignFormFieldDto>();
2727
var result = FormService.Get(new Guid(formId));
2828
if (result != null)
2929
{
30-
formFields = result.AllFields;
30+
formFields = result.AllFields.Select(s => new ActiveCampaignFormFieldDto { Caption = s.Caption, Id = s.Id }).ToList();
3131
}
3232
return Ok(formFields);
3333
}

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/App_Plugins/UmbracoForms.Integrations/Crm/ActiveCampaign/accountpicker.controller.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/Umbraco.Forms.Integrations.Crm.ActiveCampaign/App_Plugins/UmbracoForms.Integrations/Crm/ActiveCampaign/accountpicker.html

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)