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