Merge pull request #137 from Kitzanos/new-role-changes
Introduced new role- Instructor Manager
This commit is contained in:
@@ -7,7 +7,8 @@ public enum RoleStatusEnum {
|
|||||||
ROLE_BENEFICIARY("ROLE_BENEFICIARY"),
|
ROLE_BENEFICIARY("ROLE_BENEFICIARY"),
|
||||||
ROLE_SUPER_ADMIN("ROLE_SUPER_ADMIN"),
|
ROLE_SUPER_ADMIN("ROLE_SUPER_ADMIN"),
|
||||||
ROLE_PRE_INSTRUCTOR("ROLE_PRE_INSTRUCTOR"),
|
ROLE_PRE_INSTRUCTOR("ROLE_PRE_INSTRUCTOR"),
|
||||||
ROLE_GEPAFIN_OPERATOR("ROLE_GEPAFIN_OPERATOR");
|
ROLE_GEPAFIN_OPERATOR("ROLE_GEPAFIN_OPERATOR"),
|
||||||
|
ROLE_INSTRUCTOR_MANAGER("ROLE_INSTRUCTOR_MANAGER");
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,8 @@ public class Validator {
|
|||||||
validateHubId(request, companyEntity.getHub().getId());
|
validateHubId(request, companyEntity.getHub().getId());
|
||||||
if (checkIsSuperAdmin()) {
|
if (checkIsSuperAdmin()) {
|
||||||
return companyEntity;
|
return companyEntity;
|
||||||
|
} else if (checkIsInstructorManager()) {
|
||||||
|
return companyEntity;
|
||||||
}
|
}
|
||||||
Map<String, Object> userInfo = tokenProvider.getUserInfoAndUserIdFromToken(request);
|
Map<String, Object> userInfo = tokenProvider.getUserInfoAndUserIdFromToken(request);
|
||||||
companyService.validateUserWithCompny(getUserId(userInfo), companyId);
|
companyService.validateUserWithCompny(getUserId(userInfo), companyId);
|
||||||
@@ -127,8 +129,11 @@ public class Validator {
|
|||||||
UserEntity requestedUser = userService.validateUser(userId);
|
UserEntity requestedUser = userService.validateUser(userId);
|
||||||
|
|
||||||
validateHubId(request, requestedUser.getHub().getId());
|
validateHubId(request, requestedUser.getHub().getId());
|
||||||
if (Boolean.FALSE.equals(user.getRoleEntity().getRoleType().equals(RoleStatusEnum.ROLE_SUPER_ADMIN.getValue()))
|
// if (Boolean.FALSE.equals(user.getRoleEntity().getRoleType().equals(RoleStatusEnum.ROLE_SUPER_ADMIN.getValue()))
|
||||||
&& Boolean.FALSE.equals(user.getId().equals(userId))) {
|
// && Boolean.FALSE.equals(user.getId().equals(userId)))
|
||||||
|
if (checkIsSuperAdmin() || checkIsInstructorManager()) {
|
||||||
|
|
||||||
|
} else if(Boolean.FALSE.equals(user.getId().equals(userId))) {
|
||||||
throw new ForbiddenAccessException(Status.FORBIDDEN,
|
throw new ForbiddenAccessException(Status.FORBIDDEN,
|
||||||
Translator.toLocale(GepafinConstant.PERMISSION_DENIED));
|
Translator.toLocale(GepafinConstant.PERMISSION_DENIED));
|
||||||
}
|
}
|
||||||
@@ -164,6 +169,11 @@ public class Validator {
|
|||||||
validateHubId(request, preInstructorUser.getHub().getId());
|
validateHubId(request, preInstructorUser.getHub().getId());
|
||||||
}
|
}
|
||||||
return preInstructorUser;
|
return preInstructorUser;
|
||||||
|
} else if (checkIsInstructorManager()) {
|
||||||
|
if (preInstructorUserId != null) {
|
||||||
|
validateHubId(request, preInstructorUser.getHub().getId());
|
||||||
|
}
|
||||||
|
return preInstructorUser;
|
||||||
} else if (checkIsPreInstructor()) {
|
} else if (checkIsPreInstructor()) {
|
||||||
return validateUserId(request, preInstructorUserId);
|
return validateUserId(request, preInstructorUserId);
|
||||||
} else {
|
} else {
|
||||||
@@ -172,4 +182,17 @@ public class Validator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean checkIsInstructorManager() {
|
||||||
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
|
||||||
|
if (authentication != null && authentication.isAuthenticated()) {
|
||||||
|
// Check if the user has the ROLE_INSTRUCTOR_MANAGER authority
|
||||||
|
for (GrantedAuthority authority : authentication.getAuthorities()) {
|
||||||
|
if (RoleStatusEnum.ROLE_INSTRUCTOR_MANAGER.getValue().equals(authority.getAuthority())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public interface AssignedApplicationsApi {
|
|||||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
|
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
|
||||||
})
|
})
|
||||||
@PostMapping(value = "/application/{applicationId}")
|
@PostMapping(value = "/application/{applicationId}")
|
||||||
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
|
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')|| hasRole('ROLE_INSTRUCTOR_MANAGER')")
|
||||||
public ResponseEntity<Response<AssignedApplicationsResponse>> createAssignedApplications(
|
public ResponseEntity<Response<AssignedApplicationsResponse>> createAssignedApplications(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@Parameter(description = "ID of the application", required = true) @PathVariable Long applicationId,
|
@Parameter(description = "ID of the application", required = true) @PathVariable Long applicationId,
|
||||||
|
|||||||
@@ -2029,4 +2029,40 @@
|
|||||||
<column name="amendment_document" type="TEXT"></column>
|
<column name="amendment_document" type="TEXT"></column>
|
||||||
</addColumn>
|
</addColumn>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
|
<changeSet id="19-12-2024_1" author="Nisha kashyap">
|
||||||
|
<!-- Insert data for Intructor manager role -->
|
||||||
|
<insert tableName="role">
|
||||||
|
<column name="role_name" value="instructor manager"/>
|
||||||
|
<column name="role_type" value="ROLE_INSTRUCTOR_MANAGER"/>
|
||||||
|
<column name="description"
|
||||||
|
value="They will manage the instructor"/>
|
||||||
|
<column name="created_date" value="2024-12-19 15:30:00"/>
|
||||||
|
<column name="updated_date" value="2024-12-19 15:30:00"/>
|
||||||
|
<column name="permissions" value="EVALUATE_APPLICATIONS,MANAGE_PRELIMINARY_RELIEF,ASSIGED_APPLICATION"/>
|
||||||
|
<column name="region_id" valueComputed="1"/>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
</changeSet>
|
||||||
|
<changeSet id="19-12-2024_2" author="Nisha kashyap">
|
||||||
|
<insert tableName="gepafin_user">
|
||||||
|
<column name="password" value="$2a$10$doUyOcEm8WPuFfpFT5y18.1DvZzF7exbqgy9X0P27cUBK7YWbfzzS"/>
|
||||||
|
<column name="email" value="instructorManager@test.test"/>
|
||||||
|
<column name="first_name" value="instructor"/>
|
||||||
|
<column name="last_name" value="Manager"/>
|
||||||
|
<column name="phone_number" value="98768526440"/>
|
||||||
|
<column name="role_id" valueComputed="5"/>
|
||||||
|
<column name="status" value="ACTIVE"/>
|
||||||
|
<column name="last_login" value="2024-12-19 00:00:00"/>
|
||||||
|
<column name="created_date" value="2024-12-19 00:00:00"/>
|
||||||
|
<column name="updated_date" value="2024-12-19 00:00:00"/>
|
||||||
|
<column name="organization" value="InstructorManagerOrg"/>
|
||||||
|
<column name="address" value="789 Victory Road"/>
|
||||||
|
<column name="city" value="Naples"/>
|
||||||
|
<column name="country" value="Italy"/>
|
||||||
|
<column name="hub_id" value="1"/>
|
||||||
|
</insert>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
Reference in New Issue
Block a user