FINERACT-787 add selfServiceRoles template resource
This commit is contained in:
committed by
Michael Vorburger ⛑️
parent
a9858b1145
commit
c601856ca4
@@ -37339,6 +37339,20 @@ GET https://DomainName/api/v1/users/template
|
||||
"id": 1,
|
||||
"name": "Super user",
|
||||
"description": "This role provides all application permissions."
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Self Service User",
|
||||
"description": "self service user role",
|
||||
"disabled": false
|
||||
}
|
||||
],
|
||||
"selfServiceRoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Self Service User",
|
||||
"description": "self service user role",
|
||||
"disabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+1
@@ -94,6 +94,7 @@ final class UsersApiResourceSwagger {
|
||||
}
|
||||
public Collection<OfficeData> allowedOffices;
|
||||
public Collection<RoleData> availableRoles;
|
||||
public Collection<RoleData> selfServiceRoles;
|
||||
}
|
||||
|
||||
@ApiModel(value = "PostUsersRequest")
|
||||
|
||||
+14
-8
@@ -49,6 +49,7 @@ public class AppUserData {
|
||||
@SuppressWarnings("unused")
|
||||
private final Collection<OfficeData> allowedOffices;
|
||||
private final Collection<RoleData> availableRoles;
|
||||
private final Collection<RoleData> selfServiceRoles;
|
||||
private final Collection<RoleData> selectedRoles;
|
||||
private final StaffData staff;
|
||||
private final Boolean isSelfServiceUser;
|
||||
@@ -79,6 +80,7 @@ public class AppUserData {
|
||||
this.rowIndex = rowIndex;
|
||||
this.allowedOffices = null;
|
||||
this.availableRoles = null;
|
||||
this.selfServiceRoles = null;
|
||||
this.selectedRoles = null;
|
||||
this.staff = null;
|
||||
this.isSelfServiceUser = null;
|
||||
@@ -91,27 +93,30 @@ public class AppUserData {
|
||||
|
||||
public static AppUserData template(final AppUserData user, final Collection<OfficeData> officesForDropdown) {
|
||||
return new AppUserData(user.id, user.username, user.email, user.officeId, user.officeName, user.firstname, user.lastname,
|
||||
user.availableRoles, user.selectedRoles, officesForDropdown, user.staff, user.passwordNeverExpires, user.isSelfServiceUser);
|
||||
user.availableRoles, user.selfServiceRoles, user.selectedRoles, officesForDropdown, user.staff, user.passwordNeverExpires,
|
||||
user.isSelfServiceUser);
|
||||
}
|
||||
|
||||
public static AppUserData template(final Collection<OfficeData> offices, final Collection<RoleData> availableRoles) {
|
||||
return new AppUserData(null, null, null, null, null, null, null, availableRoles, null, offices, null, null, null);
|
||||
public static AppUserData template(final Collection<OfficeData> offices, final Collection<RoleData> availableRoles, final Collection<RoleData> selfServiceRoles) {
|
||||
return new AppUserData(null, null, null, null, null, null, null, availableRoles, selfServiceRoles, null, offices, null, null, null);
|
||||
}
|
||||
|
||||
public static AppUserData dropdown(final Long id, final String username) {
|
||||
return new AppUserData(id, username, null, null, null, null, null, null, null, null, null, null, null);
|
||||
return new AppUserData(id, username, null, null, null, null, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
|
||||
public static AppUserData instance(final Long id, final String username, final String email, final Long officeId,
|
||||
final String officeName, final String firstname, final String lastname, final Collection<RoleData> availableRoles,
|
||||
final Collection<RoleData> selectedRoles, final StaffData staff, final Boolean passwordNeverExpire, final Boolean isSelfServiceUser) {
|
||||
return new AppUserData(id, username, email, officeId, officeName, firstname, lastname, availableRoles, selectedRoles, null, staff,
|
||||
passwordNeverExpire, isSelfServiceUser);
|
||||
final Collection<RoleData> selfServiceRoles, final Collection<RoleData> selectedRoles, final StaffData staff,
|
||||
final Boolean passwordNeverExpire, final Boolean isSelfServiceUser) {
|
||||
return new AppUserData(id, username, email, officeId, officeName, firstname, lastname, availableRoles, selfServiceRoles, selectedRoles, null,
|
||||
staff, passwordNeverExpire, isSelfServiceUser);
|
||||
}
|
||||
|
||||
private AppUserData(final Long id, final String username, final String email, final Long officeId, final String officeName,
|
||||
final String firstname, final String lastname, final Collection<RoleData> availableRoles,
|
||||
final Collection<RoleData> selectedRoles, final Collection<OfficeData> allowedOffices, final StaffData staff,
|
||||
final Collection<RoleData> selfServiceRoles, final Collection<RoleData> selectedRoles,
|
||||
final Collection<OfficeData> allowedOffices, final StaffData staff,
|
||||
final Boolean passwordNeverExpire, final Boolean isSelfServiceUser) {
|
||||
this.id = id;
|
||||
this.username = username;
|
||||
@@ -122,6 +127,7 @@ public class AppUserData {
|
||||
this.email = email;
|
||||
this.allowedOffices = allowedOffices;
|
||||
this.availableRoles = availableRoles;
|
||||
this.selfServiceRoles = selfServiceRoles;
|
||||
this.selectedRoles = selectedRoles;
|
||||
this.staff = staff;
|
||||
this.passwordNeverExpires = passwordNeverExpire;
|
||||
|
||||
+4
-3
@@ -107,8 +107,9 @@ public class AppUserReadPlatformServiceImpl implements AppUserReadPlatformServic
|
||||
|
||||
final Collection<OfficeData> offices = this.officeReadPlatformService.retrieveAllOfficesForDropdown();
|
||||
final Collection<RoleData> availableRoles = this.roleReadPlatformService.retrieveAllActiveRoles();
|
||||
final Collection<RoleData> selfServiceRoles = this.roleReadPlatformService.retrieveAllSelfServiceRoles();
|
||||
|
||||
return AppUserData.template(offices, availableRoles);
|
||||
return AppUserData.template(offices, availableRoles, selfServiceRoles);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -138,7 +139,7 @@ public class AppUserReadPlatformServiceImpl implements AppUserReadPlatformServic
|
||||
}
|
||||
|
||||
AppUserData retUser = AppUserData.instance(user.getId(), user.getUsername(), user.getEmail(), user.getOffice().getId(),
|
||||
user.getOffice().getName(), user.getFirstname(), user.getLastname(), availableRoles, selectedUserRoles, linkedStaff,
|
||||
user.getOffice().getName(), user.getFirstname(), user.getLastname(), availableRoles, null, selectedUserRoles, linkedStaff,
|
||||
user.getPasswordNeverExpires(), user.isSelfServiceUser());
|
||||
|
||||
if(retUser.isSelfServiceUser()){
|
||||
@@ -185,7 +186,7 @@ public class AppUserReadPlatformServiceImpl implements AppUserReadPlatformServic
|
||||
} else {
|
||||
linkedStaff = null;
|
||||
}
|
||||
return AppUserData.instance(id, username, email, officeId, officeName, firstname, lastname, null, selectedRoles, linkedStaff,
|
||||
return AppUserData.instance(id, username, email, officeId, officeName, firstname, lastname, null, null, selectedRoles, linkedStaff,
|
||||
passwordNeverExpire, isSelfServiceUser);
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -28,6 +28,8 @@ public interface RoleReadPlatformService {
|
||||
|
||||
Collection<RoleData> retrieveAllActiveRoles();
|
||||
|
||||
Collection<RoleData> retrieveAllSelfServiceRoles();
|
||||
|
||||
RoleData retrieveOne(Long roleId);
|
||||
|
||||
Collection<RoleData> retrieveAppUserRoles(Long appUserId);
|
||||
|
||||
+10
@@ -24,6 +24,7 @@ import java.util.Collection;
|
||||
|
||||
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
|
||||
import org.apache.fineract.infrastructure.core.service.RoutingDataSource;
|
||||
import org.apache.fineract.portfolio.self.registration.SelfServiceApiConstants;
|
||||
import org.apache.fineract.useradministration.data.RoleData;
|
||||
import org.apache.fineract.useradministration.exception.RoleNotFoundException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -58,6 +59,15 @@ public class RoleReadPlatformServiceImpl implements RoleReadPlatformService {
|
||||
return this.jdbcTemplate.query(sql, this.roleRowMapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<RoleData> retrieveAllSelfServiceRoles() {
|
||||
final String role = SelfServiceApiConstants.SELF_SERVICE_USER_ROLE;
|
||||
final String sql = "select " + this.roleRowMapper.schema() + " where r.name = ? order by r.id";
|
||||
|
||||
return this.jdbcTemplate.query(sql, new Object[] {role}, this.roleRowMapper);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public RoleData retrieveOne(final Long id) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user