wallet-svr/src/controllers/record.controller.ts

45 lines
1.2 KiB
TypeScript

import BaseController from 'common/base.controller'
import { ZError } from 'common/ZError'
import { router } from 'decorators/router'
import { TranRecord } from 'modules/TranRecord'
class RecordController extends BaseController {
@router('post /trans/record')
async save(req) {
let { params } = req
let user = req.user
let data: any = params
data.account = user.id
const info: any = {
transactionHash: params.transactionHash,
}
let record = await TranRecord.insertOrUpdate(info, data)
return record.toJson()
}
@router('post /trans/records')
async list(req) {
const user = req.user
let defaultParams: any = { account: user.id }
let { params } = req
Object.assign(params, defaultParams)
const records = await TranRecord.pageQuery(params, {json: 1})
return records
}
@router('delete /trans/record')
async delete(req) {
let { ids } = req.params
const user = req.user
if (!ids) {
throw new ZError(11, 'params mismatch')
}
const params: any = {
_id: { $in: ids },
account: user.id,
}
let result = await TranRecord.deleteRecords(params)
return result
}
}