fix: align web api parameter binding with m42 example

This commit is contained in:
Meik
2026-06-30 15:27:53 +02:00
parent 01589d617e
commit 92c41d3aa0
12 changed files with 64 additions and 142 deletions

View File

@@ -38,15 +38,17 @@ namespace C4IT.F4SD
//public readonly IObjectService _objectService; //public readonly IObjectService _objectService;
//public readonly IFragmentService _fragmentService; //public readonly IFragmentService _fragmentService;
private readonly IDependencyResolver _resolver; private readonly IDependencyResolver _resolver;
private readonly IEnumerationProvider _enumerationProvider;
private readonly F4SDHelperService _f4stHelperService; private readonly F4SDHelperService _f4stHelperService;
public string BaseUrl => Request?.RequestUri == null ? string.Empty : $"{Request.RequestUri.Scheme}://{Request.RequestUri.Host}"; public string BaseUrl => Request?.RequestUri == null ? string.Empty : $"{Request.RequestUri.Scheme}://{Request.RequestUri.Host}";
public string EndpointBaseUrl => $"{BaseUrl}/m42Services/api/c4itf4sdwebapi"; public string EndpointBaseUrl => $"{BaseUrl}/m42Services/api/c4itf4sdwebapi";
public F4SDM42WebApiController(IDependencyResolver resolver) public F4SDM42WebApiController(IDependencyResolver resolver, IEnumerationProvider enumerationProvider)
{ {
_resolver = resolver ?? throw new ArgumentNullException(nameof(resolver)); _resolver = resolver ?? throw new ArgumentNullException(nameof(resolver));
_enumerationProvider = enumerationProvider ?? throw new ArgumentNullException(nameof(enumerationProvider));
defaultInstance = this; defaultInstance = this;
//_objectService = objectService; //_objectService = objectService;
//_fragmentService = fragmentService; //_fragmentService = fragmentService;
@@ -84,11 +86,6 @@ namespace C4IT.F4SD
return GetRequiredService<IJournalService>(); return GetRequiredService<IJournalService>();
} }
private IEnumerationProvider GetEnumerationProvider()
{
return GetRequiredService<IEnumerationProvider>();
}
private T GetRequiredService<T>() where T : class private T GetRequiredService<T>() where T : class
{ {
var service = _resolver.TryGet<T>(); var service = _resolver.TryGet<T>();
@@ -99,34 +96,25 @@ namespace C4IT.F4SD
} }
[Route("getDirectLinkCreateTicket"), HttpGet] [Route("getDirectLinkCreateTicket"), HttpGet]
public async Task<F4SDHelperService.DirectLink> getDirectLinkCreateTicket([FromUri] string sid = "", [FromUri] string assetname = "") public async Task<F4SDHelperService.DirectLink> getDirectLinkCreateTicket(string sid = "", string assetname = "")
{ {
await Task.Delay(0); await Task.Delay(0);
sid = GetQueryString("sid", sid);
assetname = GetQueryString("assetname", assetname);
return await _f4stHelperService.getDirectLinkCreateTicket(sid, assetname); return await _f4stHelperService.getDirectLinkCreateTicket(sid, assetname);
} }
[Route("getDirectLinkF4SD"), HttpGet] [Route("getDirectLinkF4SD"), HttpGet]
public async Task<string> getDirectLinkF4SD([FromUri] Guid EOID, [FromUri] string Type) public async Task<string> getDirectLinkF4SD(Guid EOID, string Type)
{ {
EOID = GetQueryGuid("EOID", EOID);
Type = GetQueryString("Type", Type);
return await _f4stHelperService.getDirectLinkF4SD(EOID, Type); return await _f4stHelperService.getDirectLinkF4SD(EOID, Type);
} }
[Route("getTicketList"), HttpGet] [Route("getTicketList"), HttpGet]
public async Task<List<cF4SDTicketSummary>> getTicketList( public async Task<List<cF4SDTicketSummary>> getTicketList(
[FromUri] string sid, string sid,
[FromUri] int hours, int hours,
[FromUri] int queueoption = 0, int queueoption = 0,
[FromUri] string queues = "" string queues = ""
) )
{ {
sid = GetQueryString("sid", sid);
hours = GetQueryInt("hours", hours);
queueoption = GetQueryInt("queueoption", queueoption);
queues = GetQueryString("queues", queues);
var decodedPairs = ParseQueues(queues); var decodedPairs = ParseQueues(queues);
// Nun weiterreichen an Service // Nun weiterreichen an Service
@@ -140,9 +128,8 @@ namespace C4IT.F4SD
[Route("getTicketDetails"), HttpGet] [Route("getTicketDetails"), HttpGet]
public async Task<cF4SDTicket> getTicketDetails([FromUri] Guid objectId) public async Task<cF4SDTicket> getTicketDetails(Guid objectId)
{ {
objectId = GetQueryGuid("objectId", objectId);
var tickets = await _f4stHelperService.getTicketDetails(new List<Guid>() { objectId }); var tickets = await _f4stHelperService.getTicketDetails(new List<Guid>() { objectId });
if (tickets.Count > 0) if (tickets.Count > 0)
return tickets[0]; return tickets[0];
@@ -151,27 +138,20 @@ namespace C4IT.F4SD
} }
[Route("getTicketHistory"), HttpGet] [Route("getTicketHistory"), HttpGet]
public async Task<List<cTicketJournalItem>> getTicketHistory([FromUri] Guid objectId) public async Task<List<cTicketJournalItem>> getTicketHistory(Guid objectId)
{ {
objectId = GetQueryGuid("objectId", objectId);
return await _f4stHelperService.GetJournalEntries(objectId); return await _f4stHelperService.GetJournalEntries(objectId);
} }
[Route("getTicketOverviewCounts"), HttpGet] [Route("getTicketOverviewCounts"), HttpGet]
public async Task<F4SDHelperService.TicketOverviewCountsResult> getTicketOverviewCounts( public async Task<F4SDHelperService.TicketOverviewCountsResult> getTicketOverviewCounts(
[FromUri] string sid, string sid,
[FromUri] string scope = "personal", string scope = "personal",
[FromUri] string keys = "", string keys = "",
[FromUri] int queueoption = 0, int queueoption = 0,
[FromUri] string queues = "" string queues = ""
) )
{ {
sid = GetQueryString("sid", sid);
scope = GetQueryString("scope", scope);
keys = GetQueryString("keys", keys);
queueoption = GetQueryInt("queueoption", queueoption);
queues = GetQueryString("queues", queues);
var parsedKeys = (keys ?? string.Empty) var parsedKeys = (keys ?? string.Empty)
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(key => key.Trim()) .Select(key => key.Trim())
@@ -208,21 +188,14 @@ namespace C4IT.F4SD
[Route("getTicketOverviewRelations"), HttpGet] [Route("getTicketOverviewRelations"), HttpGet]
public async Task<List<F4SDHelperService.TicketOverviewRelationDto>> getTicketOverviewRelations( public async Task<List<F4SDHelperService.TicketOverviewRelationDto>> getTicketOverviewRelations(
[FromUri] string sid, string sid,
[FromUri] string scope = "personal", string scope = "personal",
[FromUri] string key = "", string key = "",
[FromUri] int count = 0, int count = 0,
[FromUri] int queueoption = 0, int queueoption = 0,
[FromUri] string queues = "" string queues = ""
) )
{ {
sid = GetQueryString("sid", sid);
scope = GetQueryString("scope", scope);
key = GetQueryString("key", key);
count = GetQueryInt("count", count);
queueoption = GetQueryInt("queueoption", queueoption);
queues = GetQueryString("queues", queues);
var decodedQueues = ParseQueues(queues); var decodedQueues = ParseQueues(queues);
return await _f4stHelperService.getTicketOverviewRelations(sid, scope, key, count, queueoption, decodedQueues); return await _f4stHelperService.getTicketOverviewRelations(sid, scope, key, count, queueoption, decodedQueues);
} }
@@ -238,11 +211,9 @@ namespace C4IT.F4SD
*/ */
[Route("getPickup/{name}"), HttpGet] [Route("getPickup/{name}"), HttpGet]
//[CacheOutput(UseETAG = true)] //[CacheOutput(UseETAG = true)]
public async Task<HttpResponseMessage> getPickup(string name, [FromUri] EntityEnumerationVisibilityMode mode = EntityEnumerationVisibilityMode.None, [FromUri] Int32 group = -1) public async Task<HttpResponseMessage> getPickup(string name, EntityEnumerationVisibilityMode mode = EntityEnumerationVisibilityMode.None, Int32 group = -1)
{ {
await Task.Delay(0); await Task.Delay(0);
mode = GetQueryEnum("mode", mode);
group = GetQueryInt("group", group);
EntityEnumeration enumerationTemp = GetEnumeration(name, mode); EntityEnumeration enumerationTemp = GetEnumeration(name, mode);
var vals = enumerationTemp.Values; var vals = enumerationTemp.Values;
@@ -278,26 +249,21 @@ namespace C4IT.F4SD
} }
[HttpGet] [HttpGet]
[Route("getRoleMemberships")] [Route("getRoleMemberships")]
public async Task<HttpResponseMessage> getRoleMemberships([FromUri] GetRoleMembershipsRequest req) public async Task<HttpResponseMessage> getRoleMemberships(Guid? id = null, string sid = "", string upn = "")
{ {
req = req ?? new GetRoleMembershipsRequest();
req.Id = GetQueryGuid("id", req.Id ?? Guid.Empty);
req.Sid = GetQueryString("sid", req.Sid);
req.Upn = GetQueryString("upn", req.Upn);
var filter = ""; var filter = "";
if (req.Id != null && req.Id.Value != Guid.Empty) if (id != null && id.Value != Guid.Empty)
{ {
filter = AsqlHelper.BuildInCondition("ID", new Guid[] { req.Id.Value }); filter = AsqlHelper.BuildInCondition("ID", new Guid[] { id.Value });
} }
else if (!string.IsNullOrEmpty(req.Sid)) else if (!string.IsNullOrEmpty(sid))
{ {
filter = AsqlHelper.BuildInCondition("Accounts.T(SPSAccountClassAD).Sid", new string[] { req.Sid }); filter = AsqlHelper.BuildInCondition("Accounts.T(SPSAccountClassAD).Sid", new string[] { sid });
} }
else if (!string.IsNullOrEmpty(req.Upn)) else if (!string.IsNullOrEmpty(upn))
{ {
filter = AsqlHelper.BuildInCondition("Accounts.T(SPSAccountClassAD).UserPrincipalName", new string[] { req.Upn }); filter = AsqlHelper.BuildInCondition("Accounts.T(SPSAccountClassAD).UserPrincipalName", new string[] { upn });
} }
if (!string.IsNullOrEmpty(filter)) if (!string.IsNullOrEmpty(filter))
@@ -310,14 +276,6 @@ namespace C4IT.F4SD
} }
} }
public class GetRoleMembershipsRequest
{
public Guid? Id { get; set; }
public string Sid { get; set; }
public string Upn { get; set; }
public GetRoleMembershipsRequest() { }
}
public class TicketOverviewCountsByRolesRequest public class TicketOverviewCountsByRolesRequest
{ {
public string Sid { get; set; } public string Sid { get; set; }
@@ -330,7 +288,7 @@ namespace C4IT.F4SD
private EntityEnumeration GetEnumeration(string name, EntityEnumerationVisibilityMode mode) private EntityEnumeration GetEnumeration(string name, EntityEnumerationVisibilityMode mode)
{ {
name = name?.Trim(); name = name?.Trim();
var dataTable = GetEnumerationProvider().GetEnumeration(name, GetVisibilityFilter(mode)); var dataTable = _enumerationProvider.GetEnumeration(name, GetVisibilityFilter(mode));
if (dataTable == null) if (dataTable == null)
throw new InvalidOperationException($"Enumeration '{name}' was not found."); throw new InvalidOperationException($"Enumeration '{name}' was not found.");
@@ -416,49 +374,6 @@ namespace C4IT.F4SD
?? Guid.Empty; ?? Guid.Empty;
} }
private string GetQueryString(string name, string currentValue)
{
var queryValue = GetQueryValue(name);
return string.IsNullOrEmpty(queryValue) ? currentValue : queryValue;
}
private int GetQueryInt(string name, int currentValue)
{
var queryValue = GetQueryValue(name);
return int.TryParse(queryValue, out var parsedValue) ? parsedValue : currentValue;
}
private Guid GetQueryGuid(string name, Guid currentValue)
{
var queryValue = GetQueryValue(name);
return Guid.TryParse(queryValue, out var parsedValue) ? parsedValue : currentValue;
}
private TEnum GetQueryEnum<TEnum>(string name, TEnum currentValue) where TEnum : struct
{
var queryValue = GetQueryValue(name);
return Enum.TryParse<TEnum>(queryValue, true, out var parsedValue) ? parsedValue : currentValue;
}
private string GetQueryValue(string name)
{
var query = Request?.RequestUri?.Query;
if (string.IsNullOrWhiteSpace(query))
return null;
foreach (var pair in query.TrimStart('?').Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries))
{
var parts = pair.Split(new[] { '=' }, 2);
var key = WebUtility.UrlDecode(parts[0]);
if (!string.Equals(key, name, StringComparison.OrdinalIgnoreCase))
continue;
return parts.Length > 1 ? WebUtility.UrlDecode(parts[1]) : string.Empty;
}
return null;
}
private static List<cApiM42TicketQueueInfo> ParseQueues(string queues) private static List<cApiM42TicketQueueInfo> ParseQueues(string queues)
{ {
return (queues ?? string.Empty) return (queues ?? string.Empty)
@@ -487,14 +402,13 @@ namespace C4IT.F4SD
} }
[Route("loglevel"), HttpGet] [Route("loglevel"), HttpGet]
public async Task<string> setDebugMode([FromUri] string debug = "0") public async Task<string> setDebugMode(string debug = "0")
{ {
var CM = MethodBase.GetCurrentMethod(); var CM = MethodBase.GetCurrentMethod();
LogMethodBegin(CM); LogMethodBegin(CM);
try try
{ {
await Task.Delay(0); await Task.Delay(0);
debug = GetQueryString("debug", debug);
DefaultLogger.Manager.Level = debug == "1" || debug.Equals("true", StringComparison.OrdinalIgnoreCase) ? LogLevels.Debug : LogLevels.Info; DefaultLogger.Manager.Level = debug == "1" || debug.Equals("true", StringComparison.OrdinalIgnoreCase) ? LogLevels.Debug : LogLevels.Info;
return DefaultLogger.Manager.Level.ToString(); return DefaultLogger.Manager.Level.ToString();
} }
@@ -510,13 +424,10 @@ namespace C4IT.F4SD
} }
[Route("log"), HttpGet] [Route("log"), HttpGet]
public HttpResponseMessage getLog([FromUri] string download = "0", [FromUri] int count = 50, [FromUri] string filter = "") public HttpResponseMessage getLog(string download = "0", int count = 50, string filter = "")
{ {
try try
{ {
download = GetQueryString("download", download);
count = GetQueryInt("count", count);
filter = GetQueryString("filter", filter);
return _f4stHelperService.privGetLog(download, count, Request, filter); return _f4stHelperService.privGetLog(download, count, Request, filter);
} }
catch (Exception E) catch (Exception E)

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>b3193051-6fe6-cdd2-7d76-08da9bbec2b6</ID> <ID>b3193051-6fe6-cdd2-7d76-08da9bbec2b6</ID>
<Name>getDirectLinkCreateTicket</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"assetname":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getDirectLinkCreateTicket(sid, assetname)</Name>
<RouteTemplate>getDirectLinkCreateTicket</RouteTemplate> <RouteTemplate>getDirectLinkCreateTicket</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>b3193051-6fe6-cdd2-7d76-08da9bbec2b6</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>b3193051-6fe6-cdd2-7d76-08da9bbec2b6</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>04d0755f-27dd-c4ac-2785-08dac1666661</ID> <ID>04d0755f-27dd-c4ac-2785-08dac1666661</ID>
<Name>getDirectLinkF4SD</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"EOID":{"Type":"StringType"},"Type":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getDirectLinkF4SD(EOID, Type)</Name>
<RouteTemplate>getDirectLinkF4SD</RouteTemplate> <RouteTemplate>getDirectLinkF4SD</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>04d0755f-27dd-c4ac-2785-08dac1666661</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>04d0755f-27dd-c4ac-2785-08dac1666661</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>f977a1d8-f21c-c1bc-4ea0-08dac09d3c99</ID> <ID>f977a1d8-f21c-c1bc-4ea0-08dac09d3c99</ID>
<Name>getLog</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"download":{"Type":"StringType"},"count":{"Type":"StringType"},"filter":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getLog(download, count, filter)</Name>
<RouteTemplate>log</RouteTemplate> <RouteTemplate>log</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>f977a1d8-f21c-c1bc-4ea0-08dac09d3c99</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>f977a1d8-f21c-c1bc-4ea0-08dac09d3c99</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>750c8dc4-ada0-c1b0-c877-08da9bbec2e3</ID> <ID>750c8dc4-ada0-c1b0-c877-08da9bbec2e3</ID>
<Name>getTicketDetails</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"objectId":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketDetails(objectId)</Name>
<RouteTemplate>getTicketDetails</RouteTemplate> <RouteTemplate>getTicketDetails</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>750c8dc4-ada0-c1b0-c877-08da9bbec2e3</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>750c8dc4-ada0-c1b0-c877-08da9bbec2e3</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>94d0317f-a8db-caf0-a353-08da9bbec2dc</ID> <ID>94d0317f-a8db-caf0-a353-08da9bbec2dc</ID>
<Name>getTicketHistory</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"objectId":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketHistory(objectId)</Name>
<RouteTemplate>getTicketHistory</RouteTemplate> <RouteTemplate>getTicketHistory</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>94d0317f-a8db-caf0-a353-08da9bbec2dc</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>94d0317f-a8db-caf0-a353-08da9bbec2dc</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>163e04c2-8b5c-c0e6-0535-08da9bbec2df</ID> <ID>163e04c2-8b5c-c0e6-0535-08da9bbec2df</ID>
<Name>getTicketList</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"sid":{"Type":"StringType"},"hours":{"Type":"StringType"},"queueoption":{"Type":"StringType"},"queues":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getTicketList(sid, hours, queueoption, queues)</Name>
<RouteTemplate>getTicketList</RouteTemplate> <RouteTemplate>getTicketList</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>163e04c2-8b5c-c0e6-0535-08da9bbec2df</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>163e04c2-8b5c-c0e6-0535-08da9bbec2df</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,6 +137,7 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>9df9d16f-1a00-cc19-1727-08dac09d3c08</ID> <ID>9df9d16f-1a00-cc19-1727-08dac09d3c08</ID>
<RequestContract>{"UsedTypes":{},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>isAlive</Name> <Name>isAlive</Name>
<RouteTemplate>isAlive</RouteTemplate> <RouteTemplate>isAlive</RouteTemplate>
<Documentation /> <Documentation />
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>9df9d16f-1a00-cc19-1727-08dac09d3c08</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>9df9d16f-1a00-cc19-1727-08dac09d3c08</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>14366b3c-b79d-cfe3-ded3-08da9bbec2d7</ID> <ID>14366b3c-b79d-cfe3-ded3-08da9bbec2d7</ID>
<Name>setDebugMode</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"debug":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>setDebugMode(debug)</Name>
<RouteTemplate>loglevel</RouteTemplate> <RouteTemplate>loglevel</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>14366b3c-b79d-cfe3-ded3-08da9bbec2d7</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>14366b3c-b79d-cfe3-ded3-08da9bbec2d7</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,6 +137,7 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>6cec89ab-b843-cd6b-d6b5-08db99ad32ee</ID> <ID>6cec89ab-b843-cd6b-d6b5-08db99ad32ee</ID>
<RequestContract>{"UsedTypes":{},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getMyRoleMemberships</Name> <Name>getMyRoleMemberships</Name>
<RouteTemplate>getMyRoleMemberships</RouteTemplate> <RouteTemplate>getMyRoleMemberships</RouteTemplate>
<Documentation /> <Documentation />
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>6cec89ab-b843-cd6b-d6b5-08db99ad32ee</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>6cec89ab-b843-cd6b-d6b5-08db99ad32ee</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>ef14b892-628c-c1c1-801f-08db99ad32e9</ID> <ID>ef14b892-628c-c1c1-801f-08db99ad32e9</ID>
<Name>getPickup</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"name":{"Type":"StringType"},"mode":{"Type":"StringType"},"group":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getPickup(name, mode, group)</Name>
<RouteTemplate>getPickup/{name}</RouteTemplate> <RouteTemplate>getPickup/{name}</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>ef14b892-628c-c1c1-801f-08db99ad32e9</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>ef14b892-628c-c1c1-801f-08db99ad32e9</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>

View File

@@ -137,7 +137,8 @@
</xs:schema> </xs:schema>
<PLSLWebServiceOperation> <PLSLWebServiceOperation>
<ID>06747fe1-8113-c51f-4969-08db99ad32f1</ID> <ID>06747fe1-8113-c51f-4969-08db99ad32f1</ID>
<Name>getRoleMemberships</Name> <RequestContract>{"UsedTypes":{"RequestContract":{"Descriptor":{"id":{"Type":"StringType"},"sid":{"Type":"StringType"},"upn":{"Type":"StringType"}}}},"ContractDescriptor":{"ReferenceTo":null,"ReferenceFilter":null,"Required":false,"Obsolete":false,"MaxLength":0,"ResourceKey":null,"Documentation":null,"Title":null,"Paths":null,"Type":"RequestContract"}}</RequestContract>
<Name>getRoleMemberships(id, sid, upn)</Name>
<RouteTemplate>getRoleMemberships</RouteTemplate> <RouteTemplate>getRoleMemberships</RouteTemplate>
<Documentation /> <Documentation />
<TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID> <TypeID>7660e907-769c-e711-a182-f079595b3ec7</TypeID>
@@ -154,4 +155,4 @@
<UsedInTypePLSLWebServiceOperationType>06747fe1-8113-c51f-4969-08db99ad32f1</UsedInTypePLSLWebServiceOperationType> <UsedInTypePLSLWebServiceOperationType>06747fe1-8113-c51f-4969-08db99ad32f1</UsedInTypePLSLWebServiceOperationType>
<StrictAdminControl>0</StrictAdminControl> <StrictAdminControl>0</StrictAdminControl>
</PDRAudienceClass> </PDRAudienceClass>
</NewDataSet> </NewDataSet>