-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathPublishRule.cs
More file actions
183 lines (170 loc) · 8.53 KB
/
PublishRule.cs
File metadata and controls
183 lines (170 loc) · 8.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
using System.Threading.Tasks;
using Contentstack.Management.Core.Queryable;
using Contentstack.Management.Core.Services.Models;
namespace Contentstack.Management.Core.Models
{
public class PublishRule: BaseModel<PublishRuleModel>
{
internal PublishRule(Stack stack, string uid)
: base(stack, "publishing_rule", uid)
{
resourcePath = uid == null ? "/workflows/publishing_rules" : $"/workflows/publishing_rules/{uid}";
}
/// <summary>
/// The Get all Publish Rules request retrieves the details of all the Publish rules of a workflow.
/// </summary>
/// <param name="collection">Query parameter</param>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// ContentstackResponse contentstackResponse = client.Stack("<API_KEY>").Workflow().PublishRule().FindAll();
/// </code></pre>
/// </example>
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
public virtual ContentstackResponse FindAll(ParameterCollection collection = null)
{
stack.ThrowIfNotLoggedIn();
ThrowIfUidNotEmpty();
var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection);
return stack.client.InvokeSync(service);
}
/// <summary>
/// The Get all Publish Rules request retrieves the details of all the Publish rules of a workflow.
/// </summary>
/// <param name="collection">Query parameter</param>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// ContentstackResponse contentstackResponse = await client.Stack("<API_KEY>").Workflow().PublishRule().FindAllAsync();
/// </code></pre>
/// </example>
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
public virtual Task<ContentstackResponse> FindAllAsync(ParameterCollection collection = null)
{
stack.ThrowIfNotLoggedIn();
ThrowIfUidNotEmpty();
var service = new FetchDeleteService(stack.client.serializer, stack, resourcePath, collection: collection);
return stack.client.InvokeAsync<FetchDeleteService, ContentstackResponse>(service);
}
/// <summary>
/// The Create Publish Rules request allows you to create publish rules for the workflow of a stack.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// PublishRuleModel model = new PublishRuleModel();
/// ContentstackResponse contentstackResponse = client.Stack("<API_KEY>").Workflow().PublishRule().Create(model);
/// </code></pre>
/// </example>
/// <param name="model">PublishRule Model for creating workflow.</param>
/// <returns></returns>
public override ContentstackResponse Create(PublishRuleModel model, ParameterCollection collection = null)
{
return base.Create(model, collection);
}
/// <summary>
/// The Create Publish Rules request allows you to create publish rules for the workflow of a stack.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// PublishRuleModel model = new PublishRuleModel();
/// ContentstackResponse contentstackResponse = await client.Stack("<API_KEY>").Workflow().PublishRule().CreateAsync(model);
/// </code></pre>
/// </example>
/// <param name="model">PublishRule Model for creating workflow.</param>
/// <returns></returns>
public override Task<ContentstackResponse> CreateAsync(PublishRuleModel model, ParameterCollection collection = null)
{
return base.CreateAsync(model, collection);
}
/// <summary>
/// The Update Publish Rules request allows you to add a publish rule or update the details of the existing publish rules of a workflow.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// PublishRuleModel model = new PublishRuleModel();
/// ContentstackResponse contentstackResponse = client.Stack("<API_KEY>").Workflow().PublishRule("<PUBLISH_RULE_UID>").Update(model);
/// </code></pre>
/// </example>
/// <param name="model">PublishRule Model for updating Content Type.</param>
/// <returns></returns>
public override ContentstackResponse Update(PublishRuleModel model, ParameterCollection collection = null)
{
return base.Update(model, collection);
}
/// <summary>
/// The Update Publish Rules request allows you to add a publish rule or update the details of the existing publish rules of a workflow.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// PublishRuleModel model = new PublishRuleModel();
/// ContentstackResponse contentstackResponse = await client.Stack("<API_KEY>").Workflow().PublishRule("<PUBLISH_RULE_UID>").UpdateAsync(model);
/// </code></pre>
/// </example>
/// <param name="model">PublishRule Model for updating Content Type.</param>
/// <returns></returns>
public override Task<ContentstackResponse> UpdateAsync(PublishRuleModel model, ParameterCollection collection = null)
{
return base.UpdateAsync(model, collection);
}
/// <summary>
/// The fetch Publish Rule request retrieves the comprehensive details of a specific publish rule of a Workflow.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// ContentstackResponse contentstackResponse = client.Stack("<API_KEY>").Workflow().PublishRule("<PUBLISH_RULE_UID>").Fetch();
/// </code></pre>
/// </example>
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
public override ContentstackResponse Fetch(ParameterCollection collection = null)
{
return base.Fetch(collection);
}
/// <summary>
/// The fetch Publish Rule request retrieves the comprehensive details of a specific publish rule of a Workflow.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// ContentstackResponse contentstackResponse = await client.Stack("<API_KEY>").Workflow().PublishRule("<PUBLISH_RULE_UID>").FetchAsync();
/// </code></pre>
/// </example>
/// <returns>The Task.</returns>
public override Task<ContentstackResponse> FetchAsync(ParameterCollection collection = null)
{
return base.FetchAsync(collection);
}
/// <summary>
/// The Delete Publish Rules request allows you to delete an existing publish rule.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// ContentstackResponse contentstackResponse = client.Stack("<API_KEY>").Workflow().PublishRule("<PUBLISH_RULE_UID>").Delete();
/// </code></pre>
/// </example>
/// <returns>The <see cref="ContentstackResponse"/>.</returns>
public override ContentstackResponse Delete(ParameterCollection collection = null)
{
return base.Delete(collection);
}
/// <summary>
/// The Delete Publish Rules request allows you to delete an existing publish rule.
/// </summary>
/// <example>
/// <pre><code>
/// ContentstackClient client = new ContentstackClient("<AUTHTOKEN>", "<API_HOST>");
/// ContentstackResponse contentstackResponse = await client.Stack("<API_KEY>").Workflow().PublishRule("<PUBLISH_RULE_UID>").DeleteAsync();
/// </code></pre>
/// </example>
/// <returns>The Task.</returns>
public override Task<ContentstackResponse> DeleteAsync(ParameterCollection collection = null)
{
return base.DeleteAsync(collection);
}
}
}