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 {
amigos: string[];
carteira: number;
}
import { Resposta } from "./enumHandler";
import { Jogo } from "./jogo";
/**
......@@ -79,7 +79,7 @@ export class Jogador {
/**
* Retorna 0 para o caso do jogador não ter dinheiro
*/
return 0;
return Resposta.semsaldo;
}
if (this.jogos.some((value: string) => {
return value === jogo.getName();
......@@ -87,12 +87,12 @@ export class Jogador {
/**
* 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
*/
return 2;
return Resposta.podecomprar;
}
/**
* Compra um jogo para o jogador com fundos da carteira
......
......@@ -5,6 +5,7 @@ import { Compra } from "./compra";
import { DBHandler } from "./DBHandler";
import { Jogador } from "./jogador";
import { Jogo } from "./jogo";
import { Resposta } from "./enumHandler";
/**
* Interface do banco de dados
*/
......@@ -283,7 +284,6 @@ app.delete("/amizade/:idA/:idB", (req: Request, res: express.Response) => {
res.json({msg: "Sucesso em desfazer amizade"});
});
/**
* Faz uma compra para o @param idJogador do jogo @param idJogo
* @returns A última compra feita
*/
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.
*/
switch (Comprador.verifyBuy(Produto)) {
case 0:
case Resposta.semsaldo:
res.status(400).json({msg: "Saldo insuficiente"});
return;
case 1:
case Resposta.temjogo:
res.status(400).json({msg: "O jogador já tem o jogo"});
return;
case 2:
case Resposta.podecomprar:
Comprador.buy(Produto);
const compra = new Compra (Comprador, Produto, new Date("2019-07-13"), Comprador);
req.db.createbuy(compra);
......@@ -336,8 +336,8 @@ app.post("/compra/:idJogador/:idJogo", (req: Request, res: express.Response) =>
res.status(400).json({msg: "Algo inesperado aconteceu"});
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
......
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