Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Packages.cs
1using System;
2using System.IO;
3using System.Text;
4using System.Threading.Tasks;
9
11{
16 {
20 public Packages()
21 {
22 }
23
27 public override string Name => "Packages";
28
36 public override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, ResponseCallbackHandler ResponseCallback)
37 {
38 StringBuilder Markdown = new StringBuilder();
39 string s;
40
41 Markdown.AppendLine("| File Name | Size | Published | Supersedes | Created | Installed | Signature | Remote Endpoint |");
42 Markdown.AppendLine("|:----------|:----:|:---------:|:----------:|:-------:|:---------:|:----------|:----------------|");
43
44 foreach (Package Package in await ProvisioningComponent.GetPackages())
45 {
46 Markdown.Append("| ");
47 Markdown.Append(XmppServerModule.Instance.DownloadableFile(Path.Combine(XmppServerModule.PackagesFolder, Package.FileName), State, State.To));
48 Markdown.Append(" | ");
49 Markdown.Append(Export.FormatBytes(Package.Bytes));
50 Markdown.Append(" | ");
51 Markdown.Append(MarkdownDocument.Encode(Package.Published.ToString()));
52 Markdown.Append(" | ");
53 Markdown.Append(Package.Supersedes == DateTime.MinValue ? "" : MarkdownDocument.Encode(Package.Supersedes.ToString()));
54 Markdown.Append(" | ");
55 Markdown.Append(MarkdownDocument.Encode(Package.Created.ToString()));
56 Markdown.Append(" | ");
57
58 if (Package.Installed > DateTime.MinValue)
59 Markdown.Append(MarkdownDocument.Encode(Package.Installed.ToString()));
60
61 Markdown.Append(" | ");
62 Markdown.Append("<a href='javascript:window.alert(\"" + (s = Convert.ToBase64String(Package.Signature)) + "\")'>" + s.Substring(0, 10) + "...</a>");
63 Markdown.Append(" | ");
65 Markdown.AppendLine(" |");
66 }
67
68 await ResponseCallback(Markdown.ToString(), string.Empty);
69 }
70
74 public override string[] HelpParagraphs => new string[] { "Displays available software packages, and basic information regarding each one, in table form." };
75 }
76}
Contains a markdown document. This markdown document class supports original markdown,...
static string Encode(string s)
Encodes all special characters in a string so that it can be included in a markdown document without ...
Static class managing data export.
Definition: Export.cs:19
static string FormatBytes(double Bytes)
Formats a file size using appropriate unit.
Definition: Export.cs:126
An administrative command with no parameters.
Returns a list of available software packages.
Definition: Packages.cs:16
override string Name
Command name
Definition: Packages.cs:27
Packages()
Returns a list of available software packages.
Definition: Packages.cs:20
override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, ResponseCallbackHandler ResponseCallback)
Executes the command.
Definition: Packages.cs:36
override string[] HelpParagraphs
Markdown description of syntax.
Definition: Packages.cs:74
Contains information about a software package.
Definition: Package.cs:18
byte[] Signature
Cryptographic signature of package, as calculated by the issuer of the package.
Definition: Package.cs:46
DateTime Installed
When package was installed (if installed).
Definition: Package.cs:94
CaseInsensitiveString FileName
Filename of package.
Definition: Package.cs:40
DateTime Published
When package was published.
Definition: Package.cs:76
DateTime Supersedes
Timestamp of superceded package.
Definition: Package.cs:82
string RemoteEndpoint
Remote Endpoint from where the package was downloaded or uploaded.
Definition: Package.cs:70
DateTime Created
When package record was created
Definition: Package.cs:88
Service Module hosting the XMPP broker and its components.
delegate Task< string > ResponseCallbackHandler(string Markdown, string MessageId)
Delegate for response callback handler methods.