telegram-invite-automation/src/renderer/utils/presets.js
2026-02-01 14:39:30 +04:00

28 lines
1.1 KiB
JavaScript

export const buildPresetSignature = (form, roles) => {
const roleEntries = Object.entries(roles || {})
.map(([id, value]) => ({
id: Number(id),
monitor: Boolean(value && value.monitor),
invite: Boolean(value && value.invite),
confirm: Boolean(value && value.confirm)
}))
.sort((a, b) => a.id - b.id);
const snapshot = {
form: {
warmupEnabled: Boolean(form.warmupEnabled),
historyLimit: Number(form.historyLimit || 0),
separateBotRoles: Boolean(form.separateBotRoles),
requireSameBotInBoth: Boolean(form.requireSameBotInBoth),
maxCompetitorBots: Number(form.maxCompetitorBots || 0),
maxOurBots: Number(form.maxOurBots || 0),
separateConfirmRoles: Boolean(form.separateConfirmRoles),
maxConfirmBots: Number(form.maxConfirmBots || 0),
inviteViaAdmins: Boolean(form.inviteViaAdmins),
inviteAdminAnonymous: Boolean(form.inviteAdminAnonymous),
inviteAdminMasterId: Number(form.inviteAdminMasterId || 0)
},
roles: roleEntries
};
return JSON.stringify(snapshot);
};