"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.syncSmsTemplate = void 0; const uuid_1 = require("oak-domain/lib/utils/uuid"); const index_1 = require("../utils/sms/index"); async function syncSmsTemplate(params, context) { const { origin, systemId, pageIndex, pageSize } = params; const Sms = (0, index_1.getSms)(origin); const templateFormalData = await Sms.syncTemplate({ systemId: systemId, pageIndex, pageSize }, context); const existTemplateList = await context.select('smsTemplate', { data: { id: 1, templateName: 1, templateCode: 1, templateContent: 1, }, filter: { systemId, origin, }, }, { dontCollect: true, }); // const existsTemplateIds = existTemplateList.map((ele) => ele.templateCode); // const newTemplateList = templateFormalData.filter( // (ele) => !existsTemplateIds.includes(ele.templateCode) // ); // const newTemplateIds = newTemplateList.map((ele) => ele.templateCode); // const removeTemplateList = existTemplateList.filter( // (ele) => !newTemplateIds.includes(ele.templateCode!) // ); for (const template of templateFormalData) { const { templateName, templateCode, templateContent } = template; const existTemplate = existTemplateList.find((ele) => ele.templateCode === template.templateCode); if (existTemplate) { await context.operate('smsTemplate', { id: await (0, uuid_1.generateNewIdAsync)(), action: 'update', data: { templateName, templateContent, syncAt: Date.now(), }, filter: { id: existTemplate.id, }, }, { dontCollect: true, }); } else { await context.operate('smsTemplate', { id: await (0, uuid_1.generateNewIdAsync)(), action: 'create', data: { id: await (0, uuid_1.generateNewIdAsync)(), origin, systemId, templateCode, templateName, templateContent, syncAt: Date.now(), }, }, { dontCollect: true, }); } } // if (removeTemplateList.length > 0) { // await context.operate( // 'smsTemplate', // { // id: await generateNewIdAsync(), // action: 'remove', // data: {}, // filter: { // id: { // $in: removeTemplateList.map((ele) => ele.id!), // }, // }, // }, // {} // ); // } } exports.syncSmsTemplate = syncSmsTemplate;