-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathacervo.proto
161 lines (139 loc) · 3.46 KB
/
acervo.proto
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
syntax = "proto3";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option csharp_namespace = "LivrEtec.GIB.RPC";
package livrEtecRPC;
service Emprestimos {
rpc Abrir(Emprestimo.AbrirRequest) returns (IdEmprestimo);
rpc Buscar(Emprestimo.BuscarRequest) returns (ListaEmprestimos);
rpc Prorrogar(Emprestimo.ProrrogarRequest) returns (Empty);
rpc Devolver(Emprestimo.DevolverRequest) returns (Empty);
rpc RegistrarPerda(IdEmprestimo) returns (Empty) ;
rpc Excluir(IdEmprestimo) returns (Empty) ;
}
service Livros {
rpc Obter(IdLivro) returns (Livro);
rpc Remover(IdLivro) returns (Empty);
rpc Buscar(ParamBusca) returns (ListaLivros);
rpc Editar(Livro) returns (Empty);
rpc Registrar(Livro) returns (Empty);
}
service GerenciamentoSessao {
rpc Login(LoginRequest) returns ( Token );
}
service Tags {
rpc Registrar(Tag) returns (IdTag);
rpc Editar(Tag) returns (Empty);
rpc Buscar(Tag.BuscarRequest) returns (ListaTags);
rpc Obter(IdTag) returns (Tag);
rpc Remover(IdTag) returns (Empty);
}
message LoginRequest {
int32 IdUsuario = 1;
string HashSenha = 2;
}
message Token {
string Valor = 1;
}
message Empty {
}
message IdLivro {
int32 Id = 1;
}
message ParamBusca {
string NomeLivro = 1;
string NomeAutor = 2;
repeated int32 IdTags = 3;
}
message Livro {
int32 Id = 1;
string Nome = 2;
optional string Descricao = 3;
repeated Tag Tags = 4;
repeated Autor Autores = 5;
bool Arquivado = 6;
int32 Quantidade = 7;
}
message ListaLivros {
repeated Livro Livros = 1;
}
message Tag {
int32 Id = 1;
string Nome = 2;
message BuscarRequest {
string Nome = 1;
}
}
message IdTag {
int32 Id = 1;
}
message Autor {
int32 Id = 1;
string Nome = 2;
}
message Pessoa {
int32 Id = 1;
string Nome = 2;
string Telefone = 3;
}
message Permissao {
int32 Id =1;
string Nome = 2;
string Descricao = 3;
repeated Permissao PermissoesDependete = 4;
}
message Cargo {
int32 Id = 1;
string Nome = 2;
repeated Permissao Permissoes = 3;
}
message Usuario {
int32 Id = 1;
string Senha = 2;
string Login = 3;
string Nome = 4;
Cargo Cargo = 5;
}
message IdEmprestimo {
int32 Id = 1;
}
message Emprestimo {
int32 Id = 1;
Livro Livro = 2;
Pessoa Pessoa = 3;
Usuario UsuarioCriador = 4;
bool Fechado = 5;
google.protobuf.Timestamp DataEmprestimo = 7;
google.protobuf.Timestamp FimDataEmprestimo =9;
optional google.protobuf.BoolValue Devolvido = 6;
optional google.protobuf.Timestamp DataFechamento = 8;
optional Usuario UsuarioFechador = 12;
optional string Comentario = 11;
optional google.protobuf.BoolValue AtrasoJustificado = 10;
optional string ExplicacaoAtraso = 13;
message AbrirRequest {
int32 IdLivro = 1;
int32 IdPessoa = 2;
}
message ProrrogarRequest {
int32 idEmprestimo = 1;
google.protobuf.Timestamp novaData = 2;
}
message BuscarRequest {
optional int32 IdLivro = 1;
optional int32 IdPessoa = 2;
optional bool Fechado = 3;
optional bool Atrasado = 4;
}
message DevolverRequest {
int32 idEmprestimo = 1;
optional bool AtrasoJustificado = 2;
optional string ExplicacaoAtraso = 3;
};
}
message ListaEmprestimos {
repeated Emprestimo Emprestimos = 1;
}
message ListaTags {
repeated Tag Tags = 1;
}