Skip to content

Commit 5c60cbb

Browse files
authored
Merge pull request #52 from contentstack/feat/DX-1436-apiversion-support
feat: ✨ add support for apiVersion in bulk publish unpublish
2 parents d76bddf + bc506b0 commit 5c60cbb

File tree

17 files changed

+58
-50
lines changed

17 files changed

+58
-50
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## [v0.1.9](https://github.com/contentstack/contentstack-management-dotnet/tree/v0.1.9)
4+
- Feat
5+
- Add support for apiVersion in bulk publish unpublish methods
6+
37
## [v0.1.8](https://github.com/contentstack/contentstack-management-dotnet/tree/v0.1.8)
48
- Fix
59
- Strong named assemblies

Contentstack.Management.ASPNETCore/contentstack.management.aspnetcore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@
2828
<ItemGroup>
2929
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
3030
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" />
31-
<PackageReference Include="contentstack.management.csharp" Version="0.1.3" />
31+
<PackageReference Include="contentstack.management.csharp" Version="0.1.8" />
3232
</ItemGroup>
3333
</Project>

Contentstack.Management.Core.Tests/Contentstack.Management.Core.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>net7.0</TargetFramework>
55

66
<IsPackable>false</IsPackable>
7-
<ReleaseVersion>0.1.3</ReleaseVersion>
7+
<ReleaseVersion>0.1.9</ReleaseVersion>
88

99
<SignAssembly>true</SignAssembly>
1010
<AssemblyOriginatorKeyFile>../CSManagementSDK.snk</AssemblyOriginatorKeyFile>

Contentstack.Management.Core.Unit.Tests/Mokes/MockHttpHandler.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ namespace Contentstack.Management.Core.Unit.Tests.Mokes
99
{
1010
public class MockRetryHadler : PipelineHandler
1111
{
12-
public override Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false)
12+
public override Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false, string apiVersion = null)
1313
{
1414
return base.InvokeAsync<T>(executionContext, addAcceptMediaHeader);
1515
}
1616

17-
public override void InvokeSync(IExecutionContext executionContext)
17+
public override void InvokeSync(IExecutionContext executionContext, string apiVersion = null)
1818
{
1919
base.InvokeSync(executionContext);
2020
}
@@ -32,7 +32,7 @@ public MockHttpHandler(ContentstackResponse response)
3232
public ILogManager LogManager { get; set; }
3333
public IPipelineHandler InnerHandler { get; set; }
3434

35-
public async Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false)
35+
public async Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false, string apiVersion = null)
3636
{
3737
executionContext.ResponseContext.httpResponse = _response;
3838

@@ -43,7 +43,7 @@ public async Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool add
4343
return await Task.FromResult<T>((T)executionContext.ResponseContext.httpResponse);
4444
}
4545

46-
public void InvokeSync(IExecutionContext executionContext)
46+
public void InvokeSync(IExecutionContext executionContext, string apiVersion = null)
4747
{
4848
executionContext.ResponseContext.httpResponse = _response;
4949
if (executionContext.RequestContext.service != null)

Contentstack.Management.Core.Unit.Tests/Mokes/MockService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public bool HasRequestBody()
174174
return HttpMethod == "POST" || HttpMethod == "PUT" || HttpMethod == "PATCH";
175175
}
176176

177-
public virtual IHttpRequest CreateHttpRequest(HttpClient httpClient, ContentstackClientOptions config, bool addAcceptMediaHeader = false)
177+
public virtual IHttpRequest CreateHttpRequest(HttpClient httpClient, ContentstackClientOptions config, bool addAcceptMediaHeader = false, string apiVersion = null)
178178
{
179179
var contentstackHttpRequest = new ContentstackHttpRequest(httpClient, _serializer);
180180
contentstackHttpRequest.Method = new HttpMethod(HttpMethod);

Contentstack.Management.Core/ContentstackClient.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class ContentstackClient : IContentstackClient
3535
private HttpClient _httpClient;
3636
private bool _disposed = false;
3737

38-
private string Version => "0.1.8";
38+
private string Version => "0.1.9";
3939
private string xUserAgent => $"contentstack-management-dotnet/{Version}";
4040
#endregion
4141

@@ -179,7 +179,7 @@ protected void BuildPipeline()
179179
}, LogManager);
180180
}
181181

182-
internal ContentstackResponse InvokeSync<TRequest>(TRequest request) where TRequest : IContentstackService
182+
internal ContentstackResponse InvokeSync<TRequest>(TRequest request, string apiVersion = null) where TRequest : IContentstackService
183183
{
184184
ThrowIfDisposed();
185185

@@ -191,10 +191,10 @@ internal ContentstackResponse InvokeSync<TRequest>(TRequest request) where TRequ
191191
},
192192
new ResponseContext());
193193

194-
return (ContentstackResponse)ContentstackPipeline.InvokeSync(context).httpResponse;
194+
return (ContentstackResponse)ContentstackPipeline.InvokeSync(context, apiVersion).httpResponse;
195195
}
196196

