diff --git a/src/controllers/main.controllers.ts b/src/controllers/main.controllers.ts index d478431..c94addb 100644 --- a/src/controllers/main.controllers.ts +++ b/src/controllers/main.controllers.ts @@ -4,8 +4,6 @@ import { role, router } from 'decorators/router' import { OAuth2Client } from 'google-auth-library' import { Account, PlatEnum } from 'modules/Account' -import { Wallet } from 'modules/Wallet' -import { WalletExt } from 'modules/WalletExt' import { customAlphabet } from 'nanoid' const nanoid = customAlphabet('1234567890abcdef', 10) @@ -51,47 +49,4 @@ class MainController extends BaseController { const ztoken = await res.jwtSign({ id: user.id }) return { token: ztoken } } - - @router('get /wallet/info') - async getWalletInfo(req, res) { - let user = req.user - let record = await Wallet.insertOrUpdate({ account: user.id }, {}) - let data: any = { oid: user.id } - if (record.nweRecord) { - record.salt = nanoid() - record.is = nanoid(12) - record.nweRecord = false - await record.save() - } - Object.assign(data, record.toJson()) - return data - } - - @router('post /wallet/info') - async uploadWalletInfo(req, res) { - let user = req.user - let { key } = req.params - if (!key) { - throw new ZError(10, 'no data to save') - } - let record = await Wallet.insertOrUpdate({ account: user.id }, {}) - record.key = key - await record.save() - return {} - } - - @router('get /wallet/collection') - async getUserCollection(req, res) { - let user = req.user - let { data } = req.params - await WalletExt.insertOrUpdate({ account: user.id }, { data }) - return {} - } - - @router('post /wallet/collection') - async uploadUserCollection(req, res) { - let user = req.user - let record = await WalletExt.insertOrUpdate({ account: user.id }, {}) - return record.data - } } diff --git a/src/controllers/wallet.controller.ts b/src/controllers/wallet.controller.ts new file mode 100644 index 0000000..62af999 --- /dev/null +++ b/src/controllers/wallet.controller.ts @@ -0,0 +1,58 @@ +import BaseController from 'common/base.controller' +import { ZError } from 'common/ZError' +import { router } from 'decorators/router' + +import { Wallet } from 'modules/Wallet' +import { WalletExt } from 'modules/WalletExt' +import { customAlphabet } from 'nanoid' + +const nanoid = customAlphabet('1234567890abcdef', 10) + +class WalletController extends BaseController { + @router('get /wallet/info') + async getWalletInfo(req, res) { + let user = req.user + let record = await Wallet.insertOrUpdate({ account: user.id }, {}) + let data: any = { oid: user.id } + if (record.nweRecord) { + record.salt = nanoid() + record.is = nanoid(12) + record.nweRecord = false + await record.save() + } + Object.assign(data, record.toJson()) + return data + } + + @router('post /wallet/info') + async uploadWalletInfo(req, res) { + let user = req.user + let { key } = req.params + if (!key) { + throw new ZError(10, 'no data to save') + } + let record = await Wallet.insertOrUpdate({ account: user.id }, {}) + record.key = key + await record.save() + return {} + } + + @router('post /wallet/collection') + async uploadUserCollection(req, res) { + let user = req.user + let { data } = req.params + let record = await WalletExt.insertOrUpdate({ account: user.id }, { data }) + if (record.nweRecord) { + record.nweRecord = false + await record.save() + } + return {} + } + + @router('get /wallet/collection') + async getUserCollection(req, res) { + let user = req.user + let record = await WalletExt.insertOrUpdate({ account: user.id }, {}) + return record.data + } +}