import { fetcher } from 'pankow'; function create(origin, accessToken) { return { async getIpv4Config() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/network/ipv4_config`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body]; }, async getIpv4() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/network/ipv4`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body.ip]; }, async getIpv6Config() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/network/ipv6_config`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body]; }, async getIpv6() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/network/ipv6`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body.ip]; }, async getDynDnsConfig() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/network/dynamic_dns`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body]; }, async setDynDnsConfig(enabled) { let error, result; try { result = await fetcher.post(`${origin}/api/v1/network/dynamic_dns`, { enabled }, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null]; }, async getBlocklist() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/network/blocklist`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body.blocklist]; }, async setBlocklist(blocklist) { let error, result; try { result = await fetcher.post(`${origin}/api/v1/network/blocklist`, { blocklist }, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null]; }, async getTrustedIps() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/reverseproxy/trusted_ips`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body.trustedIps]; }, async setTrustedIps(trustedIps) { let error, result; try { result = await fetcher.post(`${origin}/api/v1/reverseproxy/trusted_ips`, { trustedIps }, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null]; }, }; } export default { create, };