const model = {
  {{#each model}}
  {{this.name}}: { type: 'string' },
  {{/each}}
}

module.exports = {
  create: {
    body: {
      type: 'object',
      additionalProperties: false,
      properties: {
        ...model,
      },
    },
  },
  update: {},
  remove: {},
  list: {
    querystring: {
      type: 'object',
      properties: {
        pageSize: { type: 'integer' },
        pageIndex: { type: 'integer' },
      },
      required: ['pageSize', 'pageIndex'],
    },
    response: {
      200: {
        type: 'object',
        properties: {
          pageSize: { type: 'integer' },
          pageIndex: { type: 'integer' },
          totalCount: { type: 'integer' },
          data: {
            type: 'array',
            items: {
              type: 'object',
              properties: {
                ...model,
                _id: { type: 'integer' },
                createdAt: { type: 'string' },
                updatedAt: { type: 'string' },
              },
            },
          },
        },
      },
    },
  },
  get: {
    response: {
      200: {
        type: 'object',
        properties: {
          ...model,
          _id: { type: 'integer' },
          createdAt: { type: 'string' },
          updatedAt: { type: 'string' },
        },
      },
    },
  },
}
