From f03325a6a2e37c1e5923fe092a1f4bc2dd3d887e Mon Sep 17 00:00:00 2001 From: Noe Date: Thu, 28 Nov 2024 14:43:47 +0100 Subject: [PATCH] Update logos in frontend Fixed delete installation method (delete read/write keys, read/write roles, buckets) Fixed bug in not-connected installation in frontend --- csharp/App/Backend/Controller.cs | 13 +- .../App/Backend/DataTypes/Methods/ExoCmd.cs | 89 +++- .../Backend/DataTypes/Methods/Installation.cs | 6 - .../App/Backend/DataTypes/Methods/Session.cs | 21 +- csharp/App/Backend/DataTypes/Methods/User.cs | 6 +- csharp/App/Backend/DataTypes/TreeNode.cs | 13 +- csharp/App/Backend/DataTypes/User.cs | 1 - csharp/App/Backend/Database/Db.cs | 158 ++++---- csharp/App/Backend/Database/Fake.cs | 101 ----- csharp/App/Backend/Database/Read.cs | 10 +- csharp/App/Backend/Database/Update.cs | 5 - csharp/App/Backend/Program.cs | 10 +- csharp/App/Backend/Relations/Session.cs | 31 +- .../Backend/Websockets/WebsockerManager.cs | 10 +- csharp/Lib/S3Utils/S3.cs | 26 +- .../dbus-fzsonick-48tl/config.py | 6 +- .../dbus-fzsonick-48tl/config.py | 6 +- .../dbus-fzsonick-48tl/dbus-fzsonick-48tl.py | 5 +- .../update_all_venus_installations.sh | 2 +- typescript/frontend-marios2/package-lock.json | 4 +- typescript/frontend-marios2/package.json | 4 +- typescript/frontend-marios2/public/Logo.png | Bin 0 -> 70005 bytes typescript/frontend-marios2/public/index.html | 2 +- typescript/frontend-marios2/src/App.tsx | 13 +- .../src/Resources/images/Logo.png | Bin 0 -> 70005 bytes .../src/Resources/images/Logo.svg | 1 + .../src/Resources/images/Logo_for_dark_bg.png | Bin 0 -> 65560 bytes .../src/Resources/images/Logo_for_dark_bg.svg | 1 + ...energy-Logo_Speichern-mit-Salz_R_color.svg | 88 ---- .../src/components/Footer/index.tsx | 4 +- .../src/components/ForgotPassword.tsx | 35 +- .../src/components/ResetPassword.tsx | 31 +- .../src/components/SetNewPassword.tsx | 31 +- .../frontend-marios2/src/components/login.tsx | 32 +- .../Information/InformationSalidomo.tsx | 2 +- .../Installations/FlatInstallationView.tsx | 13 +- .../dashboards/Installations/Installation.tsx | 16 +- .../dashboards/Installations/index.tsx | 56 ++- .../FlatInstallationView.tsx | 29 +- .../SalidomoInstallations/Installation.tsx | 9 +- .../InstallationSearch.tsx | 26 +- .../SalidomoInstallations/index.tsx | 34 +- .../content/dashboards/Topology/Topology.tsx | 3 +- .../dashboards/Tree/CustomTreeItem.tsx | 5 +- .../dashboards/Tree/InstallationTree.tsx | 9 +- .../contexts/InstallationsContextProvider.tsx | 379 ++++++++++-------- .../src/contexts/WebSocketContextProvider.tsx | 259 +++++++----- .../src/interfaces/InstallationTypes.tsx | 4 +- .../SidebarLayout/Header/Userbox/index.tsx | 6 +- .../layouts/SidebarLayout/Sidebar/index.tsx | 15 +- 50 files changed, 812 insertions(+), 818 deletions(-) delete mode 100644 csharp/App/Backend/Database/Fake.cs create mode 100644 typescript/frontend-marios2/public/Logo.png create mode 100644 typescript/frontend-marios2/src/Resources/images/Logo.png create mode 100644 typescript/frontend-marios2/src/Resources/images/Logo.svg create mode 100644 typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.png create mode 100644 typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.svg delete mode 100644 typescript/frontend-marios2/src/Resources/images/innovenergy-Logo_Speichern-mit-Salz_R_color.svg diff --git a/csharp/App/Backend/Controller.cs b/csharp/App/Backend/Controller.cs index 77a727c3c..7e3df592c 100644 --- a/csharp/App/Backend/Controller.cs +++ b/csharp/App/Backend/Controller.cs @@ -24,12 +24,15 @@ public class JobStatus [Controller] [Route("api/")] +//All the http requests from the frontend that contain "/api" will be forwarded to this controller from the nginx reverse proxy. public class Controller : ControllerBase { - [HttpPost(nameof(Login))] public ActionResult Login(String username, String? password) { + //Find the user to the database, verify its password and create a new session. + //Store the new session to the database and return it to the frontend. + //If the user log out, the session will be deleted. Each session is valid for 24 hours. The db deletes all invalid/expired sessions every 30 minutes. var user = Db.GetUserByEmail(username); if (user is null) @@ -37,18 +40,11 @@ public class Controller : ControllerBase if (!(user.Password.IsNullOrEmpty() && user.MustResetPassword) && !user.VerifyPassword(password)) { - //return Unauthorized("No Password set"); throw new Exceptions(401, "Wrong Password Exception", "Please try again.", Request.Path.Value!); } - - var session = new Session(user.HidePassword().HideParentIfUserHasNoAccessToParent(user)); - //TODO The Frontend should check for the MustResetPassword Flag - - - return Db.Create(session) ? session : throw new Exceptions(401,"Session Creation Exception", "Not allowed to log in.", Request.Path.Value!); @@ -58,6 +54,7 @@ public class Controller : ControllerBase [HttpPost(nameof(Logout))] public ActionResult Logout(Token authToken) { + //Find the session and delete it from the database. var session = Db.GetSession(authToken); return session.Logout() diff --git a/csharp/App/Backend/DataTypes/Methods/ExoCmd.cs b/csharp/App/Backend/DataTypes/Methods/ExoCmd.cs index fde540ac2..86f22ed03 100644 --- a/csharp/App/Backend/DataTypes/Methods/ExoCmd.cs +++ b/csharp/App/Backend/DataTypes/Methods/ExoCmd.cs @@ -188,12 +188,83 @@ public static class ExoCmd return id; } - public static async Task RevokeReadKey(String S3Key) + public static async Task RemoveReadRole(this Installation installation) + { + var roleId = installation.ReadRoleId; + var url = $"https://api-ch-dk-2.exoscale.com/v2/iam-role/{roleId}"; + var method = $"iam-role/{roleId}"; + + var unixtime = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + 60; + var authheader = "credential=" + S3Credentials.Key + ",expires=" + unixtime + ",signature=" + BuildSignature("DELETE", method, unixtime); + + + var client = new HttpClient(); + + client.DefaultRequestHeaders.Authorization = + new AuthenticationHeaderValue("EXO2-HMAC-SHA256", authheader); + + try + { + var response = await client.DeleteAsync(url); + + if (response.IsSuccessStatusCode) + { + Console.WriteLine($"Successfully deleted read role with ID {roleId}."); + return true; + } + + Console.WriteLine($"Failed to delete read role. HTTP Status: {response.StatusCode}. Response: {await response.Content.ReadAsStringAsync()}"); + return false; + } + catch (Exception ex) + { + Console.WriteLine($"Error occurred while deleting read role: {ex.Message}"); + return false; + } + } + + public static async Task RemoveWriteRole(this Installation installation) + { + var roleId = installation.WriteRoleId; + var url = $"https://api-ch-dk-2.exoscale.com/v2/iam-role/{roleId}"; + var method = $"iam-role/{roleId}"; + + var unixtime = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + 60; + var authheader = "credential=" + S3Credentials.Key + ",expires=" + unixtime + ",signature=" + BuildSignature("DELETE", method, unixtime); + + + var client = new HttpClient(); + + client.DefaultRequestHeaders.Authorization = + new AuthenticationHeaderValue("EXO2-HMAC-SHA256", authheader); + + try + { + var response = await client.DeleteAsync(url); + + if (response.IsSuccessStatusCode) + { + Console.WriteLine($"Successfully deleted write role with ID {roleId}."); + return true; + } + + Console.WriteLine($"Failed to delete write role. HTTP Status: {response.StatusCode}. Response: {await response.Content.ReadAsStringAsync()}"); + return false; + } + catch (Exception ex) + { + Console.WriteLine($"Error occurred while deleting write role: {ex.Message}"); + return false; + } + } + + + public static async Task RevokeReadKey(this Installation installation) { //Check exoscale documentation https://openapi-v2.exoscale.com/topic/topic-api-request-signature - var url = $"https://api-ch-dk-2.exoscale.com/v2/access-key/{S3Key}"; - var method = $"access-key/{S3Key}"; + var url = $"https://api-ch-dk-2.exoscale.com/v2/access-key/{installation.S3Key}"; + var method = $"access-key/{installation.S3Key}"; var unixtime = DateTimeOffset.UtcNow.ToUnixTimeSeconds()+60; @@ -208,12 +279,12 @@ public static class ExoCmd return response.IsSuccessStatusCode; } - public static async Task RevokeReadKey(this Installation installation) + public static async Task RevokeWriteKey(this Installation installation) { //Check exoscale documentation https://openapi-v2.exoscale.com/topic/topic-api-request-signature - var url = $"https://api-ch-dk-2.exoscale.com/v2/access-key/{installation.S3Key}"; - var method = $"access-key/{installation.S3Key}"; + var url = $"https://api-ch-dk-2.exoscale.com/v2/access-key/{installation.S3WriteKey}"; + var method = $"access-key/{installation.S3WriteKey}"; var unixtime = DateTimeOffset.UtcNow.ToUnixTimeSeconds()+60; @@ -296,6 +367,12 @@ public static class ExoCmd return await s3Region.PutBucket(installation.BucketName()) != null; } + public static async Task DeleteBucket(this Installation installation) + { + var s3Region = new S3Region($"https://{installation.S3Region}.{installation.S3Provider}", S3Credentials!); + return await s3Region.DeleteBucket(installation.BucketName()) ; + } + public static async Task SendConfig(this Installation installation, Configuration config) { diff --git a/csharp/App/Backend/DataTypes/Methods/Installation.cs b/csharp/App/Backend/DataTypes/Methods/Installation.cs index f1c275386..be2e714ac 100644 --- a/csharp/App/Backend/DataTypes/Methods/Installation.cs +++ b/csharp/App/Backend/DataTypes/Methods/Installation.cs @@ -46,12 +46,6 @@ public static class InstallationMethods return Db.Update(installation); } - - public static async Task DeleteBucket(this Installation installation) - { - // TODO We dont do this here - return true; - } public static IEnumerable UsersWithAccess(this Installation installation) { diff --git a/csharp/App/Backend/DataTypes/Methods/Session.cs b/csharp/App/Backend/DataTypes/Methods/Session.cs index 330738d75..70fdd5f0f 100644 --- a/csharp/App/Backend/DataTypes/Methods/Session.cs +++ b/csharp/App/Backend/DataTypes/Methods/Session.cs @@ -274,15 +274,18 @@ public static class SessionMethods { var user = session?.User; - - return user is not null - && installation is not null - && user.UserType != 0 - && user.HasAccessTo(installation) - && Db.Delete(installation) - && await installation.DeleteBucket(); - - + + return user is not null + && installation is not null + && user.UserType != 0 + && user.HasAccessTo(installation) + && Db.Delete(installation) + && await installation.RevokeReadKey() + && await installation.RevokeWriteKey() + && await installation.DeleteBucket() + && await installation.RemoveReadRole() + && await installation.RemoveWriteRole(); + } public static Boolean Create(this Session? session, User newUser) diff --git a/csharp/App/Backend/DataTypes/Methods/User.cs b/csharp/App/Backend/DataTypes/Methods/User.cs index 888cb11be..7e7fecf29 100644 --- a/csharp/App/Backend/DataTypes/Methods/User.cs +++ b/csharp/App/Backend/DataTypes/Methods/User.cs @@ -212,7 +212,7 @@ public static class UserMethods public static Task SendPasswordResetEmail(this User user, String token) { - const String subject = "Reset the password of your InnovEnergy-Account"; + const String subject = "Reset the password of your Inesco Energy Account"; const String resetLink = "https://monitor.innov.energy/api/ResetPassword"; // TODO: move to settings file var encodedToken = HttpUtility.UrlEncode(token); @@ -225,13 +225,13 @@ public static class UserMethods public static Task SendNewUserWelcomeMessage(this User user) { - const String subject = "Your new InnovEnergy-Account"; + const String subject = "Your new Inesco Energy Account"; var resetLink = $"https://monitor.innov.energy/?username={user.Email}"; // TODO: move to settings file var body = $"Dear {user.Name}\n" + $"To set your password and log in to your " + - $"Innovenergy-Account open this link:{resetLink}"; + $"Inesco Energy Account open this link:{resetLink}"; return user.SendEmail(subject, body); } diff --git a/csharp/App/Backend/DataTypes/TreeNode.cs b/csharp/App/Backend/DataTypes/TreeNode.cs index a19d05598..87b2e24e9 100644 --- a/csharp/App/Backend/DataTypes/TreeNode.cs +++ b/csharp/App/Backend/DataTypes/TreeNode.cs @@ -1,16 +1,17 @@ using SQLite; - namespace InnovEnergy.App.Backend.DataTypes; public abstract partial class TreeNode { + //This is the parent class of each relation. It has an autoincrement Id, name, information, parent Id and Type. + //Ignore means: "Do not map this property to a database column." [PrimaryKey, AutoIncrement] - public Int64 Id { get; set; } - public virtual String Name { get; set; } = ""; // overridden by User (unique) - public String Information { get; set; } = ""; // unstructured random info + public Int64 Id { get; set; } + public virtual String Name { get; set; } = ""; // overridden by User (unique) + public String Information { get; set; } = ""; // unstructured random info - [Indexed] // parent/child relation - public Int64 ParentId { get; set; } + [Indexed] + public Int64 ParentId { get; set; } [Ignore] public String Type => GetType().Name; diff --git a/csharp/App/Backend/DataTypes/User.cs b/csharp/App/Backend/DataTypes/User.cs index 78fedf21f..4738c7f45 100644 --- a/csharp/App/Backend/DataTypes/User.cs +++ b/csharp/App/Backend/DataTypes/User.cs @@ -9,7 +9,6 @@ public class User : TreeNode public String Email { get; set; } = null!; public int UserType { get; set; } = 0; public Boolean MustResetPassword { get; set; } = false; - public String Language { get; set; } = null!; public String? Password { get; set; } = null!; [Unique] diff --git a/csharp/App/Backend/Database/Db.cs b/csharp/App/Backend/Database/Db.cs index 6ccb53332..97074f4af 100644 --- a/csharp/App/Backend/Database/Db.cs +++ b/csharp/App/Backend/Database/Db.cs @@ -7,13 +7,55 @@ using InnovEnergy.Lib.Utils; using SQLite; using SQLiteConnection = SQLite.SQLiteConnection; - namespace InnovEnergy.App.Backend.Database; public static partial class Db { private static SQLiteConnection Connection { get; } = InitConnection(); + public static TableQuery Sessions => Connection.Table(); + public static TableQuery Folders => Connection.Table(); + public static TableQuery Installations => Connection.Table(); + public static TableQuery Users => Connection.Table(); + public static TableQuery FolderAccess => Connection.Table(); + public static TableQuery InstallationAccess => Connection.Table(); + public static TableQuery OrderNumber2Installation => Connection.Table(); + public static TableQuery Errors => Connection.Table(); + public static TableQuery Warnings => Connection.Table(); + public static TableQuery UserActions => Connection.Table(); + + public static void Init() + { + //Used to force static constructor + //Since this class is static, we call Init method from the Program.cs to initialize all the fields of the class + //When a class is loaded, the fields are initialized before the constructor's code is executed. + //The TableQuery fields are lazy meaning that they will be initialized when they get accessed + //The connection searches for the latest backup and it binds all the tables to it. + } + + //This is the constructor of the class + static Db() + { + Connection.RunInTransaction(() => + { + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + Connection.CreateTable(); + }); + + //UpdateKeys(); + CleanupSessions().SupressAwaitWarning(); + DeleteSnapshots().SupressAwaitWarning(); + } + + private static SQLiteConnection InitConnection() { var latestDb = new DirectoryInfo("DbBackups") @@ -41,90 +83,60 @@ public static partial class Db return fileConnection; //return CopyDbToMemory(fileConnection); } - - private static SQLiteConnection CopyDbToMemory(SQLiteConnection fileConnection) - { - var memoryConnection = new SQLiteConnection(":memory:"); - - //Create a table if it does not exist in main memory - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - memoryConnection.CreateTable(); - fileConnection.CreateTable(); - - //Copy all the existing tables from the disk to main memory - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - fileConnection.Table().ForEach(memoryConnection.Insert); - - return memoryConnection; - } - + public static void BackupDatabase() { var filename = "db-" + DateTimeOffset.UtcNow.ToUnixTimeSeconds() + ".sqlite"; Connection.Backup("DbBackups/" + filename); } - - public static TableQuery Sessions => Connection.Table(); - public static TableQuery Folders => Connection.Table(); - public static TableQuery Installations => Connection.Table(); - public static TableQuery Users => Connection.Table(); - public static TableQuery FolderAccess => Connection.Table(); - public static TableQuery InstallationAccess => Connection.Table(); - public static TableQuery OrderNumber2Installation => Connection.Table(); - public static TableQuery Errors => Connection.Table(); - public static TableQuery Warnings => Connection.Table(); - public static TableQuery UserActions => Connection.Table(); - public static void Init() + //Delete all by 10 snapshots every 24 hours. + private static async Task DeleteSnapshots() { - // used to force static constructor - //Since this class is static, we call Init method from the Program.cs to initialize all the fields of the class - } - - //This is the constructor of the class - static Db() - { - Connection.RunInTransaction(() => + while (true) { - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - Connection.CreateTable(); - }); - - //UpdateKeys(); - CleanupSessions().SupressAwaitWarning(); - + try + { + var files = new DirectoryInfo("DbBackups") + .GetFiles() + .OrderByDescending(f => f.LastWriteTime); + + var filesToDelete = files.Skip(10); + + foreach (var file in filesToDelete) + { + Console.WriteLine("File to delete is " + file.Name); + file.Delete(); + } + + } + catch(Exception e) + { + Console.WriteLine("An error has occured when cleaning database snapshots, exception is:\n"+e); + } + + await Task.Delay(TimeSpan.FromHours(24)); + } } - + + //Delete all expired sessions every half an hour. An expired session is a session remained for more than 1 day. private static async Task CleanupSessions() { while (true) { try { - DeleteStaleSessions(); + var deadline = DateTime.Now.AddDays(-Session.MaxAge.Days); + foreach (var session in Sessions) + { + if (session.LastSeen < deadline) + { + Console.WriteLine("Need to remove session of user id " + session.User.Name + "last time is "+session.LastSeen); + } + + } + + Sessions.Delete(s => s.LastSeen < deadline); } catch(Exception e) { @@ -232,12 +244,6 @@ public static partial class Db } - private static void DeleteStaleSessions() - { - var deadline = DateTime.Now.AddDays((-1) * Session.MaxAge.Days); - Sessions.Delete(s => s.LastSeen < deadline); - } - private static async Task UpdateS3Urls() { var regions = Installations diff --git a/csharp/App/Backend/Database/Fake.cs b/csharp/App/Backend/Database/Fake.cs deleted file mode 100644 index 89461a9e1..000000000 --- a/csharp/App/Backend/Database/Fake.cs +++ /dev/null @@ -1,101 +0,0 @@ -using InnovEnergy.App.Backend.Relations; - -namespace InnovEnergy.App.Backend.Database; - -public static partial class Db -{ - public static void CreateFakeRelations() - { - Connection.RunInTransaction(() => - { - CreateFakeUserTree(); - CreateFakeFolderTree(); - LinkFakeInstallationsToFolders(); - GiveFakeUsersAccessToFolders(); - GiveFakeUsersAccessToInstallations(); - }); - } - - private static void CreateFakeUserTree() - { - foreach (var userId in Enumerable.Range(1, Users.Count())) - { - var user = GetUserById(userId); - if (user is null) - continue; - - user.ParentId = userId > 1 - ? Random.Shared.Next(userId - 1) + 1 - : 0; // root has parentId 0 - - Update(user); - } - } - - private static void CreateFakeFolderTree() - { - foreach (var folderId in Enumerable.Range(1, Folders.Count())) - { - var folder = GetFolderById(folderId); - if (folder is null) - continue; - - folder.ParentId = folderId > 1 - ? Random.Shared.Next(folderId - 1) + 1 - : 0; // root has parentId 0 - - Update(folder); - } - } - - private static void LinkFakeInstallationsToFolders() - { - var nFolders = Folders.Count(); - - foreach (var installation in Installations) - { - installation.ParentId = Random.Shared.Next(nFolders) + 1; - Update(installation); - } - } - - private static void GiveFakeUsersAccessToFolders() - { - foreach (var uf in FolderAccess) // remove existing relations - Connection.Delete(uf); - - var nFolders = Folders.Count(); - var nUsers = Users.Count(); - - foreach (var user in Users) - while (Random.Shared.Next((Int32)(nUsers - user.Id + 1)) != 0) - { - var relation = new FolderAccess - { - UserId = user.Id, - FolderId = Random.Shared.Next(nFolders) + 1 - }; - Connection.Insert(relation); - } - } - - private static void GiveFakeUsersAccessToInstallations() - { - foreach (var ui in InstallationAccess) // remove existing relations - Connection.Delete(ui); - - var nbInstallations = Installations.Count(); - - foreach (var user in Users) - while (Random.Shared.Next(5) != 0) - { - var relation = new InstallationAccess - { - UserId = user.Id, - InstallationId = Random.Shared.Next(nbInstallations) + 1 - }; - Connection.Insert(relation); - } - } - //TODO fake OrderNumbers -} \ No newline at end of file diff --git a/csharp/App/Backend/Database/Read.cs b/csharp/App/Backend/Database/Read.cs index c98465155..f47298cb3 100644 --- a/csharp/App/Backend/Database/Read.cs +++ b/csharp/App/Backend/Database/Read.cs @@ -1,12 +1,11 @@ using InnovEnergy.App.Backend.DataTypes; using InnovEnergy.App.Backend.Relations; - - namespace InnovEnergy.App.Backend.Database; public static partial class Db { + //In this file, we provide all the methods that can be used in order to retrieve information from the database (read) public static Folder? GetFolderById(Int64? id) { return Folders @@ -39,14 +38,15 @@ public static partial class Db public static Session? GetSession(String token) { + //This method is called in almost every controller function. + //After logging in, the frontend receives a session object which contains a token. For all the future REST API calls, this token is used for session authentication. var session = Sessions .FirstOrDefault(s => s.Token == token); - - // cannot use session.Valid in the DB query above. - // It does not exist in the db (IgnoreAttribute) if (session is null) + { return null; + } if (!session.Valid) { diff --git a/csharp/App/Backend/Database/Update.cs b/csharp/App/Backend/Database/Update.cs index 70def9fd1..1528530ff 100644 --- a/csharp/App/Backend/Database/Update.cs +++ b/csharp/App/Backend/Database/Update.cs @@ -27,11 +27,6 @@ public static partial class Db { return Update(obj: warning); } - - // public static Boolean Update(UserAction action) - // { - // return Update(obj: action); - // } public static Boolean Update(Installation installation) { diff --git a/csharp/App/Backend/Program.cs b/csharp/App/Backend/Program.cs index ec927a158..036c41d12 100644 --- a/csharp/App/Backend/Program.cs +++ b/csharp/App/Backend/Program.cs @@ -7,7 +7,6 @@ using Microsoft.AspNetCore.HttpOverrides; using Microsoft.AspNetCore.Mvc; using Microsoft.OpenApi.Models; using InnovEnergy.Lib.Utils; -using Org.BouncyCastle.Math.EC; namespace InnovEnergy.App.Backend; @@ -15,6 +14,13 @@ public static class Program { public static async Task Main(String[] args) { + //First, we initialize the database. This is an empty constructor of the Db class that will be called. + //In addition, we initialize WatchDog in order to restart the backend service in case of failure. + //Finally, we start all the backend services. We call the InitializeEnvironment function of RabbitMqManager to create the queue (factory/connection) + //Then, we generate a consumer that binds to the queue. This is a separate async Task so it must not be awaited (it acts as a separate thread). + //Finally, we call the MonitorSalimaxInstallationTable and MonitorSalidomoInstallationTable from the WebsocketManager class. + //Those methods will build in-memory data structures to track the connected frontends and update them regarding the offline installations. + Watchdog.NotifyReady(); Db.Init(); var builder = WebApplication.CreateBuilder(args); @@ -80,7 +86,7 @@ public static class Program private static OpenApiInfo OpenApiInfo { get; } = new OpenApiInfo { - Title = "InnovEnergy Backend API", + Title = "Innesco Backend API", Version = "v1" }; diff --git a/csharp/App/Backend/Relations/Session.cs b/csharp/App/Backend/Relations/Session.cs index bb0555396..d4535d5d5 100644 --- a/csharp/App/Backend/Relations/Session.cs +++ b/csharp/App/Backend/Relations/Session.cs @@ -7,41 +7,48 @@ namespace InnovEnergy.App.Backend.Relations; public class Session : Relation { - public static TimeSpan MaxAge { get; } = TimeSpan.FromDays(7); + public static TimeSpan MaxAge { get; } = TimeSpan.FromDays(1); [Unique ] public String Token { get => Left ; init => Left = value;} [Indexed] public Int64 UserId { get => Right; init => Right = value;} [Indexed] public DateTime LastSeen { get; set; } public Boolean AccessToSalimax { get; set; } = false; public Boolean AccessToSalidomo { get; set; } = false; - [Ignore] public Boolean Valid => DateTime.Now - LastSeen < MaxAge - && (User) is not null; - - [Ignore] public User User => _User ??= Db.GetUserById(UserId)!; - - + [Ignore] public Boolean Valid => DateTime.Now - LastSeen <=MaxAge ; + + // Private backing field private User? _User; + [Ignore] public User User + { + get => _User ??= Db.GetUserById(UserId)!; + set => _User =value; + } + + [Obsolete("To be used only by deserializer")] public Session() {} + //We need to return a session object to the frontend. Only the public fields can be included. + //For this reason, we use the public User User. It is a public field but ignored, so it can be included to the object returned + //to the frontend but it will not get inserted to the database. + //When we initialize it like that: User = Db.GetUserById(user.Id)!, the set will be called and the private member will be initialized as well. + //What if the getSession method is called from another function of the controller? + //GetSession will retrieve a session object from the database, but this does not have the metadata included (the private fields and the ignored public fields) + //Thus, the get will be called and the private field _User will be initialized on the fly. public Session(User user) { - _User = user; + User = Db.GetUserById(user.Id)!; Token = CreateToken(); UserId = user.Id; LastSeen = DateTime.Now; AccessToSalimax = user.AccessibleInstallations(product: 0).ToList().Count > 0; AccessToSalidomo = user.AccessibleInstallations(product: 1).ToList().Count > 0; - } private static String CreateToken() { - //var token = new Byte[24]; - //Random.Shared.NextBytes(token); - //return Convert.ToBase64String(token).Replace("/",""); return Guid.NewGuid().ToString("N"); } diff --git a/csharp/App/Backend/Websockets/WebsockerManager.cs b/csharp/App/Backend/Websockets/WebsockerManager.cs index 3f911db7e..e60b90596 100644 --- a/csharp/App/Backend/Websockets/WebsockerManager.cs +++ b/csharp/App/Backend/Websockets/WebsockerManager.cs @@ -5,6 +5,7 @@ using System.Text; using System.Text.Json; using InnovEnergy.App.Backend.Database; using InnovEnergy.App.Backend.DataTypes; +using InnovEnergy.Lib.Utils; namespace InnovEnergy.App.Backend.Websockets; @@ -21,6 +22,9 @@ public static class WebsocketManager foreach (var installationConnection in InstallationConnections){ if (installationConnection.Value.Product==0 && (DateTime.Now - installationConnection.Value.Timestamp) > TimeSpan.FromMinutes(1)){ installationConnection.Value.Status = -1; + Installation installation = Db.Installations.FirstOrDefault(f => f.Product == 0 && f.S3BucketId == installationConnection.Key); + installation.Status = -1; + installation.Apply(Db.Update); if (installationConnection.Value.Connections.Count > 0){InformWebsocketsForInstallation(installationConnection.Key);} } } @@ -40,12 +44,16 @@ public static class WebsocketManager // Console.WriteLine("installationConnection.Value.Timestamp is "+installationConnection.Value.Timestamp); // Console.WriteLine("diff is "+(DateTime.Now-installationConnection.Value.Timestamp)); + Installation installation = Db.Installations.FirstOrDefault(f => f.Product == 1 && f.S3BucketId == installationConnection.Key); + installation.Status = -1; + installation.Apply(Db.Update); + installationConnection.Value.Status = -1; if (installationConnection.Value.Connections.Count > 0){InformWebsocketsForInstallation(installationConnection.Key);} } } } - await Task.Delay(TimeSpan.FromMinutes(1)); + await Task.Delay(TimeSpan.FromMinutes(10)); } } diff --git a/csharp/Lib/S3Utils/S3.cs b/csharp/Lib/S3Utils/S3.cs index 0bd7eb99f..ac07cbc97 100644 --- a/csharp/Lib/S3Utils/S3.cs +++ b/csharp/Lib/S3Utils/S3.cs @@ -184,22 +184,7 @@ public static class S3 return null; } } - - // public static async Task PutBucket(this S3Region region, String name) - // { - // var request = new PutBucketRequest { BucketName = name }; - // - // var response = await region - // .GetS3Client() - // .PutBucketAsync(request); - // - // return response.HttpStatusCode switch - // { - // HttpStatusCode.OK => region.Bucket(name), - // _ => null - // }; - // } - + public static async Task PutCors(this S3Bucket bucket, CORSConfiguration corsConfiguration) { @@ -216,14 +201,15 @@ public static class S3 return response.HttpStatusCode == HttpStatusCode.OK; } - public static async Task DeleteBucket(this S3Bucket bucket) + public static async Task DeleteBucket(this S3Region region, String bucketName) { - var request = new DeleteBucketRequest { BucketName = bucket.Name }; - var response = await bucket + var request = new DeleteBucketRequest { BucketName = bucketName }; + + var response = await region .GetS3Client() .DeleteBucketAsync(request); - return response.HttpStatusCode == HttpStatusCode.OK; + return response.HttpStatusCode == HttpStatusCode.NoContent; } private static AmazonS3Client GetS3Client(this S3Url url ) => url.Bucket.GetS3Client(); diff --git a/firmware/Cerbo_Release/CerboReleaseFiles/dbus-fzsonick-48tl/config.py b/firmware/Cerbo_Release/CerboReleaseFiles/dbus-fzsonick-48tl/config.py index 53465e229..6e3d9f703 100644 --- a/firmware/Cerbo_Release/CerboReleaseFiles/dbus-fzsonick-48tl/config.py +++ b/firmware/Cerbo_Release/CerboReleaseFiles/dbus-fzsonick-48tl/config.py @@ -13,9 +13,9 @@ DEVICE_INSTANCE = 1 SERVICE_NAME_PREFIX = 'com.victronenergy.battery.' #s3 configuration -S3BUCKET = "637-c0436b6a-d276-4cd8-9c44-1eae86cf5d0e" -S3KEY = "EXOe9a2f9b47c34cf9f1b615b09" -S3SECRET = "S8MuM7k3KGAVw2iPiociaCfYVrJ5RXvozL1wY_f_i90" +S3BUCKET = "673-c0436b6a-d276-4cd8-9c44-1eae86cf5d0e" +S3KEY = "EXO270612dc3f57a61870220eea" +S3SECRET = "4fPVVN8JGnD9IY1k5RrrNUzo2L1IpR6gdSuGRB9pMWg" # driver configuration diff --git a/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/config.py b/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/config.py index 612759d55..595ed1bcb 100755 --- a/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/config.py +++ b/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/config.py @@ -54,6 +54,6 @@ INNOVENERGY_PROTOCOL_VERSION = '48TL200V3' # S3 Credentials -S3BUCKET = "425-c0436b6a-d276-4cd8-9c44-1eae86cf5d0e" -S3KEY = "EXO3fb358076b23f6daebe779ac" -S3SECRET = "HnspAdjwfRjtB_6vm0aH2BUYPsPOvZW6Hya_OU0gSLU" +S3BUCKET = "140-c0436b6a-d276-4cd8-9c44-1eae86cf5d0e" +S3KEY = "EXOa947c7fc5990a7a6f6c40860" +S3SECRET = "J1yOTLbYEO6cMxQ2wgIwe__ru9-_RH5BBtKzx_2JJHk" diff --git a/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/dbus-fzsonick-48tl.py b/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/dbus-fzsonick-48tl.py index f08209798..f34de575a 100755 --- a/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/dbus-fzsonick-48tl.py +++ b/firmware/Venus_Release/VenusReleaseFiles/dbus-fzsonick-48tl/dbus-fzsonick-48tl.py @@ -549,7 +549,8 @@ def create_update_task(modbus, service, batteries): elapsed_time = time.time() - start_time create_csv_files(csv_signals, statuses, node_numbers, alarms_number_list, warnings_number_list) - + print("11111111111111111111111111111111111111111111 elapsed time is ",elapsed_time) + # keep at most 1900 files at CSV_DIR for logging and aggregation manage_csv_files(CSV_DIR, 1900) @@ -561,7 +562,7 @@ def create_update_task(modbus, service, batteries): upload_status_to_innovenergy(_socket, statuses) - logging.debug('finished update cycle\n') +# logging.debug('finished update cycleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\n') alive = True diff --git a/firmware/Venus_Release/update_all_venus_installations.sh b/firmware/Venus_Release/update_all_venus_installations.sh index 3b8c6b5ab..b9dc7cc5b 100755 --- a/firmware/Venus_Release/update_all_venus_installations.sh +++ b/firmware/Venus_Release/update_all_venus_installations.sh @@ -15,7 +15,7 @@ echo -e "\n============================ Deploy ============================\n" # Steiger, Rheinau 10.2.0.188 failed with ssh -ip_addresses=("10.2.1.115" "10.2.0.238" "10.2.0.115" "10.2.0.160" "10.2.0.149") +ip_addresses=("10.2.0.219") # #ip_addresses=( #"10.2.1.70" diff --git a/typescript/frontend-marios2/package-lock.json b/typescript/frontend-marios2/package-lock.json index b8a7c6960..55246c23d 100644 --- a/typescript/frontend-marios2/package-lock.json +++ b/typescript/frontend-marios2/package-lock.json @@ -1,11 +1,11 @@ { - "name": "InnovEnergy", + "name": "Inesco Energy", "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "InnovEnergy", + "name": "Inesco Energy", "version": "2.0.0", "dependencies": { "@emotion/react": "11.9.0", diff --git a/typescript/frontend-marios2/package.json b/typescript/frontend-marios2/package.json index fb96cf903..fe0944d81 100644 --- a/typescript/frontend-marios2/package.json +++ b/typescript/frontend-marios2/package.json @@ -1,7 +1,7 @@ { - "name": "InnovEnergy", + "name": "c", "version": "2.0.0", - "title": "InnovEnergy", + "title": "Inesco Energy", "private": false, "dependencies": { "@emotion/react": "11.9.0", diff --git a/typescript/frontend-marios2/public/Logo.png b/typescript/frontend-marios2/public/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..38b67c0f459a8b20e55392678c2ad229d0dfb17e GIT binary patch literal 70005 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 - InnovEnergy + Inesco Energy diff --git a/typescript/frontend-marios2/src/App.tsx b/typescript/frontend-marios2/src/App.tsx index 3ac216888..2233a4448 100644 --- a/typescript/frontend-marios2/src/App.tsx +++ b/typescript/frontend-marios2/src/App.tsx @@ -18,7 +18,6 @@ import ForgotPassword from './components/ForgotPassword'; import { axiosConfigWithoutToken } from './Resources/axiosConfig'; import InstallationsContextProvider from './contexts/InstallationsContextProvider'; import AccessContextProvider from './contexts/AccessContextProvider'; -import WebSocketContextProvider from './contexts/WebSocketContextProvider'; import SalidomoInstallationTabs from './content/dashboards/SalidomoInstallations'; import { ProductIdContext } from './contexts/ProductIdContextProvider'; @@ -125,7 +124,7 @@ function App() { locale={language} defaultLocale="en" > - + - - - + } /> @@ -160,9 +157,7 @@ function App() { path={routes.salidomo_installations + '*'} element={ - - - + } /> @@ -175,7 +170,7 @@ function App() { }> - + ); diff --git a/typescript/frontend-marios2/src/Resources/images/Logo.png b/typescript/frontend-marios2/src/Resources/images/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..38b67c0f459a8b20e55392678c2ad229d0dfb17e GIT binary patch literal 70005 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 \ No newline at end of file diff --git a/typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.png b/typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..acfffcd031053c0d9d07d7191f4ced3938a5bf56 GIT binary patch literal 65560 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 WjeIz|H4`)mIb~p~pL@db#(x1t6GA8e literal 0 HcmV?d00001 diff --git a/typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.svg b/typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.svg new file mode 100644 index 000000000..c58778608 --- /dev/null +++ b/typescript/frontend-marios2/src/Resources/images/Logo_for_dark_bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/typescript/frontend-marios2/src/Resources/images/innovenergy-Logo_Speichern-mit-Salz_R_color.svg b/typescript/frontend-marios2/src/Resources/images/innovenergy-Logo_Speichern-mit-Salz_R_color.svg deleted file mode 100644 index 6b5ebc1a2..000000000 --- a/typescript/frontend-marios2/src/Resources/images/innovenergy-Logo_Speichern-mit-Salz_R_color.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - diff --git a/typescript/frontend-marios2/src/components/Footer/index.tsx b/typescript/frontend-marios2/src/components/Footer/index.tsx index 239c9a31e..c6567c78d 100644 --- a/typescript/frontend-marios2/src/components/Footer/index.tsx +++ b/typescript/frontend-marios2/src/components/Footer/index.tsx @@ -18,7 +18,7 @@ function Footer() { > - © 2024 - InnovEnergy AG + © 2024 - Inesco Energy Solutions AG - InnovEnergy AG + Inesco Energy Solutions AG diff --git a/typescript/frontend-marios2/src/components/ForgotPassword.tsx b/typescript/frontend-marios2/src/components/ForgotPassword.tsx index c44a4325c..4e61b6fa1 100644 --- a/typescript/frontend-marios2/src/components/ForgotPassword.tsx +++ b/typescript/frontend-marios2/src/components/ForgotPassword.tsx @@ -3,14 +3,11 @@ import { Box, Button, CircularProgress, - Container, - Grid, Modal, TextField, Typography, useTheme } from '@mui/material'; -import innovenergyLogo from 'src/Resources/innoveng_logo_on_orange.png'; import { UserContext } from 'src/contexts/userContext'; import { TokenContext } from 'src/contexts/tokenContext'; import Avatar from '@mui/material/Avatar'; @@ -18,6 +15,7 @@ import LockOutlinedIcon from '@mui/icons-material/LockOutlined'; import axiosConfig from 'src/Resources/axiosConfig'; import { useNavigate } from 'react-router-dom'; import routes from 'src/Resources/routes.json'; +import inescologo from '../Resources/images/Logo.svg'; interface ForgotPasswordPromps { resetPassword: () => void; @@ -73,16 +71,6 @@ function ForgotPassword() { return ( <> - - - - - innovenergy logo - - - - - - + + + inescologo + + + @@ -134,15 +127,15 @@ function ForgotPassword() { }} /> - {loading && } + {loading && }