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.

55 lines (45 loc) 1.97 kB
import AxiosClient from './AxiosClient.js'; import { EmailForwarding } from './types/index.js'; class NameComEmailForwarding extends AxiosClient{ async listEmailForwarding(domainName: string) { try { const response = await this.axiosInstance.get(`/domains/${domainName}/email/forwarding`); return response.data; } catch (error:any) { throw new Error(`Error listing email forwarding: ${error.message}`); } } async getEmailForwarding(domainName:string, id:number ) { try { const response = await this.axiosInstance.get(`/domains/${domainName}/email/forwarding/${id}`); return response.data; } catch (error:any) { throw new Error(`Error getting email forwarding: ${error.message}`); } } async createEmailForwarding(domainName:string, forwarding: EmailForwarding) { try { const response = await this.axiosInstance.post(`/domains/${domainName}/email/forwarding`, forwarding); return response.data; } catch (error:any) { throw new Error(`Error creating email forwarding: ${error.message}`); } } async updateEmailForwarding(domainName:string, id:number, forwarding : EmailForwarding) { try { const response = await this.axiosInstance.put(`/domains/${domainName}/email/forwarding/${id}`, forwarding); return response.data; } catch (error:any) { throw new Error(`Error updating email forwarding: ${error.message}`); } } async deleteEmailForwarding(domainName:string, id:number) { try { const response = await this.axiosInstance.delete(`/domains/${domainName}/email/forwarding/${id}`); return response.data; } catch (error:any) { throw new Error(`Error deleting email forwarding: ${error.message}`); } } } export default NameComEmailForwarding;