(key, index, item)
| 781 | return `/api/${key}/${encodeURIComponent(id || String(index))}`; |
| 782 | } |
| 783 | async function saveConfigItem(key, index, item){ |
| 784 | S.admin.saving = true; |
| 785 | S.suppressStatsReloadUntil = Date.now() + 8000; |
| 786 | try{ |
| 787 | const data = await api(configItemPath(key, index), { method: index >= 0 ? 'PUT' : 'POST', body: JSON.stringify(item) }); |
| 788 | if(data.config) S.admin.config = normalizeAdminConfig(data.config); |
| 789 | S.suppressStatsReloadUntil = Date.now() + 8000; |
| 790 | return data; |
| 791 | }finally{ |
| 792 | S.admin.saving = false; |
| 793 | } |
| 794 | } |
| 795 | async function deleteConfigItem(key, index){ |
| 796 | S.admin.saving = true; |
| 797 | S.suppressStatsReloadUntil = Date.now() + 8000; |
no test coverage detected