-delen van agenda toegevoegd -popup aangepast -accepteren van uitnodiging toegevoegd -koppelen van gebruiker aan bedrijf -versturen van uitnodiging via mail
56 lines
1.7 KiB
Java
56 lines
1.7 KiB
Java
package nl.veenm.paypoint.service;
|
|
|
|
import jakarta.enterprise.context.ApplicationScoped;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.transaction.Transactional;
|
|
import nl.veenm.paypoint.domain.*;
|
|
import nl.veenm.paypoint.domain.dto.CompanyDTO;
|
|
import nl.veenm.paypoint.domain.mapper.CompanyMapper;
|
|
import nl.veenm.paypoint.repository.CompanyRepository;
|
|
import nl.veenm.paypoint.repository.InviteRepository;
|
|
import nl.veenm.paypoint.repository.UserCompanyRepository;
|
|
import nl.veenm.paypoint.repository.UserRepository;
|
|
|
|
import java.util.List;
|
|
|
|
@ApplicationScoped
|
|
public class CompanyService {
|
|
@Inject
|
|
CompanyRepository companyRepository;
|
|
|
|
@Inject
|
|
UserCompanyRepository userCompanyRepository;
|
|
|
|
@Inject
|
|
UserRepository userRepository;
|
|
|
|
@Inject
|
|
InviteRepository inviteRepository;
|
|
|
|
public List<UserCompany> getCompanies(String username) {
|
|
AppUser user = userRepository.findByUsername(username);
|
|
return userCompanyRepository.getAllByUserId(user);
|
|
}
|
|
|
|
public CompanyDTO getCompanyById(Long id) {
|
|
return CompanyMapper.toDto(companyRepository.findById(id));
|
|
}
|
|
|
|
@Transactional
|
|
public void linkCompany(Long userId, String token) {
|
|
AppUser user = userRepository.findById(userId);
|
|
InviteEntity invite = inviteRepository.findByToken(token);
|
|
Company company = companyRepository.findById(invite.company_id);
|
|
|
|
UserCompany userCompany = new UserCompany();
|
|
userCompany.setUser(user);
|
|
userCompany.setCompany(company);
|
|
userCompany.setAccessLevel(AccessLevel.USER);
|
|
userCompanyRepository.persist(userCompany);
|
|
|
|
invite.used = true;
|
|
inviteRepository.persist(invite);
|
|
|
|
}
|
|
}
|