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.
Files changed (3) hide show
  1. package/index.js +30 -5
  2. package/mongo.js +29 -5
  3. 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
- JSDOM,
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
- // 初始化反 XSS
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
- JSDOM,
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
- // 初始化反 XSS
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.12",
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.12",
34
+ "twikoo-func": "1.6.13",
35
35
  "uuid": "^8.3.2"
36
36
  }
37
37
  }