Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package rest;
- import static spark.Spark.after;
- import static spark.Spark.before;
- import static spark.Spark.get;
- import static spark.Spark.halt;
- import static spark.Spark.port;
- import static spark.Spark.post;
- import static spark.Spark.staticFiles;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import com.google.gson.Gson;
- import com.google.gson.JsonObject;
- import com.google.gson.reflect.TypeToken;
- import beans.Korisnik;
- import beans.Racun;
- import beans.Uplata;
- import spark.Session;
- public class App {
- private static Gson g = new Gson();
- private static HashMap<String, Racun> racuni = new HashMap<String, Racun>();
- private static HashMap<String, Korisnik> korisnici = new HashMap<String, Korisnik>() {{
- put("1", new Korisnik("1", "1"));
- put("2", new Korisnik("2", "2"));
- }};
- public static void main(String[] args) throws IOException {
- port(8080);
- staticFiles.externalLocation(new File("./static").getCanonicalPath());
- post("/rest/login", (req, res) -> {
- res.type("application/json");
- Korisnik k = g.fromJson(req.body(), Korisnik.class);
- Session ss = req.session(true);
- Korisnik korisnikSession = ss.attribute("user");
- String msg = "false";
- if(korisnikSession == null) {
- if(korisnici.containsKey(k.getUsername())) {
- if(korisnici.get(k.getUsername()).getPassword().equals(k.getPassword())) {
- ss.attribute("user", korisnici.get(k.getUsername()));
- msg = "true";
- }
- }
- }
- return "{\"msg\": " + msg + "}";
- });
- get("/rest/logout", (req, res) -> {
- res.type("application/json");
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- if(k != null)
- {
- ss.invalidate();
- }
- return "{\"done\": true}";
- });
- after("/rest/logout", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- if(k == null)
- res.redirect("/login.html", 301);
- });
- get("/rest/checkLogin", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- return k == null ? "{\"logged\": false}" : "{\"logged\": true}";
- });
- before("/rest/addRacun", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- if(k == null)
- halt(403, "<h1>403 Unauthorized function.</h1>");
- });
- post("/rest/addRacun", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- Racun r = null;
- try {
- r = g.fromJson(req.body(), Racun.class);
- } catch (Exception e) {
- return "{\"msg\": \"errorFields\"}";
- }
- String msg = "false";
- if(!k.hasRacun(r.getBrojRacuna()) && !racuni.containsKey(r.getBrojRacuna())) {
- k.addRacun(r.getBrojRacuna());
- racuni.put(r.getBrojRacuna(), r);
- msg = "true";
- }
- return "{\"msg\": " + msg + "}";
- });
- before("/rest/getRacuni", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- if(k == null)
- halt(403, "<h1>403 Unauthorized function.</h1>");
- });
- get("/rest/getRacuni", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- ArrayList<Racun> racuniKorisnika = new ArrayList<Racun>();
- for(Racun r : racuni.values()) {
- if(k.hasRacun(r.getBrojRacuna())) {
- racuniKorisnika.add(r);
- }
- }
- return g.toJson(racuniKorisnika);
- });
- before("/rest/uplati", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- if(k == null)
- halt(403, "<h1>403 Unauthorized function.</h1>");
- });
- post("/rest/uplati", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- Uplata u = null;
- try {
- u = g.fromJson(req.body(), Uplata.class);
- if(u.getRacun() == null)
- throw new Exception();
- } catch(Exception e) {
- res.status(404);
- return "Niste uneli sva polja!";
- }
- System.out.println(u);
- if(racuni.containsKey(u.getRacun()))
- if(k.hasRacun(u.getRacun()))
- racuni.get(u.getRacun()).uplati(u.getIznos());
- System.out.println(u.getRacun());
- System.out.println(racuni.containsKey(u.getRacun()));
- return g.toJson(racuni.get(u.getRacun()));
- });
- get("/rest/removeRacun", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- String brRacuna = req.queryParams("brRacuna");
- String msg = "false";
- if(k.hasRacun(brRacuna) && racuni.containsKey(brRacuna)) {
- k.removeRacun(brRacuna);
- racuni.remove(brRacuna);
- msg = "true";
- }
- return "{\"msg\": " + msg + "}";
- });
- get("/rest/toggleRacun", (req, res) -> {
- Session ss = req.session(true);
- Korisnik k = ss.attribute("user");
- String brRacuna = req.queryParams("brRacuna");
- if(k.hasRacun(brRacuna) && racuni.containsKey(brRacuna)) {
- racuni.get(brRacuna).toggleAktivan();
- }
- return g.toJson(racuni.get(brRacuna));
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement