
// <%= serviceName %>-model.<%- js %> - An nedb model for user entity
<%- tplTsOnly([`import { App } from '../${subFolderReverse}app.interface'${sc}`, '', '']) -%>
<%- tplImports('NeDB', 'nedb') %>
<%- tplImports('path', null, 'as') %>
<%- insertFragment('nedb_imports') %>
<%- insertFragment('nedb_init') %>

<%- tplModuleExports(null, 'function (app) {', 'function (app: App) {') %>
  const dbPath = app.get('nedb')<%- sc %>
  <%- insertFragment('nedb_client', [
  '  let Model = new NeDB({',
  `    filename: path.join(dbPath, '${kebabName}.db'),`,
  '    autoload: true',
  `  })${sc}`,
  `  Model.ensureIndex({ fieldName: 'email', unique: true })${sc}`,
  ]) %>

  <%- insertFragment('nedb_func_return') %>
  return Model<%- sc %>
}<%- sc %>
<%- insertFragment('nedb_more') %>

<%- insertFragment('nedb_exports') %>
<%- `${tplExport('moduleExports')}${sc}` %>

<%- insertFragment('nedb_funcs') %>
<%- insertFragment('nedb_end') %>
