UNPKG

namecomv4

Version:

A Node.js library wrapper for Name.com's V4 API, designed to simplify domain management tasks such as querying domain information, managing DNS records, and handling domain registration and transfer.

69 lines (56 loc) 1.81 kB
import AxiosClient from './AxiosClient.js'; import { ListVanityNameserversRequest, VanityNameserver } from './types/index.js'; export default class NameComVanityNameservers extends AxiosClient { async listVanityNameservers(request: ListVanityNameserversRequest) { const endpoint = `/domains/${request.domainName}/vanity_nameservers`; const params:any = {}; if (request.perPage !== 0) { params.perPage = request.perPage; } if (request.page !== 0) { params.page = request.page; } try { const response = await this.axiosInstance.get(endpoint, { params }); return response.data; } catch (error) { throw error; } } async getVanityNameserver(request: any) { const endpoint = `/domains/${request.domainName}/vanity_nameservers/${request.hostname}`; try { const response = await this.axiosInstance.get(endpoint); return response.data; } catch (error) { throw error; } } async createVanityNameserver(request: VanityNameserver) { const endpoint = `/domains/${request.domainName}/vanity_nameservers`; try { const response = await this.axiosInstance.post(endpoint, request); return response.data; } catch (error) { throw error; } } async updateVanityNameserver(request: VanityNameserver) { const endpoint = `/domains/${request.domainName}/vanity_nameservers/${request.hostname}`; try { const response = await this.axiosInstance.put(endpoint, request); return response.data; } catch (error) { throw error; } } async deleteVanityNameserver(request: VanityNameserver) { const endpoint = `/domains/${request.domainName}/vanity_nameservers/${request.hostname}`; try { const response = await this.axiosInstance.delete(endpoint, { data: request }); return response.data; } catch (error) { throw error; } } }