feat: expand cockpit integrations and support workflows
Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
using C4IT.F4SD.DisplayFormatting;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace F4SD.DocuEngine.DocuEngineDataProvider
|
||||
{
|
||||
public class DocuEngineDataProperty : IDocuEngineDataProperty
|
||||
{
|
||||
public object Value { get; set; }
|
||||
public RawValueType? ValueType { get; set; }
|
||||
}
|
||||
|
||||
public class DocuEngineDataContainer : Dictionary<string, IDocuEngineDataToken>, IDocuEngineDataContainer
|
||||
{
|
||||
public IDocuEngineDataToken GetByName(string tokenName)
|
||||
{
|
||||
var tokenTree = tokenName.Split('.');
|
||||
if (this.TryGetValue(tokenTree[0], out IDocuEngineDataToken token))
|
||||
{
|
||||
if (tokenTree.Length > 1)
|
||||
{
|
||||
switch (token)
|
||||
{
|
||||
case IDocuEngineDataContainer container:
|
||||
return container.GetByName(string.Join(".", tokenTree.Skip(1)));
|
||||
case IDocuEngineDataProperty property:
|
||||
return property;
|
||||
case IDocuEngineDataEnumeration enumeration:
|
||||
return new DocuEngineDataProperty() { Value = tokenTree[0] };
|
||||
default:
|
||||
//Syntax Error
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (token)
|
||||
{
|
||||
case IDocuEngineDataContainer container:
|
||||
return container;
|
||||
case IDocuEngineDataProperty property:
|
||||
return property;
|
||||
case IDocuEngineDataEnumeration enumeration:
|
||||
return enumeration;
|
||||
default:
|
||||
//Syntax Error
|
||||
break;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Syntax Error
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public IDocuEngineDataContainer GetContainerByName(string containerName)
|
||||
{
|
||||
var token = GetByName(containerName);
|
||||
if (token is IDocuEngineDataContainer container)
|
||||
{
|
||||
return container;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public IDocuEngineDataProperty GetPropertyByName(string propertyName)
|
||||
{
|
||||
var token = GetByName(propertyName);
|
||||
if (token is IDocuEngineDataProperty property)
|
||||
{
|
||||
return property;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public IDocuEngineDataEnumeration GetEnumerationByName(string enumName)
|
||||
{
|
||||
var token = GetByName(enumName);
|
||||
if (token is IDocuEngineDataEnumeration enumeration)
|
||||
{
|
||||
return enumeration;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class DocuEngineDataEnumeration : List<IDocuEngineDataToken>, IDocuEngineDataEnumeration
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using C4IT.F4SD.DisplayFormatting;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace F4SD.DocuEngine.DocuEngineDataProvider
|
||||
{
|
||||
public interface IDocuEngineDataToken
|
||||
{
|
||||
}
|
||||
|
||||
public interface IDocuEngineDataIllegal : IDocuEngineDataToken
|
||||
{
|
||||
}
|
||||
|
||||
public interface IDocuEngineDataProperty : IDocuEngineDataToken
|
||||
{
|
||||
object Value { get; set; }
|
||||
RawValueType? ValueType { get; set; }
|
||||
}
|
||||
|
||||
public interface IDocuEngineDataContainer : IDocuEngineDataToken
|
||||
{
|
||||
IDocuEngineDataToken GetByName(string name);
|
||||
IDocuEngineDataContainer GetContainerByName(string containerName);
|
||||
IDocuEngineDataEnumeration GetEnumerationByName(string enumName);
|
||||
IDocuEngineDataProperty GetPropertyByName(string propertyName);
|
||||
}
|
||||
|
||||
public interface IDocuEngineDataEnumeration : IEnumerable<IDocuEngineDataToken>, IDocuEngineDataToken
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user