mailgun.js 4.1.1 → 4.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc +3 -1
- package/CHANGELOG.md +18 -0
- package/README.md +1 -1
- package/dist/lib/domains.d.ts +6 -2
- package/dist/lib/domainsTemplates.d.ts +35 -0
- package/dist/lib/interfaces/DomainTemplates.d.ts +194 -0
- package/dist/lib/interfaces/StatsOptions.d.ts +17 -10
- package/dist/lib/stats.d.ts +5 -4
- package/dist/mailgun.node.js +2 -2
- package/dist/mailgun.node.js.LICENSE.txt +1 -1
- package/dist/mailgun.web.js +2 -2
- package/dist/mailgun.web.js.LICENSE.txt +1 -1
- package/lib/client.ts +3 -1
- package/lib/domains.ts +12 -3
- package/lib/domainsTemplates.ts +235 -0
- package/lib/interfaces/DomainTemplates.ts +238 -0
- package/lib/interfaces/StatsOptions.ts +18 -10
- package/lib/stats.ts +27 -8
- package/package.json +3 -2
- package/test/domains.test.ts +3 -1
- package/test/domainsTemplates.test.ts +392 -0
- package/test/stats.test.ts +1 -1
package/.eslintrc
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"class-methods-use-this": 0,
|
|
31
31
|
"prefer-destructuring": 0,
|
|
32
32
|
"import/extensions": 0,
|
|
33
|
+
"no-shadow": "off",
|
|
33
34
|
"lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }],
|
|
34
35
|
"import/no-extraneous-dependencies" :["error", {"devDependencies": true, "optionalDependencies": false, "peerDependencies": false}]
|
|
35
36
|
},
|
|
@@ -42,7 +43,8 @@
|
|
|
42
43
|
],
|
|
43
44
|
"parser": "@typescript-eslint/parser",
|
|
44
45
|
"rules": {
|
|
45
|
-
"import/extensions": 0
|
|
46
|
+
"import/extensions": 0,
|
|
47
|
+
"@typescript-eslint/no-shadow": ["error"]
|
|
46
48
|
// "import/no-extraneous-dependencies" :["error", {"devDependencies": true, "optionalDependencies": false, "peerDependencies": false}]
|
|
47
49
|
},
|
|
48
50
|
"plugins": [
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [4.1.5](https://github.com/mailgun/mailgun.js/compare/v4.1.4...v4.1.5) (2022-01-24)
|
|
6
|
+
|
|
7
|
+
### [4.1.4](https://github.com/mailgun/mailgun.js/compare/v4.1.3...v4.1.4) (2021-12-23)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* Add query parameter for the get method in domain templates client ([5aa5cb1](https://github.com/mailgun/mailgun.js/commits/5aa5cb1d5cbc3e23f9e65f8fbf41350dfd7cd435))
|
|
13
|
+
|
|
14
|
+
### [4.1.3](https://github.com/mailgun/mailgun.js/compare/v4.1.2...v4.1.3) (2021-12-23)
|
|
15
|
+
|
|
16
|
+
### [4.1.2](https://github.com/mailgun/mailgun.js/compare/v4.1.1...v4.1.2) (2021-12-14)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* Update stats methods to allow an array of events ([#216](https://github.com/mailgun/mailgun.js/issues/216)) ([3b0fc41](https://github.com/mailgun/mailgun.js/commits/3b0fc411a4fa34a27cfd255a914adb17499f3af6))
|
|
22
|
+
|
|
5
23
|
### [4.1.1](https://github.com/mailgun/mailgun.js/compare/v4.1.0...v4.1.1) (2021-12-13)
|
|
6
24
|
|
|
7
25
|
|
package/README.md
CHANGED
|
@@ -136,7 +136,7 @@ Method naming conventions:
|
|
|
136
136
|
|
|
137
137
|
#### create
|
|
138
138
|
|
|
139
|
-
`mg.messages.create(domain, data)` - [api docs](https://documentation.mailgun.com/api-sending.html
|
|
139
|
+
`mg.messages.create(domain, data)` - [api docs](https://documentation.mailgun.com/en/latest/api-sending.html)
|
|
140
140
|
|
|
141
141
|
Options:
|
|
142
142
|
|
package/dist/lib/domains.d.ts
CHANGED
|
@@ -2,7 +2,10 @@ import { DomainsQuery, DomainInfo, DomainShortData, DNSRecord, ConnectionSetting
|
|
|
2
2
|
import APIResponse from './interfaces/ApiResponse';
|
|
3
3
|
import Request from './request';
|
|
4
4
|
import { DomainTrackingData, OpenTrackingInfo, ClickTrackingInfo, UnsubscribeTrackingInfo, UpdatedOpenTracking } from './interfaces/DomainTracking';
|
|
5
|
+
import { IDomainCredentials } from './interfaces/DomainCredentials';
|
|
6
|
+
import { IDomainTemplatesClient } from './interfaces/DomainTemplates';
|
|
5
7
|
import DomainCredentialsClient from './domainsCredentials';
|
|
8
|
+
import DomainTemplatesClient from './domainsTemplates';
|
|
6
9
|
export declare class Domain {
|
|
7
10
|
name: string;
|
|
8
11
|
require_tls: boolean;
|
|
@@ -20,8 +23,9 @@ export declare class Domain {
|
|
|
20
23
|
}
|
|
21
24
|
export default class DomainClient {
|
|
22
25
|
request: Request;
|
|
23
|
-
domainCredentials:
|
|
24
|
-
|
|
26
|
+
domainCredentials: IDomainCredentials;
|
|
27
|
+
domainTemplates: IDomainTemplatesClient;
|
|
28
|
+
constructor(request: Request, domainCredentialsClient: DomainCredentialsClient, domainTemplatesClient: DomainTemplatesClient);
|
|
25
29
|
private _parseMessage;
|
|
26
30
|
private _parseDomainList;
|
|
27
31
|
private _parseDomain;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Request from './request';
|
|
2
|
+
import { CreateDomainTemplateVersionResult, DomainTemplate, DomainTemplateData, DomainTemplatesQuery, DomainTemplateUpdateData, DomainTemplateUpdateVersionData, DomainTemplateVersionData, IDomainTemplatesClient, ListDomainTemplatesResult, ListDomainTemplateVersionsResult, MutateDomainTemplateVersionResult, NotificationResult, ShortTemplateVersion, TemplateQuery, TemplateVersion, UpdateOrDeleteDomainTemplateResult } from './interfaces/DomainTemplates';
|
|
3
|
+
export declare class DomainTemplateItem implements DomainTemplate {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
createdAt: Date | '';
|
|
7
|
+
createdBy: string;
|
|
8
|
+
id: string;
|
|
9
|
+
version?: TemplateVersion;
|
|
10
|
+
versions?: ShortTemplateVersion[];
|
|
11
|
+
constructor(domainTemplateFromAPI: DomainTemplate);
|
|
12
|
+
}
|
|
13
|
+
export default class DomainTemplatesClient implements IDomainTemplatesClient {
|
|
14
|
+
baseRoute: string;
|
|
15
|
+
request: Request;
|
|
16
|
+
constructor(request: Request);
|
|
17
|
+
private parseCreationResponse;
|
|
18
|
+
private parseCreationVersionResponse;
|
|
19
|
+
private parseMutationResponse;
|
|
20
|
+
private parseNotificationResponse;
|
|
21
|
+
private parseMutateTemplateVersionResponse;
|
|
22
|
+
private parseList;
|
|
23
|
+
private parseListTemplateVersions;
|
|
24
|
+
list(domain: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplatesResult>;
|
|
25
|
+
get(domain: string, templateName: string, query?: TemplateQuery): Promise<DomainTemplateItem>;
|
|
26
|
+
create(domain: string, data: DomainTemplateData): Promise<DomainTemplateItem>;
|
|
27
|
+
update(domain: string, templateName: string, data: DomainTemplateUpdateData): Promise<UpdateOrDeleteDomainTemplateResult>;
|
|
28
|
+
destroy(domain: string, templateName: string): Promise<UpdateOrDeleteDomainTemplateResult>;
|
|
29
|
+
destroyAll(domain: string): Promise<NotificationResult>;
|
|
30
|
+
createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise<CreateDomainTemplateVersionResult>;
|
|
31
|
+
getVersion(domain: string, templateName: string, tag: string): Promise<DomainTemplateItem>;
|
|
32
|
+
updateVersion(domain: string, templateName: string, tag: string, data: DomainTemplateUpdateVersionData): Promise<MutateDomainTemplateVersionResult>;
|
|
33
|
+
destroyVersion(domain: string, templateName: string, tag: string): Promise<MutateDomainTemplateVersionResult>;
|
|
34
|
+
listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplateVersionsResult>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { DomainTemplateItem } from '../domainsTemplates';
|
|
2
|
+
export declare enum YesNo {
|
|
3
|
+
YES = "yes",
|
|
4
|
+
NO = "no"
|
|
5
|
+
}
|
|
6
|
+
export declare enum Pages {
|
|
7
|
+
FIRST = "first",
|
|
8
|
+
LAST = "last",
|
|
9
|
+
NEXT = "next",
|
|
10
|
+
PREV = "prev"
|
|
11
|
+
}
|
|
12
|
+
export interface DomainTemplateData {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
template: string;
|
|
16
|
+
tag?: string;
|
|
17
|
+
engine?: string;
|
|
18
|
+
comment?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface DomainTemplateVersionData {
|
|
21
|
+
template: string;
|
|
22
|
+
tag: string;
|
|
23
|
+
engine?: string;
|
|
24
|
+
comment?: string;
|
|
25
|
+
active?: YesNo;
|
|
26
|
+
}
|
|
27
|
+
export interface DomainTemplateUpdateData {
|
|
28
|
+
description: string;
|
|
29
|
+
}
|
|
30
|
+
export interface DomainTemplateUpdateVersionData {
|
|
31
|
+
template?: string;
|
|
32
|
+
comment?: string;
|
|
33
|
+
active?: YesNo;
|
|
34
|
+
}
|
|
35
|
+
export interface DomainTemplatesQuery {
|
|
36
|
+
page: Pages;
|
|
37
|
+
limit: number;
|
|
38
|
+
p: string;
|
|
39
|
+
}
|
|
40
|
+
export interface TemplateQuery {
|
|
41
|
+
active: YesNo;
|
|
42
|
+
}
|
|
43
|
+
export interface ShortTemplateVersion {
|
|
44
|
+
tag: string;
|
|
45
|
+
engine: string;
|
|
46
|
+
mjml: string;
|
|
47
|
+
createdAt: string | Date;
|
|
48
|
+
comment: string;
|
|
49
|
+
active: boolean;
|
|
50
|
+
id: string;
|
|
51
|
+
}
|
|
52
|
+
export interface TemplateVersion extends ShortTemplateVersion {
|
|
53
|
+
template: string;
|
|
54
|
+
}
|
|
55
|
+
export interface DomainTemplate {
|
|
56
|
+
name: string;
|
|
57
|
+
description: string;
|
|
58
|
+
createdAt: string | Date;
|
|
59
|
+
createdBy: string;
|
|
60
|
+
id: string;
|
|
61
|
+
version?: TemplateVersion;
|
|
62
|
+
versions?: ShortTemplateVersion[];
|
|
63
|
+
}
|
|
64
|
+
export interface CreateDomainTemplateAPIResponse {
|
|
65
|
+
status: number;
|
|
66
|
+
body: {
|
|
67
|
+
message: string;
|
|
68
|
+
template: DomainTemplate;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface ListDomainTemplatesAPIResponse {
|
|
72
|
+
status: number;
|
|
73
|
+
body: {
|
|
74
|
+
items: DomainTemplate[];
|
|
75
|
+
paging: {
|
|
76
|
+
first: string;
|
|
77
|
+
last: string;
|
|
78
|
+
next: string;
|
|
79
|
+
previous: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export interface ListDomainTemplatesResult {
|
|
84
|
+
items: DomainTemplate[];
|
|
85
|
+
pages: {
|
|
86
|
+
first: string;
|
|
87
|
+
last: string;
|
|
88
|
+
next: string;
|
|
89
|
+
previous: string;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export interface GetDomainTemplateAPIResponse {
|
|
93
|
+
status: number;
|
|
94
|
+
body: {
|
|
95
|
+
template: DomainTemplate;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface UpdateOrDeleteDomainTemplateAPIResponse {
|
|
99
|
+
status: number;
|
|
100
|
+
body: {
|
|
101
|
+
message: string;
|
|
102
|
+
template: {
|
|
103
|
+
name: string;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export interface UpdateOrDeleteDomainTemplateResult {
|
|
108
|
+
status: number;
|
|
109
|
+
message: string;
|
|
110
|
+
templateName?: string;
|
|
111
|
+
}
|
|
112
|
+
export interface NotificationAPIResponse {
|
|
113
|
+
status: number;
|
|
114
|
+
body: {
|
|
115
|
+
message: string;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export interface NotificationResult {
|
|
119
|
+
status: number;
|
|
120
|
+
message: string;
|
|
121
|
+
}
|
|
122
|
+
export interface CreateDomainTemplateVersionAPIResponse {
|
|
123
|
+
status: number;
|
|
124
|
+
body: {
|
|
125
|
+
message: string;
|
|
126
|
+
template: DomainTemplate;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
export interface CreateDomainTemplateVersionResult {
|
|
130
|
+
status: number;
|
|
131
|
+
message: string;
|
|
132
|
+
template: DomainTemplate;
|
|
133
|
+
}
|
|
134
|
+
export interface MutateDomainTemplateVersionAPIResponse {
|
|
135
|
+
status: number;
|
|
136
|
+
body: {
|
|
137
|
+
message: string;
|
|
138
|
+
template: {
|
|
139
|
+
name: string;
|
|
140
|
+
version: {
|
|
141
|
+
tag: string;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
export interface MutateDomainTemplateVersionResult {
|
|
147
|
+
status: number;
|
|
148
|
+
message: string;
|
|
149
|
+
templateName: string;
|
|
150
|
+
templateVersion: {
|
|
151
|
+
tag: string;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export interface ListDomainTemplateVersionsAPIResponse {
|
|
155
|
+
status: number;
|
|
156
|
+
body: {
|
|
157
|
+
template: {
|
|
158
|
+
name: string;
|
|
159
|
+
description: string;
|
|
160
|
+
createdAt: string;
|
|
161
|
+
createdBy: string;
|
|
162
|
+
id: string;
|
|
163
|
+
versions: ShortTemplateVersion[];
|
|
164
|
+
};
|
|
165
|
+
paging: {
|
|
166
|
+
first: string;
|
|
167
|
+
last: string;
|
|
168
|
+
next: string;
|
|
169
|
+
previous: string;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
export interface ListDomainTemplateVersionsResult {
|
|
174
|
+
template: DomainTemplateItem;
|
|
175
|
+
pages: {
|
|
176
|
+
first: string;
|
|
177
|
+
last: string;
|
|
178
|
+
next: string;
|
|
179
|
+
previous: string;
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export interface IDomainTemplatesClient {
|
|
183
|
+
list(domain: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplatesResult>;
|
|
184
|
+
get(domain: string, templateName: string, query: TemplateQuery): Promise<DomainTemplateItem>;
|
|
185
|
+
create(domain: string, data: DomainTemplateData): Promise<DomainTemplateItem>;
|
|
186
|
+
update(domain: string, templateName: string, data: DomainTemplateUpdateData): Promise<UpdateOrDeleteDomainTemplateResult>;
|
|
187
|
+
destroy(domain: string, templateName: string): Promise<UpdateOrDeleteDomainTemplateResult>;
|
|
188
|
+
destroyAll(domain: string): Promise<NotificationResult>;
|
|
189
|
+
createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise<CreateDomainTemplateVersionResult>;
|
|
190
|
+
getVersion(domain: string, templateName: string, tag: string): Promise<DomainTemplateItem>;
|
|
191
|
+
updateVersion(domain: string, templateName: string, tag: string, data: DomainTemplateUpdateVersionData): Promise<MutateDomainTemplateVersionResult>;
|
|
192
|
+
destroyVersion(domain: string, templateName: string, tag: string): Promise<MutateDomainTemplateVersionResult>;
|
|
193
|
+
listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplateVersionsResult>;
|
|
194
|
+
}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
interface
|
|
1
|
+
export interface Stat {
|
|
2
|
+
time: string | Date;
|
|
3
|
+
delivered: {
|
|
4
|
+
smtp: number;
|
|
5
|
+
http: number;
|
|
6
|
+
total: number;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export interface StatsOptions {
|
|
2
10
|
start: string | Date;
|
|
3
11
|
end: string | Date;
|
|
4
12
|
resolution: string;
|
|
5
|
-
stats:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
stats: Stat[];
|
|
14
|
+
}
|
|
15
|
+
export interface StatsQuery {
|
|
16
|
+
event: string | string[];
|
|
17
|
+
start: string | Date;
|
|
18
|
+
end: string | Date;
|
|
19
|
+
resolution: 'hour' | 'day' | 'month';
|
|
20
|
+
duration: string;
|
|
13
21
|
}
|
|
14
|
-
export default StatsOptions;
|
package/dist/lib/stats.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import Request from './request';
|
|
2
|
-
import StatsOptions from './interfaces/StatsOptions';
|
|
2
|
+
import { StatsQuery, StatsOptions, Stat } from './interfaces/StatsOptions';
|
|
3
3
|
declare class Stats {
|
|
4
4
|
start: Date;
|
|
5
5
|
end: Date;
|
|
6
6
|
resolution: string;
|
|
7
|
-
stats:
|
|
7
|
+
stats: Stat[];
|
|
8
8
|
constructor(data: StatsOptions);
|
|
9
9
|
}
|
|
10
10
|
export default class StatsClient {
|
|
11
11
|
request: Request;
|
|
12
12
|
constructor(request: Request);
|
|
13
|
+
private prepareSearchParams;
|
|
13
14
|
_parseStats(response: {
|
|
14
15
|
body: StatsOptions;
|
|
15
16
|
}): Stats;
|
|
16
|
-
getDomain(domain: string, query
|
|
17
|
-
getAccount(query
|
|
17
|
+
getDomain(domain: string, query?: StatsQuery): Promise<Stats>;
|
|
18
|
+
getAccount(query?: StatsQuery): Promise<Stats>;
|
|
18
19
|
}
|
|
19
20
|
export {};
|