# workplayerapi

> API for Work Player app REST requests

Latest version **1.0.59** (published 2019-12-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install workplayerapi
pnpm add workplayerapi
yarn add workplayerapi
bun add workplayerapi
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.59 |
| Published | 2019-12-26 |
| First published | 2019-07-31 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 40.2 KB |
| Known vulnerabilities | 0 (+25 in 1 direct dependencies) |
| Install scripts | no |
| Author | Kim Ruan Lopes |
| Maintainers | kimruan |
| Keywords | work, player, workplayer, kyros |

## Links

- npm: https://www.npmjs.com/package/workplayerapi
- Repository: http://git.kyros.com.br/kimr/workplayerapi
- Issues: http://git.kyros.com.br/kimr/workplayerapi/issues
- npm.io page: https://npm.io/package/workplayerapi

## Dependencies (3)

- [axios](https://npm.io/package/axios.md) ^0.19.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [base-64](https://npm.io/package/base-64.md) ^0.1.0

## Alternatives

- [@sveltejs/kit](https://npm.io/package/@sveltejs/kit.md) — 2.2M weekly downloads
- [@tangle-network/brand](https://npm.io/package/@tangle-network/brand.md) — 10.0K weekly downloads
- [seneca](https://npm.io/package/seneca.md) — 7.4K weekly downloads
- [@bsb/base](https://npm.io/package/@bsb/base.md) — 7.2K weekly downloads
- [@modern-js/plugin-swc](https://npm.io/package/@modern-js/plugin-swc.md) — 3.4K weekly downloads

## Recent versions

- 1.0.59 (latest) — 2019-12-26
- 1.0.58 — 2019-12-26
- 1.0.57 — 2019-12-05
- 1.0.56 — 2019-11-21
- 1.0.55 — 2019-11-18
- 1.0.54 — 2019-11-18
- 1.0.53 — 2019-11-12
- 1.0.52 — 2019-11-07
- 1.0.51 — 2019-11-07
- 1.0.50 — 2019-11-07
- 1.0.49 — 2019-11-05
- 1.0.48 — 2019-10-24
- 1.0.47 — 2019-10-11
- 1.0.46 — 2019-10-11
- 1.0.45 — 2019-10-03
- … 45 more at https://npm.io/package/workplayerapi/versions

## README

# WorkPlayerAPI

[![npm version](https://img.shields.io/npm/v/workplayerapi.svg?style=flat-square)](https://www.npmjs.org/package/workplayerapi)
[![install size](https://packagephobia.now.sh/badge?p=workplayerapi)](https://packagephobia.now.sh/result?p=workplayerapi)

API para encapsulamento de chamadas REST para o projeto Work Player da Kyros Tecnologias.

## Instalando

Usando npm:

```bash
$ npm install workplayerapi
```

Usando bower:

```bash
$ bower install workplayerapi
```

Usando yarn:

```bash
$ yarn add workplayerapi
```

## Classes

### Card

```js
import { Card } from 'workplayerapi/classes/Card';

let obj = {};
// Criando novo Card
let card = new Card(obj);

console.log(card.cardId);                  // Number
console.log(card.skillId);                 // Number
console.log(card.skillName);               // String
console.log(card.skillDescription);        // String
console.log(card.cardName);                // String
console.log(card.cardDescription);         // String
console.log(card.url);                     // String
console.log(card.attributeDefinitionList); // String
```

### Player

```js
import { Player } from 'workplayerapi/classes/Player';

let obj = {};
// Criando novo Player
let player = new Player(obj);

console.log(player.id);             // Number
console.log(player.name);           // String
console.log(player.birthdate);      // String
console.log(player.zipcode);        // String
console.log(player.email);          // String
console.log(player.cellphone);      // String
console.log(player.landline);       // String
console.log(player.documentNumber); // String
console.log(player.city);           // String
console.log(player.department);     // String
console.log(player.departmentId);   // Number
console.log(player.function);       // String
console.log(player.functionId);     // Number
console.log(player.team);           // String
console.log(player.teamId);         // Number
```

### User

```js
import { User } from 'workplayerapi/classes/User';

let obj = {};
// Criando novo User
let user = new User(obj);

console.log(user.userId);      // Number
console.log(user.username);    // String
console.log(user.name);        // String
console.log(user.displayName); // String
console.log(user.companyId);   // Number
console.log(user.companyName); // String
console.log(user.email);       // String
```

### Task

```js
import { Task } from 'workplayerapi/classes/Task';

let obj = {};
// Criando nova Task
let task = new Task(obj);

console.log(task.id);          // Number
console.log(task.projectId);   // Number
console.log(task.name);        // String
console.log(task.description); // String
console.log(task.duration);    // Number
console.log(task.startedAt);   // Number
console.log(task.expectedAt);  // Number
console.log(task.finalizedAt); // Number
console.log(task.createdAt);   // Number
console.log(task.createdBy);   // String
console.log(task.updatedBy);   // String
console.log(task.status);      // String
console.log(task.card);        // Card
```

## Validações

### E-mail

```js
import { validateEmail } from 'workplayerapi/global/validators';

let email = 'kimr@kyros.com.br';

// Passando o e-mail
if (validateEmail(email)) console.log('E-mail é válido!');
else console.log('E-mail é inválido');
```

### Senha

```js
import { validatePassword } from 'workplayerapi/global/validators';

let password = 'kimr@kyros.com.br';

// Passando a senha
if (validatePassword(password)) console.log('Senha é válida!');
else console.log('Senha é inválida');
```

### Usuário autenticado

```js
import { setToken } from 'workplayerapi/config/logged';

// Pegar o token persistido com o Redux
let token = 'token';

setToken(token);
```

## Serviços

### User
Requisições que retornam um objeto do tipo User ou que trabalham com tal.

#### Login

```js
import { makeLogin } from 'workplayerapi/routes/login';

let email = 'kimr@kyros.com.br';
let senha = 'password';

// Passando o e-mail e senha
makeLogin(email, senha)
    .then((result) => {
              if (result.login_success) {
                console.log(JSON.stringify(result.user));
                console.log(JSON.stringify(result.token));
              }
              else console.log(JSON.stringify(result.message));
});
```

### Players
Requisições que retornam um objeto do tipo Player ou que trabalham com tal.

#### Get all players

```js
import { getAllPlayers } from 'workplayerapi/routes/player';

// Passar todos os filtros necessários diretamente pela função
// Caso algum filtro não seja necessário, passar com valor 'null'
let departmentId = 1;
let teamId       = 1;
let name         = 'Kim';
let pageSize     = 10;
let page         = 2;
let email        = 'kimr@kyros.com.br';
let functionId   = 1;

getAllPlayers(departmentId, teamId, name, pageSize, page, email, functionId)
    .then((result) => console.log(JSON.stringify(result)));
```

### Cards
Requisições que retornam um objeto do tipo Card ou que trabalham com tal.

#### Get my card's deck

```js
import { getMyDeck } from 'workplayerapi/routes/cards';

// Ao chamar este serviço será retornado um deck (uma lista de cards)

getMyDeck()
    .then((result) => {
        // Aqui retornará uma mensagem pronta avisando o usuário que seu deck está vazio
        if (result.deck === null) console.log(JSON.stringify(result.message));
        else console.log(JSON.stringify(result.deck));
});
```

### Tasks
Requisições que retornam um objeto do tipo Task ou que trabalham com tal.

#### Get all tasks

```js
import { getTasks } from 'workplayerapi/routes/tasks';

// Ao chamar este serviço será retornado uma lista de tasks

getTasks()
    .then((result) => {
        // Aqui retornará uma mensagem pronta avisando o usuário que não possui mais tasks
        if (result.tasks === null) console.log(JSON.stringify(result.message));
        else console.log(JSON.stringify(result.tasks));
});
```

#### Finalize a task

```js
import { checkOutTask } from 'workplayerapi/routes/tasks';

// Passar o id da task como parâmetro
let id     = 1866;

checkOutTask(id)
    .then((result) => {
        if (result.taskId === null) console.log(JSON.stringify(result.message));
        else console.log('Task ' + result.taskName + ' fished successfully!');
});
```

#### suspend a task

```js
import { suspendTask } from 'workplayerapi/routes/tasks';

// Passar o id da task e o motivo como parâmetros
let id     = 1866;
let reason = '';

suspendTask(id, reason)
    .then((result) => {
        if (result.taskId === null) console.log(JSON.stringify(result.message));
        else console.log('Task ' + result.taskName + ' suspended successfully!');
});
```

#### Return a task

```js
import { giveBackTask } from 'workplayerapi/routes/tasks';

// Passar o id da task e o motivo como parâmetros
let id     = 1866;
let reason = '';

giveBackTask(id, reason)
    .then((result) => {
        if (result.taskId === null) console.log(JSON.stringify(result.message));
        else console.log('Task ' + result.taskName + ' returned successfully!');
});
```

###### NOTA
A API está sendo construída aos poucos, portanto qualquer dúvida ou caso seja encontrado algum bug, reportar na seção de Issues.

## Autor

Kim Ruan Lopes - Kyros Tecnologias

## Lisença

MIT

---
_Source: https://npm.io/package/workplayerapi · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
