Skip to content

Commit 0dda61f

Browse files
committed
Merge branch 'main-v14' into v14/feature/42318-V14-Integrations-Zapier
2 parents a52b360 + d43cffd commit 0dda61f

File tree

214 files changed

+17445
-5015
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+17445
-5015
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ src/Testsite/umbraco
77
src/Testsite/Views
88
src/Testsite/wwwroot
99
src/Umbraco.Cms.Integrations.Automation.Zapier/wwwroot
10-
10+
src/Umbraco.Cms.Integrations.Commerce.Shopify/wwwroot
1111

1212

1313
# User-specific files

azure-pipeline - Crm.Hubspot.yml

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
trigger:
2-
- main
2+
- main-v14
33

44
pool:
55
vmImage: 'windows-latest'
66

77
variables:
88
projectName: 'Umbraco.Cms.Integrations.Crm.Hubspot'
9-
coreProjectName: 'Umbraco.Cms.Integrations.Crm.Hubspot.Core'
109
project: 'src/$(projectName)/$(projectName).csproj'
11-
coreProject: 'src/$(coreProjectName)/$(coreProjectName).csproj'
1210
buildPlatform: 'Any CPU'
1311
buildConfiguration: 'Release'
1412

@@ -24,14 +22,6 @@ steps:
2422
projects: '$(project)'
2523
includeNuGetOrg: true
2624

27-
- task: VSBuild@1
28-
displayName: 'Build Core Project'
29-
inputs:
30-
solution: '$(coreProject)'
31-
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
32-
platform: '$(buildPlatform)'
33-
configuration: '$(buildConfiguration)'
34-
3525
- task: VSBuild@1
3626
displayName: 'Build Project'
3727
inputs:
@@ -48,23 +38,6 @@ steps:
4838
packagesToPack: '$(project)'
4939
versioningScheme: 'off'
5040

