Update:
All checks were successful
Docker Image CI / build-and-push (push) Successful in 11m9s
Docker Image CI / deploy (push) Successful in 27s
Docker Image CI / notify-failure (push) Has been skipped

-delen van agenda toegevoegd
-popup aangepast
-accepteren van uitnodiging toegevoegd
-koppelen van gebruiker aan bedrijf
-versturen van uitnodiging via mail
This commit is contained in:
2025-04-18 22:41:17 +02:00
parent ebce9820d2
commit a497b8162b
28 changed files with 908 additions and 55 deletions

View File

@@ -3,38 +3,53 @@ package nl.veenm.paypoint.service;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.transaction.Transactional;
import nl.veenm.paypoint.domain.AppUser;
import nl.veenm.paypoint.domain.Company;
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.Set;
import java.util.List;
@ApplicationScoped
public class CompanyService {
@Inject
CompanyRepository companyRepository;
@Inject
UserCompanyRepository userCompanyRepository;
@Inject
UserRepository userRepository;
public Set<Company> getCompanies(String username) {
AppUser user = this.userRepository.findByUsername(username);
return user.getCompanies();
@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, Long companyId) {
AppUser user = this.userRepository.findById(userId);
Company company = this.companyRepository.findById(companyId);
public void linkCompany(Long userId, String token) {
AppUser user = userRepository.findById(userId);
InviteEntity invite = inviteRepository.findByToken(token);
Company company = companyRepository.findById(invite.company_id);
System.out.println(user.getCompanies());
user.getCompanies().add(company);
company.getUsers().add(user);
UserCompany userCompany = new UserCompany();
userCompany.setUser(user);
userCompany.setCompany(company);
userCompany.setAccessLevel(AccessLevel.USER);
userCompanyRepository.persist(userCompany);
System.out.println(user.getCompanies());
invite.used = true;
inviteRepository.persist(invite);
userRepository.persist(user);
companyRepository.persist(company);
}
}