tkserver 1.6.12 → 1.6.13
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/index.js +30 -5
- package/mongo.js +29 -5
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -13,8 +13,7 @@ const Lfsa = require('lokijs/src/loki-fs-structured-adapter')
|
|
|
13
13
|
const { v4: uuidv4 } = require('uuid') // 用户 id 生成
|
|
14
14
|
const {
|
|
15
15
|
$,
|
|
16
|
-
|
|
17
|
-
createDOMPurify,
|
|
16
|
+
getDomPurify,
|
|
18
17
|
md5,
|
|
19
18
|
xml2js
|
|
20
19
|
} = require('twikoo-func/utils/lib')
|
|
@@ -40,15 +39,14 @@ const {
|
|
|
40
39
|
commentImportValine,
|
|
41
40
|
commentImportDisqus,
|
|
42
41
|
commentImportArtalk,
|
|
42
|
+
commentImportArtalk2,
|
|
43
43
|
commentImportTwikoo
|
|
44
44
|
} = require('twikoo-func/utils/import')
|
|
45
45
|
const { postCheckSpam } = require('twikoo-func/utils/spam')
|
|
46
46
|
const { sendNotice, emailTest } = require('twikoo-func/utils/notify')
|
|
47
47
|
const { uploadImage } = require('twikoo-func/utils/image')
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
const window = new JSDOM('').window
|
|
51
|
-
const DOMPurify = createDOMPurify(window)
|
|
49
|
+
const DOMPurify = getDomPurify()
|
|
52
50
|
|
|
53
51
|
// 常量 / constants
|
|
54
52
|
const { RES_CODE, MAX_REQUEST_TIMES } = require('twikoo-func/utils/constants')
|
|
@@ -135,6 +133,9 @@ module.exports = async (request, response) => {
|
|
|
135
133
|
case 'UPLOAD_IMAGE': // >= 1.5.0
|
|
136
134
|
res = await uploadImage(event, config)
|
|
137
135
|
break
|
|
136
|
+
case 'COMMENT_EXPORT_FOR_ADMIN': // >= 1.6.13
|
|
137
|
+
res = await commentExportForAdmin(event)
|
|
138
|
+
break
|
|
138
139
|
default:
|
|
139
140
|
if (event.event) {
|
|
140
141
|
res.code = RES_CODE.EVENT_NOT_EXIST
|
|
@@ -476,6 +477,11 @@ async function commentImportForAdmin (event) {
|
|
|
476
477
|
comments = await commentImportArtalk(artalkDb, log)
|
|
477
478
|
break
|
|
478
479
|
}
|
|
480
|
+
case 'artalk2': {
|
|
481
|
+
const artalkDb = await readFile(event.file, 'json', log)
|
|
482
|
+
comments = await commentImportArtalk2(artalkDb, log)
|
|
483
|
+
break
|
|
484
|
+
}
|
|
479
485
|
case 'twikoo': {
|
|
480
486
|
const twikooDb = await readFile(event.file, 'json', log)
|
|
481
487
|
comments = await commentImportTwikoo(twikooDb, log)
|
|
@@ -499,6 +505,25 @@ async function commentImportForAdmin (event) {
|
|
|
499
505
|
return res
|
|
500
506
|
}
|
|
501
507
|
|
|
508
|
+
async function commentExportForAdmin (event) {
|
|
509
|
+
const res = {}
|
|
510
|
+
const isAdminUser = isAdmin(event.accessToken)
|
|
511
|
+
if (isAdminUser) {
|
|
512
|
+
const collection = event.collection || 'comment'
|
|
513
|
+
const data = db
|
|
514
|
+
.getCollection(collection)
|
|
515
|
+
.chain()
|
|
516
|
+
.find({})
|
|
517
|
+
.data()
|
|
518
|
+
res.code = RES_CODE.SUCCESS
|
|
519
|
+
res.data = data
|
|
520
|
+
} else {
|
|
521
|
+
res.code = RES_CODE.NEED_LOGIN
|
|
522
|
+
res.message = '请先登录'
|
|
523
|
+
}
|
|
524
|
+
return res
|
|
525
|
+
}
|
|
526
|
+
|
|
502
527
|
// 读取文件并转为 js object
|
|
503
528
|
async function readFile (file, type, log) {
|
|
504
529
|
try {
|
package/mongo.js
CHANGED
|
@@ -11,8 +11,7 @@ const { URL } = require('url')
|
|
|
11
11
|
const { v4: uuidv4 } = require('uuid') // 用户 id 生成
|
|
12
12
|
const {
|
|
13
13
|
$,
|
|
14
|
-
|
|
15
|
-
createDOMPurify,
|
|
14
|
+
getDomPurify,
|
|
16
15
|
md5,
|
|
17
16
|
xml2js
|
|
18
17
|
} = require('twikoo-func/utils/lib')
|
|
@@ -38,15 +37,14 @@ const {
|
|
|
38
37
|
commentImportValine,
|
|
39
38
|
commentImportDisqus,
|
|
40
39
|
commentImportArtalk,
|
|
40
|
+
commentImportArtalk2,
|
|
41
41
|
commentImportTwikoo
|
|
42
42
|
} = require('twikoo-func/utils/import')
|
|
43
43
|
const { postCheckSpam } = require('twikoo-func/utils/spam')
|
|
44
44
|
const { sendNotice, emailTest } = require('twikoo-func/utils/notify')
|
|
45
45
|
const { uploadImage } = require('twikoo-func/utils/image')
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
const window = new JSDOM('').window
|
|
49
|
-
const DOMPurify = createDOMPurify(window)
|
|
47
|
+
const DOMPurify = getDomPurify()
|
|
50
48
|
|
|
51
49
|
// 常量 / constants
|
|
52
50
|
const { RES_CODE, MAX_REQUEST_TIMES } = require('twikoo-func/utils/constants')
|
|
@@ -132,6 +130,9 @@ module.exports = async (request, response) => {
|
|
|
132
130
|
case 'UPLOAD_IMAGE': // >= 1.5.0
|
|
133
131
|
res = await uploadImage(event, config)
|
|
134
132
|
break
|
|
133
|
+
case 'COMMENT_EXPORT_FOR_ADMIN': // >= 1.6.13
|
|
134
|
+
res = await commentExportForAdmin(event)
|
|
135
|
+
break
|
|
135
136
|
default:
|
|
136
137
|
if (event.event) {
|
|
137
138
|
res.code = RES_CODE.EVENT_NOT_EXIST
|
|
@@ -459,6 +460,11 @@ async function commentImportForAdmin (event) {
|
|
|
459
460
|
comments = await commentImportArtalk(artalkDb, log)
|
|
460
461
|
break
|
|
461
462
|
}
|
|
463
|
+
case 'artalk2': {
|
|
464
|
+
const artalkDb = await readFile(event.file, 'json', log)
|
|
465
|
+
comments = await commentImportArtalk2(artalkDb, log)
|
|
466
|
+
break
|
|
467
|
+
}
|
|
462
468
|
case 'twikoo': {
|
|
463
469
|
const twikooDb = await readFile(event.file, 'json', log)
|
|
464
470
|
comments = await commentImportTwikoo(twikooDb, log)
|
|
@@ -482,6 +488,24 @@ async function commentImportForAdmin (event) {
|
|
|
482
488
|
return res
|
|
483
489
|
}
|
|
484
490
|
|
|
491
|
+
async function commentExportForAdmin (event) {
|
|
492
|
+
const res = {}
|
|
493
|
+
const isAdminUser = isAdmin(event.accessToken)
|
|
494
|
+
if (isAdminUser) {
|
|
495
|
+
const collection = event.collection || 'comment'
|
|
496
|
+
const data = await db
|
|
497
|
+
.collection(collection)
|
|
498
|
+
.find({})
|
|
499
|
+
.toArray()
|
|
500
|
+
res.code = RES_CODE.SUCCESS
|
|
501
|
+
res.data = data
|
|
502
|
+
} else {
|
|
503
|
+
res.code = RES_CODE.NEED_LOGIN
|
|
504
|
+
res.message = '请先登录'
|
|
505
|
+
}
|
|
506
|
+
return res
|
|
507
|
+
}
|
|
508
|
+
|
|
485
509
|
// 读取文件并转为 js object
|
|
486
510
|
async function readFile (file, type, log) {
|
|
487
511
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tkserver",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.13",
|
|
4
4
|
"description": "A simple comment system.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"twikoo",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"get-user-ip": "^1.0.1",
|
|
32
32
|
"lokijs": "^1.5.12",
|
|
33
33
|
"mongodb": "^3.6.3",
|
|
34
|
-
"twikoo-func": "1.6.
|
|
34
|
+
"twikoo-func": "1.6.13",
|
|
35
35
|
"uuid": "^8.3.2"
|
|
36
36
|
}
|
|
37
37
|
}
|