UNPKG

@lark-project/cli

Version:

飞书项目插件开发工具

40 lines (39 loc) 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getVersionDiff = void 0; const request_1 = require("../request"); const get_tool_auth_headers_1 = require("../get-tool-auth-headers"); /** * 版本权限变更 diff(发布前确认用)。 * * Backend: app_center dev-token Tool API * GET /goapi/v5/app/development/tool/version/diff * (APIAppDevelopmentToolListPermDiff → 复用开发者后台 /v1/version/diff 的 * service.GetPermDiff + authSvc.GetPermList,developer token 鉴权) * * Wire shape 对齐 meego_idl `app_center/api/api_app_development.thrift` * 的 APIAppDevelopmentListPermDiffRequest / Response(list<DiffInfo>)。 * * 语义(核对后端 app_center service.GetPermDiff + handler APIListPermDiff): * handler 调 `GetPermDiff(appKey, version=app_version, targetVersion="")`—— * - `version`(= 本接口的 `app_version` 入参)是**对比基线**; * - `targetVersion` 写死 "",GetPermDiff 内部在「最新版本是草稿且 ≠ 基线」时把它**解析成该草稿**(要发布的那份)。 * 于是 `add` = 草稿相对基线新增的权限、`remove` = 草稿移除的权限。 * * ⚠️ **`app_version` 省略(="")会触发后端退化分支**:`add` = 草稿声明的全部权限、 * `remove` 恒空。要拿"相对线上版本的真实增量",**调用方必须传线上生效版本号** * (version 列表里 status===OnShelf 那条)——纯调用方职责,后端无需改。 */ const DIFF_PATH = '/goapi/v5/app/development/tool/version/diff'; async function getVersionDiff({ siteDomain, appKey, appVersion, }) { const params = { app_key: appKey }; if (appVersion) { params.app_version = appVersion; } return (0, request_1.request)(`${siteDomain}${DIFF_PATH}`, { method: 'GET', params, headers: await (0, get_tool_auth_headers_1.getToolAuthHeaders)(siteDomain), }); } exports.getVersionDiff = getVersionDiff;