28 lines
1.1 KiB
JavaScript
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);
|
|
};
|