45 lines
1.2 KiB
TypeScript
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
|
|
}
|
|
}
|