197-
internal Task<TResponse> InvokeAsync<TRequest, TResponse>(TRequest request, bool addAcceptMediaHeader = false)
197+
internal Task<TResponse> InvokeAsync<TRequest, TResponse>(TRequest request, bool addAcceptMediaHeader = false, string apiVersion = null)
198198
where TRequest : IContentstackService
199199
where TResponse : ContentstackResponse
200200
{
@@ -207,7 +207,7 @@ internal Task<TResponse> InvokeAsync<TRequest, TResponse>(TRequest request, bool
207207
service = request
208208
},
209209
new ResponseContext());
210-
return ContentstackPipeline.InvokeAsync<TResponse>(context, addAcceptMediaHeader);
210+
return ContentstackPipeline.InvokeAsync<TResponse>(context, addAcceptMediaHeader, apiVersion);
211211
}
212212

213213
#region Dispose methods

Contentstack.Management.Core/Models/Asset.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -246,12 +246,12 @@ public virtual Task<ContentstackResponse> DeleteAsync()
246246
/// </code></pre>
247247
/// </example>
248248
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
249-
public virtual ContentstackResponse Publish(PublishUnpublishDetails details)
249+
public virtual ContentstackResponse Publish(PublishUnpublishDetails details, string apiVersion = null)
250250
{
251251
stack.ThrowIfNotLoggedIn();
252252
ThrowIfUidEmpty();
253253

254-
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/publish", "asset");
254+
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/publish", "asset", apiVersion);
255255
return stack.client.InvokeSync(service);
256256
}
257257

@@ -266,12 +266,12 @@ public virtual ContentstackResponse Publish(PublishUnpublishDetails details)
266266
/// </code></pre>
267267
/// </example>
268268
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
269-
public virtual Task<ContentstackResponse> PublishAsync(PublishUnpublishDetails details)
269+
public virtual Task<ContentstackResponse> PublishAsync(PublishUnpublishDetails details, string apiVersion = null)
270270
{
271271
stack.ThrowIfNotLoggedIn();
272272
ThrowIfUidEmpty();
273273

274-
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/publish", "asset");
274+
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/publish", "asset", apiVersion);
275275
return stack.client.InvokeAsync<PublishUnpublishService, ContentstackResponse>(service);
276276
}
277277

