twikoo-vercel 1.7.7 → 1.7.9

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 (2) hide show
  1. package/api/index.js +42 -1
  2. package/package.json +2 -2
package/api/index.js CHANGED
@@ -30,6 +30,7 @@ const {
30
30
  isQQ,
31
31
  addQQMailSuffix,
32
32
  getQQAvatar,
33
+ getQQNick,
33
34
  getPasswordStatus,
34
35
  preCheckSpam,
35
36
  checkTurnstileCaptcha,
@@ -37,7 +38,8 @@ const {
37
38
  checkCapCaptcha,
38
39
  getConfig,
39
40
  getConfigForAdmin,
40
- validate
41
+ validate,
42
+ checkCommentOwnership
41
43
  } = require('twikoo-func/utils')
42
44
  const {
43
45
  jsonParse,
@@ -100,6 +102,9 @@ module.exports = async (request, response) => {
100
102
  case 'COMMENT_DELETE_FOR_ADMIN':
101
103
  res = await commentDeleteForAdmin(event)
102
104
  break
105
+ case 'COMMENT_DELETE_FOR_USER':
106
+ res = await commentDeleteForUser(event)
107
+ break
103
108
  case 'COMMENT_IMPORT_FOR_ADMIN':
104
109
  res = await commentImportForAdmin(event)
105
110
  break
@@ -145,6 +150,9 @@ module.exports = async (request, response) => {
145
150
  case 'UPLOAD_IMAGE': // >= 1.5.0
146
151
  res = await uploadImage(event, config)
147
152
  break
153
+ case 'GET_QQ_NICK': // >= 1.7.0
154
+ res = await qqNickGet(event)
155
+ break
148
156
  case 'COMMENT_EXPORT_FOR_ADMIN': // >= 1.6.13
149
157
  res = await commentExportForAdmin(event)
150
158
  break
@@ -466,6 +474,24 @@ async function commentDeleteForAdmin (event) {
466
474
  return res
467
475
  }
468
476
 
477
+ // 用户删除自己的评论
478
+ async function commentDeleteForUser (event) {
479
+ const res = {}
480
+ try {
481
+ const uid = getUid()
482
+ await checkCommentOwnership(event.id, uid, async (id) => {
483
+ return db.collection('comment').findOne({ _id: id })
484
+ })
485
+ const data = await db.collection('comment').deleteOne({ _id: event.id })
486
+ res.code = RES_CODE.SUCCESS
487
+ res.deleted = data.deletedCount
488
+ } catch (e) {
489
+ res.code = RES_CODE.FAIL
490
+ res.message = e.message
491
+ }
492
+ return res
493
+ }
494
+
469
495
  // 管理员导入评论
470
496
  async function commentImportForAdmin (event) {
471
497
  const res = {}
@@ -931,6 +957,21 @@ async function getRecentComments (event) {
931
957
  return res
932
958
  }
933
959
 
960
+ // 获取 QQ 昵称
961
+ async function qqNickGet (event) {
962
+ const res = {}
963
+ try {
964
+ validate(event, ['qq'])
965
+ const nick = await getQQNick(event.qq, config.QQ_API_KEY)
966
+ res.code = RES_CODE.SUCCESS
967
+ res.nick = nick
968
+ } catch (e) {
969
+ res.code = RES_CODE.FAIL
970
+ res.message = e.message
971
+ }
972
+ return res
973
+ }
974
+
934
975
  // 修改配置
935
976
  async function setConfig (event) {
936
977
  const isAdminUser = isAdmin()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twikoo-vercel",
3
- "version": "1.7.7",
3
+ "version": "1.7.9",
4
4
  "description": "A simple comment system.",
5
5
  "author": "imaegoo <hello@imaegoo.com> (https://github.com/imaegoo)",
6
6
  "license": "MIT",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "get-user-ip": "^1.0.1",
15
15
  "mongodb": "^6.3.0",
16
- "twikoo-func": "1.7.7",
16
+ "twikoo-func": "1.7.9",
17
17
  "uuid": "^8.3.2"
18
18
  }
19
19
  }