Опытным путем выяснил, что вот так получилось получить пользователя по логину:
Код:
const user = await System.users.search()
.where(
(f, g) =>
g.and(
f.__deletedAt.eq(null),
(f.login as StringFieldOperand<string>).eq(login)
)
)
.first();
P.S. небольшое отступление - .eq() ищет с учетом регистра like - работает, но может захватить что-то лишнее... беда
Код:
let user = await System.users.getCurrentUser();
if (user.data.login){
Context.data.login = user.data.login
}
Да, работает, только редактор кода в рабочем процессе не дает это сделать - ругается при публикации на ".login". Пришлось его обманывать:
Код:
const userLogin = Object.getOwnPropertyNames(user.data).indexOf('login') != -1 ? (user.data as any).login as string | undefined : undefined;