'use strict'

const schema = require('./routes.schema')

module.exports = async function(fastify, opts) {

{{#each data}}
  {{#validMethod this.method}}
  fastify.{{toLowerCase ../method}}('{{../url}}', { schema: schema.{{../operationId}} }, async function (request, reply) {
    try {
    {{#checkSuccessResponses ../schema.response}}
      return reply
        .code({{code}})
        .send('{{data}}')
    {{/checkSuccessResponses}}
    } catch (e) {
    {{#checkErrorResponses ../schema.response}}
      return reply
        .code({{code}})
        .send('{{data}}')
    {{/checkErrorResponses}}
    }
  })

  {{/validMethod}}
{{/each}}
}

module.exports.autoPrefix = '{{basePath}}/{{prefix}}'
