57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import { search as stringSearch, addRev } from "./utils"
|
|
import { default as controller } from "../table"
|
|
import { Table } from "../../../definitions/common"
|
|
|
|
function fixTable(table: Table, params: any) {
|
|
if (!params || !table) {
|
|
return table
|
|
}
|
|
if (params.tableId) {
|
|
table._id = params.tableId
|
|
}
|
|
if (!table.type) {
|
|
table.type = "table"
|
|
}
|
|
return table
|
|
}
|
|
|
|
export async function search(ctx: any, next: any) {
|
|
const { name } = ctx.request.body
|
|
await controller.fetch(ctx)
|
|
ctx.body = stringSearch(ctx.body, name)
|
|
await next()
|
|
}
|
|
|
|
export async function create(ctx: any, next: any) {
|
|
await controller.save(ctx)
|
|
await next()
|
|
}
|
|
|
|
export async function read(ctx: any, next: any) {
|
|
await controller.find(ctx)
|
|
await next()
|
|
}
|
|
|
|
export async function update(ctx: any, next: any) {
|
|
ctx.request.body = await addRev(
|
|
fixTable(ctx.request.body, ctx.params),
|
|
ctx.params.tableId
|
|
)
|
|
await controller.save(ctx)
|
|
await next()
|
|
}
|
|
|
|
export async function destroy(ctx: any, next: any) {
|
|
await controller.destroy(ctx)
|
|
ctx.body = ctx.table
|
|
await next()
|
|
}
|
|
|
|
export default {
|
|
create,
|
|
read,
|
|
update,
|
|
destroy,
|
|
search,
|
|
}
|