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_SUPER_ADMIN("ROLE_SUPER_ADMIN"),
|
||||
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;
|
||||
|
||||
|
||||
@@ -90,6 +90,8 @@ public class Validator {
|
||||
validateHubId(request, companyEntity.getHub().getId());
|
||||
if (checkIsSuperAdmin()) {
|
||||
return companyEntity;
|
||||
} else if (checkIsInstructorManager()) {
|
||||
return companyEntity;
|
||||
}
|
||||
Map<String, Object> userInfo = tokenProvider.getUserInfoAndUserIdFromToken(request);
|
||||
companyService.validateUserWithCompny(getUserId(userInfo), companyId);
|
||||
@@ -127,8 +129,11 @@ public class Validator {
|
||||
UserEntity requestedUser = userService.validateUser(userId);
|
||||
|
||||
validateHubId(request, requestedUser.getHub().getId());
|
||||
if (Boolean.FALSE.equals(user.getRoleEntity().getRoleType().equals(RoleStatusEnum.ROLE_SUPER_ADMIN.getValue()))
|
||||
&& Boolean.FALSE.equals(user.getId().equals(userId))) {
|
||||
// if (Boolean.FALSE.equals(user.getRoleEntity().getRoleType().equals(RoleStatusEnum.ROLE_SUPER_ADMIN.getValue()))
|
||||
// && Boolean.FALSE.equals(user.getId().equals(userId)))
|
||||
if (checkIsSuperAdmin() || checkIsInstructorManager()) {
|
||||
|
||||
} else if(Boolean.FALSE.equals(user.getId().equals(userId))) {
|
||||
throw new ForbiddenAccessException(Status.FORBIDDEN,
|
||||
Translator.toLocale(GepafinConstant.PERMISSION_DENIED));
|
||||
}
|
||||
@@ -164,6 +169,11 @@ public class Validator {
|
||||
validateHubId(request, preInstructorUser.getHub().getId());
|
||||
}
|
||||
return preInstructorUser;
|
||||
} else if (checkIsInstructorManager()) {
|
||||
if (preInstructorUserId != null) {
|
||||
validateHubId(request, preInstructorUser.getHub().getId());
|
||||
}
|
||||
return preInstructorUser;
|
||||
} else if (checkIsPreInstructor()) {
|
||||
return validateUserId(request, preInstructorUserId);
|
||||
} else {
|
||||
@@ -171,5 +181,18 @@ public class Validator {
|
||||
Translator.toLocale(GepafinConstant.PERMISSION_DENIED));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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) }))
|
||||
})
|
||||
@PostMapping(value = "/application/{applicationId}")
|
||||
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
|
||||
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')|| hasRole('ROLE_INSTRUCTOR_MANAGER')")
|
||||
public ResponseEntity<Response<AssignedApplicationsResponse>> createAssignedApplications(
|
||||
HttpServletRequest request,
|
||||
@Parameter(description = "ID of the application", required = true) @PathVariable Long applicationId,
|
||||
|
||||
@@ -2029,4 +2029,40 @@
|
||||
<column name="amendment_document" type="TEXT"></column>
|
||||
</addColumn>
|
||||
</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>
|
||||
|
||||
Reference in New Issue
Block a user