UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

82 lines (81 loc) 2.54 kB
/** 工蜂用户信息 */ export interface TGitUser { id: number; username: string; name?: string; [k: string]: unknown; } /** * 根据用户 ID 获取工蜂用户信息 * * 对应工蜂 API:GET /api/v3/users/:id * * 应用场景:Webhook payload 中 `author.username` 可能不是标准 RTX, * 此时可以通过 `author_id` 反查拿到准确的 username。 * * @param {object} options 输入配置 * @param {number | string} options.userId 用户 ID * @param {string} options.privateToken 密钥 * @param {string} [options.baseUrl] baseUrl * @returns {Promise<TGitUser | null>} 用户信息,失败或缺字段返回 null * @example * * getUserById({ * userId: 12345, * privateToken: 'xxxxx', * }).then((user) => { * console.log(user?.username); * }) */ export declare function getUserById({ userId, privateToken, baseUrl, }: { userId: number | string; privateToken: string; baseUrl?: string; }): Promise<TGitUser | null>; /** * 根据用户名(英文名 / RTX)获取工蜂用户信息 * * 对应工蜂 API:GET /api/v3/users?search=:username * 搜索接口可能返回多条结果,本函数会精确匹配 `username`,不命中返回 null。 * * @param {object} options 输入配置 * @param {string} options.username 用户名 * @param {string} options.privateToken 密钥 * @param {string} [options.baseUrl] baseUrl * @returns {Promise<number | null>} 用户 ID * @example * * getUserIdByUsername({ * username: 'novlan1', * privateToken: 'xxxxx', * }).then((userId) => { * console.log(userId); // 未命中返回 null * }) */ export declare function getUserIdByUsername({ username, privateToken, baseUrl, }: { username: string; privateToken: string; baseUrl?: string; }): Promise<number | null>; /** * 批量将用户名列表转换为用户 ID 列表(跳过找不到的) * * @param {object} options 输入配置 * @param {string[]} options.usernames 用户名数组 * @param {string} options.privateToken 密钥 * @param {string} [options.baseUrl] baseUrl * @returns {Promise<string[]>} 用户 ID 字符串数组(顺序与输入保持一致,跳过缺失项) * @example * * resolveUserIds({ * usernames: ['novlan1', 'someone'], * privateToken: 'xxxxx', * }).then((ids) => { * console.log(ids); // [ '1234', '5678' ] * }) */ export declare function resolveUserIds({ usernames, privateToken, baseUrl, }: { usernames: string[]; privateToken: string; baseUrl?: string; }): Promise<string[]>;