2023-05-23 18:01:20 +08:00
|
|
|
import { ALL, Body, Post, Query } from '@midwayjs/decorator';
|
|
|
|
|
import { BaseController } from './base-controller';
|
2023-01-29 13:44:19 +08:00
|
|
|
|
2023-05-23 18:01:20 +08:00
|
|
|
export abstract class CrudController<T> extends BaseController {
|
|
|
|
|
abstract getService<T>();
|
2023-01-29 13:44:19 +08:00
|
|
|
|
|
|
|
|
@Post('/page')
|
|
|
|
|
async page(
|
|
|
|
|
@Body(ALL)
|
|
|
|
|
body
|
|
|
|
|
) {
|
|
|
|
|
const pageRet = await this.getService().page(
|
|
|
|
|
body?.query,
|
|
|
|
|
body?.page,
|
|
|
|
|
body?.sort,
|
|
|
|
|
null
|
|
|
|
|
);
|
|
|
|
|
return this.ok(pageRet);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Post('/list')
|
|
|
|
|
async list(
|
|
|
|
|
@Body(ALL)
|
|
|
|
|
body
|
|
|
|
|
) {
|
|
|
|
|
const listRet = await this.getService().list(body, null, null);
|
|
|
|
|
return this.ok(listRet);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Post('/add')
|
|
|
|
|
async add(
|
|
|
|
|
@Body(ALL)
|
|
|
|
|
bean
|
|
|
|
|
) {
|
|
|
|
|
const id = await this.getService().add(bean);
|
|
|
|
|
return this.ok(id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Post('/info')
|
|
|
|
|
async info(
|
|
|
|
|
@Query('id')
|
|
|
|
|
id
|
|
|
|
|
) {
|
|
|
|
|
const bean = await this.getService().info(id);
|
|
|
|
|
return this.ok(bean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Post('/update')
|
|
|
|
|
async update(
|
|
|
|
|
@Body(ALL)
|
|
|
|
|
bean
|
|
|
|
|
) {
|
|
|
|
|
await this.getService().update(bean);
|
|
|
|
|
return this.ok(null);
|
|
|
|
|
}
|
|
|
|
|
@Post('/delete')
|
|
|
|
|
async delete(
|
|
|
|
|
@Query('id')
|
|
|
|
|
id
|
|
|
|
|
) {
|
|
|
|
|
await this.getService().delete([id]);
|
|
|
|
|
return this.ok(null);
|
|
|
|
|
}
|
|
|
|
|
}
|