package com.example.baziproekt.service.impl; import com.example.baziproekt.model.Komentari.Komentari; import com.example.baziproekt.model.Komentari.KomentariCompositeKey; import com.example.baziproekt.model.Korisnici; import com.example.baziproekt.model.Kupuvaci; import com.example.baziproekt.model.Proizvodi; import com.example.baziproekt.model.Roles; import com.example.baziproekt.model.exceptions.InvalidUserCredentialsException; import com.example.baziproekt.model.exceptions.UserNotFoundException; import com.example.baziproekt.repository.KomentariRepository; import com.example.baziproekt.service.KomentarNaProizvod; import com.example.baziproekt.service.KorisniciService; import com.example.baziproekt.service.ProizvodiService; import org.springframework.stereotype.Service; import java.util.Collections; @Service public class KomentarNaProizvodImpl implements KomentarNaProizvod { private final KorisniciService service; private final ProizvodiService serviceProduct; private final KomentariRepository repository; public KomentarNaProizvodImpl(KorisniciService service, ProizvodiService serviceProduct, KomentariRepository repository) { this.service = service; this.serviceProduct = serviceProduct; this.repository = repository; } @Override public void create(Integer id,String name,String comment) { Korisnici korisnici=service.findByIme(name); if(korisnici==null) { throw new UserNotFoundException(); } if(korisnici.getAuthorities().equals(Collections.singletonList(Roles.ROLES_KUPUVAC))) { Proizvodi proizvod=serviceProduct.findById(id); KomentariCompositeKey key=new KomentariCompositeKey(proizvod, (Kupuvaci) korisnici); repository.save(new Komentari(comment,key)); } } }