@mailhooks/sdk 0.1.1 → 0.1.2
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/README.md +18 -6
- package/dist/resources/emails.d.ts.map +1 -1
- package/dist/resources/emails.js +26 -1
- package/dist/resources/emails.js.map +1 -1
- package/dist/types.d.ts +11 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,12 +57,16 @@ const mailhooks = new Mailhooks({
|
|
|
57
57
|
const emails = await mailhooks.emails.list({
|
|
58
58
|
page: 1,
|
|
59
59
|
perPage: 20,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
filter: {
|
|
61
|
+
from: 'sender@example.com',
|
|
62
|
+
subject: 'Important',
|
|
63
|
+
startDate: '2024-01-01',
|
|
64
|
+
endDate: '2024-12-31',
|
|
65
|
+
},
|
|
66
|
+
sort: {
|
|
67
|
+
field: 'createdAt',
|
|
68
|
+
order: 'desc',
|
|
69
|
+
},
|
|
66
70
|
});
|
|
67
71
|
```
|
|
68
72
|
|
|
@@ -132,10 +136,18 @@ try {
|
|
|
132
136
|
} catch (error) {
|
|
133
137
|
if (error.response?.status === 404) {
|
|
134
138
|
console.log('Email not found');
|
|
139
|
+
} else if (error.response?.status === 403) {
|
|
140
|
+
console.log('Authentication failed - check your API key');
|
|
135
141
|
}
|
|
136
142
|
}
|
|
137
143
|
```
|
|
138
144
|
|
|
145
|
+
### Common Errors
|
|
146
|
+
|
|
147
|
+
- **403 Forbidden**: Invalid API key or missing authentication
|
|
148
|
+
- **404 Not Found**: Resource not found
|
|
149
|
+
- **429 Too Many Requests**: Rate limit exceeded
|
|
150
|
+
|
|
139
151
|
## License
|
|
140
152
|
|
|
141
153
|
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,KAAK,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,qBAAa,cAAe,SAAQ,eAAe;IACjD;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,KAAK,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,qBAAa,cAAe,SAAQ,eAAe;IACjD;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAyB7D;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI/C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIxD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS7D;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;CAoB7B"}
|
package/dist/resources/emails.js
CHANGED
|
@@ -7,7 +7,32 @@ class EmailsResource extends client_1.MailhooksClient {
|
|
|
7
7
|
* Get a paginated list of emails
|
|
8
8
|
*/
|
|
9
9
|
async list(params) {
|
|
10
|
-
|
|
10
|
+
// Set defaults
|
|
11
|
+
const queryParams = {
|
|
12
|
+
page: params?.page || 1,
|
|
13
|
+
perPage: params?.perPage || 20,
|
|
14
|
+
};
|
|
15
|
+
// Handle filter params
|
|
16
|
+
if (params?.filter) {
|
|
17
|
+
if (params.filter.from)
|
|
18
|
+
queryParams['filter[from]'] = params.filter.from;
|
|
19
|
+
if (params.filter.to)
|
|
20
|
+
queryParams['filter[to]'] = params.filter.to;
|
|
21
|
+
if (params.filter.subject)
|
|
22
|
+
queryParams['filter[subject]'] = params.filter.subject;
|
|
23
|
+
if (params.filter.startDate)
|
|
24
|
+
queryParams['filter[startDate]'] = params.filter.startDate;
|
|
25
|
+
if (params.filter.endDate)
|
|
26
|
+
queryParams['filter[endDate]'] = params.filter.endDate;
|
|
27
|
+
}
|
|
28
|
+
// Handle sort params
|
|
29
|
+
if (params?.sort) {
|
|
30
|
+
if (params.sort.field)
|
|
31
|
+
queryParams['sort[field]'] = params.sort.field;
|
|
32
|
+
if (params.sort.order)
|
|
33
|
+
queryParams['sort[order]'] = params.sort.order;
|
|
34
|
+
}
|
|
35
|
+
return super.get('/v1/emails', queryParams);
|
|
11
36
|
}
|
|
12
37
|
/**
|
|
13
38
|
* Get a specific email by ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emails.js","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":";;;AAAA,sCAA4C;AAS5C,MAAa,cAAe,SAAQ,wBAAe;IACjD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAwB;QACjC,OAAO,KAAK,CAAC,GAAG,CAAiB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"emails.js","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -27,17 +27,23 @@ export interface PaginationResponse {
|
|
|
27
27
|
export interface EmailsResponse extends PaginationResponse {
|
|
28
28
|
data: Email[];
|
|
29
29
|
}
|
|
30
|
-
export interface
|
|
31
|
-
page?: number;
|
|
32
|
-
perPage?: number;
|
|
30
|
+
export interface EmailFilter {
|
|
33
31
|
from?: string;
|
|
34
32
|
to?: string;
|
|
35
33
|
subject?: string;
|
|
36
|
-
sortBy?: 'createdAt';
|
|
37
|
-
sortOrder?: 'asc' | 'desc';
|
|
38
34
|
startDate?: string;
|
|
39
35
|
endDate?: string;
|
|
40
36
|
}
|
|
37
|
+
export interface EmailSort {
|
|
38
|
+
field?: 'createdAt' | 'from' | 'subject';
|
|
39
|
+
order?: 'asc' | 'desc';
|
|
40
|
+
}
|
|
41
|
+
export interface EmailListParams {
|
|
42
|
+
page?: number;
|
|
43
|
+
perPage?: number;
|
|
44
|
+
filter?: EmailFilter;
|
|
45
|
+
sort?: EmailSort;
|
|
46
|
+
}
|
|
41
47
|
export interface MailhooksConfig {
|
|
42
48
|
apiKey: string;
|
|
43
49
|
baseUrl?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,EAAE,KAAK,EAAE,CAAC;CACf;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,EAAE,KAAK,EAAE,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|