@@ -286,12 +286,12 @@ public virtual Task<ContentstackResponse> PublishAsync(PublishUnpublishDetails d
286286
/// </code></pre>
287287
/// </example>
288288
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
289-
public virtual ContentstackResponse Unpublish(PublishUnpublishDetails details)
289+
public virtual ContentstackResponse Unpublish(PublishUnpublishDetails details, string apiVersion = null)
290290
{
291291
stack.ThrowIfNotLoggedIn();
292292
ThrowIfUidEmpty();
293293

294-
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/unpublish", "asset");
294+
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/unpublish", "asset", apiVersion);
295295
return stack.client.InvokeSync(service);
296296
}
297297

@@ -306,12 +306,12 @@ public virtual ContentstackResponse Unpublish(PublishUnpublishDetails details)
306306
/// </code></pre>
307307
/// </example>
308308
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
309-
public virtual Task<ContentstackResponse> UnpublishAsync(PublishUnpublishDetails details)
309+
public virtual Task<ContentstackResponse> UnpublishAsync(PublishUnpublishDetails details, string apiVersion = null)
310310
{
311311
stack.ThrowIfNotLoggedIn();
312312
ThrowIfUidEmpty();
313313

314-
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/unpublish", "asset");
314+
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/unpublish", "asset", apiVersion);
315315
return stack.client.InvokeAsync<PublishUnpublishService, ContentstackResponse>(service);
316316
}
317317

Contentstack.Management.Core/Models/Entry.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ public Task<ContentstackResponse> ReferencesAsync(ParameterCollection collection
414414
/// <param name="details">Publish/Unpublish details.</param>
415415
/// <param name="locale">Locale for entry to be publish</param>
416416
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
417-
public virtual ContentstackResponse Publish(PublishUnpublishDetails details, string locale = null)
417+
public virtual ContentstackResponse Publish(PublishUnpublishDetails details, string locale = null, string apiVersion = null)
418418
{
419419
stack.ThrowIfNotLoggedIn();
420420
ThrowIfUidEmpty();
@@ -435,13 +435,13 @@ public virtual ContentstackResponse Publish(PublishUnpublishDetails details, str
435435
/// <param name="details">Publish/Unpublish details.</param>
436436
/// <param name="locale">Locale for entry to be publish</param>
437437
/// <returns>The Task</returns>
438-
public virtual Task<ContentstackResponse> PublishAsync(PublishUnpublishDetails details, string locale = null)
438+
public virtual Task<ContentstackResponse> PublishAsync(PublishUnpublishDetails details, string locale = null, string apiVersion = null)
439439
{
440440
stack.ThrowIfNotLoggedIn();
441441
ThrowIfUidEmpty();
442442

443443
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/publish", "entry", locale);
444-
return stack.client.InvokeAsync<PublishUnpublishService, ContentstackResponse>(service);
444+
return stack.client.InvokeAsync<PublishUnpublishService, ContentstackResponse>(service, apiVersion: apiVersion);
445445
}
446446

447447
/// <summary>
@@ -456,13 +456,13 @@ public virtual Task<ContentstackResponse> PublishAsync(PublishUnpublishDetails d
456456
/// <param name="details">Publish/Unpublish details.</param>
457457
/// <param name="locale">Locale for entry to be publish</param>
458458
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
459-
public virtual ContentstackResponse Unpublish(PublishUnpublishDetails details, string locale = null)
459+
public virtual ContentstackResponse Unpublish(PublishUnpublishDetails details, string locale = null, string apiVersion = null)
460460
{
461461
stack.ThrowIfNotLoggedIn();
462462
ThrowIfUidEmpty();
463463

464464
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/unpublish", "entry", locale);
465-
return stack.client.InvokeSync(service);
465+
return stack.client.InvokeSync(service, apiVersion);
466466
}
467467

468468
/// <summary>
@@ -477,13 +477,13 @@ public virtual ContentstackResponse Unpublish(PublishUnpublishDetails details, s
477477
/// <param name="details">Publish/Unpublish details.</param>
478478
/// <param name="locale">Locale for entry to be publish</param>
479479
/// <returns>The Task</returns>
480-
public virtual Task<ContentstackResponse> UnpublishAsync(PublishUnpublishDetails details, string locale = null)
480+
public virtual Task<ContentstackResponse> UnpublishAsync(PublishUnpublishDetails details, string locale = null, string apiVersion = null)
481481
{
482482
stack.ThrowIfNotLoggedIn();
483483
ThrowIfUidEmpty();
484484

485485
var service = new PublishUnpublishService(stack.client.serializer, stack, details, $"{resourcePath}/unpublish", "entry", locale);
486-
return stack.client.InvokeAsync<PublishUnpublishService, ContentstackResponse>(service);
486+
return stack.client.InvokeAsync<PublishUnpublishService, ContentstackResponse>(service, apiVersion: apiVersion);
487487
}
488488

489489
/// <summary>

Contentstack.Management.Core/Runtime/Pipeline/ContentstackRuntimePipeline.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,18 +83,18 @@ public void AddHanlder(IPipelineHandler handler)
8383
_handler = currentHanler;
8484
}
8585

86-
public System.Threading.Tasks.Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false)
86+
public System.Threading.Tasks.Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false, string apiVersion = null)
8787
{
8888
ThrowIfDisposed();
8989

90-
return _handler.InvokeAsync<T>(executionContext, addAcceptMediaHeader);
90+
return _handler.InvokeAsync<T>(executionContext, addAcceptMediaHeader, apiVersion);
9191
}
9292

93-
public IResponseContext InvokeSync(IExecutionContext executionContext)
93+
public IResponseContext InvokeSync(IExecutionContext executionContext, string apiVersion = null)
9494
{
9595
ThrowIfDisposed();
9696

97-
_handler.InvokeSync(executionContext);
97+
_handler.InvokeSync(executionContext, apiVersion);
9898
return executionContext.ResponseContext;
9999
}
100100

Contentstack.Management.Core/Runtime/Pipeline/HttpHandler/HttpHandler.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ internal HttpHandler(HttpClient httpClient)
2323
public ILogManager LogManager { get; set; }
2424
public IPipelineHandler InnerHandler { get; set; }
2525

26-
public async System.Threading.Tasks.Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false)
26+
public async System.Threading.Tasks.Task<T> InvokeAsync<T>(IExecutionContext executionContext, bool addAcceptMediaHeader = false, string apiVersion = null)
2727
{
2828
IHttpRequest httpRequest = null;
2929
try
3030
{
3131
var requestContext = executionContext.RequestContext;
3232

33-
httpRequest = requestContext.service.CreateHttpRequest(_httpClient, requestContext.config, addAcceptMediaHeader);
33+
httpRequest = requestContext.service.CreateHttpRequest(_httpClient, requestContext.config, addAcceptMediaHeader, apiVersion);
3434

3535
if (requestContext.service.HasRequestBody() && requestContext.service.Content != null)
3636
{
@@ -57,14 +57,14 @@ public async System.Threading.Tasks.Task<T> InvokeAsync<T>(IExecutionContext exe
5757
}
5858
}
5959

60-
public void InvokeSync(IExecutionContext executionContext)
60+
public void InvokeSync(IExecutionContext executionContext, string apiVersion = null)
6161
{
6262
IHttpRequest httpRequest = null;
6363
try
6464
{
6565
var requestContext = executionContext.RequestContext;
6666

67-
httpRequest = requestContext.service.CreateHttpRequest(_httpClient, requestContext.config);
67+
httpRequest = requestContext.service.CreateHttpRequest(_httpClient, requestContext.config, apiVersion: apiVersion);
6868

6969
if (requestContext.service.HasRequestBody() && requestContext.service.Content != null)
7070
{

0 commit comments

Comments
 (0)