diff --git a/csharp/app/API/API.csproj b/csharp/app/API/API.csproj deleted file mode 100644 index 4e1bc8c0b..000000000 --- a/csharp/app/API/API.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - InnovEnergy.API - InnovEnergy.API.Program - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/csharp/app/API/Api.cs b/csharp/app/API/Api.cs deleted file mode 100644 index 97fa5ff0f..000000000 --- a/csharp/app/API/Api.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Flurl; -using InnovEnergy.API.DataModel; - -namespace InnovEnergy.API; - -public static class Api -{ - public static Result CreateUser(QueryParamCollection queryParams, LoginState loginState) - { - var parentPath = queryParams.FirstOrDefault("path") as String; - var userName = queryParams.FirstOrDefault("userName") as String; - var userType = queryParams.FirstOrDefault("userType") as String; - - if (userName != null && Program.Data.Root.FindDescendantUser(userName) != null) - return Result.Failure("there is already another user with that name"); - - return loginState.CreateUser(parentPath, userName, userType); - } - - public static Result EditUser(QueryParamCollection queryParams, LoginState loginState) - { - var userPath = queryParams.FirstOrDefault("path") as String; - var userType = queryParams.FirstOrDefault("userType") as String; - - return loginState.EditUser(userPath, userType); - } - - public static Result RenameInstallation(QueryParamCollection queryParams, LoginState loginState) - { - var userPath = queryParams.FirstOrDefault("path") as String; - var userType = queryParams.FirstOrDefault("name") as String; - - return loginState.RenameInstallation(userPath, userType); - } - - - public static Result DeleteFolder(QueryParamCollection queryParams, LoginState loginState) - { - var path = queryParams.FirstOrDefault("path") as String; - - return loginState.DeleteFolder(path); - } - - public static Result DeleteInstallation(QueryParamCollection queryParams, LoginState loginState) - { - var path = queryParams.FirstOrDefault("path") as String; - - return loginState.DeleteInstallation(path); - } - - - public static Result DeleteUser(QueryParamCollection queryParams, LoginState loginState) - { - var path = queryParams.FirstOrDefault("path") as String; - - return loginState.DeleteUser(path); - } - - // public static Result Rename(QueryParamCollection queryParams, LoginState loginState) - // { - // var path = queryParams.FirstOrDefault("path") as String; - // var name = queryParams.FirstOrDefault("name") as String; - // - // return loginState.Delete(path); - // } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Data.Extensions.cs b/csharp/app/API/DataModel/Data.Extensions.cs deleted file mode 100644 index 2f13133e8..000000000 --- a/csharp/app/API/DataModel/Data.Extensions.cs +++ /dev/null @@ -1,27 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public static class DataExtensions -{ - public static Folder GetOrCreateFolder(this Data data, IEnumerable path) - { - var parent = data.Root; - var stack = new Stack(path.Reverse()); - - while (stack.Count > 0) - { - var childFolderName = stack.Pop(); - - var childFolder = parent.Folders.FirstOrDefault(f => f.Name == childFolderName); - - if (childFolder is null) - { - childFolder = new Folder { Name = childFolderName }; - parent.Add(childFolder); - } - - parent = childFolder; - } - - return parent; - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Data.Serialization.cs b/csharp/app/API/DataModel/Data.Serialization.cs deleted file mode 100644 index 5218bcf3c..000000000 --- a/csharp/app/API/DataModel/Data.Serialization.cs +++ /dev/null @@ -1,83 +0,0 @@ -using InnovEnergy.Lib.Utils; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; - -namespace InnovEnergy.API.DataModel; - -public partial record Data -{ - private static readonly JsonSerializerSettings PersistenceJsonSettings = new JsonSerializerSettings - { - Formatting = Formatting.Indented, - NullValueHandling = NullValueHandling.Include, - ContractResolver = new CamelCasePropertyNamesContractResolver(), - TypeNameHandling = TypeNameHandling.Auto - }; - - public static readonly JsonSerializerSettings WireFormatJsonSettings = new JsonSerializerSettings - { - Formatting = Formatting.Indented, - NullValueHandling = NullValueHandling.Ignore, - ContractResolver = new CamelCasePropertyNamesContractResolver(), - TypeNameHandling = TypeNameHandling.None - }; - - public static Data Load() => GetLastVersion().Apply(Load); - public static String LoadJson() => GetLastVersion().Apply(LoadJson); - - public static Data Load(Int32 sequenceNb) - { - var json = LoadJson(sequenceNb); - return JsonConvert.DeserializeObject(json, PersistenceJsonSettings)!; - } - - public static String LoadJson(Int32 sequenceNb) - { - var jsonFile = System.IO.Path.Combine(Program.RootDir, sequenceNb + ".json"); - - Console.WriteLine($"loaded {jsonFile}"); - - return jsonFile.Apply(File.ReadAllText); - } - - public void Save(String editAction, String user) - { - var version = Edit.Version + 1; - - Edit = new Edit(editAction, user, version); - - var path = System.IO.Path.Combine(Program.RootDir, version + ".json"); - var json = SerializeJson(); - - File.WriteAllText(path, json); - } - - public String SerializeJson() - { - return JsonConvert.SerializeObject(this, PersistenceJsonSettings); - } - - private static String Base64Hash(DataElement element) - { - return element - .GetHashCode() - .Apply(BitConverter.GetBytes) - .Apply(Convert.ToBase64String) - .Apply(TrimEq); - } - - private static String TrimEq(String h) => h.TrimEnd('='); - - private static Int32 GetLastVersion() - { - return Directory - .EnumerateFiles(Program.RootDir, "*.json") - .Select(System.IO.Path.GetFileNameWithoutExtension) - .Where(f => f!.All(Char.IsDigit)) - .OrderBy(f => f) - .Last() - .Apply(Int32.Parse!); - } - - //public override String ToString() => JsonConvert.SerializeObject(this, WireFormatJsonSettings); -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Data.cs b/csharp/app/API/DataModel/Data.cs deleted file mode 100644 index a45415a1e..000000000 --- a/csharp/app/API/DataModel/Data.cs +++ /dev/null @@ -1,29 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public partial record Data -{ - public Edit Edit { get; set; } - public Folder Root { get; set; } = null!; - - public Data(Folder root, Edit edit) - { - Root = root; - Edit = edit; - } - - public static Data Origin - { - get - { - var root = new Folder { Name = "All Installations" }; - var admin = new User { Name = "admin", UserType = UserType.Admin }; - root.Add(admin); - - return new Data(root, new Edit("ORIGIN", admin.Name, 0)); - } - } - - - // https://vrmapi.victronenergy.com/v2/users/55450/addsite - // {"installation_identifier":"ertertertertertert","description":"___TEST"} -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/DataElement.Extensions.cs b/csharp/app/API/DataModel/DataElement.Extensions.cs deleted file mode 100644 index 35db90426..000000000 --- a/csharp/app/API/DataModel/DataElement.Extensions.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public static class DataElementExtensions -{ - public static IEnumerable GetChildren(this DataElement de) - { - return de switch - { - Folder f => f.Folders.Concat(f.Installations).Concat(f.Users), - Installation i => i.Users, - _ => Enumerable.Empty() - }; - } - - public static Path RelativePath(this DataElement root) => new Path(null, root); - -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/DataElement.cs b/csharp/app/API/DataModel/DataElement.cs deleted file mode 100644 index 98440bfb0..000000000 --- a/csharp/app/API/DataModel/DataElement.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Newtonsoft.Json; - -namespace InnovEnergy.API.DataModel; - -public abstract record DataElement : IComparable -{ - [JsonProperty(Order = Int32.MinValue + 0)] public String Name { get; set; } = ""; - [JsonProperty(Order = Int32.MinValue + 1)] public String Type { get; set; } - - protected DataElement() - { - Type = GetType().Name; - } - - public override String ToString() => $"{Type.ToLower()} '{Name}'"; - - public Int32 CompareTo(DataElement? other) - { - if (ReferenceEquals(this, other)) return 0; - if (ReferenceEquals(null, other)) return 1; - - return String.Compare(Name, other.Name, StringComparison.InvariantCultureIgnoreCase); - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Edit.cs b/csharp/app/API/DataModel/Edit.cs deleted file mode 100644 index d447a69b7..000000000 --- a/csharp/app/API/DataModel/Edit.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Globalization; - -namespace InnovEnergy.API.DataModel; - -public record Edit -{ - private static readonly String DateTimePattern = CultureInfo.CurrentCulture.DateTimeFormat.UniversalSortableDateTimePattern; - - public String Action { get; set; } = ""; - public String User { get; set; } = ""; - public String TimeStamp { get; set; } = ""; - public Int32 Version { get; set; } - - public Edit(String action, String user, Int32 version) - { - Action = action; - User = user; - Version = version; - TimeStamp = DateTime.Now.ToString(DateTimePattern); - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Folder.Equality.cs b/csharp/app/API/DataModel/Folder.Equality.cs deleted file mode 100644 index 8130342f1..000000000 --- a/csharp/app/API/DataModel/Folder.Equality.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using InnovEnergy.Lib.Utils; - -namespace InnovEnergy.API.DataModel; - -public partial record Folder -{ - public virtual Boolean Equals(Folder? other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - - return base.Equals(other) && - Folders.SequenceEqual(other.Folders) && - Installations.SequenceEqual(other.Installations); - } - - [SuppressMessage("ReSharper", "NonReadonlyMemberInGetHashCode")] - public override Int32 GetHashCode() => HashCode.Combine(base.GetHashCode(), - Folders.SequenceHash(), - Installations.SequenceHash()); - -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Folder.Extensions.cs b/csharp/app/API/DataModel/Folder.Extensions.cs deleted file mode 100644 index e4ffdb6c2..000000000 --- a/csharp/app/API/DataModel/Folder.Extensions.cs +++ /dev/null @@ -1,105 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public static class FolderExtensions -{ - public static IEnumerable DescendantUserParents(this Folder folder) - { - foreach (var path in folder.GetDescendantFolders()) - { - yield return path; - - var f = path.Folder()!; - - foreach (var installation in f.Installations) - yield return new Path(path, installation); - } - } - - public static IEnumerable DescendantFolders(this Folder folder) => folder.GetDescendantFolders(); - - public static IEnumerable DescendantInstallations(this Folder folder) - { - return from path in folder.DescendantFolders() - let f = path.Element as Folder - from installation in f.Installations - select new Path(path, installation); - } - - - public static IEnumerable DescendantUsers(this Folder folder) - { - IEnumerable GetUsers(Folder f) => f - .Installations - .SelectMany(i => i.Users) - .Concat(f.Users); - - return from path in folder.DescendantFolders() - from user in GetUsers(path.Folder()) - select new Path(path, user); - } - - - - - public static Path? FindDescendantUser(this Folder folder, String userName) - { - return folder - .DescendantUsers() - .FirstOrDefault(f => f.Element.Name == userName); - } - - - private static IEnumerable GetDescendantFolders(this Folder folder, Path? parent = null) - { - var path = new Path(parent, folder); - - yield return path; - - var descendantFolders = from f in folder.Folders - from descendant in f.GetDescendantFolders(path) - select descendant; - - foreach (var descendant in descendantFolders) - yield return descendant; - } - - public static Boolean Remove(this Folder folder, Installation installation) - { - return folder.Installations.Remove(installation); - } - - public static void Add(this Folder folder, Installation installation) - { - folder.Installations.Add(installation); - } - - public static Boolean Remove(this Folder folder, Folder child) - { - return folder.Folders.Remove(child); - } - - public static void Add(this Folder folder, Folder child) - { - folder.Folders.Add(child); - } - - - public static VrmInstallation GetOrCreateVrmInstallation(this Folder folder, String uniqueId) - { - var vrmInstallation = folder - .Installations - .OfType() - .FirstOrDefault(i => i.UniqueId == uniqueId); - - if (vrmInstallation is not null) - return vrmInstallation; // installation exist, return it - - vrmInstallation = new VrmInstallation(); - folder.Installations.Add(vrmInstallation); - - return vrmInstallation; - } - - public static Boolean IsEmpty(this Folder folder) => !folder.Folders.Any() && !folder.Installations.Any(); - -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Folder.cs b/csharp/app/API/DataModel/Folder.cs deleted file mode 100644 index b0f2eb1f0..000000000 --- a/csharp/app/API/DataModel/Folder.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public partial record Folder : UserParent -{ - public List Folders { get; set; } = new List(); - public List Installations { get; set; } = new List(); -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Installation.Equality.cs b/csharp/app/API/DataModel/Installation.Equality.cs deleted file mode 100644 index 0b159289c..000000000 --- a/csharp/app/API/DataModel/Installation.Equality.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using InnovEnergy.Lib.Utils; - -namespace InnovEnergy.API.DataModel; - -public abstract partial record Installation -{ - public virtual Boolean Equals(Installation? other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - - return base.Equals(other) && - VpnIp == other.VpnIp && - IeSerial == other.IeSerial && - Tags.SequenceEqual(other.Tags); - } - - [SuppressMessage("ReSharper", "NonReadonlyMemberInGetHashCode")] - public override Int32 GetHashCode() - { - return HashCode.Combine(base.GetHashCode(), VpnIp, IeSerial, Tags.SequenceHash()); - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Installation.cs b/csharp/app/API/DataModel/Installation.cs deleted file mode 100644 index 42f23c349..000000000 --- a/csharp/app/API/DataModel/Installation.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public abstract partial record Installation : UserParent -{ - public String? VpnIp { get; set; } - public String? IeSerial { get; set; } - public IReadOnlyList Tags { get; set; } = Array.Empty(); -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Path.Extensions.cs b/csharp/app/API/DataModel/Path.Extensions.cs deleted file mode 100644 index 2da3b6ac5..000000000 --- a/csharp/app/API/DataModel/Path.Extensions.cs +++ /dev/null @@ -1,159 +0,0 @@ -using static InnovEnergy.API.Result; - -namespace InnovEnergy.API.DataModel; - -public static class PathExtensions -{ - public static Boolean IsRoot(this Path path) => path.Parent is null; - - public static Installation? Installation(this Path? path) => path?.Element as Installation; - public static Folder? Folder (this Path? path) => path?.Element as Folder; - public static User? User (this Path? path) => path?.Element as User; - public static UserParent? UserParent (this Path? path) => path?.Element as UserParent; - - public static Boolean IsInstallation(this Path? path) => path?.Element is Installation; - public static Boolean IsFolder (this Path? path) => path?.Element is Folder; - public static Boolean IsUser (this Path? path) => path?.Element is User; - - public static Boolean Exists(this Path? path) => path?.Element is not null; - - public static IEnumerable Children(this Path? path) => from child in path?.Element.GetChildren() - select new Path(path, child); - - - public static Result MoveTo(this Path sourcePath, Path targetPath) - { - var add = targetPath.AddChild(sourcePath.Element); - - if (add.Succeeded) - { - var delete = sourcePath.Delete(); - - if (delete.Succeeded) - return Success($"moved {sourcePath} to {targetPath}"); - - var revert = targetPath.Delete(); - if (revert.Failed) - throw new Exception($"failed to move {sourcePath} to {targetPath}"); - } - - return Failure($"failed to move {sourcePath} to {targetPath}"); - } - - public static Result Delete(this Path path) - { - var child = path.Element; - var parent = path.Parent?.Element; - - if (parent is Folder folder) - { - if (child is Folder f) - { - if (!f.IsEmpty()) - return Failure($"Cannot delete folder '{f.Name}'.\nFolder is not empty."); - - if (folder.Remove(f)) - return Success($"Deleted folder {path}"); - } - if (child is User u) - { - if (folder.Remove(u)) - return Success($"Deleted user {path}"); - } - if (child is Installation i) - { - if (!i.IsEmpty()) - return Failure($"Cannot delete installation '{i.Name}'.\nInstallation has active users."); - - if (folder.Remove(i)) - return Success($"deleted installation {path}"); - } - } - else if (parent is Installation installation && child is User user) - { - installation.Remove(user); - return Success($"deleted user {path}"); - } - - return Failure($"cannot delete {path}"); - } - - public static Result AddChild(this Path path, DataElement child) - { - var parent = path.Element; - - if (parent.GetChildren().Any(c => c.Name == child.Name)) - return Failure($"{path} already has an element with name {child.Name}"); - - if (parent is Folder folder) - { - if (child is Folder f) - { - folder.Add(f); - return Success($"added folder {child.Name} to folder {path}"); - } - if (child is User u) - { - folder.Add(u); - return Success($"added user {child.Name} to folder {path}"); - } - if (child is Installation i) - { - folder.Add(i); - return Success($"added installation {child.Name} to folder {path}"); - } - } - else if (parent is Installation installation && child is User user) - { - installation.Add(user); - return Success($"added user {child.Name} to installation {path}"); - } - - return Failure($"cannot add {child} to {path}"); - } - - - public static Path? GetDescendant(this Path path, params String[] stringPath) - { - return path.GetDescendant((IEnumerable)stringPath); - } - - public static Path? GetDescendant(this Path path, IEnumerable stringPath) - { - foreach (var childName in stringPath) - { - var child = path - .Element - .GetChildren() - .SingleOrDefault(c => c.Name == childName); - - if (child is null) return null; - - path = new Path(path, child); - } - - return path; - } - - // public static Path? GetDescendant(this Path path, String stringPath) - // { - // while (!stringPath.IsNullOrWhiteSpace()) - // { - // var childName = stringPath.UntilFirst('|'); - // - // var child = path - // .Head - // .GetChildren() - // .SingleOrDefault(c => c.Name == childName); - // - // if (child is null) return null; - // - // stringPath = stringPath.AfterFirst('|'); - // path = new Path(path, child); - // } - // - // return path; - // } - - -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/Path.cs b/csharp/app/API/DataModel/Path.cs deleted file mode 100644 index 44135853d..000000000 --- a/csharp/app/API/DataModel/Path.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public record Path(Path? Parent, DataElement Element) -{ - public override String ToString() - { - var path = Element.Name; - var parent = Parent; - - while (parent is not null) - { - path = parent.Element.Name + "|" + path; - parent = parent.Parent; - } - - return $"|{path}"; - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/User.Extensions.cs b/csharp/app/API/DataModel/User.Extensions.cs deleted file mode 100644 index b080bf9ac..000000000 --- a/csharp/app/API/DataModel/User.Extensions.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public static class UserExtensions -{ - public static Boolean CanEditUsers(this User user) => user.UserType == UserType.Admin; - public static Boolean CanEditFolders(this User user) => user.UserType != UserType.Viewer; - public static Boolean CanEditInstallations(this User user) => user.UserType != UserType.Viewer; -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/User.cs b/csharp/app/API/DataModel/User.cs deleted file mode 100644 index 62edfc114..000000000 --- a/csharp/app/API/DataModel/User.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public record User : DataElement -{ - public UserType UserType { get;set; } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/UserParent.Equality.cs b/csharp/app/API/DataModel/UserParent.Equality.cs deleted file mode 100644 index be915a53e..000000000 --- a/csharp/app/API/DataModel/UserParent.Equality.cs +++ /dev/null @@ -1,20 +0,0 @@ -using InnovEnergy.Lib.Utils; - -namespace InnovEnergy.API.DataModel; - -public abstract partial record UserParent -{ - public virtual Boolean Equals(UserParent? other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - - return base.Equals(other) && Users.SequenceEqual(other.Users); - } - - public override Int32 GetHashCode() - { - // ReSharper disable once NonReadonlyMemberInGetHashCode - return HashCode.Combine(base.GetHashCode(), Users.SequenceHash()); - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/UserParent.Extensions.cs b/csharp/app/API/DataModel/UserParent.Extensions.cs deleted file mode 100644 index f7fa00070..000000000 --- a/csharp/app/API/DataModel/UserParent.Extensions.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public static class UserParentExtensions -{ - public static Boolean Remove(this UserParent parent, User user) - { - return parent.Users.Remove(user); - } - - public static void Add(this UserParent parent, User user) - { - parent.Users.Add(user); - } - - public static Boolean IsEmpty(this UserParent parent) - { - return !parent.Users.Any(); - } -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/UserParent.cs b/csharp/app/API/DataModel/UserParent.cs deleted file mode 100644 index 566ce05b9..000000000 --- a/csharp/app/API/DataModel/UserParent.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public abstract partial record UserParent : DataElement -{ - public List Users { get; set; } = new List(); -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/UserType.cs b/csharp/app/API/DataModel/UserType.cs deleted file mode 100644 index 2c3c421fe..000000000 --- a/csharp/app/API/DataModel/UserType.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; - -namespace InnovEnergy.API.DataModel; - -[JsonConverter(typeof(StringEnumConverter))] -public enum UserType -{ - Unknown , - Viewer , - Editor , - Admin -} \ No newline at end of file diff --git a/csharp/app/API/DataModel/VrmInstallation.cs b/csharp/app/API/DataModel/VrmInstallation.cs deleted file mode 100644 index ee1a453a8..000000000 --- a/csharp/app/API/DataModel/VrmInstallation.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace InnovEnergy.API.DataModel; - -public record VrmInstallation : Installation -{ - public String? UniqueId { get; set; } - public UInt64 VrmId { get; set; } - public String? MachineSerial { get; set; } - public String? SystemType { get; set; } - public String? FirmwareVersion { get; set; } - public Boolean? Online { get; set; } - public String? MachineName { get; set; } -} \ No newline at end of file diff --git a/csharp/app/API/Extensions.cs b/csharp/app/API/Extensions.cs deleted file mode 100644 index e78cf347f..000000000 --- a/csharp/app/API/Extensions.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace InnovEnergy.API; - -public static class Extensions -{ - public const String Installation = ".inst"; - public const String Folder = ".folder"; - public const String Viewer = ".viewer"; - public const String Admin = ".admin"; - public const String Editor = ".editor"; - - - public static Boolean IsInstallation(this String path) => path.EndsWith(Installation); - public static Boolean IsFolder (this String path) => path.EndsWith(Folder); - public static Boolean IsViewer (this String path) => path.EndsWith(Viewer); - public static Boolean IsEditor (this String path) => path.EndsWith(Editor); - public static Boolean IsAdmin (this String path) => path.EndsWith(Admin); - public static Boolean IsUser (this String path) => path.IsViewer() || path.IsEditor() || path.IsAdmin(); -} \ No newline at end of file diff --git a/csharp/app/API/InstallationType.cs b/csharp/app/API/InstallationType.cs deleted file mode 100644 index 1c7b564ac..000000000 --- a/csharp/app/API/InstallationType.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace InnovEnergy.API; - -public enum InstallationType -{ - InnovEnergy, - Victron, -} \ No newline at end of file diff --git a/csharp/app/API/LoginState.Extensions.cs b/csharp/app/API/LoginState.Extensions.cs deleted file mode 100644 index 00e942f41..000000000 --- a/csharp/app/API/LoginState.Extensions.cs +++ /dev/null @@ -1,259 +0,0 @@ -using InnovEnergy.API.DataModel; -using static InnovEnergy.API.Result; -using Path = InnovEnergy.API.DataModel.Path; - -namespace InnovEnergy.API; - -public static class LoginStateExtensions -{ - // TODO: sync VRM - - public static Boolean CanEdit(this LoginState uc, Path path) => uc.CanEdit(path.Element); - - public static Boolean CanEdit(this LoginState uc, DataElement de) - { - var user = uc.LoginUser; - - return de is Folder && user.CanEditFolders() || - de is User && user.CanEditUsers() || - de is Installation && user.CanEditInstallations(); - } - - public static Result Move(this LoginState ctx, String sourcePath, String targetPath) - { - var source = ctx.ParsePath(sourcePath); - - if (source is null) - return Failure($"cannot find {sourcePath}"); - - if (!ctx.CanEdit(source)) - return Failure($"operation not allowed for {ctx.LoginUser}"); - - var target = ctx.ParsePath(targetPath); - - if (target is null) - return Failure($"cannot find folder {targetPath}"); - - return source.MoveTo(target); - } - - - public static Result DeleteInstallation(this LoginState ctx, String? pathToDelete) - { - var path = ctx.ParsePath(pathToDelete); - - if (path?.Installation() is null) - return Failure($"cannot find {pathToDelete}"); - - if (!ctx.CanEdit(path)) - return Failure($"operation not allowed for {ctx.LoginUser}"); - - return path.Delete(); - } - - public static Result RenameInstallation(this LoginState ctx, String? installationPath, String? newName) - { - var path = ctx.ParsePath(installationPath); - - var installation = path?.Installation(); - - if (path is null || installation is null) - return Failure($"cannot find {installationPath}"); - - if (newName is null) - return Failure("no name supplied"); - - if (!ctx.CanEdit(path)) - return Failure($"operation not allowed for {ctx.LoginUser}"); - - - installation.Name = newName; - - return path.Delete(); - } - - - public static Result DeleteFolder(this LoginState ctx, String? pathToDelete) - { - var path = ctx.ParsePath(pathToDelete); - - if (path?.Folder() is null) - return Failure($"cannot find {pathToDelete}"); - - if (!ctx.CanEdit(path)) - return Failure($"operation not allowed for {ctx.LoginUser}"); - - return path.Delete(); - } - - public static Result DeleteUser(this LoginState ctx, String? pathToDelete) - { - var path = ctx.ParsePath(pathToDelete); - - if (path?.User() is null) - return Failure($"cannot find {pathToDelete}"); - - if (!ctx.CanEdit(path)) - return Failure($"operation not allowed for {ctx.LoginUser}"); - - return path.Delete(); - } - - public static Result Rename(this LoginState ctx, String pathToRename, String newName) - { - var path = ctx.ParsePath(pathToRename); - - if (path is null) - return Failure($"cannot find {pathToRename}"); - - if (!ctx.CanEdit(path) || path.IsUser()) - return Failure("operation not permitted"); - - if (String.IsNullOrWhiteSpace(newName)) - return Failure($"{newName} is not a valid name"); - - path.Element.Name = newName; - return Success($"renamed {pathToRename} to {newName}"); - } - - // TODO: prevent folder cycles! - - // public Result AddNewFolder(String parentFolderPath, String folderName) - // { - // if (!User.CanEditFolders()) - // return Failure($"operation not allowed for {User}"); - // - // var parent = ParsePath(parentFolderPath); - // - // if (parent is null) - // return Failure($"cannot find folder {parentFolderPath}"); - // - // return parent.AddChild(new Folder { Name = folderName }); - // } - - // TODO: VRM - // public Result AddNewInstallation(Int32 parentFolderId, String installationName) - // { - // if (!User.CanEditInstallations()) - // throw new ApiException($"operation not allowed for {User}"); - // - // var parentPath = HomeFolder.FindDescendantFolder(parentFolderId); - // var parentFolder = parentPath?.Folder(); - // - // if (parentFolder is null) - // return new Failure($"cannot find folder {parentFolderId}"); - // - // var newInstallation = new Installation { Name = installationName }; - // parentFolder.Add(newInstallation); - // - // return new Success($"added new {newInstallation} to {parentPath}"); - // } - - - public static Result CreateUser(this LoginState loginState, String? parentPath, String? userName, String? userType) - { - const String allowedSpecialChars = "_-.@"; - - if (!loginState.LoginUser.CanEditUsers()) - return Failure($"operation not allowed for {loginState.LoginUser}"); - - if (userName is null || userName.Length < 3) - return Failure("username must consist of at least 3 characters"); - - if (!userName.All(c => Char.IsLetter(c) || Char.IsDigit(c) || allowedSpecialChars.Contains(c))) - { - return Failure("Illegal character in username.\n" + - "The username can contain letters, digits and the following the following characters:\n" + - allowedSpecialChars); - } - - var path = loginState.ParsePath(parentPath); - - if (path is null) - return Failure($"cannot find parent {parentPath}"); - - var type = ParseUserType(userType); - - if (type == UserType.Unknown) - return Failure($"unknown user type {type}"); - - var newUser = new User - { - Name = userName, - UserType = type - }; - - return path.AddChild(newUser); - } - - public static Result EditUser(this LoginState loginState, String? userPath, String? userType) - { - if (!loginState.LoginUser.CanEditUsers()) - return Failure($"operation not permitted for {loginState.LoginUser}"); - - var user = loginState.ParsePath(userPath).User(); - - if (user == loginState.LoginUser) - return Failure($"operation not permitted for {loginState.LoginUser}"); - - if (user is null) - return Failure($"cannot find user {userPath}"); - - var oldType = user.UserType; - - var newType = ParseUserType(userType); - - if (newType == UserType.Unknown) - return Failure($"unknown user type {newType}"); - - user.UserType = newType; - - return Success($"Changed user type of user {userPath} from {oldType} to {newType}"); - } - - private static UserType ParseUserType(String? userType) - { - return userType switch - { - "Viewer" => UserType.Viewer, - "Editor" => UserType.Editor, - "Admin" => UserType.Admin, - _ => UserType.Unknown - }; - } - - // public Result ChangeUserType(Int32 userId, UserType userType) - // { - // if (!User.CanEditUsers() || userId == User.Id) - // return Failure($"operation not allowed for {User}"); - // - // var userToEdit = HomeFolder.FindDescendantUser(userId)?.User(); - // - // if (userToEdit is null) - // return Failure($"cannot find user {userId}"); - // - // var oldUserType = userToEdit.UserType; - // userToEdit.UserType = userType; - // - // return Success($"changed type of user {userToEdit} from {oldUserType} to {userType}"); - // } - - - private static Path? ParsePath(this LoginState uc, String? path) - { - if (path == null) - return null; - - var splitPath = path - .Split("|", StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries) - .Skip(1); - - return uc - .HomeFolder - .RelativePath() - .GetDescendant(splitPath); - } - - - -} \ No newline at end of file diff --git a/csharp/app/API/LoginState.cs b/csharp/app/API/LoginState.cs deleted file mode 100644 index 2fb7c0dbb..000000000 --- a/csharp/app/API/LoginState.cs +++ /dev/null @@ -1,30 +0,0 @@ -using InnovEnergy.API.DataModel; - -namespace InnovEnergy.API; - -public class LoginState -{ - public static readonly Random Rng = new Random(); - - public User LoginUser { get; } - public Folder HomeFolder { get; } - public String Token { get; } - - public String? Error { get; set; } - public Int32 DataVersion { get; set; } - - public LoginState(User loginUser, Folder homeFolder, Int32 dataVersion) - { - LoginUser = loginUser; - HomeFolder = homeFolder; - DataVersion = dataVersion; - Token = GenerateToken(); - } - - private static String GenerateToken() - { - var buffer = new Byte[16]; - Rng.NextBytes(buffer); - return Convert.ToBase64String(buffer); - } -} \ No newline at end of file diff --git a/csharp/app/API/PathExtensions.cs b/csharp/app/API/PathExtensions.cs deleted file mode 100644 index b2ccaf48e..000000000 --- a/csharp/app/API/PathExtensions.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Runtime.CompilerServices; -using static System.Runtime.CompilerServices.MethodImplOptions; - -namespace InnovEnergy.API; - -public static class PathExtensions -{ - - [MethodImpl(AggressiveInlining)] - public static String GetFileNameWithoutExtension(this String path) => Path.GetFileNameWithoutExtension(path); - - [MethodImpl(AggressiveInlining)] - public static String GetFileName(this String path) => Path.GetFileName(path); - - [MethodImpl(AggressiveInlining)] - public static String GetExtension(this String path) => Path.GetExtension(path); - - [MethodImpl(AggressiveInlining)] - public static IEnumerable GetDirectories(this String path) => Directory.EnumerateDirectories(path); - - [MethodImpl(AggressiveInlining)] - public static IEnumerable GetFiles(this String path) => Directory.EnumerateFiles(path); - - -} \ No newline at end of file diff --git a/csharp/app/API/Program.cs b/csharp/app/API/Program.cs deleted file mode 100644 index 6bfa09545..000000000 --- a/csharp/app/API/Program.cs +++ /dev/null @@ -1,202 +0,0 @@ -using Flurl; -using InnovEnergy.API.DataModel; -using InnovEnergy.Lib.WebServer; -using InnovEnergy.Lib.Utils; -using Newtonsoft.Json; -using static System.Text.Encoding; -using static InnovEnergy.Lib.WebServer.Default; - -namespace InnovEnergy.API; - -public static class Program -{ - public static String RootDir { get; private set; } = "/home/eef/sync/work/Code/innovenergy/server/WebMonitoring/src"; - - public static Data Data { get; set; } - - public static Dictionary LoggedInUsers { get; } = new Dictionary(); - - - public static void Main(String[] args) - { - RootDir = args.FirstOrDefault() ?? RootDir; - - Console.WriteLine("start"); - -#pragma warning disable 4014 - SyncWithVrm(); -#pragma warning restore 4014 - - Data = Data.Load(); - WebServer.ServeOnLocalHost(8080, Serve); - - Console.WriteLine("stop"); - } - - private static async Task SyncWithVrm() - { - Console.WriteLine("Starting VRM sync"); - - var vrmLink = await VrmLink.Login(); - - while (true) - { - try - { - var data = Data.Load(); - var json = data.SerializeJson(); - await vrmLink.SyncWithVrm(data); - - var changed = json != data.SerializeJson(); - - if (changed) - { - data.Save("Synced from VRM", "system"); - var edit = data.Edit; - Console.WriteLine($"{edit.TimeStamp} [{edit.Version}] {edit.Action}"); - Data = data; - } - - await Task.Delay(TimeSpan.FromMinutes(10)); - } - catch (Exception e) - { - Console.WriteLine("Failed to sync with VRM:\n" + e); - } - - } - } - - - public static HttpResponse Serve(HttpRequest request) - { - var pathSegments = request.Url.PathSegments; - - var p0 = pathSegments.ElementAtOrDefault(0); - - Console.WriteLine(p0); - - return p0 switch - { - "api" => ServeApi(request), - _ => ServeAssets(request) - }; - } - - private static HttpResponse Login(QueryParamCollection query) - { - var userName = query.FirstOrDefault("username") as String; - var password = query.FirstOrDefault("password") as String; - - // TODO: password check - - if (String.IsNullOrEmpty(userName)) - return HttpForbidden; - - var userPath = Data.Root.FindDescendantUser(userName); - var user = userPath?.User(); - var homeFolder = userPath?.Parent.Folder(); - - if (user is null || homeFolder is null) - return HttpForbidden; - - var loginState = new LoginState(user, homeFolder, Data.Edit.Version); - - LoggedInUsers[loginState.Token] = loginState; // TODO: remove stale tokens - - return CreateJsonResponse(loginState); - } - - - private static HttpResponse ServeApi(HttpRequest request) - { - var url = request.Url; - var query = url.QueryParams; - var action = query.FirstOrDefault("action") as String; - - Console.WriteLine(action); - - if (action == "login") - return Login(query); - - if (query.FirstOrDefault("token") is not String token || - !LoggedInUsers.TryGetValue(token, out var loginState)) - return HttpForbidden; - - var result = action switch - { - "createUser" => Api.CreateUser(query, loginState), - "editUser" => Api.EditUser(query, loginState), - "renameInstallation" => Api.RenameInstallation(query, loginState), - - // "deleteUser" => Api.DeleteUser(query, loginState), - // "deleteFolder" => Api.DeleteFolder(query, loginState), - // "deleteInstallation" => Api.DeleteInstallation(query, loginState), - //"rename" => Api.Delete(query, loginState), - - _ => Result.Failure("unsupported api call") - }; - - - - return result - .WriteToDisk(loginState.LoginUser) - .CreateResponse(loginState); - } - - - - - private static HttpResponse ServeAssets(HttpRequest request) - { - var localPath = RootDir + request.Url.Path; - - if (request.Url.PathSegments.Count == 0) - localPath = RootDir + "/index.html"; - - Console.WriteLine(request.Url + " => " + localPath + " | " + InferContentType.FromExtension(localPath)); - - if (!File.Exists(localPath)) - { - Console.WriteLine("404"); - return HttpNotFound; - } - - return new HttpResponse - { - Content = File.ReadAllBytes(localPath), // TODO: cache? - ContentType = InferContentType.FromExtension(localPath) - }; - } - - - private static Result WriteToDisk(this Result result, User loggedInUser) - { - if (result.Succeeded) - { - Data.Save(result.Message, loggedInUser.Name); - } - - return result; - } - - private static HttpResponse CreateResponse(this Result result, LoginState loginState) - { - loginState.DataVersion = Data.Edit.Version; // important! - loginState.Error = result.Succeeded ? null : result.Message; - - return CreateJsonResponse(loginState); - } - - private static HttpResponse CreateJsonResponse(T payload) - { - var json = JsonConvert.SerializeObject(payload, Data.WireFormatJsonSettings); - - return new HttpResponse - { - Content = json.Apply(UTF8.GetBytes), - ContentType = ContentType.ApplicationJson, - Headers = new[] { new HttpHeader("Access-Control-Allow-Origin", "*") } - }; - } -} \ No newline at end of file diff --git a/csharp/app/API/Result.cs b/csharp/app/API/Result.cs deleted file mode 100644 index dad1987ec..000000000 --- a/csharp/app/API/Result.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace InnovEnergy.API; - -public class Result -{ - public String Message { get; } - public Boolean Succeeded { get; } - public Boolean Failed => !Succeeded; - - public static Result Success(String message = "") => new Result(message, succeeded: true); - public static Result Failure(String message = "") => new Result(message, succeeded: false); - - private Result(String message, Boolean succeeded) - { - Message = message; - Succeeded = succeeded; - } -} \ No newline at end of file diff --git a/csharp/app/API/VrmLink.cs b/csharp/app/API/VrmLink.cs deleted file mode 100644 index e88e0fb96..000000000 --- a/csharp/app/API/VrmLink.cs +++ /dev/null @@ -1,146 +0,0 @@ -using System.Text.RegularExpressions; -using InnovEnergy.API.DataModel; -using InnovEnergy.Lib.Utils; -using InnovEnergy.Lib.Victron.VictronVRM; - -namespace InnovEnergy.API; - -public class VrmLink : IDisposable -{ - private static readonly Regex RxSerial = new Regex(@"\s*\(\s*20\d\d-\d\d\d\d\d(\.\d)?\s*\)\s*", RegexOptions.Compiled | RegexOptions.Singleline); - - private Vrm Vrm { get; } - - private VrmLink(Vrm vrm) - { - Vrm = vrm; - } - - public static async Task Login() - { - const String vrmUser = "victron@innov.energy"; - const String vrmPwd = "NnoVctr201002"; - - var vrm = await Vrm.Login(vrmUser, vrmPwd); - - return new VrmLink(vrm); - } - - public async Task SyncWithVrm(Data data) - { - - var installationDetails = Vrm.GetInstallationDetailsAsync(); - - // var vpnIpLookup = Vpn.CreateVpnIpLookup(); - // var vpnOnlineLookup = Vpn.CreateVpnOnlineLookup(); - - var vpnIpLookup = (String s) => "127.0.0.1"; - var vpnOnlineLookup = (String s) => true; - - - var vrmInstallationsById = data - .Root - .DescendantInstallations() - .Where(d => (d.Element as VrmInstallation)?.UniqueId != null) - .ToDictionary(d => d.Element.CastTo().UniqueId!); - - List DeleteExistingInstallation(InstallationDetails details) - { - vrmInstallationsById.TryGetValue(details.Identifier, out var existing); - - if (existing is null) - return new List(); - - // if it already exists, delete it, but keep its users - - var installation = existing.Installation()!; - var users = installation.Users; - installation.Users = new List(); - existing.Delete(); - - return users; - } - - - // SYNC - await foreach (var i in installationDetails) - { - if (!i.IsActive) continue; - - var (name, path, ieSerial) = ParseVrmName(i); - - var users = DeleteExistingInstallation(i); - - var installation = new VrmInstallation - { - Name = name, - Users = users, - IeSerial = ieSerial, - VrmId = i.IdSite, - UniqueId = i.Identifier, - FirmwareVersion = i.FirmwareVersion, - SystemType = i.SystemType, - MachineSerial = i.MachineSerial, - MachineName = i.MachineName, // type: VenusGx, CCGX, etc. - Tags = i.Tags, - VpnIp = vpnIpLookup(i.MachineSerial), - Online = vpnOnlineLookup(i.MachineSerial), - }; - - - if (i.MachineName is not null) - await Vrm.AddTags(i.IdSite, i.MachineName); - - var folder = data.GetOrCreateFolder(path); - folder.Add(installation); - } - - // SORT - foreach (var folder in data.Root.DescendantFolders().Select(d => d.Element).OfType()) - { - folder.Folders.Sort(); - folder.Installations.Sort(); - folder.Users.Sort(); - - var grouped = folder.Installations.OfType().GroupBy(i=>i.Name); - - foreach (var g in grouped.Where(g => g.Count() > 1)) - foreach (var (vrmInstallation, n) in g.OrderBy(i => i.UniqueId).Select((i, n) => (i, n))) - { - vrmInstallation.Name += $" ({n + 1})"; - } - - foreach (var installation in folder.Installations) - installation.Users.Sort(); - } - - - } - - private static (String name, IReadOnlyList path, String? serial) ParseVrmName(InstallationDetails installationDetails) - { - var fullName = installationDetails.Name; - - var match = RxSerial.Match(fullName); // extract IeSerial from _entire_ fullname - - var serial = match.Success - ? match.Value - : null; - - fullName = RxSerial.Replace(fullName, ""); - - var split = fullName.Split('|', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries); - - var path = split.Length > 1 - ? split.Skip(1).Reverse().ToArray(split.Length - 1) - : new[] { "ie" }; - - var name = split.Length >= 1 - ? split[0] - : installationDetails.Identifier; - - return (name, path, serial); - } - - public void Dispose() => Vrm.Dispose(); -} \ No newline at end of file diff --git a/csharp/app/API/bin/Debug/net6.0/API b/csharp/app/API/bin/Debug/net6.0/API deleted file mode 100755 index 40b9f6c78..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/API and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/API.deps.json b/csharp/app/API/bin/Debug/net6.0/API.deps.json deleted file mode 100644 index 717f662d5..000000000 --- a/csharp/app/API/bin/Debug/net6.0/API.deps.json +++ /dev/null @@ -1,468 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v6.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v6.0": { - "API/1.0.0": { - "dependencies": { - "Newtonsoft.Json": "13.0.1", - "OpenVpnCertificatesServer": "1.0.0", - "Utils": "1.0.0", - "VictronVRM": "1.0.0", - "WebServer": "1.0.0", - "sqlite-net-pcl": "1.8.116" - }, - "runtime": { - "API.dll": {} - } - }, - "BouncyCastle/1.8.9": { - "runtime": { - "lib/BouncyCastle.Crypto.dll": { - "assemblyVersion": "1.8.9.0", - "fileVersion": "1.8.20343.1" - } - } - }, - "CliWrap/3.3.1": { - "runtime": { - "lib/netcoreapp3.0/CliWrap.dll": { - "assemblyVersion": "3.3.1.0", - "fileVersion": "3.3.1.0" - } - } - }, - "Flurl/3.0.4": { - "runtime": { - "lib/netstandard2.0/Flurl.dll": { - "assemblyVersion": "3.0.4.0", - "fileVersion": "3.0.4.0" - } - } - }, - "Flurl.Http/3.2.2": { - "dependencies": { - "Flurl": "3.0.4", - "Newtonsoft.Json": "13.0.1", - "System.Text.Encoding.CodePages": "4.5.1" - }, - "runtime": { - "lib/netstandard2.0/Flurl.Http.dll": { - "assemblyVersion": "3.2.2.0", - "fileVersion": "3.2.2.0" - } - } - }, - "Microsoft.NETCore.Platforms/2.1.2": {}, - "Newtonsoft.Json/13.0.1": { - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": { - "assemblyVersion": "13.0.0.0", - "fileVersion": "13.0.1.25517" - } - } - }, - "SharpZipLib/1.3.3": { - "runtime": { - "lib/netstandard2.1/ICSharpCode.SharpZipLib.dll": { - "assemblyVersion": "1.3.3.11", - "fileVersion": "1.3.3.11" - } - } - }, - "sqlite-net-pcl/1.8.116": { - "dependencies": { - "SQLitePCLRaw.bundle_green": "2.0.4" - }, - "runtime": { - "lib/netstandard2.0/SQLite-net.dll": { - "assemblyVersion": "1.8.116.0", - "fileVersion": "1.8.116.0" - } - } - }, - "SQLitePCLRaw.bundle_green/2.0.4": { - "dependencies": { - "SQLitePCLRaw.core": "2.0.4", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.4", - "SQLitePCLRaw.provider.dynamic_cdecl": "2.0.4" - }, - "runtime": { - "lib/netcoreapp3.1/SQLitePCLRaw.batteries_v2.dll": { - "assemblyVersion": "2.0.4.976", - "fileVersion": "2.0.4.976" - }, - "lib/netcoreapp3.1/SQLitePCLRaw.nativelibrary.dll": { - "assemblyVersion": "2.0.4.976", - "fileVersion": "2.0.4.976" - } - } - }, - "SQLitePCLRaw.core/2.0.4": { - "dependencies": { - "System.Memory": "4.5.3" - }, - "runtime": { - "lib/netstandard2.0/SQLitePCLRaw.core.dll": { - "assemblyVersion": "2.0.4.976", - "fileVersion": "2.0.4.976" - } - } - }, - "SQLitePCLRaw.lib.e_sqlite3/2.0.4": { - "runtimeTargets": { - "runtimes/alpine-x64/native/libe_sqlite3.so": { - "rid": "alpine-x64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-arm/native/libe_sqlite3.so": { - "rid": "linux-arm", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-arm64/native/libe_sqlite3.so": { - "rid": "linux-arm64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-armel/native/libe_sqlite3.so": { - "rid": "linux-armel", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-mips64/native/libe_sqlite3.so": { - "rid": "linux-mips64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-musl-x64/native/libe_sqlite3.so": { - "rid": "linux-musl-x64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libe_sqlite3.so": { - "rid": "linux-x64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x86/native/libe_sqlite3.so": { - "rid": "linux-x86", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libe_sqlite3.dylib": { - "rid": "osx-x64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/win-arm/native/e_sqlite3.dll": { - "rid": "win-arm", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/win-arm64/native/e_sqlite3.dll": { - "rid": "win-arm64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/win-x64/native/e_sqlite3.dll": { - "rid": "win-x64", - "assetType": "native", - "fileVersion": "0.0.0.0" - }, - "runtimes/win-x86/native/e_sqlite3.dll": { - "rid": "win-x86", - "assetType": "native", - "fileVersion": "0.0.0.0" - } - } - }, - "SQLitePCLRaw.provider.dynamic_cdecl/2.0.4": { - "dependencies": { - "SQLitePCLRaw.core": "2.0.4" - }, - "runtime": { - "lib/netstandard2.0/SQLitePCLRaw.provider.dynamic_cdecl.dll": { - "assemblyVersion": "2.0.4.976", - "fileVersion": "2.0.4.976" - } - } - }, - "System.Memory/4.5.3": {}, - "System.Reactive/5.0.0": { - "runtime": { - "lib/net5.0/System.Reactive.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.0.1" - } - } - }, - "System.Reactive.Linq/5.0.0": { - "dependencies": { - "System.Reactive": "5.0.0", - "System.Threading.Tasks.Extensions": "4.5.4" - }, - "runtime": { - "lib/netstandard2.0/System.Reactive.Linq.dll": { - "assemblyVersion": "3.0.6000.0", - "fileVersion": "0.0.0.0" - } - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, - "System.Text.Encoding.CodePages/4.5.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.1.2", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Encodings.Web/6.0.0": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json/6.0.2": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Text.Json.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.222.6406" - } - } - }, - "System.Threading.Tasks.Extensions/4.5.4": {}, - "OpenVpnCertificatesServer/1.0.0": { - "dependencies": { - "BouncyCastle": "1.8.9", - "Flurl.Http": "3.2.2", - "SharpZipLib": "1.3.3", - "Utils": "1.0.0", - "VictronVRM": "1.0.0" - }, - "runtime": { - "OpenVpnCertificatesServer.dll": {} - } - }, - "SysTools/1.0.0": { - "dependencies": { - "System.Reactive.Linq": "5.0.0" - }, - "runtime": { - "SysTools.dll": {} - } - }, - "Utils/1.0.0": { - "dependencies": { - "CliWrap": "3.3.1", - "System.Reactive.Linq": "5.0.0" - }, - "runtime": { - "Utils.dll": {} - } - }, - "VictronVRM/1.0.0": { - "dependencies": { - "Flurl.Http": "3.2.2", - "Newtonsoft.Json": "13.0.1", - "SysTools": "1.0.0", - "System.Reactive.Linq": "5.0.0", - "System.Text.Json": "6.0.2", - "Utils": "1.0.0" - }, - "runtime": { - "VictronVRM.dll": {} - } - }, - "WebServer/1.0.0": { - "dependencies": { - "Flurl": "3.0.4", - "Flurl.Http": "3.2.2", - "System.Reactive.Linq": "5.0.0", - "Utils": "1.0.0" - }, - "runtime": { - "WebServer.dll": {} - } - } - } - }, - "libraries": { - "API/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "BouncyCastle/1.8.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-axnBgvdD5n+FnEG6efk/tfKuMFru7R/EoISH9zjh319yb3HD24TEHSAbNN/lTRT2ulOGRxDgOsCjkuk08iwWPg==", - "path": "bouncycastle/1.8.9", - "hashPath": "bouncycastle.1.8.9.nupkg.sha512" - }, - "CliWrap/3.3.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yFJBBbDCSJ9ZgllaJub07K04EYf54V4jZ2Cm6Sg3KrGfiy27J4ed/os7UqqN7SXoIVL5ru442nPXe0sbsx2wVg==", - "path": "cliwrap/3.3.1", - "hashPath": "cliwrap.3.3.1.nupkg.sha512" - }, - "Flurl/3.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-2bgCzOs3TGwRkfcijCiH+7o9Pz4pyVnt4yyLX2vD3wlMSekpmGhqe2zA4988qSMmPa6AqeekX13CY4FvsjsDJQ==", - "path": "flurl/3.0.4", - "hashPath": "flurl.3.0.4.nupkg.sha512" - }, - "Flurl.Http/3.2.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zVen69D8Qr1uZN4ua0ZnOMuDZol66w04AnwOSCyE5Kqy5GGbAtk0m7bKXaU+FJJ9R7ByVIKAG/kpGbGMGdt2/Q==", - "path": "flurl.http/3.2.2", - "hashPath": "flurl.http.3.2.2.nupkg.sha512" - }, - "Microsoft.NETCore.Platforms/2.1.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mOJy3M0UN+LUG21dLGMxaWZEP6xYpQEpLuvuEQBaownaX4YuhH6NmNUlN9si+vNkAS6dwJ//N1O4DmLf2CikVg==", - "path": "microsoft.netcore.platforms/2.1.2", - "hashPath": "microsoft.netcore.platforms.2.1.2.nupkg.sha512" - }, - "Newtonsoft.Json/13.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", - "path": "newtonsoft.json/13.0.1", - "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" - }, - "SharpZipLib/1.3.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-N8+hwhsKZm25tDJfWpBSW7EGhH/R7EMuiX+KJ4C4u+fCWVc1lJ5zg1u3S1RPPVYgTqhx/C3hxrqUpi6RwK5+Tg==", - "path": "sharpziplib/1.3.3", - "hashPath": "sharpziplib.1.3.3.nupkg.sha512" - }, - "sqlite-net-pcl/1.8.116": { - "type": "package", - "serviceable": true, - "sha512": "sha512-W0NuwAOVVAR9LP4eZwNBIrim1p3EN7t8iNfSHXEhtzKAd4YyItekoQ8NyWYs4faVSrN2KZr/P5u4hycCjKKexg==", - "path": "sqlite-net-pcl/1.8.116", - "hashPath": "sqlite-net-pcl.1.8.116.nupkg.sha512" - }, - "SQLitePCLRaw.bundle_green/2.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ubFgOHDmtTcq2LU7Ss10yHnFVMm2rFVr65Ggi+Mh514KjGx4pal98P2zSvZtWf3wbtJw6G1InBgeozBtnpEfKQ==", - "path": "sqlitepclraw.bundle_green/2.0.4", - "hashPath": "sqlitepclraw.bundle_green.2.0.4.nupkg.sha512" - }, - "SQLitePCLRaw.core/2.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4XlDZpDAsboMD6qZQcz9AaKblKDUTVHF+8f3lvbP7QjoqSRr2Xc0Lm34IK2pjRIYnyFLhI3yOJ5YWfOiCid2yg==", - "path": "sqlitepclraw.core/2.0.4", - "hashPath": "sqlitepclraw.core.2.0.4.nupkg.sha512" - }, - "SQLitePCLRaw.lib.e_sqlite3/2.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oetvmtDZOE4Nnrtxd8Trapl9geBiu0rDCUXff46qGYjnUwzaU1mZ3OHnfR402tl32rx8gBWg3n5OBRaPJRbsGw==", - "path": "sqlitepclraw.lib.e_sqlite3/2.0.4", - "hashPath": "sqlitepclraw.lib.e_sqlite3.2.0.4.nupkg.sha512" - }, - "SQLitePCLRaw.provider.dynamic_cdecl/2.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-AY6+vv/4ji1mCkLrS6HP/88rHT9YFKRyg3LUj8RyIk6imJMUFdQDiP8rK8gq0a/0FbqspLjK1t7rtKcr7FXRYA==", - "path": "sqlitepclraw.provider.dynamic_cdecl/2.0.4", - "hashPath": "sqlitepclraw.provider.dynamic_cdecl.2.0.4.nupkg.sha512" - }, - "System.Memory/4.5.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==", - "path": "system.memory/4.5.3", - "hashPath": "system.memory.4.5.3.nupkg.sha512" - }, - "System.Reactive/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==", - "path": "system.reactive/5.0.0", - "hashPath": "system.reactive.5.0.0.nupkg.sha512" - }, - "System.Reactive.Linq/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IB4/qlV4T1WhZvM11RVoFUSZXPow9VWVeQ1uDkSKgz6bAO+gCf65H/vjrYlwyXmojSSxvfHndF9qdH43P/IuAw==", - "path": "system.reactive.linq/5.0.0", - "hashPath": "system.reactive.linq.5.0.0.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" - }, - "System.Text.Encoding.CodePages/4.5.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", - "path": "system.text.encoding.codepages/4.5.1", - "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" - }, - "System.Text.Encodings.Web/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "path": "system.text.encodings.web/6.0.0", - "hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512" - }, - "System.Text.Json/6.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0nE2gwXLn3PTBOPwORLqwuYvWB+Beomt9ZBX+6LmogMNKUvfD1SoDb/ycB1vBntT94rGaB/SvxEyeLu14H6aEg==", - "path": "system.text.json/6.0.2", - "hashPath": "system.text.json.6.0.2.nupkg.sha512" - }, - "System.Threading.Tasks.Extensions/4.5.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "path": "system.threading.tasks.extensions/4.5.4", - "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" - }, - "OpenVpnCertificatesServer/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "SysTools/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Utils/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "VictronVRM/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "WebServer/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/csharp/app/API/bin/Debug/net6.0/API.dll b/csharp/app/API/bin/Debug/net6.0/API.dll deleted file mode 100644 index 77e65160f..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/API.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/API.pdb b/csharp/app/API/bin/Debug/net6.0/API.pdb deleted file mode 100644 index ee17b0945..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/API.pdb and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/API.runtimeconfig.json b/csharp/app/API/bin/Debug/net6.0/API.runtimeconfig.json deleted file mode 100644 index 2de9ea910..000000000 --- a/csharp/app/API/bin/Debug/net6.0/API.runtimeconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net6.0", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "6.0.0" - }, - "configProperties": { - "System.Globalization.Invariant": true, - "System.Globalization.PredefinedCulturesOnly": true - } - } -} \ No newline at end of file diff --git a/csharp/app/API/bin/Debug/net6.0/BouncyCastle.Crypto.dll b/csharp/app/API/bin/Debug/net6.0/BouncyCastle.Crypto.dll deleted file mode 100755 index 9059e6458..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/BouncyCastle.Crypto.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/CliWrap.dll b/csharp/app/API/bin/Debug/net6.0/CliWrap.dll deleted file mode 100755 index 907908a1b..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/CliWrap.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/Flurl.Http.dll b/csharp/app/API/bin/Debug/net6.0/Flurl.Http.dll deleted file mode 100755 index 941adc917..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/Flurl.Http.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/Flurl.dll b/csharp/app/API/bin/Debug/net6.0/Flurl.dll deleted file mode 100755 index 00bcd7c3f..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/Flurl.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/ICSharpCode.SharpZipLib.dll b/csharp/app/API/bin/Debug/net6.0/ICSharpCode.SharpZipLib.dll deleted file mode 100755 index 8a7434312..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/ICSharpCode.SharpZipLib.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/Newtonsoft.Json.dll b/csharp/app/API/bin/Debug/net6.0/Newtonsoft.Json.dll deleted file mode 100755 index 1ffeabe65..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/Newtonsoft.Json.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer b/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer deleted file mode 100755 index a6c4bde7a..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.deps.json b/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.deps.json deleted file mode 100644 index 7fea0b5b1..000000000 --- a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.deps.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v6.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v6.0": { - "OpenVpnCertificatesServer/1.0.0": { - "dependencies": { - "BouncyCastle": "1.8.9", - "Flurl.Http": "3.2.2", - "SharpZipLib": "1.3.3", - "Utils": "1.0.0", - "VictronVRM": "1.0.0" - }, - "runtime": { - "OpenVpnCertificatesServer.dll": {} - } - }, - "BouncyCastle/1.8.9": { - "runtime": { - "lib/BouncyCastle.Crypto.dll": { - "assemblyVersion": "1.8.9.0", - "fileVersion": "1.8.20343.1" - } - } - }, - "CliWrap/3.3.1": { - "runtime": { - "lib/netcoreapp3.0/CliWrap.dll": { - "assemblyVersion": "3.3.1.0", - "fileVersion": "3.3.1.0" - } - } - }, - "Flurl/3.0.4": { - "runtime": { - "lib/netstandard2.0/Flurl.dll": { - "assemblyVersion": "3.0.4.0", - "fileVersion": "3.0.4.0" - } - } - }, - "Flurl.Http/3.2.2": { - "dependencies": { - "Flurl": "3.0.4", - "Newtonsoft.Json": "12.0.3", - "System.Text.Encoding.CodePages": "4.5.1" - }, - "runtime": { - "lib/netstandard2.0/Flurl.Http.dll": { - "assemblyVersion": "3.2.2.0", - "fileVersion": "3.2.2.0" - } - } - }, - "Microsoft.NETCore.Platforms/2.1.2": {}, - "Newtonsoft.Json/12.0.3": { - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": { - "assemblyVersion": "12.0.0.0", - "fileVersion": "12.0.3.23909" - } - } - }, - "SharpZipLib/1.3.3": { - "runtime": { - "lib/netstandard2.1/ICSharpCode.SharpZipLib.dll": { - "assemblyVersion": "1.3.3.11", - "fileVersion": "1.3.3.11" - } - } - }, - "System.Reactive/5.0.0": { - "runtime": { - "lib/net5.0/System.Reactive.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.0.1" - } - } - }, - "System.Reactive.Linq/5.0.0": { - "dependencies": { - "System.Reactive": "5.0.0", - "System.Threading.Tasks.Extensions": "4.5.4" - }, - "runtime": { - "lib/netstandard2.0/System.Reactive.Linq.dll": { - "assemblyVersion": "3.0.6000.0", - "fileVersion": "0.0.0.0" - } - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, - "System.Text.Encoding.CodePages/4.5.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.1.2", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Encodings.Web/6.0.0": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json/6.0.2": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Text.Json.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.222.6406" - } - } - }, - "System.Threading.Tasks.Extensions/4.5.4": {}, - "SysTools/1.0.0": { - "dependencies": { - "System.Reactive.Linq": "5.0.0" - }, - "runtime": { - "SysTools.dll": {} - } - }, - "Utils/1.0.0": { - "dependencies": { - "CliWrap": "3.3.1", - "System.Reactive.Linq": "5.0.0" - }, - "runtime": { - "Utils.dll": {} - } - }, - "VictronVRM/1.0.0": { - "dependencies": { - "Flurl.Http": "3.2.2", - "Newtonsoft.Json": "12.0.3", - "SysTools": "1.0.0", - "System.Reactive.Linq": "5.0.0", - "System.Text.Json": "6.0.2", - "Utils": "1.0.0" - }, - "runtime": { - "VictronVRM.dll": {} - } - } - } - }, - "libraries": { - "OpenVpnCertificatesServer/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "BouncyCastle/1.8.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-axnBgvdD5n+FnEG6efk/tfKuMFru7R/EoISH9zjh319yb3HD24TEHSAbNN/lTRT2ulOGRxDgOsCjkuk08iwWPg==", - "path": "bouncycastle/1.8.9", - "hashPath": "bouncycastle.1.8.9.nupkg.sha512" - }, - "CliWrap/3.3.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yFJBBbDCSJ9ZgllaJub07K04EYf54V4jZ2Cm6Sg3KrGfiy27J4ed/os7UqqN7SXoIVL5ru442nPXe0sbsx2wVg==", - "path": "cliwrap/3.3.1", - "hashPath": "cliwrap.3.3.1.nupkg.sha512" - }, - "Flurl/3.0.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-2bgCzOs3TGwRkfcijCiH+7o9Pz4pyVnt4yyLX2vD3wlMSekpmGhqe2zA4988qSMmPa6AqeekX13CY4FvsjsDJQ==", - "path": "flurl/3.0.4", - "hashPath": "flurl.3.0.4.nupkg.sha512" - }, - "Flurl.Http/3.2.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zVen69D8Qr1uZN4ua0ZnOMuDZol66w04AnwOSCyE5Kqy5GGbAtk0m7bKXaU+FJJ9R7ByVIKAG/kpGbGMGdt2/Q==", - "path": "flurl.http/3.2.2", - "hashPath": "flurl.http.3.2.2.nupkg.sha512" - }, - "Microsoft.NETCore.Platforms/2.1.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mOJy3M0UN+LUG21dLGMxaWZEP6xYpQEpLuvuEQBaownaX4YuhH6NmNUlN9si+vNkAS6dwJ//N1O4DmLf2CikVg==", - "path": "microsoft.netcore.platforms/2.1.2", - "hashPath": "microsoft.netcore.platforms.2.1.2.nupkg.sha512" - }, - "Newtonsoft.Json/12.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6mgjfnRB4jKMlzHSl+VD+oUc1IebOZabkbyWj2RiTgWwYPPuaK1H97G1sHqGwPlS5npiF5Q0OrxN1wni2n5QWg==", - "path": "newtonsoft.json/12.0.3", - "hashPath": "newtonsoft.json.12.0.3.nupkg.sha512" - }, - "SharpZipLib/1.3.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-N8+hwhsKZm25tDJfWpBSW7EGhH/R7EMuiX+KJ4C4u+fCWVc1lJ5zg1u3S1RPPVYgTqhx/C3hxrqUpi6RwK5+Tg==", - "path": "sharpziplib/1.3.3", - "hashPath": "sharpziplib.1.3.3.nupkg.sha512" - }, - "System.Reactive/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==", - "path": "system.reactive/5.0.0", - "hashPath": "system.reactive.5.0.0.nupkg.sha512" - }, - "System.Reactive.Linq/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IB4/qlV4T1WhZvM11RVoFUSZXPow9VWVeQ1uDkSKgz6bAO+gCf65H/vjrYlwyXmojSSxvfHndF9qdH43P/IuAw==", - "path": "system.reactive.linq/5.0.0", - "hashPath": "system.reactive.linq.5.0.0.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" - }, - "System.Text.Encoding.CodePages/4.5.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", - "path": "system.text.encoding.codepages/4.5.1", - "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" - }, - "System.Text.Encodings.Web/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "path": "system.text.encodings.web/6.0.0", - "hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512" - }, - "System.Text.Json/6.0.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0nE2gwXLn3PTBOPwORLqwuYvWB+Beomt9ZBX+6LmogMNKUvfD1SoDb/ycB1vBntT94rGaB/SvxEyeLu14H6aEg==", - "path": "system.text.json/6.0.2", - "hashPath": "system.text.json.6.0.2.nupkg.sha512" - }, - "System.Threading.Tasks.Extensions/4.5.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "path": "system.threading.tasks.extensions/4.5.4", - "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" - }, - "SysTools/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Utils/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "VictronVRM/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.dll b/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.dll deleted file mode 100644 index 42efa457c..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.pdb b/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.pdb deleted file mode 100644 index 4109d6025..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.pdb and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.runtimeconfig.json b/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.runtimeconfig.json deleted file mode 100644 index 2de9ea910..000000000 --- a/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.runtimeconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net6.0", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "6.0.0" - }, - "configProperties": { - "System.Globalization.Invariant": true, - "System.Globalization.PredefinedCulturesOnly": true - } - } -} \ No newline at end of file diff --git a/csharp/app/API/bin/Debug/net6.0/SQLite-net.dll b/csharp/app/API/bin/Debug/net6.0/SQLite-net.dll deleted file mode 100755 index 24309cee1..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SQLite-net.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.batteries_v2.dll b/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.batteries_v2.dll deleted file mode 100755 index c51a77d88..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.batteries_v2.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.core.dll b/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.core.dll deleted file mode 100755 index d995f2741..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.core.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.nativelibrary.dll b/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.nativelibrary.dll deleted file mode 100755 index 7bb1b03be..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.nativelibrary.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.provider.dynamic_cdecl.dll b/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.provider.dynamic_cdecl.dll deleted file mode 100755 index 2be564755..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.provider.dynamic_cdecl.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/SysTools.dll b/csharp/app/API/bin/Debug/net6.0/SysTools.dll deleted file mode 100644 index cb7b39326..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SysTools.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/SysTools.pdb b/csharp/app/API/bin/Debug/net6.0/SysTools.pdb deleted file mode 100644 index 36c09ffcf..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/SysTools.pdb and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/System.Reactive.Linq.dll b/csharp/app/API/bin/Debug/net6.0/System.Reactive.Linq.dll deleted file mode 100755 index 2af4a4b63..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/System.Reactive.Linq.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/System.Reactive.dll b/csharp/app/API/bin/Debug/net6.0/System.Reactive.dll deleted file mode 100755 index eb364ecdc..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/System.Reactive.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/System.Text.Json.dll b/csharp/app/API/bin/Debug/net6.0/System.Text.Json.dll deleted file mode 100755 index d67de73b4..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/System.Text.Json.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/Utils.dll b/csharp/app/API/bin/Debug/net6.0/Utils.dll deleted file mode 100644 index 41af88df8..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/Utils.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/Utils.pdb b/csharp/app/API/bin/Debug/net6.0/Utils.pdb deleted file mode 100644 index 9446f5f71..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/Utils.pdb and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/VictronVRM.dll b/csharp/app/API/bin/Debug/net6.0/VictronVRM.dll deleted file mode 100644 index 3586ad7a5..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/VictronVRM.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/VictronVRM.pdb b/csharp/app/API/bin/Debug/net6.0/VictronVRM.pdb deleted file mode 100644 index d3b279192..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/VictronVRM.pdb and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/WebServer.dll b/csharp/app/API/bin/Debug/net6.0/WebServer.dll deleted file mode 100644 index a6d0f0a4d..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/WebServer.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/WebServer.pdb b/csharp/app/API/bin/Debug/net6.0/WebServer.pdb deleted file mode 100644 index 132bb3b39..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/WebServer.pdb and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/ref/API.dll b/csharp/app/API/bin/Debug/net6.0/ref/API.dll deleted file mode 100644 index b9c336a4e..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/ref/API.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so deleted file mode 100755 index 9c98d9f9a..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so deleted file mode 100755 index 6b0158a4a..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so deleted file mode 100755 index 7c590b743..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so deleted file mode 100755 index bc22810cc..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so deleted file mode 100755 index c82d18655..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so deleted file mode 100755 index 9c98d9f9a..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so deleted file mode 100755 index 484bfc267..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so b/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so deleted file mode 100755 index d4c96f72f..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib b/csharp/app/API/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib deleted file mode 100755 index 3b9e7a481..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll b/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll deleted file mode 100755 index d01989146..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll b/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll deleted file mode 100755 index d8b3149f1..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll b/csharp/app/API/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll deleted file mode 100755 index 8d3ca0c2c..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll and /dev/null differ diff --git a/csharp/app/API/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll b/csharp/app/API/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll deleted file mode 100755 index 3ad1bc9b2..000000000 Binary files a/csharp/app/API/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll and /dev/null differ diff --git a/csharp/app/API/deploy_to_salidomo.sh b/csharp/app/API/deploy_to_salidomo.sh deleted file mode 100755 index 5c6aa132b..000000000 --- a/csharp/app/API/deploy_to_salidomo.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# stop on errors -set -e - -printf "\n################################### publish ###################################\n\n" -dotnet publish API.csproj -c Release -r linux-x64 - -printf "\n################################### sync ###################################\n\n" -rsync -av bin/Release/netcoreapp5.0/linux-x64/publish/ ig@salidomo.innovenergy.ch:/home/ig/api - diff --git a/csharp/app/API/obj/API.csproj.nuget.g.targets b/csharp/app/API/obj/API.csproj.nuget.g.targets deleted file mode 100644 index 3dc06ef3c..000000000 --- a/csharp/app/API/obj/API.csproj.nuget.g.targets +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/csharp/app/API/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/csharp/app/API/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs deleted file mode 100644 index 36203c728..000000000 --- a/csharp/app/API/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs +++ /dev/null @@ -1,4 +0,0 @@ -// -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] diff --git a/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfo.cs b/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfo.cs deleted file mode 100644 index a9ff1a0b4..000000000 --- a/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyMetadata("IsTrimmable", "True")] -[assembly: System.Reflection.AssemblyCompanyAttribute("InnovEnergy")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] -[assembly: System.Reflection.AssemblyProductAttribute("API")] -[assembly: System.Reflection.AssemblyTitleAttribute("API")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfoInputs.cache b/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfoInputs.cache deleted file mode 100644 index a1fd38514..000000000 --- a/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -b5bcdcd7d18bd3a9ee59e18ad3d0832e4b2db0fa diff --git a/csharp/app/API/obj/Debug/net6.0/API.GlobalUsings.g.cs b/csharp/app/API/obj/Debug/net6.0/API.GlobalUsings.g.cs deleted file mode 100644 index 8578f3d03..000000000 --- a/csharp/app/API/obj/Debug/net6.0/API.GlobalUsings.g.cs +++ /dev/null @@ -1,8 +0,0 @@ -// -global using global::System; -global using global::System.Collections.Generic; -global using global::System.IO; -global using global::System.Linq; -global using global::System.Net.Http; -global using global::System.Threading; -global using global::System.Threading.Tasks; diff --git a/csharp/app/API/obj/Debug/net6.0/API.csproj.CopyComplete b/csharp/app/API/obj/Debug/net6.0/API.csproj.CopyComplete deleted file mode 100644 index e69de29bb..000000000 diff --git a/csharp/app/API/obj/Debug/net6.0/API.csproj.CoreCompileInputs.cache b/csharp/app/API/obj/Debug/net6.0/API.csproj.CoreCompileInputs.cache deleted file mode 100644 index 65e99bfdb..000000000 --- a/csharp/app/API/obj/Debug/net6.0/API.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -26c942d0f9a2a9c4f1830357e31a4e7567969887 diff --git a/csharp/app/API/obj/Debug/net6.0/API.csproj.FileListAbsolute.txt b/csharp/app/API/obj/Debug/net6.0/API.csproj.FileListAbsolute.txt deleted file mode 100644 index b84922dc6..000000000 --- a/csharp/app/API/obj/Debug/net6.0/API.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,56 +0,0 @@ -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.deps.json -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.runtimeconfig.json -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/API -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/API.deps.json -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/API.runtimeconfig.json -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/API.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/ref/API.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/API.pdb -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/BouncyCastle.Crypto.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/CliWrap.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/Flurl.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/Flurl.Http.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/Newtonsoft.Json.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/ICSharpCode.SharpZipLib.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SQLite-net.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.batteries_v2.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.nativelibrary.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.core.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SQLitePCLRaw.provider.dynamic_cdecl.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/System.Reactive.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/System.Reactive.Linq.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/System.Text.Json.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SysTools.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/Utils.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/VictronVRM.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/WebServer.dll -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/Utils.pdb -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/VictronVRM.pdb -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/WebServer.pdb -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/OpenVpnCertificatesServer.pdb -/home/kim/code/innovenergy/new/csharp/app/API/bin/Debug/net6.0/SysTools.pdb -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.csproj.AssemblyReference.cache -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.GeneratedMSBuildEditorConfig.editorconfig -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfoInputs.cache -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.AssemblyInfo.cs -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.csproj.CoreCompileInputs.cache -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.csproj.CopyComplete -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.dll -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/ref/API.dll -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.pdb -/home/kim/code/innovenergy/new/csharp/app/API/obj/Debug/net6.0/API.genruntimeconfig.cache diff --git a/csharp/app/API/obj/Debug/net6.0/API.dll b/csharp/app/API/obj/Debug/net6.0/API.dll deleted file mode 100644 index 77e65160f..000000000 Binary files a/csharp/app/API/obj/Debug/net6.0/API.dll and /dev/null differ diff --git a/csharp/app/API/obj/Debug/net6.0/API.genruntimeconfig.cache b/csharp/app/API/obj/Debug/net6.0/API.genruntimeconfig.cache deleted file mode 100644 index 8864159bb..000000000 --- a/csharp/app/API/obj/Debug/net6.0/API.genruntimeconfig.cache +++ /dev/null @@ -1 +0,0 @@ -bfb409d9f9fd81349684431d00d084f9c26aa8cf diff --git a/csharp/app/API/obj/Debug/net6.0/API.pdb b/csharp/app/API/obj/Debug/net6.0/API.pdb deleted file mode 100644 index ee17b0945..000000000 Binary files a/csharp/app/API/obj/Debug/net6.0/API.pdb and /dev/null differ diff --git a/csharp/app/API/obj/Debug/net6.0/apphost b/csharp/app/API/obj/Debug/net6.0/apphost deleted file mode 100755 index 5c1c25abb..000000000 Binary files a/csharp/app/API/obj/Debug/net6.0/apphost and /dev/null differ diff --git a/csharp/app/API/obj/Debug/net6.0/ref/API.dll b/csharp/app/API/obj/Debug/net6.0/ref/API.dll deleted file mode 100644 index b9c336a4e..000000000 Binary files a/csharp/app/API/obj/Debug/net6.0/ref/API.dll and /dev/null differ