Utils содержит небольшие хелперы, которые используются многими компонентами и сервисами.
Универсальные WebSocket вызовы
Эти функции используют инстанс встроенного клиента (экспортируется какMSM2App), чтобы вызывать unified WebSocket JSON API:
callService(beanId, scope, functionName, args, eventType?, endpoint?)callRepository(repositoryId, query, eventType?, endpoint?)updateBean(beanId, scope, payload, eventType?, endpoint?)
Вызов backend-сервиса
callService возвращает Promise с полным ответом клиента. Полезная нагрузка находится в response.result:
scope обычно равен PROTOTYPE. eventType определяет область публикации ответа (USER, SHARED или GLOBAL), а endpoint позволяет указать дополнительный destination для событий.
Вызов репозитория
callRepository принимает имя репозитория и Mongo-подобный объект запроса:
Обновление bean
updateBean обновляет значения bean, зарегистрированного с помощью @Component или @Service, и отправляет payload на backend без ручной работы с RxJS. Например, можно обновить DummyBean:
MSM2App, поэтому библиотека должна быть инициализирована до вызова сервиса. Ошибки и права доступа следует обрабатывать на уровне вызывающего кода.
Хелперы контекста и настроек
getLangCode()getActiveLanguages()getLanguageDetection()getWebSiteSettings()getCdnFolder()getSecuredFolder()getSeoUrl(entityId, repositoryName)getSuperUserLogin()getAttributeTypes()getAttributeAreaTypes()getFormattedDate(date, pattern)isLogged()getLoggedProfile()isOpenAiActive()
Cookies и URL хелперы
getCookie(name)setCookie(name, value, expires?, domain?, path?)deleteAllCookies(ignore)getDomainName()languageAwareUrl(url)setPlatformInfo()escapeRegExp(string)getPayloadOfForm(element)