Commit d7584d20 authored by Gabriel Silva Hermida's avatar Gabriel Silva Hermida Committed by Richard Fernando Heise Ferreira

Issue #20: Adiciondo Enums

Signed-off-by: Gabriel Silva Hermida's avatarGabriel_S <gash18@inf.ufpr.br>
parent 3b192880
Pipeline #22335 passed with stage
in 2 minutes and 6 seconds
// Enumeração de casos de retorno de uma função
export enum Resposta {
semsaldo,
temjogo,
podecomprar,
nada
}
export class Enumhandler{
public static parseInputType(str: string): Resposta{
str = str.toLocaleLowerCase().trimLeft().trimRight();
switch (str) {
case "semsaldo":
return Resposta.semsaldo;
case "temjogo":
return Resposta.temjogo;
case "podecomprar":
return Resposta.podecomprar;
default:
return Resposta.nada;
}
}
}
...@@ -7,7 +7,7 @@ interface JogadorOpts { ...@@ -7,7 +7,7 @@ interface JogadorOpts {
amigos: string[]; amigos: string[];
carteira: number; carteira: number;
} }
import { Resposta } from "./enumHandler";
import { Jogo } from "./jogo"; import { Jogo } from "./jogo";
/** /**
...@@ -79,7 +79,7 @@ export class Jogador { ...@@ -79,7 +79,7 @@ export class Jogador {
/** /**
* Retorna 0 para o caso do jogador não ter dinheiro * Retorna 0 para o caso do jogador não ter dinheiro
*/ */
return 0; return Resposta.semsaldo;
} }
if (this.jogos.some((value: string) => { if (this.jogos.some((value: string) => {
return value === jogo.getName(); return value === jogo.getName();
...@@ -87,12 +87,12 @@ export class Jogador { ...@@ -87,12 +87,12 @@ export class Jogador {
/** /**
* Retorna 1 para o caso do jogador já possuir o jogo * Retorna 1 para o caso do jogador já possuir o jogo
*/ */
return 1; return Resposta.temjogo;
} }
/** /**
* Retorna 2 para o caso do jogador poder comprar o jogo * Retorna 2 para o caso do jogador poder comprar o jogo
*/ */
return 2; return Resposta.podecomprar;
} }
/** /**
* Compra um jogo para o jogador com fundos da carteira * Compra um jogo para o jogador com fundos da carteira
......
...@@ -5,6 +5,7 @@ import { Compra } from "./compra"; ...@@ -5,6 +5,7 @@ import { Compra } from "./compra";
import { DBHandler } from "./DBHandler"; import { DBHandler } from "./DBHandler";
import { Jogador } from "./jogador"; import { Jogador } from "./jogador";
import { Jogo } from "./jogo"; import { Jogo } from "./jogo";
import { Resposta } from "./enumHandler";
/** /**
* Interface do banco de dados * Interface do banco de dados
*/ */
...@@ -283,7 +284,6 @@ app.delete("/amizade/:idA/:idB", (req: Request, res: express.Response) => { ...@@ -283,7 +284,6 @@ app.delete("/amizade/:idA/:idB", (req: Request, res: express.Response) => {
res.json({msg: "Sucesso em desfazer amizade"}); res.json({msg: "Sucesso em desfazer amizade"});
}); });
/** /**
* Faz uma compra para o @param idJogador do jogo @param idJogo
* @returns A última compra feita * @returns A última compra feita
*/ */
app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) => { app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) => {
...@@ -321,13 +321,13 @@ app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) => ...@@ -321,13 +321,13 @@ app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) =>
* Default - Casos inesperados. * Default - Casos inesperados.
*/ */
switch (Comprador.verifyBuy(Produto)) { switch (Comprador.verifyBuy(Produto)) {
case 0: case Resposta.semsaldo:
res.status(400).json({msg: "Saldo insuficiente"}); res.status(400).json({msg: "Saldo insuficiente"});
return; return;
case 1: case Resposta.temjogo:
res.status(400).json({msg: "O jogador já tem o jogo"}); res.status(400).json({msg: "O jogador já tem o jogo"});
return; return;
case 2: case Resposta.podecomprar:
Comprador.buy(Produto); Comprador.buy(Produto);
const compra = new Compra (Comprador, Produto, new Date("2019-07-13"), Comprador); const compra = new Compra (Comprador, Produto, new Date("2019-07-13"), Comprador);
req.db.createbuy(compra); req.db.createbuy(compra);
...@@ -336,8 +336,8 @@ app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) => ...@@ -336,8 +336,8 @@ app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) =>
res.status(400).json({msg: "Algo inesperado aconteceu"}); res.status(400).json({msg: "Algo inesperado aconteceu"});
return; return;
} }
res.json(req.db.readbuy(req.db.list("compras").length - 1).writeinfo()); const indexUltimaCompra: number = (req.db.list("compras").length - 1);
res.json(req.db.readbuy(indexUltimaCompra).writeinfo());
}); });
// lista amigos // lista amigos
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment