1 | # WorkPlayerAPI
|
2 |
|
3 | [![npm version](https://img.shields.io/npm/v/workplayerapi.svg?style=flat-square)](https://www.npmjs.org/package/workplayerapi)
|
4 | [![install size](https://packagephobia.now.sh/badge?p=workplayerapi)](https://packagephobia.now.sh/result?p=workplayerapi)
|
5 |
|
6 | API para encapsulamento de chamadas REST para o projeto Work Player da Kyros Tecnologias.
|
7 |
|
8 | ## Instalando
|
9 |
|
10 | Usando npm:
|
11 |
|
12 | ```bash
|
13 | $ npm install workplayerapi
|
14 | ```
|
15 |
|
16 | Usando bower:
|
17 |
|
18 | ```bash
|
19 | $ bower install workplayerapi
|
20 | ```
|
21 |
|
22 | Usando yarn:
|
23 |
|
24 | ```bash
|
25 | $ yarn add workplayerapi
|
26 | ```
|
27 |
|
28 | ## Classes
|
29 |
|
30 | ### Card
|
31 |
|
32 | ```js
|
33 | import { Card } from 'workplayerapi/classes/Card';
|
34 |
|
35 | let obj = {};
|
36 | // Criando novo Card
|
37 | let card = new Card(obj);
|
38 |
|
39 | console.log(card.cardId); // Number
|
40 | console.log(card.skillId); // Number
|
41 | console.log(card.skillName); // String
|
42 | console.log(card.skillDescription); // String
|
43 | console.log(card.cardName); // String
|
44 | console.log(card.cardDescription); // String
|
45 | console.log(card.url); // String
|
46 | console.log(card.attributeDefinitionList); // String
|
47 | ```
|
48 |
|
49 | ### Player
|
50 |
|
51 | ```js
|
52 | import { Player } from 'workplayerapi/classes/Player';
|
53 |
|
54 | let obj = {};
|
55 | // Criando novo Player
|
56 | let player = new Player(obj);
|
57 |
|
58 | console.log(player.id); // Number
|
59 | console.log(player.name); // String
|
60 | console.log(player.birthdate); // String
|
61 | console.log(player.zipcode); // String
|
62 | console.log(player.email); // String
|
63 | console.log(player.cellphone); // String
|
64 | console.log(player.landline); // String
|
65 | console.log(player.documentNumber); // String
|
66 | console.log(player.city); // String
|
67 | console.log(player.department); // String
|
68 | console.log(player.departmentId); // Number
|
69 | console.log(player.function); // String
|
70 | console.log(player.functionId); // Number
|
71 | console.log(player.team); // String
|
72 | console.log(player.teamId); // Number
|
73 | ```
|
74 |
|
75 | ### User
|
76 |
|
77 | ```js
|
78 | import { User } from 'workplayerapi/classes/User';
|
79 |
|
80 | let obj = {};
|
81 | // Criando novo User
|
82 | let user = new User(obj);
|
83 |
|
84 | console.log(user.userId); // Number
|
85 | console.log(user.username); // String
|
86 | console.log(user.name); // String
|
87 | console.log(user.displayName); // String
|
88 | console.log(user.companyId); // Number
|
89 | console.log(user.companyName); // String
|
90 | console.log(user.email); // String
|
91 | ```
|
92 |
|
93 | ### Task
|
94 |
|
95 | ```js
|
96 | import { Task } from 'workplayerapi/classes/Task';
|
97 |
|
98 | let obj = {};
|
99 | // Criando nova Task
|
100 | let task = new Task(obj);
|
101 |
|
102 | console.log(task.id); // Number
|
103 | console.log(task.projectId); // Number
|
104 | console.log(task.name); // String
|
105 | console.log(task.description); // String
|
106 | console.log(task.duration); // Number
|
107 | console.log(task.startedAt); // Number
|
108 | console.log(task.expectedAt); // Number
|
109 | console.log(task.finalizedAt); // Number
|
110 | console.log(task.createdAt); // Number
|
111 | console.log(task.createdBy); // String
|
112 | console.log(task.updatedBy); // String
|
113 | console.log(task.status); // String
|
114 | console.log(task.card); // Card
|
115 | ```
|
116 |
|
117 | ## Validações
|
118 |
|
119 | ### E-mail
|
120 |
|
121 | ```js
|
122 | import { validateEmail } from 'workplayerapi/global/validators';
|
123 |
|
124 | let email = 'kimr@kyros.com.br';
|
125 |
|
126 | // Passando o e-mail
|
127 | if (validateEmail(email)) console.log('E-mail é válido!');
|
128 | else console.log('E-mail é inválido');
|
129 | ```
|
130 |
|
131 | ### Senha
|
132 |
|
133 | ```js
|
134 | import { validatePassword } from 'workplayerapi/global/validators';
|
135 |
|
136 | let password = 'kimr@kyros.com.br';
|
137 |
|
138 | // Passando a senha
|
139 | if (validatePassword(password)) console.log('Senha é válida!');
|
140 | else console.log('Senha é inválida');
|
141 | ```
|
142 |
|
143 | ### Usuário autenticado
|
144 |
|
145 | ```js
|
146 | import { setToken } from 'workplayerapi/config/logged';
|
147 |
|
148 | // Pegar o token persistido com o Redux
|
149 | let token = 'token';
|
150 |
|
151 | setToken(token);
|
152 | ```
|
153 |
|
154 | ## Serviços
|
155 |
|
156 | ### User
|
157 | Requisições que retornam um objeto do tipo User ou que trabalham com tal.
|
158 |
|
159 | #### Login
|
160 |
|
161 | ```js
|
162 | import { makeLogin } from 'workplayerapi/routes/login';
|
163 |
|
164 | let email = 'kimr@kyros.com.br';
|
165 | let senha = 'password';
|
166 |
|
167 | // Passando o e-mail e senha
|
168 | makeLogin(email, senha)
|
169 | .then((result) => {
|
170 | if (result.login_success) {
|
171 | console.log(JSON.stringify(result.user));
|
172 | console.log(JSON.stringify(result.token));
|
173 | }
|
174 | else console.log(JSON.stringify(result.message));
|
175 | });
|
176 | ```
|
177 |
|
178 | ### Players
|
179 | Requisições que retornam um objeto do tipo Player ou que trabalham com tal.
|
180 |
|
181 | #### Get all players
|
182 |
|
183 | ```js
|
184 | import { getAllPlayers } from 'workplayerapi/routes/player';
|
185 |
|
186 | // Passar todos os filtros necessários diretamente pela função
|
187 | // Caso algum filtro não seja necessário, passar com valor 'null'
|
188 | let departmentId = 1;
|
189 | let teamId = 1;
|
190 | let name = 'Kim';
|
191 | let pageSize = 10;
|
192 | let page = 2;
|
193 | let email = 'kimr@kyros.com.br';
|
194 | let functionId = 1;
|
195 |
|
196 | getAllPlayers(departmentId, teamId, name, pageSize, page, email, functionId)
|
197 | .then((result) => console.log(JSON.stringify(result)));
|
198 | ```
|
199 |
|
200 | ### Cards
|
201 | Requisições que retornam um objeto do tipo Card ou que trabalham com tal.
|
202 |
|
203 | #### Get my card's deck
|
204 |
|
205 | ```js
|
206 | import { getMyDeck } from 'workplayerapi/routes/cards';
|
207 |
|
208 | // Ao chamar este serviço será retornado um deck (uma lista de cards)
|
209 |
|
210 | getMyDeck()
|
211 | .then((result) => {
|
212 | // Aqui retornará uma mensagem pronta avisando o usuário que seu deck está vazio
|
213 | if (result.deck === null) console.log(JSON.stringify(result.message));
|
214 | else console.log(JSON.stringify(result.deck));
|
215 | });
|
216 | ```
|
217 |
|
218 | ### Tasks
|
219 | Requisições que retornam um objeto do tipo Task ou que trabalham com tal.
|
220 |
|
221 | #### Get all tasks
|
222 |
|
223 | ```js
|
224 | import { getTasks } from 'workplayerapi/routes/tasks';
|
225 |
|
226 | // Ao chamar este serviço será retornado uma lista de tasks
|
227 |
|
228 | getTasks()
|
229 | .then((result) => {
|
230 | // Aqui retornará uma mensagem pronta avisando o usuário que não possui mais tasks
|
231 | if (result.tasks === null) console.log(JSON.stringify(result.message));
|
232 | else console.log(JSON.stringify(result.tasks));
|
233 | });
|
234 | ```
|
235 |
|
236 | #### Finalize a task
|
237 |
|
238 | ```js
|
239 | import { checkOutTask } from 'workplayerapi/routes/tasks';
|
240 |
|
241 | // Passar o id da task como parâmetro
|
242 | let id = 1866;
|
243 |
|
244 | checkOutTask(id)
|
245 | .then((result) => {
|
246 | if (result.taskId === null) console.log(JSON.stringify(result.message));
|
247 | else console.log('Task ' + result.taskName + ' fished successfully!');
|
248 | });
|
249 | ```
|
250 |
|
251 | #### suspend a task
|
252 |
|
253 | ```js
|
254 | import { suspendTask } from 'workplayerapi/routes/tasks';
|
255 |
|
256 | // Passar o id da task e o motivo como parâmetros
|
257 | let id = 1866;
|
258 | let reason = '';
|
259 |
|
260 | suspendTask(id, reason)
|
261 | .then((result) => {
|
262 | if (result.taskId === null) console.log(JSON.stringify(result.message));
|
263 | else console.log('Task ' + result.taskName + ' suspended successfully!');
|
264 | });
|
265 | ```
|
266 |
|
267 | #### Return a task
|
268 |
|
269 | ```js
|
270 | import { giveBackTask } from 'workplayerapi/routes/tasks';
|
271 |
|
272 | // Passar o id da task e o motivo como parâmetros
|
273 | let id = 1866;
|
274 | let reason = '';
|
275 |
|
276 | giveBackTask(id, reason)
|
277 | .then((result) => {
|
278 | if (result.taskId === null) console.log(JSON.stringify(result.message));
|
279 | else console.log('Task ' + result.taskName + ' returned successfully!');
|
280 | });
|
281 | ```
|
282 |
|
283 | ###### NOTA
|
284 | A API está sendo construída aos poucos, portanto qualquer dúvida ou caso seja encontrado algum bug, reportar na seção de Issues.
|
285 |
|
286 | ## Autor
|
287 |
|
288 | Kim Ruan Lopes - Kyros Tecnologias
|
289 |
|
290 | ## Lisença
|
291 |
|
292 | MIT
|