Changes between Version 3 and Version 4 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/21/25 22:06:17 (35 hours ago)
Author:
225144
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v3 v4  
    11== Индекси
     2== Транзакции
     3=== Прифаќање на пријава и зачувување на приложениот feedback
     4{{{
     5@Transactional
     6    public void accept(BBUser creator, Integer reqId) {
     7        ProjectRequests prReq = getRequestById(reqId);
     8        prReq.setStatus(Status.ACCEPTED);
     9
     10        feedbackService.create(creator,FeedbackFor.P,prReq);
     11        projectService.addDeveloperToProject(prReq.getProject(), prReq.getCreator());
     12        prReqRepo.save(prReq);
     13    }
     14}}}
     15
     16=== Одбивање на пријава и зачувување на прилоѓениот feedback
     17{{{
     18@Transactional
     19    public void deny(Integer reqId, String desc, BBUser creator) {
     20        ProjectRequests prReq = getRequestById(reqId);
     21        prReq.setStatus(Status.DENIED);
     22        feedbackService.create(desc,creator,FeedbackFor.P,prReq);
     23        prReqRepo.save(prReq);
     24    }
     25}}}
     26
     27=== Ажурирање на постоечка улога
     28{{{
     29@Transactional
     30    public void updateRole(Integer id, AddRoleDTOEntities addRoleDTO) {
     31
     32        ProjectRole existingRole = projectRoleRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("bad role id"));
     33        projectRolePermissionRepository.deleteAllByIdRole(existingRole);
     34
     35        existingRole.setName(addRoleDTO.getName());
     36        existingRole.setOverrideType(addRoleDTO.getProjectResourcePermissionOverrideType().toString());
     37
     38        projectRoleRepository.save(existingRole);
     39
     40        List<ProjectRolePermission> newGlobalPermissions = mapGlobalsToProjectRolePermissions(existingRole, addRoleDTO.getGlobalPermissions());
     41        List<ProjectRolePermission> newPerResourcePermissions = mapPerResourceToProjectRolePermissions(existingRole,addRoleDTO.getPermissionsResourceWrappers());
     42        List<ProjectRolePermissionResourceOverride> resourceOverrides = mapToResourceOverrides(getResources(addRoleDTO.getPermissionsResourceWrappers()),newPerResourcePermissions);
     43
     44
     45        projectRolePermissionRepository.saveAll(newGlobalPermissions);
     46        projectRolePermissionRepository.saveAll(newPerResourcePermissions);
     47        projectRolePermissionResourceOverrideRepository.saveAll(resourceOverrides);
     48
     49    }
     50
     51}}}
     52=== Додавање на нова улога во проект
     53{{{
     54    @Transactional
     55    public void addRole(AddRoleDTOEntities addRoleDTO) {
     56        ProjectRole role = projectRoleRepository.save(
     57                new ProjectRole(
     58                        addRoleDTO.getProject(),
     59                        addRoleDTO.getName(),
     60                        addRoleDTO.getProjectResourcePermissionOverrideType().toString()
     61                )
     62        );
     63
     64        List<ProjectRolePermission> entities = mapPerResourceToProjectRolePermissions(role, addRoleDTO.getPermissionsResourceWrappers());
     65        projectRolePermissionRepository.saveAll(mapGlobalsToProjectRolePermissions(role, addRoleDTO.getGlobalPermissions()));
     66        projectRolePermissionRepository.saveAll(entities);
     67        projectRolePermissionResourceOverrideRepository.saveAll(mapToResourceOverrides(
     68                getResources(addRoleDTO.getPermissionsResourceWrappers()),
     69                entities
     70        ));
     71}}}
     72{{{}}}
     73
     74
     75
     76
     77
     78
     79
    280== Тригери
    3 
    481=== Проверка дали даден топик имат уникатно име во парент threadот
    582{{{