Skip to content

Commit

Permalink
Merge pull request #28 from flyingpie/7.10/fetch-and-lock
Browse files Browse the repository at this point in the history
Camunda 7.10 - Expanded Fetch and Lock parameters
  • Loading branch information
jlucansky authored Dec 6, 2018
2 parents 9e2f067 + 72f4de3 commit b1c5c3c
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Camunda.Api.Client/Camunda.Api.Client.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
<GenerateDocumentationFile Condition=" '$(Configuration)' == 'Release' ">true</GenerateDocumentationFile>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>2.2.0</Version>
<Version>2.3.0</Version>
<Product>Camunda REST API Client</Product>
<Company />
<Authors>Jan Lucansky</Authors>
Expand Down
66 changes: 61 additions & 5 deletions Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Collections.Generic;

namespace Camunda.Api.Client.ExternalTask
{
Expand All @@ -13,19 +14,74 @@ public FetchExternalTaskTopic(string topicName, long lockDuration)
}

/// <summary>
/// The topic's name
/// A String value which enables the filtering of tasks based on process instance business key.
/// </summary>
public string TopicName;
public string BusinessKey;

/// <summary>
/// Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side (default false).
/// </summary>
public bool DeserializeValues;

/// <summary>
/// If true only local variables will be fetched.
/// </summary>
public bool LocalVariables;

/// <summary>
/// The duration to lock the external tasks for in milliseconds.
/// </summary>
public long LockDuration;

/// <summary>
/// Filter tasks based on process definition id.
/// </summary>
public string ProcessDefinitionId;

/// <summary>
/// Filter tasks based on process definition ids.
/// </summary>
[JsonProperty("processDefinitionIdIn")]
public List<string> ProcessDefinitionIds = new List<string>();

/// <summary>
/// Filter tasks based on process definition key.
/// </summary>
public string ProcessDefinitionKey;

/// <summary>
/// Filter tasks based on process definition keys.
/// </summary>
[JsonProperty("processDefinitionKeyIn")]
public List<string> ProcessDefinitionKeys = new List<string>();

/// <summary>
/// A map of variables used for filtering tasks based on process instance variable values.
/// </summary>
public Dictionary<string, object> ProcessVariables = new Dictionary<string, object>();

/// <summary>
/// Filter tasks based on tenant ids.
/// </summary>
[JsonProperty("tenantIdIn")]
public List<string> TenantIds = new List<string>();

/// <summary>
/// Array of String values that represent variable names.
/// The topic's name
/// </summary>
public string TopicName;

/// <summary>
/// Array of String values that represent variable names.
/// For each result task belonging to this topic, the given variables are returned as well if they are accessible from the external task's execution.
/// </summary>
public List<string> Variables;

/// <summary>
/// Filter tasks without tenant id.
/// </summary>
public bool WithoutTenantId;

public override string ToString() => TopicName;
}
}
}

0 comments on commit b1c5c3c

Please sign in to comment.