text: import { MovieModel } from '../models/movie';
  import { NotFound } from 'lin-mizar';
  
  /**
   * 在你自己的实际开发中你可能不需要dao这一层，对于简单的模型操作，我们建议你直接 在视图函数中操作，而对于复杂的操作，我们建议你为每一类的 router 封装一个 dao。
   * dao 全称 data access object，主要是负责数据对对象的操作，实际上它也属于模型 层，属于 MVC 中的 M 层。
   * 在 dao层调用模型:
   */
  class Movie {
      static getMovieList () {
          return MovieModel.findAll();
      }
  
      static addMovie (v) {
          return MovieModel.create(v);
      }
  
      static async editMovie (id, params) {
          const movie = await MovieModel.findByPk(id);
          if (!movie) {
              throw new NotFound();
          }
          return movie.update({ ...params });
      }
  
      static deleteMovieById (id) {
          return MovieModel.destroy({
              where: { id }
          });
      }
  }
  
  export { Movie as MovieDao };
  