(accountId, channelGroupId)
| 277 | // pins are reservations and hidden non-pinned channels release their |
| 278 | // number. |
| 279 | static async repackGroupChannels(accountId, channelGroupId) { |
| 280 | try { |
| 281 | const params = new URLSearchParams({ |
| 282 | channel_group_id: String(channelGroupId), |
| 283 | }); |
| 284 | const url = `${host}/api/m3u/accounts/${accountId}/repack-group/?${params.toString()}`; |
| 285 | return await request(url, { method: 'POST' }); |
| 286 | } catch (e) { |
| 287 | errorNotification('Failed to re-pack group channels', e); |
| 288 | return null; |
| 289 | } |
| 290 | } |
| 291 | |
| 292 | // Returns occupants whose effective channel_number falls in [start, end]. |
| 293 | // Pass `signal` from an AbortController on per-keystroke calls so an |
no test coverage detected