//[Authorize("UserIsAdminOrOwner")] public IActionResult VratiJedan(String korisnickoIme) { try { var result = korisnikService.VratiKorisnikaPoKorisnickomImenu(korisnickoIme); return(Convert(result)); } catch (Exception) { throw; } }
public ServiceResult <TokenModel> KreirajToken(String korisnickoIme, int ulogaId, String ip, String klijent, Core.Constants.TokenTip Tip = Core.Constants.TokenTip.Sesija) { var vlasnik = korisnikService.VratiKorisnikaPoKorisnickomImenu(korisnickoIme); if (!vlasnik.IsOk) { return(MissingEntity("Vlasnik")); } if (vlasnik.Value.Onemogucen) { return(ValidationError("Vlasnik tokena je onemogucen.")); } // koristimo sistemske postavke za trajanje sesije var postavke = postavkeService.VratiPostavke(); if (!postavke.IsOk) { return(MissingEntity("Postavke")); } var uloge = ulogaService.VratiSveZaKorisnickoIme(korisnickoIme); if (!uloge.IsOk) { return(Error("Nije moguće dobaviti uloge korisnika")); } //todo ovo provjeriti da li je ok if (Tip == TokenTip.Temp) { ulogaId = uloge.Value.Items.First().Id; } if (uloge.Value.Items.All(a => a.Id != ulogaId)) { return(Error("Korisnik nije u datoj ulozi.")); } var datumIsteka = DateTime.Now.AddDays(postavke.Value.TrajanjeSesije); // kreiraj entitet var token = new Token() { Id = Guid.NewGuid(), VlasnikKorisnickoIme = korisnickoIme, DatumKreiranja = DateTime.Now, DatumIsteka = datumIsteka, DatumPosljednjeAkcije = DateTime.Now, UlogaId = ulogaId, Tip = Tip }; // spasi token context.Tokeni.Add(token); SaveChanges(context); // uradi validaciju i vrati rezultat var result = ValidirajToken(token.Id, ip, klijent); if (!result.IsOk) { return(result); } return(result); }