fix: не отправлять в SharePoint поля с пустым значением
Состав полей зависит от вида обращения и анонимности, поэтому часть строк заведомо пустая. Пустая строка в списке выглядит как заполненное значение, а не как отсутствующее поле — теперь такие поля выпадают из payload. Значения обрезаются, так что поле из одних пробелов тоже не уедет. WantsFeedback остаётся всегда: false здесь осмысленно, а не пусто. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -55,7 +55,7 @@ function buildFields(data: IFeedbackSubmission): Record<string, unknown> {
|
|||||||
console.warn(`Неизвестный id компании из формы, отправляю как есть: ${data.company}`);
|
console.warn(`Неизвестный id компании из формы, отправляю как есть: ${data.company}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
const fields: Record<string, unknown> = {
|
||||||
Title: name ? `${typeLabel} — ${name}` : typeLabel,
|
Title: name ? `${typeLabel} — ${name}` : typeLabel,
|
||||||
Company: companyName ?? data.company,
|
Company: companyName ?? data.company,
|
||||||
Name: name,
|
Name: name,
|
||||||
@@ -65,6 +65,17 @@ function buildFields(data: IFeedbackSubmission): Record<string, unknown> {
|
|||||||
SuggestionText: data.suggestion,
|
SuggestionText: data.suggestion,
|
||||||
WantsFeedback: data.wantsFeedback
|
WantsFeedback: data.wantsFeedback
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Состав полей зависит от вида обращения и анонимности, поэтому часть строк
|
||||||
|
// заведомо пустая (у предложения нет описания ситуации, у анонимного — ФИО).
|
||||||
|
// Такие поля не отправляем вовсе: пустая строка в списке выглядит как
|
||||||
|
// заполненное значение, а не как «поля не было». WantsFeedback при этом
|
||||||
|
// остаётся всегда — false здесь осмысленное значение, а не пустота.
|
||||||
|
return Object.fromEntries(
|
||||||
|
Object.entries(fields)
|
||||||
|
.map(([key, value]) => [key, typeof value === 'string' ? value.trim() : value])
|
||||||
|
.filter(([, value]) => value !== '')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function submitFeedback(data: IFeedbackSubmission): Promise<void> {
|
export async function submitFeedback(data: IFeedbackSubmission): Promise<void> {
|
||||||
|
|||||||
Reference in New Issue
Block a user