import initLogger, { LoggerContext } from 'jsm-logger';
import { Logger, Module, Path, JsmModule } from "jsm-core";
{{#if MODEL_FOUND}}
import { {{SUB_MODULE_ENTITY_CAMELCASED_CAPITALIZED_SINGULAR}} } from './{{SUB_MODULE_DOT_ENTITY_KEBABCASED_SINGULAR}}.model';
{{/if}}

const logger = initLogger(LoggerContext.LOADER, '{{MODULE.CLASS_NAME}}');

/**
 * @module {{MODULE.DESCRIPTION}}
 */
@Module()
@Path("{{MODULE.BASE_ROUTE}}")
@Logger(logger)
export class {{MODULE.CLASS_NAME}} extends JsmModule {
  models = {
    {{#if MODEL_FOUND}}
    {{SUB_MODULE_ENTITY_CAMELCASED_SINGULAR}}Model: {{SUB_MODULE_ENTITY_CAMELCASED_CAPITALIZED_SINGULAR}},
    {{/if}}
    // Add your models here
  }
  
  constructor() {
    super();
    logger.debug(`${this.constructor.name.camelToWords().capitalizeFirstLetter()} loaded`);
  }
}
