UNPKG

@luka-cat-mimi/n8n-nodes-feishu-project

Version:
83 lines 4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const RequestUtils_1 = __importDefault(require("../../../help/utils/RequestUtils")); const sharedOptions_1 = require("../../../help/utils/sharedOptions"); const UserGetInfoOperate = { name: '查询用户信息', value: 'user:query', order: 40, options: [ { displayName: '用户Key列表', name: 'user_keys', type: 'string', default: '', description: '飞书项目的 user_key 数组。开发者自己的 user_key 可在飞书项目空间左下角双击个人头像获取;租户内其他成员的 user_key 请通过搜索租户内的用户列表接口获取。user_keys、out_ids、emails 三个参数必须至少提供一个(最多100个)', }, { displayName: 'UnionId列表', name: 'out_ids', type: 'string', default: '', description: '飞书开放平台的 UnionId 数组,用于标识同一应用服务商开发的多个应用中的统一身份。user_keys、out_ids、emails 三个参数必须至少提供一个(最多100个)', }, { displayName: '邮箱列表', name: 'emails', type: 'string', default: '', description: '邮箱数组。通过邮箱查询时,需要确保邮箱已绑定飞书。user_keys、out_ids、emails 三个参数必须至少提供一个(最多100个)', }, { displayName: '租户Key', name: 'tenant_key', type: 'string', default: '', description: '待查询用户所在飞书项目租户的 saas_tenant_key。此参数适用于邮箱查询场景。当查询非插件关联租户的用户时,此参数为必填。例如:租户X开发了插件A,租户Y安装了插件A,要查询租户Y的用户信息时,需要填写此参数。如果此参数为空,则视为查询插件关联租户下的用户信息', }, sharedOptions_1.commonOptions, ], async call(index) { const userKeys = this.getNodeParameter('user_keys', index); const outIds = this.getNodeParameter('out_ids', index); const emails = this.getNodeParameter('emails', index); const tenantKey = this.getNodeParameter('tenant_key', index); const options = this.getNodeParameter('options', index, {}); const body = {}; const userKeysArray = Array.isArray(userKeys) ? userKeys.filter((key) => key && key.trim()) : (userKeys && userKeys.trim() ? [userKeys] : []); if (userKeysArray.length > 0) { body.user_keys = userKeysArray; } const outIdsArray = Array.isArray(outIds) ? outIds.filter((id) => id && id.trim()) : (outIds && outIds.trim() ? [outIds] : []); if (outIdsArray.length > 0) { body.out_ids = outIdsArray; } const emailsArray = Array.isArray(emails) ? emails.filter((email) => email && email.trim()) : (emails && emails.trim() ? [emails] : []); if (emailsArray.length > 0) { body.emails = emailsArray; } if (userKeysArray.length === 0 && outIdsArray.length === 0 && emailsArray.length === 0) { throw new Error('user_keys、out_ids、emails 三个参数必须至少提供一个'); } if (tenantKey && tenantKey.trim()) { body.tenant_key = tenantKey.trim(); } return RequestUtils_1.default.request.call(this, { method: 'POST', url: `/open_api/user/query`, body: body, timeout: options.timeout, }); } }; exports.default = UserGetInfoOperate; //# sourceMappingURL=UserGetInfoOperate.js.map