51-
- task: DotNetCoreCLI@2
52-
displayName: 'Create Core NuGet Package'
53-
inputs:
54-
command: 'pack'
55-
arguments: '--configuration $(buildConfiguration)'
56-
packagesToPack: '$(coreProject)'
57-
versioningScheme: 'off'
58-
59-
- task: CmdLine@2
60-
displayName: 'Create Umbraco Package'
61-
inputs:
62-
script: |
63-
dotnet tool install --global Umbraco.Tools.Packages
64-
cd src/$(projectName)/
65-
umbpack pack .\package.xml -o $(Build.ArtifactStagingDirectory)
66-
cd ../../
67-
6841
- task: PublishBuildArtifacts@1
6942
displayName: 'Publish Build Artifacts'
7043
inputs:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using Umbraco.Cms.Api.Management.OpenApi;
2+
3+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Configuration;
4+
5+
public class BackOfficeSecurityRequirementsOperationFilter : BackOfficeSecurityRequirementsOperationFilterBase
6+
{
7+
protected override string ApiName => Constants.ManagementApi.ApiName;
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Models;
7+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
8+
9+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
10+
{
11+
[ApiVersion("1.0")]
12+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
13+
public class CheckConfigurationController : ShopifyControllerBase
14+
{
15+
private readonly ShopifyOAuthSettings _oauthSettings;
16+
public CheckConfigurationController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService, IOptions<ShopifyOAuthSettings> oauthSettings) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
17+
{
18+
_oauthSettings = oauthSettings.Value;
19+
}
20+
21+
[HttpGet("check-configuration")]
22+
[ProducesResponseType(typeof(EditorSettings), StatusCodes.Status200OK)]
23+
public IActionResult CheckConfiguration()
24+
{
25+
var settings = ShopifyService.GetApiConfiguration();
26+
27+
return Ok(settings);
28+
}
29+
}
30+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Models.Dtos;
7+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
8+
9+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
10+
{
11+
[ApiVersion("1.0")]
12+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
13+
public class GetAccessTokenController : ShopifyControllerBase
14+
{
15+
public GetAccessTokenController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
16+
{
17+
}
18+
19+
[HttpPost("access-token")]
20+
[ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
21+
public async Task<IActionResult> GetAccessToken([FromBody]OAuthRequestDto authRequestDto)
22+
{
23+
var setting = await ShopifyAuthorizationService.GetAccessTokenAsync(authRequestDto.Code);
24+
return Ok(setting);
25+
}
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
7+
8+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
9+
{
10+
[ApiVersion("1.0")]
11+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
12+
public class GetAuthorizationUrlController : ShopifyControllerBase
13+
{
14+
public GetAuthorizationUrlController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
15+
{
16+
}
17+
18+
[HttpGet("authorization-url")]
19+
[ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
20+
public IActionResult GetAuthorizationUrl()
21+
{
22+
var authUrl = ShopifyAuthorizationService.GetAuthorizationUrl();
23+
return Ok(authUrl);
24+
}
25+
}
26+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Models.Dtos;
7+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
8+
9+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
10+
{
11+
[ApiVersion("1.0")]
12+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
13+
public class GetListByIdsController : ShopifyControllerBase
14+
{
15+
public GetListByIdsController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
16+
{
17+
}
18+
19+
[HttpPost("list-by-ids")]
20+
[ProducesResponseType(typeof(ResponseDto<ProductsListDto>), StatusCodes.Status200OK)]
21+
public async Task<IActionResult> GetListByIds([FromBody] RequestDto dto)
22+
{
23+
var result = await ShopifyService.GetProductsByIds(dto.Ids.Select(p => p).ToArray());
24+
return Ok(result);
25+
}
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Models.Dtos;
7+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
8+
9+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
10+
{
11+
[ApiVersion("1.0")]
12+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
13+
public class GetListController : ShopifyControllerBase
14+
{
15+
public GetListController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
16+
{
17+
}
18+
19+
[HttpGet("list")]
20+
[ProducesResponseType(typeof(ResponseDto<ProductsListDto>), StatusCodes.Status200OK)]
21+
public async Task<IActionResult> GetList(string? pageInfo)
22+
{
23+
var result = await ShopifyService.GetResults(pageInfo);
24+
return Ok(result);
25+
}
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
7+
8+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
9+
{
10+
[ApiVersion("1.0")]
11+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
12+
public class GetTotalPagesController : ShopifyControllerBase
13+
{
14+
public GetTotalPagesController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
15+
{
16+
}
17+
18+
[HttpGet("total-pages")]
19+
[ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
20+
public async Task<IActionResult> GetTotalPages()
21+
{
22+
var productsCount = await ShopifyService.GetCount();
23+
return Ok(productsCount / Constants.DEFAULT_PAGE_SIZE + 1);
24+
}
25+
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Asp.Versioning;
2+
using Microsoft.AspNetCore.Http;
3+
using Microsoft.AspNetCore.Mvc;
4+
using Microsoft.Extensions.Options;
5+
using Umbraco.Cms.Integrations.Commerce.Shopify.Configuration;
6+
using Umbraco.Cms.Integrations.Commerce.Shopify.Services;
7+
8+
namespace Umbraco.Cms.Integrations.Commerce.Shopify.Api.Management.Controllers
9+
{
10+
[ApiVersion("1.0")]
11+
[ApiExplorerSettings(GroupName = Constants.ManagementApi.GroupName)]
12+
public class RefreshAccessTokenController : ShopifyControllerBase
13+
{
14+
public RefreshAccessTokenController(IOptions<ShopifySettings> shopifySettings, IShopifyService shopifyService, IShopifyAuthorizationService shopifyAuthorizationService) : base(shopifySettings, shopifyService, shopifyAuthorizationService)
15+
{
16+
}
17+
18+
[HttpPost("refresh-access-token")]
19+
[ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
20+
public async Task<IActionResult> RefreshAccessToken()
21+
{
22+
var response = await ShopifyAuthorizationService.RefreshAccessTokenAsync();
23+
return Ok(response);
24+
}
25+
}
26+
}

0 commit comments

Comments
 (0)