From 883e443e618900b734ee0745ff16b13d7729a2b1 Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Sun, 17 Mar 2024 17:23:41 +0800 Subject: [PATCH] add the logic in userInfoResponse hook to update user info in db --- packages/sqlite-plugin/src/index.ts | 31 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/packages/sqlite-plugin/src/index.ts b/packages/sqlite-plugin/src/index.ts index 5edd06a..b847b95 100644 --- a/packages/sqlite-plugin/src/index.ts +++ b/packages/sqlite-plugin/src/index.ts @@ -27,24 +27,33 @@ async function initDb() { JobInfo, JobInfoChangeLog, BossActiveStatusRecord, - UserInfo + UserInfo, ], }); return appDataSource.initialize(); } export default class SqlitePlugin { - initPromise: Promise + initPromise: Promise; - constructor () { - this.initPromise = initDb() + constructor() { + this.initPromise = initDb(); } - apply (hooks) { - hooks.userInfoResponse.tapPromise( - 'SqlitePlugin', - (userInfo) => new Promise((resolve, reject) => { - console.log(userInfo) - }) - ) + apply(hooks) { + hooks.userInfoResponse.tapPromise("SqlitePlugin", async (userInfoResponse) => { + if (userInfoResponse.code !== 0) { + return + } + const { zpData: userInfo } = userInfoResponse + console.log(userInfo); + const ds = await this.initPromise; + const userInfoRepository = ds.getRepository(UserInfo); + + const user = new UserInfo(); + user.encryptUserId = userInfo.encryptUserId + user.name = userInfo.name + + return await userInfoRepository.save(user) + }); } }