diff --git a/OPI/src/CommonModules/OPI_Notion/Module.bsl b/OPI/src/CommonModules/OPI_Notion/Module.bsl index 4aa44a512..503f807ee 100644 --- a/OPI/src/CommonModules/OPI_Notion/Module.bsl +++ b/OPI/src/CommonModules/OPI_Notion/Module.bsl @@ -57,7 +57,7 @@ // Параметры: // Токен - Строка - Токен // Родитель - Строка - ID родительской базы -// Свойства - Соответствие - Соответствие свойств. Должен соответствовать шаблону свойств базы +// Данные - Соответствие Из КлючИЗначение - Соответствие свойств. Должен соответствовать шаблону свойств базы // // Возвращаемое значение: // Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Создать страницу в базу @@ -96,7 +96,25 @@ КонецФункции -Функция ИзменитьСвойстваСтраницы(Знач Токен, Знач Страница, Знач Данные = "", Знач Иконка = "", Знач Обложка = "", Знач Архивирована = Ложь) Экспорт +// Изменить свойства страницы. +// +// Параметры: +// Токен - Строка - Токен +// Страница - Строка - ID изменяемой страницы +// Данные - Соответствие Из КлючИЗначение - Соответствие изменяемых параметров +// Иконка - Строка - URL картинки - иконки страницы +// Обложка - Строка - URL картинки - обложки страницы +// Архивирована - Булево - Истина - Архивировать страницу +// +// Возвращаемое значение: +// Строка, Произвольный, Неопределено, HTTPОтвет, ДвоичныеДанные - Изменить свойства страницы +//@skip-check method-too-many-params +Функция ИзменитьСвойстваСтраницы(Знач Токен + , Знач Страница + , Знач Данные = "" + , Знач Иконка = "" + , Знач Обложка = "" + , Знач Архивирована = Ложь) Экспорт Заголовки = СоздатьЗаголовкиЗапроса(Токен); Параметры = Новый Структура; @@ -194,7 +212,7 @@ // База - Строка - ID базы данных // // Возвращаемое значение: -// Строка, Произвольный, ДвоичныеДанные, Неопределено - Получить базу данных +// Строка, Произвольный, ДвоичныеДанные, Неопределено - Ответ сервера Notion Функция ПолучитьБазуДанных(Знач Токен, Знач База) Экспорт Заголовки = СоздатьЗаголовкиЗапроса(Токен); @@ -206,6 +224,42 @@ КонецФункции +// Изменить свойства базы. +// +// Параметры: +// Токен - Строка - Токен +// База - Строка - ID целевой базы +// Свойства - Соответствие из КлючИЗначение - Соответствие, как при создании новой базы. Если значение - пусто, +// то свойство будет удалено +// Заголовок - Строка - Заголовок базы +// Описание - Строка - Описание базы +// +// Возвращаемое значение: +// Строка, Произвольный, Неопределено, HTTPОтвет, ДвоичныеДанные - Ответ сервера Notion +Функция ИзменитьСвойстваБазы(Знач Токен, Знач База, Знач Свойства = "", Знач Заголовок = "", Знач Описание = "") Экспорт + + Параметры = Новый Структура; + Заголовки = СоздатьЗаголовкиЗапроса(Токен); + ПреобразоватьИД(База); + + Если ЗначениеЗаполнено(Заголовок) Тогда + ДобавитьЗаголовокБазы(Заголовок, Параметры); + КонецЕсли; + + Если ЗначениеЗаполнено(Описание) Тогда + ДобавитьОписаниеБазы(Описание, Параметры); + КонецЕсли; + + Если ТипЗнч(Свойства) = Тип("Структура") Или ТипЗнч(Свойства) = Тип("Соответствие") Тогда + ДобавитьСвойстваБазы(Свойства, Параметры); + КонецЕсли; + + Ответ = OPI_Инструменты.Patch("https://api.notion.com/v1/databases"+ База, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + #КонецОбласти #КонецОбласти @@ -293,6 +347,13 @@ КонецПроцедуры +Процедура ДобавитьОписаниеБазы(Знач Описание, ОсновнаяСтруктура) + + Заголовок = ПреобразоватьЗаголовок(Описание); + ОсновнаяСтруктура.Вставить("description", Заголовок["title"]); + +КонецПроцедуры + Процедура ДобавитьСвойстваБазы(Знач Свойства, ОсновнаяСтруктура) Если Свойства.Количество() = 0 Тогда