-
Notifications
You must be signed in to change notification settings - Fork 1
/
anotacoes
83 lines (52 loc) · 2.29 KB
/
anotacoes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Obter tokens
Listar playlists por user_id
https://developer.spotify.com/console/get-playlists/?user_id=&limit=&offset=
Scopos:
Listar playlists: playlist-read-private, playlist-read-collaborative
Criar playlist: playlist-modify-public, playlist-modify-private
Listar musicas da playlist: playlist-read-public, playlist-read-private
Recomendar: null
Adicionar Muisca: playlist-modify-public, playlist-modify-private
Controllers
recebe as requisicoes e envia os retornos
Envia para o service ou use case, o objeto recebido, livre de lixo, exemplo: req.body
Recebe de volta uma model e disponibiliza em json para o solicitante.
Services/Caso de uso
Recebe um json, converte para uma model e consome um servico
Repositories
DataSources
requisicao get/post -> controller -> useCase -> repository -> dataSource
json <- controller <- useCase <- repository <- dataSource
requisicao get/post:
camada gerenciada pelo arquivo route responsável por nomear a
rota e identificar o metodo da requisicao (get ou post).
cada url mapeada será responsavel por chamar seu controlador e
gerenciar a requisicao a partir do controlador.
controller:
camada que gerencia o pedido da requisicao. Neste ponto o controller
consome seu respectivo useCase passando apenas json da requisicao e
esperando uma model como resposta.
Ao receber a resposta, deve disponibilizar em json atraves do res.send();
useCase:
recebe a solicitacao do controller com um objeto json recebido na requisicao.
converte o objeto recebido em um modelo e envia para seu respectivo repository,
e aguarda o retorno de uma resposta, converte para uma model e envia de volta para o controller.
repository:
recebe um modelo, envia ao dataSource para que este lide com os servicos externos ou banco de dados e espera um objeto bruto e devolve ao useCase.
dataSource:
camada responsável por consumir um servico ou banco de dados. Recebe os dados necessarios para completar uma requisicao e retorna ao repository dado bruto.
Arquivos de suporte
Headers:
Gerencia os headers usados na requisicao
Estrutura do projeto
Domain
Data
Driven
lsitTracks
alterar req, res para request, response
alterar domain para usecase
service:
requestModel
useCase:
chamada para service
use case -> service -> apiRequest