-
findUserWithGamesById: Esse método deve receber o Id de um usuário e retornar os dados do usuário encontrado juntamente com os dados de todos os games que esse usuário possui.
-
findAllUsersOrderedByFirstName: Esse método deve retornar a listagem de usuários cadastrados em ordem alfabética (ASC). Lembre-se que aqui deve ser usado raw query para a consulta.
-
findUserByFullName: Esse método deve receber
first_name
elast_name
e retornar um usuário que possua os mesmosfirst_name
elast_name
. Aqui você deve encontrar o usuário ignorando se o argumento passado está em caixa alta ou não. Por exemplo, suponhamos que existe um usuário onde ofirst_name
éDanilo
e olast_name
éVieira
. O método deve retornar o usuário mesmo que os argumentos passados sejamdaNiLo
parafirst_name
evIeiRA
paralast_name
. Essa consulta deve ser realizada utilizando raw query e você pode buscar pelo uso do LOWER no Postgres para resolver esse problema. -
findByTitleContaining: Esse método deve receber parte do título de um jogo ou o título inteiro e retornar um ou mais jogos que derem match com a consulta. Se o método for chamado com o argumento
"or S"
e existir algum jogo com essa sequência de letras no título, o retorno deve ser feito, como por exemplo o seguinte retorno:[ { id: '63a6c35a-ac97-4773-9021-fb93973c8139', title: 'Need F**or S**peed: Payback', created_at: '2021-03-19 19:35:09.877037', updated_at: '2021-03-19 19:35:09.877037', }, { id: '74e4fc3b-434d-4452-94eb-27a85dce8d1a', title: 'Need F**or S**peed: Underground', created_at: '2021-03-19 19:35:09.877037', updated_at: '2021-03-19 19:35:09.877037', } ]
A consulta também deve ser feita de forma case insensitive, ignorando caixa alta onde no banco não existe. Para exemplo, considerando a busca exemplificada acima, o retorno deve ser o mesmo caso o parâmetro passado seja uma string
"nEEd"
.Você pode buscar pelo uso do ILIKE no Postgres para resolver esse problema. Lembre-se que aqui deve ser usado query builder para realizar a consulta.
-
countAllGames: Esse método deve retornar uma contagem do total de games existentes no banco. Deve ser usada raw query para essa consulta.
-
findUsersByGameId: Esse método deve receber o
Id
de um game e retornar uma lista de todos os usuários que possuem o game doId
informado. Exemplo de retorno:[ { id: '81482ac4-29bd-497f-b71a-8ae3b20eca9b', first_name: 'John', last_name: 'Doe', email: 'mail@example.com', created_at: '2021-03-19 19:35:09.877037', updated_at: '2021-03-19 19:35:09.877037' }, { id: '75920ac4-32ed-497f-b71a-8ae3c19eca9b', first_name: 'Usuário', last_name: 'Qualquer', email: 'usuarioqualquer@example.com', created_at: '2021-03-19 19:35:09.877037', updated_at: '2021-03-19 19:35:09.877037' } ]
generated from rocketseat-education/ignite-template-database-queries
-
Notifications
You must be signed in to change notification settings - Fork 0
andradearthurf/desafio03-database-queries
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Principal desafio do capítulo 03 da trilha de NodeJS Rocketseat.
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published