
// Initializes the `<%= serviceName %>` service on path `/<%= path %>`. (Can be re-generated.)
<%- tplTsOnly([`import { App } from '../../${subFolderReverse}app.interface'${sc}`, '', '']) -%>
<%- tplImports('createService', serviceModule, 'req') %>
<%# -%>
<%# --- if-1 starts below. -%>
<% if(modelName) { -%>
<%- tplImports('createModel', `../../${subFolderReverse}models/${subFolder}${modelName}`) %>
<% } -%>
<%# --- if-1 ends above. -%>
<%- tplImports('hooks', `./${kebabName}.hooks`) %>
<%- insertFragment('imports') %>
<%- insertFragment('init') %>

<%- tplModuleExports(null, 'function (app) {', 'function (app: App) {') %>
<% if (modelName) { %>  let Model = createModel(app)<%- sc %><% } %>
  let paginate = app.get('paginate')<%- sc %>
  <%- insertFragment('func_init') %>

  let options = {
<% if (modelName) { -%>
    Model,
<% } -%>
    paginate,
    <%- insertFragment('options_more') %>
  }<%- sc %>
  <%- insertFragment('options_change') %>

  // Initialize our service with any options it requires
  <%- insertFragment('extend', `  app.use('/${path}', createService(options))${sc}`) %>

  // Get our initialized service so that we can register hooks
  const service = app.service('<%= path %>')<%- sc %>

  service.hooks(hooks)<%- sc %>
  <%- insertFragment('func_return') %>
}<%- sc %>

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

<%- insertFragment('funcs') %>
<%- insertFragment('end') %>
