オブジェクト私はNode.jsのサービスNode.jsのとsequelize-typescriptです - データアクセスオブジェクトやビジネスが
でsequelize-typescriptを使用していますが、私は、カテゴリテーブルにマップCategory
クラス
import { Model, Table, Column } from "sequelize-typescript";
@Table
export class Category extends Model<Category>{
@Column
name: string
}
を持っているIまたCategoryController
と
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
}
}
CategoryService
を持っており、それがあるべきようにすべてがあります。
しかし、それはのようにモデルクラスから使用継承されたメソッドを使用することができ、コントローラにCategory
を返す:
export class CategoryModel {
id : number
name : string
}
:
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
クラスを作成します
CategoryService
のすべてのメソッドをCategory
の代わりにCategoryModel
のインスタンスに戻し、という名前に変更してください210〜CategoryEntity
このような問題に対処する最善の方法は何ですか?