ts-mailcow-api 0.9.0 → 0.10.0
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/LICENSE +661 -661
- package/README.md +186 -147
- package/dist/Endpoints/address-rewriting-endpoint.d.ts +35 -0
- package/dist/Endpoints/address-rewriting-endpoint.js +26 -0
- package/dist/Endpoints/address-rewriting-endpoint.js.map +1 -0
- package/dist/Endpoints/alias-endpoints.js +1 -1
- package/dist/Endpoints/alias-endpoints.js.map +1 -1
- package/dist/Endpoints/antispam-endpoints.js +1 -1
- package/dist/Endpoints/antispam-endpoints.js.map +1 -1
- package/dist/Endpoints/domain-endpoints.js +1 -1
- package/dist/Endpoints/domain-endpoints.js.map +1 -1
- package/dist/Endpoints/forwarding-endpoints.js +1 -1
- package/dist/Endpoints/forwarding-endpoints.js.map +1 -1
- package/dist/Endpoints/log-endpoints.js +1 -1
- package/dist/Endpoints/log-endpoints.js.map +1 -1
- package/dist/Endpoints/mailbox-endpoint.d.ts +2 -1
- package/dist/Endpoints/mailbox-endpoint.js +1 -1
- package/dist/Endpoints/mailbox-endpoint.js.map +1 -1
- package/dist/Endpoints/syncjob-endpoints.js +1 -1
- package/dist/Endpoints/syncjob-endpoints.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.js +11 -4
- package/dist/index.js.map +1 -1
- package/dist/request-factory.d.ts +1 -2
- package/dist/request-factory.js +3 -3
- package/dist/request-factory.js.map +1 -1
- package/dist/types.d.ts +105 -5
- package/dist/types.js.map +1 -1
- package/package.json +58 -59
- package/src/Endpoints/address-rewriting-endpoint.ts +74 -0
- package/src/Endpoints/alias-endpoints.ts +6 -23
- package/src/Endpoints/antispam-endpoints.ts +8 -17
- package/src/Endpoints/domain-endpoints.ts +6 -25
- package/src/Endpoints/forwarding-endpoints.ts +7 -15
- package/src/Endpoints/log-endpoints.ts +12 -43
- package/src/Endpoints/mailbox-endpoint.ts +14 -34
- package/src/Endpoints/syncjob-endpoints.ts +9 -20
- package/src/index.ts +22 -14
- package/src/request-factory.ts +6 -6
- package/src/types.ts +117 -21
package/README.md
CHANGED
|
@@ -1,147 +1,186 @@
|
|
|
1
|
-
# TypeScript wrapper for the mailcow API
|
|
2
|
-
|
|
3
|
-
Provides typing and a easy to use interface for the [Mailcow API](https://mailcow.docs.apiary.io/#).
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- [x]
|
|
49
|
-
- [x]
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- [x]
|
|
55
|
-
- [x]
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- [x]
|
|
61
|
-
- [x]
|
|
62
|
-
- [x]
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- [x] Get
|
|
66
|
-
- [x]
|
|
67
|
-
- [x] Get
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- [x]
|
|
72
|
-
- [x]
|
|
73
|
-
- [x]
|
|
74
|
-
- [x] Get
|
|
75
|
-
|
|
76
|
-
###
|
|
77
|
-
|
|
78
|
-
- [
|
|
79
|
-
- [
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
- [
|
|
87
|
-
- [
|
|
88
|
-
|
|
89
|
-
###
|
|
90
|
-
|
|
91
|
-
- [
|
|
92
|
-
- [
|
|
93
|
-
- [
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
- [
|
|
97
|
-
- [
|
|
98
|
-
- [
|
|
99
|
-
- [
|
|
100
|
-
- [
|
|
101
|
-
|
|
102
|
-
### Address Rewriting
|
|
103
|
-
|
|
104
|
-
- [
|
|
105
|
-
- [
|
|
106
|
-
- [
|
|
107
|
-
- [
|
|
108
|
-
- [
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- [ ]
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
- [ ]
|
|
125
|
-
- [ ] Get
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
- [ ]
|
|
130
|
-
- [ ]
|
|
131
|
-
- [ ]
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- [ ]
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
- [ ]
|
|
140
|
-
- [ ] Get
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
- [ ]
|
|
145
|
-
- [ ]
|
|
146
|
-
- [ ]
|
|
147
|
-
|
|
1
|
+
# TypeScript wrapper for the mailcow API
|
|
2
|
+
|
|
3
|
+
Provides typing and a easy to use interface for the [Mailcow API](https://mailcow.docs.apiary.io/#).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
Create a new wrapper using the base url and API_KEY.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import MailCowClient from "./index";
|
|
11
|
+
|
|
12
|
+
// Create MailCowClient based on BASE_URL and API_KEY
|
|
13
|
+
const mcc = new MailCowClient(
|
|
14
|
+
"https://demo.mailcow.email/",
|
|
15
|
+
"390448-22B69F-FA37D9-19701B-6F033F",
|
|
16
|
+
);
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Then you can use the created wrapper for promised-based API calls according to the Mailcow API specification.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
// Get all the mailboxes available.
|
|
23
|
+
mcc.mailbox
|
|
24
|
+
.get()
|
|
25
|
+
.then((e) => {
|
|
26
|
+
// Print all mailboxes.
|
|
27
|
+
console.log(JSON.stringify(e, null, 4));
|
|
28
|
+
})
|
|
29
|
+
.catch((e) => {
|
|
30
|
+
// Error handling.
|
|
31
|
+
console.log(e);
|
|
32
|
+
});
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Why it's not auto-generated
|
|
36
|
+
|
|
37
|
+
The [Mailcow OpenAPI spec](https://github.com/mailcow/mailcow-dockerized/blob/master/data/web/api/openapi.yaml) doesn’t pass validation and isn’t RESTful (e.g. `POST /api/v1/add/domain`).
|
|
38
|
+
If Mailcow ever fixes the naming or structure, a generated client would break.
|
|
39
|
+
This wrapper acts as a middleman, so those changes can be patched internally without ruining the client interface.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## API implementation progress
|
|
43
|
+
|
|
44
|
+
### Domains
|
|
45
|
+
|
|
46
|
+
- [x] Create domain
|
|
47
|
+
- [x] Delete domain
|
|
48
|
+
- [x] Update domain
|
|
49
|
+
- [x] Get domain
|
|
50
|
+
|
|
51
|
+
### Domain antispam policies
|
|
52
|
+
|
|
53
|
+
- [x] Create domain policy
|
|
54
|
+
- [x] Delete domain policy
|
|
55
|
+
- [x] List blacklist/whitelist domain policy
|
|
56
|
+
|
|
57
|
+
### Mailboxes
|
|
58
|
+
|
|
59
|
+
- [x] Create mailbox
|
|
60
|
+
- [x] Delete mailbox
|
|
61
|
+
- [x] Update mailbox
|
|
62
|
+
- [x] Update Pushover settings
|
|
63
|
+
- [x] Quarantine Notifications
|
|
64
|
+
- [x] Update mailbox ACL
|
|
65
|
+
- [x] Get mailboxes
|
|
66
|
+
- [x] Edit mailbox spam filter score
|
|
67
|
+
- [x] Get Active User Sieve
|
|
68
|
+
|
|
69
|
+
### Aliases
|
|
70
|
+
|
|
71
|
+
- [x] Create alias
|
|
72
|
+
- [x] Delete alias
|
|
73
|
+
- [x] Update alias
|
|
74
|
+
- [x] Get aliases
|
|
75
|
+
|
|
76
|
+
### Sync Jobs
|
|
77
|
+
|
|
78
|
+
- [x] Create sync job
|
|
79
|
+
- [x] Delete sync job
|
|
80
|
+
- [x] Update sync job
|
|
81
|
+
- [x] Get sync jobs
|
|
82
|
+
|
|
83
|
+
### Forwarding Hosts
|
|
84
|
+
|
|
85
|
+
- [x] Add Forward Host
|
|
86
|
+
- [x] Delete Forward Host
|
|
87
|
+
- [x] Get Forwarding Hosts
|
|
88
|
+
|
|
89
|
+
### Logs
|
|
90
|
+
|
|
91
|
+
- [x] Get ACME logs
|
|
92
|
+
- [x] Get Api logs
|
|
93
|
+
- [x] Get Autodiscover logs
|
|
94
|
+
- [x] Get Dovecot logs
|
|
95
|
+
- [x] Get Netfilter logs
|
|
96
|
+
- [x] Get Postfix logs
|
|
97
|
+
- [x] Get Ratelimit logs
|
|
98
|
+
- [x] Get Rspamd logs
|
|
99
|
+
- [x] Get SOGo logs
|
|
100
|
+
- [x] Get Watchdog logs
|
|
101
|
+
|
|
102
|
+
### Address Rewriting
|
|
103
|
+
|
|
104
|
+
- [x] Create BCC Map
|
|
105
|
+
- [x] Create Recipient Map
|
|
106
|
+
- [x] Delete BCC Map
|
|
107
|
+
- [x] Delete Recipient Map
|
|
108
|
+
- [x] Get BCC Map
|
|
109
|
+
- [x] Get Recipient Map
|
|
110
|
+
|
|
111
|
+
### Queue Manager
|
|
112
|
+
|
|
113
|
+
- [ ] Delete Queue
|
|
114
|
+
- [ ] Flush Queue
|
|
115
|
+
- [ ] Get Queue
|
|
116
|
+
|
|
117
|
+
### Quarantine
|
|
118
|
+
|
|
119
|
+
- [ ] Delete mails in Quarantaine
|
|
120
|
+
- [ ] Get mails in Quarantaine
|
|
121
|
+
|
|
122
|
+
### Fail2Ban
|
|
123
|
+
|
|
124
|
+
- [ ] Edit Fail2Ban
|
|
125
|
+
- [ ] Get Fail2Ban Config
|
|
126
|
+
|
|
127
|
+
### DKIM
|
|
128
|
+
|
|
129
|
+
- [ ] Generate DKIM key
|
|
130
|
+
- [ ] Duplicate DKIM key
|
|
131
|
+
- [ ] Delete DKIM key
|
|
132
|
+
- [ ] Get DKIM key
|
|
133
|
+
|
|
134
|
+
### Domain Admin
|
|
135
|
+
|
|
136
|
+
- [ ] Create Domain Admin user
|
|
137
|
+
- [ ] Edit Domain Admin ACL
|
|
138
|
+
- [ ] Edit Domain Admin user
|
|
139
|
+
- [ ] Delete Domain Admin
|
|
140
|
+
- [ ] Get Domain Admins
|
|
141
|
+
|
|
142
|
+
### Outgoing TLS Policy Map Overrides
|
|
143
|
+
|
|
144
|
+
- [ ] Create TLS Policy Map
|
|
145
|
+
- [ ] Delete TLS Policy Map
|
|
146
|
+
- [ ] Get TLS Policy Map
|
|
147
|
+
|
|
148
|
+
### oAuth Clients
|
|
149
|
+
|
|
150
|
+
- [ ] Create oAuth client
|
|
151
|
+
- [ ] Delete oAuth client
|
|
152
|
+
- [ ] Get oAuth Clients
|
|
153
|
+
|
|
154
|
+
### Routing
|
|
155
|
+
|
|
156
|
+
- [ ] Create Sender-Dependent Transports
|
|
157
|
+
- [ ] Create Transport Maps
|
|
158
|
+
- [ ] Delete Sender-Dependent Transports
|
|
159
|
+
- [ ] Delete Transport Maps
|
|
160
|
+
- [ ] Get Sender-Dependent Transports
|
|
161
|
+
- [ ] Get Transport Maps
|
|
162
|
+
|
|
163
|
+
### Resources
|
|
164
|
+
|
|
165
|
+
- [ ] Create Resources
|
|
166
|
+
- [ ] Delete Resources
|
|
167
|
+
- [ ] Get Resources
|
|
168
|
+
|
|
169
|
+
### App Passwords
|
|
170
|
+
|
|
171
|
+
- [ ] Create App Passwords
|
|
172
|
+
- [ ] Delete App Passwords
|
|
173
|
+
- [ ] Get App Passwords
|
|
174
|
+
|
|
175
|
+
### Status
|
|
176
|
+
|
|
177
|
+
- [ ] Get container status
|
|
178
|
+
- [ ] Get solr status
|
|
179
|
+
- [ ] Get vmail status
|
|
180
|
+
|
|
181
|
+
### Ratelimits
|
|
182
|
+
|
|
183
|
+
- [ ] Get mailbox ratelimits
|
|
184
|
+
- [ ] Get domain ratelimits
|
|
185
|
+
- [ ] Edit domain ratelimits
|
|
186
|
+
- [ ] Edit mailbox ratelimits
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import MailcowClient from '..';
|
|
2
|
+
import { BccMapDeletionRequest, GetBccMapResponse, GetRecipientMapResponse, RecipientMapDeletionRequest, AddBccMapRequest as AddBccMapRequest, AddRecipientMapRequest as AddRecipientMapRequest, MailcowResponse } from '../types';
|
|
3
|
+
export interface AdressRewritingEndpoints {
|
|
4
|
+
/**
|
|
5
|
+
* Endpoint for creating a bcc map.
|
|
6
|
+
* @param payload - The creation payload.
|
|
7
|
+
*/
|
|
8
|
+
addBccMap(payload: AddBccMapRequest): Promise<MailcowResponse>;
|
|
9
|
+
/**
|
|
10
|
+
* Endpoint for creating a recipient map.
|
|
11
|
+
* @param payload - The creation payload.
|
|
12
|
+
*/
|
|
13
|
+
addRecipientMap(payload: AddRecipientMapRequest): Promise<MailcowResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Endpoint for deleting a bcc map.
|
|
16
|
+
* @param payload - The deletion payload.
|
|
17
|
+
*/
|
|
18
|
+
deleteBccMap(payload: BccMapDeletionRequest): Promise<MailcowResponse>;
|
|
19
|
+
/**
|
|
20
|
+
* Endpoint for deleting a recipient map.
|
|
21
|
+
* @param payload - The deletion payload.
|
|
22
|
+
*/
|
|
23
|
+
deleteRecipientMap(payload: RecipientMapDeletionRequest): Promise<MailcowResponse>;
|
|
24
|
+
/**
|
|
25
|
+
* Endpoint for getting a bcc map.
|
|
26
|
+
* @param id - Id of the bcc map to get
|
|
27
|
+
*/
|
|
28
|
+
getBccMap(id: number | 'all'): Promise<GetBccMapResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Endpoint for getting a recipient map.
|
|
31
|
+
* @param id - Id of the recipient map to get
|
|
32
|
+
*/
|
|
33
|
+
getRecipientMap(id: number | 'all'): Promise<GetRecipientMapResponse>;
|
|
34
|
+
}
|
|
35
|
+
export declare function addressRewritingEndpoints(bind: MailcowClient): AdressRewritingEndpoints;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addressRewritingEndpoints = addressRewritingEndpoints;
|
|
4
|
+
function addressRewritingEndpoints(bind) {
|
|
5
|
+
return {
|
|
6
|
+
addBccMap(payload) {
|
|
7
|
+
return bind.requestFactory.post('/api/v1/add/bcc', payload);
|
|
8
|
+
},
|
|
9
|
+
addRecipientMap(payload) {
|
|
10
|
+
return bind.requestFactory.post('/api/v1/add/recipient_map', payload);
|
|
11
|
+
},
|
|
12
|
+
deleteBccMap(payload) {
|
|
13
|
+
return bind.requestFactory.post('/api/v1/delete/bcc', payload);
|
|
14
|
+
},
|
|
15
|
+
deleteRecipientMap(payload) {
|
|
16
|
+
return bind.requestFactory.post('/api/v1/delete/recipient_map', payload);
|
|
17
|
+
},
|
|
18
|
+
getBccMap(id) {
|
|
19
|
+
return bind.requestFactory.get(`/api/v1/get/bcc/${id}`);
|
|
20
|
+
},
|
|
21
|
+
getRecipientMap(id) {
|
|
22
|
+
return bind.requestFactory.get(`/api/v1/get/recipient_map/${id}`);
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=address-rewriting-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-rewriting-endpoint.js","sourceRoot":"","sources":["../../src/Endpoints/address-rewriting-endpoint.ts"],"names":[],"mappings":";;AA4CA,8DA6BC;AA7BD,SAAgB,yBAAyB,CAAC,IAAmB;IAC3D,OAAO;QACL,SAAS,CAAC,OAAyB;YACjC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAoC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACjG,CAAC;QAED,eAAe,CAAC,OAA+B;YAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA0C,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACjH,CAAC;QAED,YAAY,CAAC,OAA8B;YACzC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAyC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACzG,CAAC;QAED,kBAAkB,CAAC,OAAoC;YACrD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAC7B,8BAA8B,EAC9B,OAAO,CACR,CAAC;QACJ,CAAC;QAED,SAAS,CAAC,EAAkB;YAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAoB,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,eAAe,CAAC,EAAkB;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAA0B,6BAA6B,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alias-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/alias-endpoints.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"alias-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/alias-endpoints.ts"],"names":[],"mappings":";;AAsCA,wCAeC;AAnDD,wDAAwD;AA+BxD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAmB;IAChD,OAAO;QACL,GAAG,CAAC,EAAE,GAAG,KAAK;YACZ,OAAO,IAAA,oCAAkB,EAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAkB,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,EAAE,CAAC,OAAyB,EAA4B,EAAE;YAC9D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAoC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,EAAE,CAAC,OAAyB,EAA4B,EAAE;YAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAoC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,EAAE,CAAC,OAA2B,EAA4B,EAAE;YAChE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA4B,sBAAsB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACpG,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antispam-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/antispam-endpoints.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"antispam-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/antispam-endpoints.ts"],"names":[],"mappings":";;AAqCA,8CAYC;AAjBD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,IAAmB;IACnD,OAAO;QACL,MAAM,CAAC,OAA8B;YACnC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAyC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,CAAC,OAAgC;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA4B,8BAA8B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7G,CAAC;QACD,GAAG,CAAC,OAA6B;YAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAe,sBAAsB,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9G,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/domain-endpoints.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"domain-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/domain-endpoints.ts"],"names":[],"mappings":";;AAsCA,0CAeC;AAnDD,wDAAwD;AA+BxD;;;;GAIG;AACH,SAAgB,eAAe,CAAC,IAAmB;IACjD,OAAO;QACL,GAAG,CAAC,SAAiB,KAAK;YACxB,OAAO,IAAA,oCAAkB,EAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAoB,sBAAsB,MAAM,EAAE,CAAC,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,CAAC,OAA0B;YAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAqC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,CAAC,OAA4B;YACjC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA4B,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,CAAC,OAA0B;YAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAqC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACtG,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwarding-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/forwarding-endpoints.ts"],"names":[],"mappings":";;AA8BA,
|
|
1
|
+
{"version":3,"file":"forwarding-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/forwarding-endpoints.ts"],"names":[],"mappings":";;AA8BA,kDAYC;AAjBD;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAmB;IACrD,OAAO;QACL,MAAM,CAAC,OAAgC;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA4B,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,CAAC,OAAgC;YACrC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA2C,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM;YACJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAmB,yBAAyB,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/log-endpoints.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"log-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/log-endpoints.ts"],"names":[],"mappings":";;AAiEA,oCAiCC;AAjCD,SAAgB,YAAY,CAAC,IAAmB;IAC9C,OAAO;QACL,IAAI,CAAC,KAAa;YAChB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAY,yBAAyB,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,GAAG,CAAC,KAAa;YACf,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAW,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,YAAY,CAAC,KAAa;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,iCAAiC,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,CAAC,KAAa;YACnB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,SAAS,CAAC,KAAa;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,8BAA8B,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,CAAC,KAAa;YACnB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,WAAW,CAAC,KAAa;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,gCAAgC,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,CAAC,KAAa;YAClB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,mCAAmC,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,KAAa;YAChB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,yBAAyB,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,QAAQ,CAAC,KAAa;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAU,6BAA6B,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -23,7 +23,8 @@ export interface MailboxEndpoints {
|
|
|
23
23
|
* Endpoint for getting a mailbox.
|
|
24
24
|
* @param mailbox - The mailbox to get
|
|
25
25
|
*/
|
|
26
|
-
get(mailbox:
|
|
26
|
+
get(mailbox: 'all'): Promise<Mailbox[]>;
|
|
27
|
+
get(mailbox: string): Promise<Mailbox[]>;
|
|
27
28
|
/**
|
|
28
29
|
* Endpoint for editing a mailbox's pushover settings.
|
|
29
30
|
* @param payload - The edit payload.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox-endpoint.js","sourceRoot":"","sources":["../../src/Endpoints/mailbox-endpoint.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"mailbox-endpoint.js","sourceRoot":"","sources":["../../src/Endpoints/mailbox-endpoint.ts"],"names":[],"mappings":";;AA+EA,4CA2CC;AA9GD,wDAAwD;AA8DxD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAmB;IAClD,OAAO;QACL,MAAM,CAAC,OAA2B;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAsC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,CAAC,OAA6B;YAClC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA4B,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1G,CAAC;QAED,IAAI,CAAC,OAA2B;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAsC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACxG,CAAC;QAED,GAAG,CAAC,UAAkB,KAAK;YACzB,OAAO,IAAA,oCAAkB,EACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAsB,uBAAuB,OAAO,EAAE,CAAC,CAC/E,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,OAA4B;YACvC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAuC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAC1G,CAAC;QAED,cAAc,CAAC,OAA+B;YAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAC7B,sCAAsC,EACtC,OAAO,CACR,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,OAA6B;YACzC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAwC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAC7G,CAAC;QAED,WAAW,CAAC,OAAuB;YACjC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAkC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACrG,CAAC;QAED,kBAAkB,CAAC,OAAe;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAW,iCAAiC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncjob-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/syncjob-endpoints.ts"],"names":[],"mappings":";;AA4BA,
|
|
1
|
+
{"version":3,"file":"syncjob-endpoints.js","sourceRoot":"","sources":["../../src/Endpoints/syncjob-endpoints.ts"],"names":[],"mappings":";;AA4BA,4CAeC;AAfD,SAAgB,gBAAgB,CAAC,IAAmB;IAClD,OAAO;QACL,MAAM;YACJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAY,iCAAiC,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,CAAC,OAA2B;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAsC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,CAAC,OAA6B;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAwC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,CAAC,OAA6B;YAClC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAA4B,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtG,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { AliasEndpoints } from './Endpoints/alias-endpoints';
|
|
|
10
10
|
import { SyncjobEndpoints } from './Endpoints/syncjob-endpoints';
|
|
11
11
|
import { ForwardingEndpoints } from './Endpoints/forwarding-endpoints';
|
|
12
12
|
import { LogEndpoints } from './Endpoints/log-endpoints';
|
|
13
|
+
import { AdressRewritingEndpoints } from './Endpoints/address-rewriting-endpoint';
|
|
13
14
|
/**
|
|
14
15
|
* Class containing all the logic to interface with the Mailcow API in TypeScript.
|
|
15
16
|
* @external
|
|
@@ -24,10 +25,10 @@ declare class MailcowClient {
|
|
|
24
25
|
*/
|
|
25
26
|
readonly API_KEY: string;
|
|
26
27
|
/**
|
|
27
|
-
* The
|
|
28
|
+
* The request config used for every request.
|
|
28
29
|
* @internal
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
|
+
AXIOS_CONFIG: AxiosRequestConfig;
|
|
31
32
|
/**
|
|
32
33
|
* Creates a MailcowClient using the given URL and API key.
|
|
33
34
|
* @param BASE_URL - The base URL of the Mailcow API.
|
|
@@ -76,6 +77,12 @@ declare class MailcowClient {
|
|
|
76
77
|
* @external
|
|
77
78
|
*/
|
|
78
79
|
forwardingHosts: ForwardingEndpoints;
|
|
80
|
+
/**
|
|
81
|
+
* All endpoints related to address rewriting.
|
|
82
|
+
* See {@link AdressRewritingEndpoints}
|
|
83
|
+
* @external
|
|
84
|
+
*/
|
|
85
|
+
addressRewriting: AdressRewritingEndpoints;
|
|
79
86
|
/**
|
|
80
87
|
* All endpoints related to logs.
|
|
81
88
|
* See {@link LogEndpoints}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ const alias_endpoints_1 = require("./Endpoints/alias-endpoints");
|
|
|
11
11
|
const syncjob_endpoints_1 = require("./Endpoints/syncjob-endpoints");
|
|
12
12
|
const forwarding_endpoints_1 = require("./Endpoints/forwarding-endpoints");
|
|
13
13
|
const log_endpoints_1 = require("./Endpoints/log-endpoints");
|
|
14
|
+
const address_rewriting_endpoint_1 = require("./Endpoints/address-rewriting-endpoint");
|
|
14
15
|
/**
|
|
15
16
|
* Class containing all the logic to interface with the Mailcow API in TypeScript.
|
|
16
17
|
* @external
|
|
@@ -64,6 +65,12 @@ class MailcowClient {
|
|
|
64
65
|
* @external
|
|
65
66
|
*/
|
|
66
67
|
this.forwardingHosts = (0, forwarding_endpoints_1.forwardingEndpoints)(this);
|
|
68
|
+
/**
|
|
69
|
+
* All endpoints related to address rewriting.
|
|
70
|
+
* See {@link AdressRewritingEndpoints}
|
|
71
|
+
* @external
|
|
72
|
+
*/
|
|
73
|
+
this.addressRewriting = (0, address_rewriting_endpoint_1.addressRewritingEndpoints)(this);
|
|
67
74
|
/**
|
|
68
75
|
* All endpoints related to logs.
|
|
69
76
|
* See {@link LogEndpoints}
|
|
@@ -72,11 +79,11 @@ class MailcowClient {
|
|
|
72
79
|
this.logs = (0, log_endpoints_1.logEndpoints)(this);
|
|
73
80
|
this.BASE_URL = BASE_URL.charAt(BASE_URL.length - 1) === '/' ? BASE_URL : BASE_URL.concat('/');
|
|
74
81
|
this.API_KEY = API_KEY;
|
|
75
|
-
// Set the correct Axios
|
|
76
|
-
this.
|
|
82
|
+
// Set the correct Axios request config.
|
|
83
|
+
this.AXIOS_CONFIG = Object.assign(Object.assign({}, EXTRA_AXIOS_CONFIG), { headers: {
|
|
77
84
|
'Content-Type': 'application/json',
|
|
78
|
-
'X-API-Key': this.API_KEY
|
|
79
|
-
} }
|
|
85
|
+
'X-API-Key': this.API_KEY,
|
|
86
|
+
} });
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
89
|
exports.default = MailcowClient;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAGH,mEAAgF;AAChF,uEAAsF;AACtF,mEAAkF;AAClF,uDAA+C;AAC/C,iEAA6E;AAC7E,qEAAmF;AACnF,2EAA4F;AAC5F,6DAAuE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAGH,mEAAgF;AAChF,uEAAsF;AACtF,mEAAkF;AAClF,uDAA+C;AAC/C,iEAA6E;AAC7E,qEAAmF;AACnF,2EAA4F;AAC5F,6DAAuE;AACvE,uFAA6G;AAE7G;;;GAGG;AACH,MAAM,aAAa;IAiBjB;;;;;OAKG;IACH,YAAY,QAAgB,EAAE,OAAe,EAAE,kBAAuC;QActF;;;WAGG;QACI,mBAAc,GAAG,IAAI,yBAAc,CAAC,IAAI,CAAC,CAAC;QAEjD;;;;WAIG;QACI,YAAO,GAAmB,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAC;QAEtD;;;;WAIG;QACI,YAAO,GAAoB,IAAA,kCAAe,EAAC,IAAI,CAAC,CAAC;QAExD;;;;WAIG;QACI,eAAU,GAAsB,IAAA,sCAAiB,EAAC,IAAI,CAAC,CAAC;QAE/D;;;;WAIG;QACI,YAAO,GAAqB,IAAA,mCAAgB,EAAC,IAAI,CAAC,CAAC;QAE1D;;;;WAIG;QACI,aAAQ,GAAqB,IAAA,oCAAgB,EAAC,IAAI,CAAC,CAAC;QAE3D;;;;WAIG;QACI,oBAAe,GAAwB,IAAA,0CAAmB,EAAC,IAAI,CAAC,CAAC;QAExE;;;;WAIG;QACI,qBAAgB,GAA6B,IAAA,sDAAyB,EAAC,IAAI,CAAC,CAAC;QAEpF;;;;WAIG;QACI,SAAI,GAAiB,IAAA,4BAAY,EAAC,IAAI,CAAC,CAAC;QAzE7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,wCAAwC;QACxC,IAAI,CAAC,YAAY,mCACZ,kBAAkB,KACrB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,OAAO;aAC1B,GACF,CAAC;IACJ,CAAC;CA+DF;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Payload } from './types';
|
|
2
1
|
import MailcowClient from './index';
|
|
3
2
|
/**
|
|
4
3
|
* Function that wraps T | T[] to T[]
|
|
@@ -18,7 +17,7 @@ export default class RequestFactory {
|
|
|
18
17
|
* @param route - The route to which to send the request.
|
|
19
18
|
* @param payload - The payload to send with the request.
|
|
20
19
|
*/
|
|
21
|
-
post<T>(route: string, payload:
|
|
20
|
+
post<T, P extends object>(route: string, payload: P): Promise<T>;
|
|
22
21
|
/**
|
|
23
22
|
* GET Request Factory
|
|
24
23
|
* @param route - The route to which to send the request.
|