@insightsuen/dingdoc 0.1.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/README.md +200 -0
- package/dist/auth.d.ts +19 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +178 -0
- package/dist/auth.js.map +1 -0
- package/dist/browser.d.ts +10 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +192 -0
- package/dist/browser.js.map +1 -0
- package/dist/client.d.ts +10 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +68 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +788 -0
- package/dist/index.js.map +1 -0
- package/dist/stream.d.ts +26 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +114 -0
- package/dist/stream.js.map +1 -0
- package/dist/tools/get-document.d.ts +3 -0
- package/dist/tools/get-document.d.ts.map +1 -0
- package/dist/tools/get-document.js +117 -0
- package/dist/tools/get-document.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/list-nodes.d.ts +3 -0
- package/dist/tools/list-nodes.d.ts.map +1 -0
- package/dist/tools/list-nodes.js +73 -0
- package/dist/tools/list-nodes.js.map +1 -0
- package/dist/tools/list-spaces.d.ts +3 -0
- package/dist/tools/list-spaces.d.ts.map +1 -0
- package/dist/tools/list-spaces.js +31 -0
- package/dist/tools/list-spaces.js.map +1 -0
- package/package.json +44 -0
package/dist/client.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { getAccessToken, getOperatorId } from "./auth.js";
|
|
2
|
+
const BASE_URL = "https://api.dingtalk.com";
|
|
3
|
+
export class DingTalkApiError extends Error {
|
|
4
|
+
status;
|
|
5
|
+
code;
|
|
6
|
+
constructor(status, code, message) {
|
|
7
|
+
super(`[${code}] ${message}`);
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = "DingTalkApiError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/** GET 请求,自动附加认证头和 operatorId */
|
|
14
|
+
export async function dingtalkGet(path, params = {}) {
|
|
15
|
+
const token = await getAccessToken();
|
|
16
|
+
const operatorId = await getOperatorId();
|
|
17
|
+
const query = new URLSearchParams();
|
|
18
|
+
query.set("operatorId", operatorId);
|
|
19
|
+
for (const [k, v] of Object.entries(params)) {
|
|
20
|
+
query.set(k, String(v));
|
|
21
|
+
}
|
|
22
|
+
const url = `${BASE_URL}${path}?${query.toString()}`;
|
|
23
|
+
const resp = await fetch(url, {
|
|
24
|
+
headers: { "x-acs-dingtalk-access-token": token },
|
|
25
|
+
});
|
|
26
|
+
if (!resp.ok) {
|
|
27
|
+
let code = "unknown";
|
|
28
|
+
let message = `HTTP ${resp.status}`;
|
|
29
|
+
try {
|
|
30
|
+
const body = (await resp.json());
|
|
31
|
+
code = body.code ?? code;
|
|
32
|
+
message = body.message ?? message;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// ignore parse error
|
|
36
|
+
}
|
|
37
|
+
throw new DingTalkApiError(resp.status, code, message);
|
|
38
|
+
}
|
|
39
|
+
return resp.json();
|
|
40
|
+
}
|
|
41
|
+
/** POST 请求,自动附加认证头 */
|
|
42
|
+
export async function dingtalkPost(path, body = {}) {
|
|
43
|
+
const token = await getAccessToken();
|
|
44
|
+
const operatorId = await getOperatorId();
|
|
45
|
+
const resp = await fetch(`${BASE_URL}${path}`, {
|
|
46
|
+
method: "POST",
|
|
47
|
+
headers: {
|
|
48
|
+
"x-acs-dingtalk-access-token": token,
|
|
49
|
+
"Content-Type": "application/json",
|
|
50
|
+
},
|
|
51
|
+
body: JSON.stringify({ operatorId, ...body }),
|
|
52
|
+
});
|
|
53
|
+
if (!resp.ok) {
|
|
54
|
+
let code = "unknown";
|
|
55
|
+
let message = `HTTP ${resp.status}`;
|
|
56
|
+
try {
|
|
57
|
+
const errBody = (await resp.json());
|
|
58
|
+
code = errBody.code ?? code;
|
|
59
|
+
message = errBody.message ?? message;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// ignore parse error
|
|
63
|
+
}
|
|
64
|
+
throw new DingTalkApiError(resp.status, code, message);
|
|
65
|
+
}
|
|
66
|
+
return resp.json();
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|