private ServiceResult <TokenModel> ValidirajToken(Token token, String ip, String klijent) { // provjeri token if (token == null) { return(NotFound()); } var trenutnaUloga = context.Roles.Include(a => a.PravoAkcijaUloge) .ThenInclude(a => a.PravoAkcija) .Where(a => a.Id == token.UlogaId) .FirstOrDefault(); // ucitaj samo one korisnik uloge koje trebaju context.Entry(trenutnaUloga).Collection(a => a.Users) .Query() .Where(a => a.User.Id == token.VlasnikId) .Include(a => a.KorisnikUlogaDodatnaInformacija) .ThenInclude(a => a.KorisnikTipDodatneInformacije) .Load(); //token.Vlasnik.TrenutnaUloga = trenutnaUloga; if (token.DatumIsteka < DateTime.Now) { return(ValidationError("Token je istekao.")); } // ako su postavljeni ip ili adresa, uradi azuriranje tokena if (!String.IsNullOrWhiteSpace(ip) || !String.IsNullOrWhiteSpace(klijent)) { // koristimo sistemske postavke za trajanje sesije var postavke = postavkeService.VratiPostavke(); if (postavke.IsOk) { token.DatumIsteka = DateTime.Now.AddDays( postavke.Value.TrajanjeSesije); token.DatumPosljednjeAkcije = DateTime.Now; token.PosljednjiIp = ip; token.PosljednjiKlijent = klijent; SaveChanges(context); } } // uradi mapiranje var result = token.ToTokenModel(); return(Ok(result)); }
public IActionResult Vrati() { var result = postavkeService.VratiPostavke(); return(Convert(result)); }