import I<%= modelName %>Dao from "@interfaces/dao/I<%= modelName %>Dao";
import { I<%= modelName %>Document, <%= modelName %>Repository } from "@repository/<%= modelName %>Repository";
import I<%= modelName %> from "@models/entities/<%= modelName %>";
import { inject, ProvideSingleton } from '@ioc/ioc';
import BaseDaoImpl from "./BaseDaoImpl";

/**
* Dao <%= modelName %>DaoImpl
*/
@ProvideSingleton(<%= modelName %>DaoImpl)
export default class <%= modelName %>DaoImpl extends BaseDaoImpl<I<%= modelName %>, I<%= modelName %>Document> implements I<%= modelName %>Dao {

  constructor(@inject(<%= modelName %>Repository) <%= modelVar %>Repository: <%= modelName %>Repository) {
    super(<%= modelVar %>Repository.repository);
  }
}
