0
我用我的Node.js服務sequelize-typescript的Node.js和sequelize,打字稿 - 數據訪問對象和業務對象
我有Category
類映射到類別表
import { Model, Table, Column } from "sequelize-typescript";
@Table
export class Category extends Model<Category>{
@Column
name: string
}
我也有CategoryController
和CategoryService
export class CategoryController {
...
async getAll(request: Request, response: Response) {
let categories = await this.categoryService.getCatergories();
response.json(categories)
}
}
export class CategoryService {
async getCatergories(): Promise<Category[]> {
let categories = await Category.findAll<Category>()
return categories
}
}
一切是理所應當的。
但返回Category
控制器允許它使用使用繼承方法從模型類,如:
export class CategoryController {
...
async getAll(request: Request, response: Response) {
let categories = await this.categoryService.getCatergories();
// Remove associated row in the database
categories[0].destroy()
response.json(categories)
}
}
我想創建一個CategoryModel
類是這樣的:
export class CategoryModel {
id : number
name : string
}
並修改CategoryService
中的所有方法返回CategoryModel
實例而不是Category
並重命名爲Category
至CategoryEntity
處理這樣的問題的最佳方法是什麼?