Skip to content

Commit dc777cf

Browse files
authored
Merge pull request #23 from granstel/#15
Fix salute mapping
2 parents 6f791f4 + 79243ff commit dc777cf

File tree

2 files changed

+30
-13
lines changed

2 files changed

+30
-13
lines changed

src/FillInTheTextBot.Api/FillInTheTextBot.Api.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>net6.0</TargetFramework>
5-
<Version>1.14.0</Version>
5+
<Version>1.15.1</Version>
66
<PackageReleaseNotes>net6.0</PackageReleaseNotes>
77
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
88
</PropertyGroup>

src/FillInTheTextBot.Messengers.Sber/SberProfile.cs

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,11 @@ public SberProfile()
7777
.ForMember(d => d.ScopeKey, m => m.Ignore());
7878

7979
CreateMap<InternalModels.Response, Response>()
80-
.ForMember(d => d.Payload, m => m.MapFrom(s => s))
81-
;
80+
.ForMember(d => d.Payload, m => m.MapFrom(s => s)) // See CreateMap<InternalModels.Response, ResponsePayload>()
81+
.ForMember(d => d.MessageName, m => m.Ignore())
82+
.ForMember(d => d.SessionId, m => m.Ignore())
83+
.ForMember(d => d.MessageId, m => m.Ignore())
84+
.ForMember(d => d.Uuid, m => m.Ignore());
8285

8386
CreateMap<InternalModels.Response, ResponsePayload>()
8487
.ForMember(d => d.PronounceText, m => m.MapFrom(s => s.Text))
@@ -93,7 +96,9 @@ public SberProfile()
9396
}))
9497
.ForMember(d => d.Items, m => m.MapFrom(s => s))
9598
.ForMember(d => d.Suggestions, m => m.MapFrom(s => s.Buttons.Where(b => b.IsQuickReply)))
96-
;
99+
.ForMember(d => d.Intent, m => m.Ignore())
100+
.ForMember(d => d.ProjectName, m => m.Ignore())
101+
.ForMember(d => d.Device, m => m.Ignore());
97102

98103
CreateMap<string, Emotion>()
99104
.ForMember(d => d.EmotionId, m => m.MapFrom(s => s));
@@ -106,7 +111,7 @@ public SberProfile()
106111
CreateMap<InternalModels.Button, Button>()
107112
.ForMember(d => d.Title, m => m.MapFrom(s => s.Text))
108113
.ForMember(d => d.Action, m => m.MapFrom(s => s))
109-
;
114+
.ForMember(d => d.Actions, m => m.Ignore());
110115

111116
CreateMap<InternalModels.Button, SberModels.Action>()
112117
.ForMember(d => d.Text, m => m.MapFrom(s => s.Text))
@@ -133,18 +138,33 @@ public SberProfile()
133138
.ForMember(d => d.Device, m => m.MapFrom(s => s.Device))
134139
.ForMember(d => d.ProjectName, m => m.Ignore())
135140
.ForMember(d => d.Intent, m => m.Ignore())
136-
;
141+
.ForMember(d => d.PronounceText, m => m.Ignore())
142+
.ForMember(d => d.PronounceTextType, m => m.Ignore())
143+
.ForMember(d => d.Emotion, m => m.Ignore())
144+
.ForMember(d => d.Items, m => m.Ignore())
145+
.ForMember(d => d.Suggestions, m => m.Ignore())
146+
.ForMember(d => d.AutoListening, m => m.Ignore())
147+
.ForMember(d => d.Finished, m => m.Ignore());
137148
}
138149

139150
private PayloadItem[] MapResponseToItem(InternalModels.Response source, PayloadItem[] destinations, ResolutionContext context)
140151
{
152+
var result = new List<PayloadItem>();
153+
141154
var itemWithBubble = new PayloadItem
142155
{
143156
Bubble = { Text = source.Text }
144157
};
145158

159+
result.Add(itemWithBubble);
160+
146161
var buttons = source.Buttons?.Where(b => !b.IsQuickReply).ToList();
147162

163+
if (buttons?.Any() != true)
164+
{
165+
return result.ToArray();
166+
}
167+
148168
var cardItems = buttons?.Select(b =>
149169
{
150170
var cardItem = new CardCell
@@ -153,7 +173,7 @@ private PayloadItem[] MapResponseToItem(InternalModels.Response source, PayloadI
153173
TopText = new CardCellText
154174
{
155175
Type = CellTypeValues.TextCellView,
156-
Text = string.Empty,
176+
Text = " ",
157177
Typeface = TypefaceValues.Caption,
158178
TextColor = TextColorValues.Default
159179
},
@@ -193,12 +213,9 @@ private PayloadItem[] MapResponseToItem(InternalModels.Response source, PayloadI
193213
ItemWidth = ItemWidthValues.Resizable
194214
};
195215

196-
var itemWithCard = new PayloadItem
197-
{
198-
Card = card
199-
};
216+
itemWithBubble.Card = card;
200217

201-
return new[] { itemWithBubble, itemWithCard };
218+
return result.ToArray();
202219
}
203220

204221
private Suggestion MapButtonsToSuggestion(IEnumerable<InternalModels.Button> source, Suggestion destination, ResolutionContext context)
@@ -213,4 +230,4 @@ private Suggestion MapButtonsToSuggestion(IEnumerable<InternalModels.Button> sou
213230
return suggest;
214231
}
215232
}
216-
}
233+
}

0 commit comments

Comments
 (0)