@@ -24,12 +24,12 @@ type MessagingFeatureConfig struct {
2424 EmailUsage * UsageLimitConfig `json:"email_usage,omitempty"`
2525 WhatsappUsage * UsageLimitConfig `json:"whatsapp_usage,omitempty"`
2626
27- SMSUsageCountDisabled bool `json:"sms_usage_count_disabled,omitempty"`
28- WhatsappUsageCountDisabled bool `json:"whatsapp_usage_count_disabled,omitempty"`
27+ SMSUsageCountDisabled * bool `json:"sms_usage_count_disabled,omitempty"`
28+ WhatsappUsageCountDisabled * bool `json:"whatsapp_usage_count_disabled,omitempty"`
2929
30- TemplateCustomizationDisabled bool `json:"template_customization_disabled,omitempty"`
30+ TemplateCustomizationDisabled * bool `json:"template_customization_disabled,omitempty"`
3131
32- CustomSMTPDisabled bool `json:"custom_smtp_disabled,omitempty"`
32+ CustomSMTPDisabled * bool `json:"custom_smtp_disabled,omitempty"`
3333}
3434
3535var _ MergeableFeatureConfig = & MessagingFeatureConfig {}
@@ -38,7 +38,36 @@ func (c *MessagingFeatureConfig) Merge(layer *FeatureConfig) MergeableFeatureCon
3838 if layer .Messaging == nil {
3939 return c
4040 }
41- return layer .Messaging
41+ var merged * MessagingFeatureConfig = c
42+ if merged == nil {
43+ merged = & MessagingFeatureConfig {}
44+ }
45+ if layer .Messaging .RateLimits != nil {
46+ merged .RateLimits = layer .Messaging .RateLimits
47+ }
48+ if layer .Messaging .SMSUsage != nil {
49+ merged .SMSUsage = layer .Messaging .SMSUsage
50+ }
51+ if layer .Messaging .EmailUsage != nil {
52+ merged .EmailUsage = layer .Messaging .EmailUsage
53+ }
54+ if layer .Messaging .WhatsappUsage != nil {
55+ merged .WhatsappUsage = layer .Messaging .WhatsappUsage
56+ }
57+ if layer .Messaging .SMSUsageCountDisabled != nil {
58+ merged .SMSUsageCountDisabled = layer .Messaging .SMSUsageCountDisabled
59+ }
60+ if layer .Messaging .WhatsappUsageCountDisabled != nil {
61+ merged .WhatsappUsageCountDisabled = layer .Messaging .WhatsappUsageCountDisabled
62+ }
63+ if layer .Messaging .TemplateCustomizationDisabled != nil {
64+ merged .TemplateCustomizationDisabled = layer .Messaging .TemplateCustomizationDisabled
65+ }
66+ if layer .Messaging .CustomSMTPDisabled != nil {
67+ merged .CustomSMTPDisabled = layer .Messaging .CustomSMTPDisabled
68+ }
69+
70+ return merged
4271}
4372
4473func (c * MessagingFeatureConfig ) SetDefaults () {
@@ -57,6 +86,19 @@ func (c *MessagingFeatureConfig) SetDefaults() {
5786 Enabled : newBool (false ),
5887 }
5988 }
89+
90+ if c .SMSUsageCountDisabled == nil {
91+ c .SMSUsageCountDisabled = newBool (false )
92+ }
93+ if c .WhatsappUsageCountDisabled == nil {
94+ c .WhatsappUsageCountDisabled = newBool (false )
95+ }
96+ if c .TemplateCustomizationDisabled == nil {
97+ c .TemplateCustomizationDisabled = newBool (false )
98+ }
99+ if c .CustomSMTPDisabled == nil {
100+ c .CustomSMTPDisabled = newBool (false )
101+ }
60102}
61103
62104var _ = FeatureConfigSchema .Add ("MessagingRateLimitsFeatureConfig" , `
0 commit comments