getusersupportgroup, admin check
parent
7057328198
commit
2aec1eeab1
|
|
@ -47,6 +47,7 @@ public class RemedyJavaAPI {
|
|||
server.setPort(50000);
|
||||
this.connect();
|
||||
|
||||
|
||||
// TODO: move to APIApplication.java or State.java - see where it fits
|
||||
State.getInstance().queryState(this);
|
||||
SupportGroup.getInstance().querySupportGroups(this);
|
||||
|
|
@ -350,4 +351,7 @@ public class RemedyJavaAPI {
|
|||
}
|
||||
|
||||
}
|
||||
public boolean isAdministrator() throws ARException {
|
||||
return server.isAdministrator();
|
||||
}
|
||||
}
|
||||
|
|
@ -90,6 +90,8 @@ public class Change {
|
|||
this.queryChange.getFormName(),
|
||||
sort, request.getSliceStart(),
|
||||
request.getSliceEnd());
|
||||
|
||||
System.out.println(qualifier); // "\'1000000182\'!=\".\""
|
||||
var entriesSize = api.getFormSize(qualifier, this.queryChange.getFormName());
|
||||
var changes = new ArrayList<ChangeItem>();
|
||||
|
||||
|
|
@ -151,7 +153,9 @@ public class Change {
|
|||
changes.add(change);
|
||||
}
|
||||
|
||||
System.out.println(entries.size());
|
||||
api.freeImpersonatedUser();
|
||||
|
||||
return new ChangeResponse(entriesSize, changes);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError;
|
|||
*/
|
||||
public class SupportGroup {
|
||||
private static final String formName = "CTM:Support Group";
|
||||
private static final String formAssoc = "CTM:Support Group Assoc LookUp";
|
||||
private static final SupportGroup INSTANCE = new SupportGroup();
|
||||
private ArrayList<SupportGroupGetResponse> supportGroups;
|
||||
private SupportGroupGetResponse userSupportGroup;
|
||||
|
|
@ -43,24 +44,43 @@ public class SupportGroup {
|
|||
* @throws NotFoundError if no support groups are found in this context.
|
||||
*/
|
||||
public void querySupportGroups(RemedyJavaAPI api) throws ARException, NotFoundError {
|
||||
var querySupportGroups = new Query.QueryBuilder(formName)
|
||||
|
||||
// TODO: if remedy admin, permission group id 1
|
||||
api.impersonateUser("ext_StanzPa");
|
||||
var querySupportGroups = new Query.QueryBuilder(formAssoc)
|
||||
.addFieldId("SupportGroup", 1000000015)
|
||||
.addFieldId("SupportGroupId", 1)
|
||||
.addFieldId("SupportGroupId", 1000000079)
|
||||
.build();
|
||||
|
||||
this.supportGroups = api
|
||||
.queryFieldsById("\'Support Group ID\' != \"\"", querySupportGroups.getFieldIds(),
|
||||
querySupportGroups.getFormName(), null, 0, 0)
|
||||
.stream()
|
||||
.map(entry -> new SupportGroupGetResponse(
|
||||
entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(),
|
||||
entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString()))
|
||||
.distinct()
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
System.out.println(api.isAdministrator());
|
||||
|
||||
if (api.isAdministrator()) {
|
||||
this.supportGroups = api
|
||||
.queryFieldsById("\'4\' == \"_\"", querySupportGroups.getFieldIds(),
|
||||
querySupportGroups.getFormName(), null, 0, 0)
|
||||
.stream()
|
||||
.map(entry -> new SupportGroupGetResponse(
|
||||
entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(),
|
||||
entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString()))
|
||||
.distinct()
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
} else {
|
||||
this.supportGroups = api
|
||||
.queryFieldsById("\'4\' == \"" + api.getUser() + "\"", querySupportGroups.getFieldIds(),
|
||||
querySupportGroups.getFormName(), null, 0, 0)
|
||||
.stream()
|
||||
.map(entry -> new SupportGroupGetResponse(
|
||||
entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(),
|
||||
entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString()))
|
||||
.distinct()
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
|
||||
if (this.supportGroups.isEmpty()) {
|
||||
throw new NotFoundError("No support groups found in this context");
|
||||
}
|
||||
api.freeImpersonatedUser();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue