export const response_user_find = {
  description: 'Usuario encontrado exitosamente',
  schema: {
    type: 'object',
    properties: {
      message: { type: 'string' },
      data: {
        type: 'object',
        properties: {
          id: { type: 'string' },
          username: { type: 'string' },
          nombres: { type: 'string' },
          apellidos: { type: 'string' },
          estado: { type: 'boolean' },
          verificado: { type: 'boolean' },
          usuario_perfiles: {
            type: 'array',
            items: {
              type: 'object',
              properties: {
                user_id: { type: 'string' },
                perfil_id: { type: 'string' },
                perfiles: {
                  type: 'object',
                  properties: {
                    id: { type: 'string' },
                    perfil: { type: 'string' },
                    perfiles_privilegios: {
                      type: 'array',
                      items: {
                        type: 'object',
                        properties: {
                          id: { type: 'string' },
                          perfil_id: { type: 'string' },
                          privilegios: {
                            type: 'object',
                            properties: {
                              id: { type: 'string' },
                              privilegio: { type: 'string' },
                              modulos: {
                                type: 'object',
                                properties: {
                                  id: { type: 'string' },
                                  modulo: { type: 'string' },
                                },
                              },
                            },
                          },
                        },
                      },
                    },
                  },
                },
              },
            },
          },
        },
      },
    },
  },
};

export const response_user_all = {
  description: 'Usuarios obtenidos exitosamente',
  schema: {
    type: 'object',
    properties: {
      message: { type: 'string' },
      data: {
        type: 'array',
        items: {
          type: 'object',
          properties: {
            id: { type: 'string' },
            username: { type: 'string' },
            nombres: { type: 'string' },
            apellidos: { type: ['string', 'null'] },
            estado: { type: 'string' },
            verificado: { type: 'boolean' },
            usuario_perfiles: {
              type: 'array',
              items: {
                type: 'object',
                properties: {
                  id: { type: 'string' },
                  user_id: { type: 'string' },
                  perfil_id: { type: 'string' },
                  created_at: { type: 'string', format: 'date-time' },
                  updated_at: { type: 'string', format: 'date-time' },
                  perfiles: {
                    type: 'object',
                    properties: {
                      id: { type: 'string' },
                      perfil: { type: 'string' },
                      desc_perfil: { type: 'string' },
                      created_at: { type: 'string', format: 'date-time' },
                      updated_at: { type: 'string', format: 'date-time' },
                      usuario: { type: ['string', 'null'] },
                      perfiles_privilegios: {
                        type: 'array',
                        items: {
                          type: 'object',
                          properties: {
                            id: { type: 'string' },
                            perfil_id: { type: 'string' },
                            privilegio_id: { type: 'string' },
                            modulo_id: { type: 'string' },
                            active: { type: 'boolean' },
                            usuario: { type: ['string', 'null'] },
                            created_at: { type: 'string', format: 'date-time' },
                            updated_at: { type: 'string', format: 'date-time' },
                            privilegios: {
                              type: 'object',
                              properties: {
                                id: { type: 'string' },
                                codigo: { type: 'string' },
                                desc_privilegio: { type: 'string' },
                                active: { type: 'boolean' },
                                usuario: { type: ['string', 'null'] },
                                created_at: { type: 'string', format: 'date-time' },
                                updated_at: { type: 'string', format: 'date-time' },
                              },
                            },
                            modulos: {
                              type: 'object',
                              properties: {
                                codigo: { type: 'string' },
                                descripcion: { type: 'string' },
                                precio: { type: 'string' },
                                active: { type: 'boolean' },
                                id: { type: 'string' },
                                created_at: { type: 'string', format: 'date-time' },
                                updated_at: { type: 'string', format: 'date-time' },
                                usuario: { type: 'string', nullable: true },
                              },
                            },
                          },
                        },
                      },
                    },
                  },
                },
              },
            },
          },
        },
      },
      total: { type: 'number' },
      page: { type: 'number' },
      limit: { type: 'number' },
      lastPage: { type: 'number' },
    },
  },
};
