@lark-project/cli
Version:
飞书项目插件开发工具
35 lines (34 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyLocalPointConfig = void 0;
const request_1 = require("../request");
const get_tool_auth_headers_1 = require("../get-tool-auth-headers");
const localToBackend_1 = require("../../utils/transform/localToBackend");
const snapshot_1 = require("../../utils/point-eval/snapshot");
const generate_and_upload_icon_1 = require("../../utils/generate-and-upload-icon");
const logger_1 = require("../../utils/logger");
async function applyLocalPointConfig(params) {
const { pluginId, siteDomain, pointInfoMap, saveSnapshot: shouldSave, caseId } = params;
// liteAppComponent 就不考虑用户输入了,避免不可用:优先复用插件级 icon,再不行就生成一张 builder 专用图标兜底
const needIconFallback = true;
let fallbackIconUrl;
if (needIconFallback) {
fallbackIconUrl = await (0, generate_and_upload_icon_1.resolveBuilderFallbackIcon)({ siteDomain, appKey: pluginId });
if (!fallbackIconUrl) {
logger_1.logger.warn('Resolve builder fallback icon failed, points without icon will be uploaded as-is.');
}
}
const transformedPointInfoMap = (0, localToBackend_1.transformQueryLocalConfig)(pointInfoMap, { fallbackIconUrl });
if (shouldSave && caseId && Object.keys(transformedPointInfoMap).length > 0) {
(0, snapshot_1.saveSnapshot)(caseId, transformedPointInfoMap);
}
await (0, request_1.request)(`${siteDomain}/goapi/v5/app/development/tool/apply_point_config`, {
method: 'POST',
data: {
plugin_id: pluginId,
point_info_map: transformedPointInfoMap,
},
headers: await (0, get_tool_auth_headers_1.getToolAuthHeaders)(siteDomain),
});
}
exports.applyLocalPointConfig = applyLocalPointConfig;