@ukwhatn/wikidot 1.0.10 → 4.0.3
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 +242 -78
- package/dist/errors.cjs +114 -0
- package/dist/errors.d.cts +94 -0
- package/dist/errors.d.ts +94 -0
- package/dist/errors.js +81 -0
- package/dist/index.cjs +4615 -0
- package/dist/index.d.cts +2158 -0
- package/dist/index.d.ts +2158 -1
- package/dist/index.js +4582 -6
- package/package.json +64 -40
- package/.eslintrc.js +0 -23
- package/.github/dependabot.yml +0 -12
- package/.prettierrc +0 -6
- package/Makefile +0 -24
- package/dist/common/exceptions.d.ts +0 -95
- package/dist/common/exceptions.js +0 -146
- package/dist/common/exceptions.js.map +0 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.js +0 -6
- package/dist/common/index.js.map +0 -1
- package/dist/common/logger.d.ts +0 -2
- package/dist/common/logger.js +0 -19
- package/dist/common/logger.js.map +0 -1
- package/dist/connector/ajax.d.ts +0 -142
- package/dist/connector/ajax.js +0 -260
- package/dist/connector/ajax.js.map +0 -1
- package/dist/connector/api.d.ts +0 -11
- package/dist/connector/api.js +0 -17
- package/dist/connector/api.js.map +0 -1
- package/dist/connector/index.d.ts +0 -0
- package/dist/connector/index.js +0 -2
- package/dist/connector/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/module/auth.d.ts +0 -8
- package/dist/module/auth.js +0 -80
- package/dist/module/auth.js.map +0 -1
- package/dist/module/client.d.ts +0 -39
- package/dist/module/client.js +0 -96
- package/dist/module/client.js.map +0 -1
- package/dist/module/index.d.ts +0 -0
- package/dist/module/index.js +0 -2
- package/dist/module/index.js.map +0 -1
- package/dist/module/page.d.ts +0 -102
- package/dist/module/page.js +0 -402
- package/dist/module/page.js.map +0 -1
- package/dist/module/pageRevision.d.ts +0 -29
- package/dist/module/pageRevision.js +0 -114
- package/dist/module/pageRevision.js.map +0 -1
- package/dist/module/pageSource.d.ts +0 -7
- package/dist/module/pageSource.js +0 -11
- package/dist/module/pageSource.js.map +0 -1
- package/dist/module/pageVote.d.ts +0 -14
- package/dist/module/pageVote.js +0 -20
- package/dist/module/pageVote.js.map +0 -1
- package/dist/module/privateMessage.d.ts +0 -29
- package/dist/module/privateMessage.js +0 -132
- package/dist/module/privateMessage.js.map +0 -1
- package/dist/module/site.d.ts +0 -32
- package/dist/module/site.js +0 -117
- package/dist/module/site.js.map +0 -1
- package/dist/module/siteApplication.d.ts +0 -14
- package/dist/module/siteApplication.js +0 -100
- package/dist/module/siteApplication.js.map +0 -1
- package/dist/module/user.d.ts +0 -56
- package/dist/module/user.js +0 -115
- package/dist/module/user.js.map +0 -1
- package/dist/util/index.d.ts +0 -3
- package/dist/util/index.js +0 -10
- package/dist/util/index.js.map +0 -1
- package/dist/util/parser/index.d.ts +0 -1
- package/dist/util/parser/index.js +0 -18
- package/dist/util/parser/index.js.map +0 -1
- package/dist/util/parser/odate.d.ts +0 -12
- package/dist/util/parser/odate.js +0 -25
- package/dist/util/parser/odate.js.map +0 -1
- package/dist/util/parser/user.d.ts +0 -16
- package/dist/util/parser/user.js +0 -36
- package/dist/util/parser/user.js.map +0 -1
- package/dist/util/quickModule.d.ts +0 -96
- package/dist/util/quickModule.js +0 -137
- package/dist/util/quickModule.js.map +0 -1
- package/dist/util/requestUtil.d.ts +0 -26
- package/dist/util/requestUtil.js +0 -69
- package/dist/util/requestUtil.js.map +0 -1
- package/dist/util/stringUtil.d.ts +0 -21
- package/dist/util/stringUtil.js +0 -64
- package/dist/util/stringUtil.js.map +0 -1
- package/dist/util/table/charTable.d.ts +0 -3
- package/dist/util/table/charTable.js +0 -472
- package/dist/util/table/charTable.js.map +0 -1
- package/dist/util/table/index.d.ts +0 -1
- package/dist/util/table/index.js +0 -18
- package/dist/util/table/index.js.map +0 -1
package/dist/connector/ajax.js
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AjaxRequestHeader = exports.AjaxModuleConnectorClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const async_mutex_1 = require("async-mutex");
|
|
9
|
-
const exceptions_1 = require("../common/exceptions");
|
|
10
|
-
const common_1 = require("../common");
|
|
11
|
-
/**
|
|
12
|
-
* @class AjaxRequestHeader
|
|
13
|
-
* @description ajax-module-connector.phpへのリクエスト時に利用するヘッダの構築用クラス
|
|
14
|
-
* @property contentType Content-Type
|
|
15
|
-
* @property userAgent User-Agent
|
|
16
|
-
* @property referer Referer
|
|
17
|
-
* @property cookie Cookie
|
|
18
|
-
* @version 1.0.0
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
* @public
|
|
21
|
-
* @exports
|
|
22
|
-
*/
|
|
23
|
-
class AjaxRequestHeader {
|
|
24
|
-
/**
|
|
25
|
-
* @constructor
|
|
26
|
-
* @param contentType Content-Type
|
|
27
|
-
* @param userAgent User-Agent
|
|
28
|
-
* @param referer Referer
|
|
29
|
-
* @param cookie Cookie
|
|
30
|
-
*/
|
|
31
|
-
constructor(contentType = null, userAgent = null, referer = null, cookie = null) {
|
|
32
|
-
this.contentType = contentType ?? 'application/x-www-form-urlencoded; charset=UTF-8';
|
|
33
|
-
this.userAgent = userAgent ?? 'WikidotTS';
|
|
34
|
-
this.referer = referer ?? 'https://www.wikidot.com/';
|
|
35
|
-
this.cookie = { wikidot_token7: 123456 };
|
|
36
|
-
if (cookie) {
|
|
37
|
-
this.cookie = { ...this.cookie, ...cookie };
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @method setCookie
|
|
42
|
-
* @description Cookieを設定する
|
|
43
|
-
* @param name Cookie名
|
|
44
|
-
* @param value Cookie値
|
|
45
|
-
* @version 1.0.0
|
|
46
|
-
* @since 1.0.0
|
|
47
|
-
* @public
|
|
48
|
-
*/
|
|
49
|
-
setCookie(name, value) {
|
|
50
|
-
this.cookie[name] = value;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* @method deleteCookie
|
|
54
|
-
* @description Cookieを削除する
|
|
55
|
-
* @param name Cookie名
|
|
56
|
-
* @version 1.0.0
|
|
57
|
-
* @since 1.0.0
|
|
58
|
-
* @public
|
|
59
|
-
*/
|
|
60
|
-
deleteCookie(name) {
|
|
61
|
-
/**
|
|
62
|
-
* Cookieを削除する
|
|
63
|
-
*
|
|
64
|
-
* @param name Cookie名
|
|
65
|
-
*/
|
|
66
|
-
delete this.cookie[name];
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* @method getHeader
|
|
70
|
-
* @description ヘッダを構築して返す
|
|
71
|
-
* @returns ヘッダ
|
|
72
|
-
* @version 1.0.0
|
|
73
|
-
* @since 1.0.0
|
|
74
|
-
* @public
|
|
75
|
-
*/
|
|
76
|
-
getHeader() {
|
|
77
|
-
return {
|
|
78
|
-
'Content-Type': this.contentType,
|
|
79
|
-
'User-Agent': this.userAgent,
|
|
80
|
-
Referer: this.referer,
|
|
81
|
-
Cookie: Object.entries(this.cookie)
|
|
82
|
-
.map(([name, value]) => `${name}=${value};`)
|
|
83
|
-
.join(''),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.AjaxRequestHeader = AjaxRequestHeader;
|
|
88
|
-
/**
|
|
89
|
-
* @constant defaultConfig
|
|
90
|
-
* @description デフォルトの設定
|
|
91
|
-
* @type {AjaxModuleConnectorConfig}
|
|
92
|
-
* @version 1.0.0
|
|
93
|
-
* @since 1.0.0
|
|
94
|
-
* @public
|
|
95
|
-
*/
|
|
96
|
-
const defaultConfig = {
|
|
97
|
-
requestTimeout: 20,
|
|
98
|
-
attemptLimit: 3,
|
|
99
|
-
retryInterval: 5,
|
|
100
|
-
semaphoreLimit: 10,
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* @class AjaxModuleConnectorClient
|
|
104
|
-
* @description ajax-module-connector.phpへのリクエストを行うクライアント
|
|
105
|
-
* @property siteName サイト名
|
|
106
|
-
* @property config 設定
|
|
107
|
-
* @property sslSupported SSL対応しているか
|
|
108
|
-
* @property header ヘッダ
|
|
109
|
-
* @property semaphore セマフォ
|
|
110
|
-
* @version 1.0.0
|
|
111
|
-
* @since 1.0.0
|
|
112
|
-
* @public
|
|
113
|
-
* @exports
|
|
114
|
-
*/
|
|
115
|
-
class AjaxModuleConnectorClient {
|
|
116
|
-
/**
|
|
117
|
-
* @constructor
|
|
118
|
-
* @description クライアントを初期化する
|
|
119
|
-
* @param siteName サイト名
|
|
120
|
-
* @param config 設定
|
|
121
|
-
* @version 1.0.0
|
|
122
|
-
* @since 1.0.0
|
|
123
|
-
* @public
|
|
124
|
-
*/
|
|
125
|
-
constructor(siteName = null, config = null) {
|
|
126
|
-
/**
|
|
127
|
-
* @method checkExistenceAndSSL
|
|
128
|
-
* @description サイトの存在確認とSSL対応確認を行う
|
|
129
|
-
* @returns サイトが存在し、かつSSL対応しているか
|
|
130
|
-
* @version 1.0.0
|
|
131
|
-
* @since 1.0.0
|
|
132
|
-
* @private
|
|
133
|
-
* @async
|
|
134
|
-
* @throws {NotFoundException} サイトが見つからない場合
|
|
135
|
-
* @throws {Error} その他のエラー
|
|
136
|
-
* @exports
|
|
137
|
-
*/
|
|
138
|
-
this.checkExistenceAndSSL = async () => {
|
|
139
|
-
// wwwは存在し、SSL対応している
|
|
140
|
-
if (this.siteName === 'www') {
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
// サイトの存在確認
|
|
144
|
-
const response = await axios_1.default.get(`http://${this.siteName}.wikidot.com`, {
|
|
145
|
-
maxRedirects: 0,
|
|
146
|
-
validateStatus: (status) => status === 200 || status === 301 || status === 404,
|
|
147
|
-
});
|
|
148
|
-
// サイトが存在しない場合は例外を投げる
|
|
149
|
-
if (response.status === 404) {
|
|
150
|
-
throw new exceptions_1.NotFoundException(`Site is not found: ${this.siteName}.wikidot.com`);
|
|
151
|
-
}
|
|
152
|
-
// 301リダイレクトが発生し、かつhttpsにリダイレクトされている場合はSSL対応していると判断
|
|
153
|
-
return (response.status === 301 && response.headers['location'] && response.headers['location'].startsWith('https'));
|
|
154
|
-
};
|
|
155
|
-
/**
|
|
156
|
-
* @method request
|
|
157
|
-
* @description リクエストを送信する
|
|
158
|
-
* @param bodies リクエストボディ
|
|
159
|
-
* @param returnExceptions 例外を返すか
|
|
160
|
-
* @param siteName サイト名
|
|
161
|
-
* @param siteSSLSupported SSL対応しているか
|
|
162
|
-
* @returns レスポンス
|
|
163
|
-
* @version 1.0.0
|
|
164
|
-
* @since 1.0.0
|
|
165
|
-
* @public
|
|
166
|
-
* @async
|
|
167
|
-
*/
|
|
168
|
-
this.request = async (bodies, returnExceptions = false, siteName, siteSSLSupported) => {
|
|
169
|
-
// 初期化が完了するまで待つ
|
|
170
|
-
while (!this.isInitialized) {
|
|
171
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
172
|
-
}
|
|
173
|
-
const _siteName = siteName ?? this.siteName;
|
|
174
|
-
const _siteSSLSupported = siteSSLSupported ?? this.sslSupported;
|
|
175
|
-
// リクエストを送信するクライアントを生成
|
|
176
|
-
const axiosClient = axios_1.default.create({
|
|
177
|
-
headers: this.header.getHeader(),
|
|
178
|
-
timeout: this.config.requestTimeout * 1000, // ms Pythonのrequestsと合わせるために秒からmsに変換
|
|
179
|
-
validateStatus: (status) => status === 200,
|
|
180
|
-
retryCount: 0,
|
|
181
|
-
retryLimit: this.config.attemptLimit,
|
|
182
|
-
});
|
|
183
|
-
// リトライ処理をinterceptorで実装
|
|
184
|
-
axiosClient.interceptors.response.use(
|
|
185
|
-
// リクエスト成功時はそのまま返す
|
|
186
|
-
(response) => response,
|
|
187
|
-
// リクエスト失敗時はリトライ処理へ
|
|
188
|
-
async (error) => {
|
|
189
|
-
const config = error.config;
|
|
190
|
-
if (config && config.retryCount < config.retryLimit) {
|
|
191
|
-
// リトライ回数をインクリメント、リトライ間隔分待機してから再リクエスト
|
|
192
|
-
config.retryCount++;
|
|
193
|
-
await new Promise((resolve) => setTimeout(resolve, this.config.retryInterval * 1000));
|
|
194
|
-
return axiosClient.request(config);
|
|
195
|
-
}
|
|
196
|
-
// リトライ回数が上限に達した場合はエラーを送出
|
|
197
|
-
throw new exceptions_1.AMCHttpStatusCodeException(`AMC is respond HTTP error code: ${error.response.status}`, error.response.status);
|
|
198
|
-
});
|
|
199
|
-
const requestPromises = bodies.map(async (body) => {
|
|
200
|
-
let retryCount = 0;
|
|
201
|
-
// eslint-disable-next-line no-constant-condition
|
|
202
|
-
while (true) {
|
|
203
|
-
// Mutexで同時実行数制御
|
|
204
|
-
await this.semaphore.acquire();
|
|
205
|
-
const url = `http${_siteSSLSupported ? 's' : ''}://${_siteName}.wikidot.com/ajax-module-connector.php`;
|
|
206
|
-
body.wikidot_token7 = 123456;
|
|
207
|
-
common_1.logger.debug(`Ajax Request: ${url} -> ${JSON.stringify(body)}`);
|
|
208
|
-
// リクエストを送信
|
|
209
|
-
// 200以外のステータスコードが返ってきたらエラーとして扱う
|
|
210
|
-
const response = await axiosClient.post(url, body);
|
|
211
|
-
// Mutexを解放
|
|
212
|
-
this.semaphore.release();
|
|
213
|
-
// レスポンスが空だったらエラーとして扱う
|
|
214
|
-
if (!response.data || Object.keys(response.data).length === 0) {
|
|
215
|
-
common_1.logger.error(`AMC is respond empty data -> ${JSON.stringify(body)}`);
|
|
216
|
-
throw new exceptions_1.ResponseDataException('AMC is respond empty data');
|
|
217
|
-
}
|
|
218
|
-
// 中身のstatusがokでなかったらエラーとして扱う
|
|
219
|
-
if ('status' in response.data) {
|
|
220
|
-
// statusがtry_againの場合はリトライ
|
|
221
|
-
if (response.data.status === 'try_again') {
|
|
222
|
-
retryCount++;
|
|
223
|
-
// リトライ回数が上限に達した場合はエラーを送出
|
|
224
|
-
if (retryCount >= this.config.attemptLimit) {
|
|
225
|
-
common_1.logger.error(`AMC is respond status: "try_again" -> ${JSON.stringify(body)}`);
|
|
226
|
-
throw new exceptions_1.WikidotStatusCodeException('AMC is respond status: "try_again"', 'try_again');
|
|
227
|
-
}
|
|
228
|
-
// リトライ回数が上限に達していない場合はリトライ
|
|
229
|
-
common_1.logger.info(`AMC is respond status: "try_again" (retry: ${retryCount})`);
|
|
230
|
-
await new Promise((resolve) => setTimeout(resolve, this.config.retryInterval * 1000));
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
// それ以外でstatusがokでない場合はエラーとして扱う
|
|
234
|
-
else if (response.data.status !== 'ok') {
|
|
235
|
-
common_1.logger.error(`AMC is respond error status: "${response.data.status}" -> ${JSON.stringify(body)}`);
|
|
236
|
-
throw new Error(`AMC is respond error status: "${response.data.status}"`);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
// レスポンスを返す
|
|
240
|
-
return response;
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
return Promise.all(requestPromises.map((p) => (returnExceptions ? p.catch((e) => e) : p)));
|
|
244
|
-
};
|
|
245
|
-
this.siteName = siteName ?? 'www';
|
|
246
|
-
this.config = { ...defaultConfig, ...(config ?? {}) };
|
|
247
|
-
this.sslSupported = false;
|
|
248
|
-
this.header = new AjaxRequestHeader();
|
|
249
|
-
// セマフォを初期化
|
|
250
|
-
this.semaphore = new async_mutex_1.Semaphore(this.config.semaphoreLimit);
|
|
251
|
-
// サイトの存在確認とSSL対応確認
|
|
252
|
-
this.isInitialized = false;
|
|
253
|
-
this.checkExistenceAndSSL().then((sslSupported) => {
|
|
254
|
-
this.sslSupported = sslSupported;
|
|
255
|
-
this.isInitialized = true;
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
exports.AjaxModuleConnectorClient = AjaxModuleConnectorClient;
|
|
260
|
-
//# sourceMappingURL=ajax.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ajax.js","sourceRoot":"","sources":["../../src/connector/ajax.ts"],"names":[],"mappings":"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"}
|
package/dist/connector/api.d.ts
DELETED
package/dist/connector/api.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.APIKeys = void 0;
|
|
4
|
-
class APIKeys {
|
|
5
|
-
/**
|
|
6
|
-
* APIキーのオブジェクト
|
|
7
|
-
*
|
|
8
|
-
* @param roKey - Read Only Key
|
|
9
|
-
* @param rwKey - Read-Write Key
|
|
10
|
-
*/
|
|
11
|
-
constructor(roKey, rwKey) {
|
|
12
|
-
this.roKey = roKey;
|
|
13
|
-
this.rwKey = rwKey;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.APIKeys = APIKeys;
|
|
17
|
-
//# sourceMappingURL=api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/connector/api.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAO;IAChB;;;;;OAKG;IACH,YACoB,KAAa,EACb,KAAa;QADb,UAAK,GAAL,KAAK,CAAQ;QACb,UAAK,GAAL,KAAK,CAAQ;IAC9B,CAAC;CACP;AAXD,0BAWC"}
|
|
File without changes
|
package/dist/connector/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connector/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AAA/B,gGAAA,MAAM,OAAA"}
|
package/dist/module/auth.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Client } from './client';
|
|
2
|
-
declare class SessionCreateException extends Error {
|
|
3
|
-
}
|
|
4
|
-
declare class HTTPAuthentication {
|
|
5
|
-
static login(client: Client, username: string, password: string): Promise<void>;
|
|
6
|
-
static logout(client: Client): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export { HTTPAuthentication, SessionCreateException };
|
package/dist/module/auth.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.SessionCreateException = exports.HTTPAuthentication = void 0;
|
|
27
|
-
const axios_1 = __importStar(require("axios"));
|
|
28
|
-
class SessionCreateException extends Error {
|
|
29
|
-
}
|
|
30
|
-
exports.SessionCreateException = SessionCreateException;
|
|
31
|
-
class HTTPAuthentication {
|
|
32
|
-
static async login(client, username, password) {
|
|
33
|
-
await axios_1.default
|
|
34
|
-
.post('https://www.wikidot.com/default--flow/login__LoginPopupScreen', {
|
|
35
|
-
login: username,
|
|
36
|
-
password: password,
|
|
37
|
-
action: 'Login2Action',
|
|
38
|
-
event: 'login',
|
|
39
|
-
}, {
|
|
40
|
-
headers: client.amcClient.header.getHeader(),
|
|
41
|
-
timeout: 20000,
|
|
42
|
-
})
|
|
43
|
-
.then((response) => {
|
|
44
|
-
if (response.status !== 200) {
|
|
45
|
-
throw new SessionCreateException('Login attempt is failed due to HTTP status code: ' + response.status);
|
|
46
|
-
}
|
|
47
|
-
if (response.data.includes('The login and password do not match')) {
|
|
48
|
-
throw new SessionCreateException('Login attempt is failed due to invalid username or password');
|
|
49
|
-
}
|
|
50
|
-
const wikidotSessionId = response.headers['set-cookie']?.find((cookie) => cookie.startsWith('WIKIDOT_SESSION_ID='));
|
|
51
|
-
if (!wikidotSessionId) {
|
|
52
|
-
throw new SessionCreateException('Login attempt is failed due to invalid cookies');
|
|
53
|
-
}
|
|
54
|
-
client.amcClient.header.setCookie('WIKIDOT_SESSION_ID', wikidotSessionId.split(';')[0].split('=')[1]);
|
|
55
|
-
})
|
|
56
|
-
.catch((error) => {
|
|
57
|
-
if (error instanceof axios_1.AxiosError) {
|
|
58
|
-
throw new SessionCreateException('Login attempt is failed due to HTTP error: ' + error.message);
|
|
59
|
-
}
|
|
60
|
-
throw error;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
static async logout(client) {
|
|
64
|
-
try {
|
|
65
|
-
await client.amcClient.request([
|
|
66
|
-
{
|
|
67
|
-
action: 'Login2Action',
|
|
68
|
-
event: 'logout',
|
|
69
|
-
moduleName: 'Empty',
|
|
70
|
-
},
|
|
71
|
-
]);
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
// Ignore error
|
|
75
|
-
}
|
|
76
|
-
client.amcClient.header.deleteCookie('WIKIDOT_SESSION_ID');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.HTTPAuthentication = HTTPAuthentication;
|
|
80
|
-
//# sourceMappingURL=auth.js.map
|
package/dist/module/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/module/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AAGzC,MAAM,sBAAuB,SAAQ,KAAK;CAAG;AAgEhB,wDAAsB;AA9DnD,MAAM,kBAAkB;IACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAgB;QACjE,MAAM,eAAK;aACN,IAAI,CACD,+DAA+D,EAC/D;YACI,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,OAAO;SACjB,EACD;YACI,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;YAC5C,OAAO,EAAE,KAAK;SACjB,CACJ;aACA,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACf,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1B,MAAM,IAAI,sBAAsB,CAC5B,mDAAmD,GAAG,QAAQ,CAAC,MAAM,CACxE,CAAA;YACL,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,sBAAsB,CAAC,6DAA6D,CAAC,CAAA;YACnG,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAC7E,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAC3C,CAAA;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,MAAM,IAAI,sBAAsB,CAAC,gDAAgD,CAAC,CAAA;YACtF,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzG,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,IAAI,KAAK,YAAY,kBAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,sBAAsB,CAAC,6CAA6C,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;YACnG,CAAC;YACD,MAAM,KAAK,CAAA;QACf,CAAC,CAAC,CAAA;IACV,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAc;QAC9B,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC3B;oBACI,MAAM,EAAE,cAAc;oBACtB,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE,OAAO;iBACtB;aACJ,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe;QACnB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;IAC9D,CAAC;CACJ;AAEQ,gDAAkB"}
|
package/dist/module/client.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { AjaxModuleConnectorClient, AjaxModuleConnectorConfig } from '../connector/ajax';
|
|
2
|
-
import { PrivateMessage, PrivateMessageInbox, PrivateMessageSentBox, PrivateMessageCollection } from './privateMessage';
|
|
3
|
-
import { Site } from './site';
|
|
4
|
-
import { User, UserCollection } from './user';
|
|
5
|
-
declare class ClientUserMethods {
|
|
6
|
-
private client;
|
|
7
|
-
constructor(client: Client);
|
|
8
|
-
get(name: string, raiseWhenNotFound?: boolean): Promise<User | null>;
|
|
9
|
-
getBulk(names: string[], raiseWhenNotFound?: boolean): Promise<UserCollection>;
|
|
10
|
-
}
|
|
11
|
-
declare class ClientPrivateMessageMethods {
|
|
12
|
-
private client;
|
|
13
|
-
constructor(client: Client);
|
|
14
|
-
send(recipient: User, subject: string, body: string): Promise<void>;
|
|
15
|
-
getInbox(): Promise<PrivateMessageInbox>;
|
|
16
|
-
getSentbox(): Promise<PrivateMessageSentBox>;
|
|
17
|
-
getMessages(messageIds: number[]): Promise<PrivateMessageCollection>;
|
|
18
|
-
getMessage(messageId: number): Promise<PrivateMessage>;
|
|
19
|
-
}
|
|
20
|
-
declare class ClientSiteMethods {
|
|
21
|
-
private client;
|
|
22
|
-
constructor(client: Client);
|
|
23
|
-
get(unixName: string): Promise<Site>;
|
|
24
|
-
}
|
|
25
|
-
declare class Client {
|
|
26
|
-
amcClient: AjaxModuleConnectorClient;
|
|
27
|
-
isLoggedIn: boolean;
|
|
28
|
-
username: string | null;
|
|
29
|
-
user: ClientUserMethods;
|
|
30
|
-
privateMessage: ClientPrivateMessageMethods;
|
|
31
|
-
site: ClientSiteMethods;
|
|
32
|
-
private isInitialized;
|
|
33
|
-
constructor(username?: string, amcConfig?: AjaxModuleConnectorConfig, loggingLevel?: string);
|
|
34
|
-
static init(username?: string, password?: string, amcConfig?: AjaxModuleConnectorConfig, loggingLevel?: string): Promise<Client>;
|
|
35
|
-
logout(): Promise<void>;
|
|
36
|
-
loginCheck(): void;
|
|
37
|
-
toString(): string;
|
|
38
|
-
}
|
|
39
|
-
export { Client };
|
package/dist/module/client.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Client = void 0;
|
|
4
|
-
const common_1 = require("../common");
|
|
5
|
-
const exceptions_1 = require("../common/exceptions");
|
|
6
|
-
const ajax_1 = require("../connector/ajax");
|
|
7
|
-
const auth_1 = require("./auth");
|
|
8
|
-
const privateMessage_1 = require("./privateMessage");
|
|
9
|
-
const site_1 = require("./site");
|
|
10
|
-
const user_1 = require("./user");
|
|
11
|
-
class ClientUserMethods {
|
|
12
|
-
constructor(client) {
|
|
13
|
-
this.client = client;
|
|
14
|
-
}
|
|
15
|
-
async get(name, raiseWhenNotFound = false) {
|
|
16
|
-
return await user_1.User.fromName(this.client, name, raiseWhenNotFound);
|
|
17
|
-
}
|
|
18
|
-
async getBulk(names, raiseWhenNotFound = false) {
|
|
19
|
-
return await user_1.UserCollection.fromNames(this.client, names, raiseWhenNotFound);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
class ClientPrivateMessageMethods {
|
|
23
|
-
constructor(client) {
|
|
24
|
-
this.client = client;
|
|
25
|
-
}
|
|
26
|
-
async send(recipient, subject, body) {
|
|
27
|
-
await privateMessage_1.PrivateMessage.send(this.client, recipient, subject, body);
|
|
28
|
-
}
|
|
29
|
-
async getInbox() {
|
|
30
|
-
return await privateMessage_1.PrivateMessageInbox.acquire(this.client);
|
|
31
|
-
}
|
|
32
|
-
async getSentbox() {
|
|
33
|
-
return await privateMessage_1.PrivateMessageSentBox.acquire(this.client);
|
|
34
|
-
}
|
|
35
|
-
async getMessages(messageIds) {
|
|
36
|
-
return privateMessage_1.PrivateMessageCollection.fromIds(this.client, messageIds);
|
|
37
|
-
}
|
|
38
|
-
async getMessage(messageId) {
|
|
39
|
-
return privateMessage_1.PrivateMessage.fromId(this.client, messageId);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
class ClientSiteMethods {
|
|
43
|
-
constructor(client) {
|
|
44
|
-
this.client = client;
|
|
45
|
-
}
|
|
46
|
-
async get(unixName) {
|
|
47
|
-
return await site_1.Site.fromUnixName(this.client, unixName);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
class Client {
|
|
51
|
-
constructor(username, amcConfig, loggingLevel = 'info') {
|
|
52
|
-
common_1.logger.level = loggingLevel;
|
|
53
|
-
this.amcClient = new ajax_1.AjaxModuleConnectorClient(null, amcConfig);
|
|
54
|
-
this.isLoggedIn = false;
|
|
55
|
-
this.username = null;
|
|
56
|
-
this.isInitialized = false;
|
|
57
|
-
this.user = new ClientUserMethods(this);
|
|
58
|
-
this.privateMessage = new ClientPrivateMessageMethods(this);
|
|
59
|
-
this.site = new ClientSiteMethods(this);
|
|
60
|
-
}
|
|
61
|
-
static async init(username, password, amcConfig, loggingLevel = 'info') {
|
|
62
|
-
const instance = new Client(username, amcConfig, loggingLevel);
|
|
63
|
-
if (username && password) {
|
|
64
|
-
await auth_1.HTTPAuthentication.login(instance, username, password).then(() => {
|
|
65
|
-
instance.isLoggedIn = true;
|
|
66
|
-
instance.username = username;
|
|
67
|
-
instance.isInitialized = true;
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
instance.isInitialized = true;
|
|
72
|
-
}
|
|
73
|
-
return instance;
|
|
74
|
-
}
|
|
75
|
-
async logout() {
|
|
76
|
-
if (this.isLoggedIn) {
|
|
77
|
-
await auth_1.HTTPAuthentication.logout(this);
|
|
78
|
-
this.isLoggedIn = false;
|
|
79
|
-
this.username = null;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
loginCheck() {
|
|
83
|
-
while (!this.isInitialized) {
|
|
84
|
-
// Wait for initialization
|
|
85
|
-
setTimeout(() => { }, 1000);
|
|
86
|
-
}
|
|
87
|
-
if (!this.isLoggedIn) {
|
|
88
|
-
throw new exceptions_1.LoginRequiredException('Login is required to execute this function');
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
toString() {
|
|
92
|
-
return `Client(username=${this.username}, isLoggedIn=${this.isLoggedIn})`;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.Client = Client;
|
|
96
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/module/client.ts"],"names":[],"mappings":"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"}
|
package/dist/module/index.d.ts
DELETED
|
File without changes
|
package/dist/module/index.js
DELETED
package/dist/module/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":""}
|