Skip to content

Commit 3e4ee37

Browse files
authored
feat: Add RecordingRule and RecordingRulesUpdate (#527)
1 parent c22a0a6 commit 3e4ee37

File tree

2 files changed

+93
-0
lines changed

2 files changed

+93
-0
lines changed

src/Twilio/Types/RecordingRule.cs

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
using Twilio.Converters;
4+
5+
/// <summary>
6+
/// Recording Rule - A single Recording Rule for a Room
7+
/// </summary>
8+
namespace Twilio.Types
9+
{
10+
public class RecordingRule
11+
{
12+
13+
public sealed class TypeEnum : StringEnum
14+
{
15+
private TypeEnum(string value) : base(value) {}
16+
17+
public TypeEnum() {}
18+
public static readonly TypeEnum Include = new TypeEnum("include");
19+
public static readonly TypeEnum Exclude = new TypeEnum("exclude");
20+
}
21+
22+
public sealed class KindEnum : StringEnum
23+
{
24+
private KindEnum(string value) : base(value) {}
25+
26+
public KindEnum() {}
27+
28+
public static readonly KindEnum Audio = new KindEnum("audio");
29+
public static readonly KindEnum Data = new KindEnum("data");
30+
public static readonly KindEnum Video = new KindEnum("video");
31+
}
32+
33+
[JsonProperty("type")]
34+
[JsonConverter(typeof(StringEnumConverter))]
35+
public TypeEnum Type { get; private set; }
36+
37+
[JsonProperty("all")]
38+
public bool? All { get; private set; }
39+
40+
[JsonProperty("publisher")]
41+
public string Publisher { get; private set; }
42+
43+
[JsonProperty("track")]
44+
public string Track { get; private set; }
45+
46+
[JsonProperty("kind")]
47+
[JsonConverter(typeof(StringEnumConverter))]
48+
public KindEnum Kind { get; private set; }
49+
50+
public RecordingRule (
51+
[JsonProperty("type")]
52+
TypeEnum type,
53+
[JsonProperty("all")]
54+
bool? all,
55+
[JsonProperty("publisher")]
56+
string publisher,
57+
[JsonProperty("track")]
58+
string track,
59+
[JsonProperty("kind")]
60+
KindEnum kind
61+
)
62+
{
63+
Type = type;
64+
All = all;
65+
Publisher = publisher;
66+
Track = track;
67+
Kind = kind;
68+
}
69+
}
70+
}
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
using Twilio.Converters;
4+
5+
/// <summary>
6+
/// Recording Rule Update - Used to update the list of Recording Rules
7+
/// </summary>
8+
namespace Twilio.Types
9+
{
10+
public class RecordingRulesUpdate
11+
{
12+
[JsonProperty("rules")]
13+
public List<RecordingRule> Rules { get; private set; }
14+
15+
public RecordingRulesUpdate (
16+
[JsonProperty("rules")]
17+
List<RecordingRule> rules
18+
)
19+
{
20+
Rules = rules;
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)