mailgun.js
Advanced tools
Comparing version
@@ -12,2 +12,3 @@ import Request from './request'; | ||
import ParseClient from './parse'; | ||
import IpsClient from './ips'; | ||
export default class Client { | ||
@@ -25,3 +26,4 @@ private request; | ||
parse: ParseClient; | ||
ips: IpsClient; | ||
constructor(options: Options, formData: FormData); | ||
} |
@@ -61,3 +61,12 @@ import Request from './request'; | ||
updateTracking(domain: string, type: string, data: any): Promise<any>; | ||
getIps(domain: string): Promise<string[]>; | ||
assignIp(domain: string, ip: string): Promise<{ | ||
body: any; | ||
status: number; | ||
}>; | ||
deleteIp(domain: string, ip: string): Promise<{ | ||
body: any; | ||
status: number; | ||
}>; | ||
} | ||
export {}; |
/*! MIT License © Sindre Sorhus */ | ||
/*! mailgun.js v3.0.0 */ | ||
/*! mailgun.js v3.1.0 */ |
@@ -16,2 +16,3 @@ const defaults = require('lodash.defaults'); | ||
import ParseClient from './parse'; | ||
import IpsClient from './ips'; | ||
@@ -31,2 +32,3 @@ export default class Client { | ||
public parse; | ||
public ips; | ||
@@ -56,2 +58,3 @@ constructor(options: Options, formData: FormData) { | ||
this.routes = new RoutesClient(this.request); | ||
this.ips = new IpsClient(this.request); | ||
@@ -58,0 +61,0 @@ if (config.public_key) { |
@@ -67,3 +67,7 @@ import map from 'lodash.map'; | ||
_parseDomain(response: { | ||
body: {domain: any, receiving_dns_records: any, sending_dns_records: any } | ||
body: { | ||
domain: any, | ||
receiving_dns_records: any, | ||
sending_dns_records: any | ||
} | ||
}) { | ||
@@ -116,2 +120,17 @@ return new Domain( | ||
} | ||
// IPs | ||
getIps(domain: string) { | ||
return this.request.get(urljoin('/v2/domains', domain, 'ips')) | ||
.then((response: { body: { items: string[] } }) => response?.body?.items); | ||
} | ||
assignIp(domain: string, ip: string) { | ||
return this.request.post(urljoin('/v2/domains', domain, 'ips'), { ip }); | ||
} | ||
deleteIp(domain: string, ip: string) { | ||
return this.request.delete(urljoin('/v2/domains', domain, 'ips', ip)); | ||
} | ||
} |
{ | ||
"name": "mailgun.js", | ||
"version": "3.0.0", | ||
"version": "3.1.0", | ||
"main": "dist/mailgun.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
@@ -80,2 +80,4 @@ # Mailgun.js [](https://travis-ci.org/mailgun/mailgun-js) | ||
- [updateTracking](#updatetracking) | ||
- [getIps](#getips) | ||
- [assignIp](#assignip) | ||
- [events](#events) | ||
@@ -486,2 +488,58 @@ - [get](#get-1) | ||
#### getIps | ||
`mg.domains.getIps(domain)` | ||
Example: | ||
```js | ||
mg.domains.getIps('foobar.example.com') | ||
.then(msg => console.log(msg)) // logs response data | ||
.catch(err => console.log(err)); // logs any error | ||
``` | ||
Promise Returns: | ||
``` | ||
["192.168.0.1", "192.168.0.2"] | ||
``` | ||
#### assignIp | ||
`mg.domains.assignIp(domain, ip)` | ||
Example: | ||
```js | ||
mg.domains.assignIp('foobar.example.com', "192.168.0.3") | ||
.then(msg => console.log(msg)) // logs response data | ||
.catch(err => console.log(err)); // logs any error | ||
``` | ||
``` | ||
{ | ||
message: 'success' | ||
} | ||
``` | ||
#### deleteIp | ||
`mg.domains.deleteIp(domain, ip)` | ||
Example: | ||
```js | ||
mg.domains.deleteIp('foobar.example.com', "192.168.0.3") | ||
.then(msg => console.log(msg)) // logs response data | ||
.catch(err => console.log(err)); // logs any error | ||
``` | ||
``` | ||
{ | ||
message: 'success' | ||
} | ||
``` | ||
### events | ||
@@ -488,0 +546,0 @@ |
@@ -188,2 +188,13 @@ const formData = require('form-data'); | ||
}); | ||
describe('getIps', () => { | ||
it('should return list of dedicated ips', () => { | ||
const items = ['192.161.0.1', '192.168.0.2'] | ||
api.get('/v2/domains/domain.com/ips').reply(200, { items }); | ||
return client.getIps('domain.com').then( (items: string[]) => { | ||
items.should.eql(items); | ||
}); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
2300677
0.36%129
4.03%3288
4.18%1249
4.87%1
-50%