From a15cc00595d67e6b27adcfff71ae89d5ab6a517a Mon Sep 17 00:00:00 2001 From: Janus Knudsen Date: Wed, 5 Mar 2025 16:56:58 +0100 Subject: [PATCH] WIP cozy --- .../SetupConfiguration.cs | 10 ++----- Database/RolesPermissionSystem/Setup.cs | 27 +++++++++---------- .../Create/CreateOrganizationHandler.cs | 18 ++++--------- .../Users/Create/CreateUserController.cs | 1 + 4 files changed, 20 insertions(+), 36 deletions(-) diff --git a/Database/ConfigurationManagementSystem/SetupConfiguration.cs b/Database/ConfigurationManagementSystem/SetupConfiguration.cs index 4093a53..ae0db21 100644 --- a/Database/ConfigurationManagementSystem/SetupConfiguration.cs +++ b/Database/ConfigurationManagementSystem/SetupConfiguration.cs @@ -5,19 +5,13 @@ using System.Data; namespace PlanTempus.Database.ConfigurationManagementSystem; -public class SetupConfiguration : IDbConfigure +public class SetupConfiguration(IDbConnectionFactory connectionFactory) : IDbConfigure { public class Command { } - private readonly IDbConnectionFactory _connectionFactory; - - public SetupConfiguration(IDbConnectionFactory connectionFactory) - { - _connectionFactory = connectionFactory; - } public void With(Command notInUse, ConnectionStringParameters parameters = null) { - using var conn = parameters is null ? _connectionFactory.Create() : _connectionFactory.Create(parameters); + using var conn = parameters is null ? connectionFactory.Create() : connectionFactory.Create(parameters); using var transaction = conn.OpenWithTransaction(); try diff --git a/Database/RolesPermissionSystem/Setup.cs b/Database/RolesPermissionSystem/Setup.cs index b405fc9..831b4fa 100644 --- a/Database/RolesPermissionSystem/Setup.cs +++ b/Database/RolesPermissionSystem/Setup.cs @@ -22,26 +22,23 @@ namespace PlanTempus.Database.RolesPermissionSystem /// The schema name where the tables will be created. public void CreateSystem() { - //if (!Validations.IsValidSchemaName(_schema)) // throw new ArgumentException("Invalid schema name", _schema); - using (var transaction = _db.BeginTransaction()) + using var transaction = _db.BeginTransaction(); + try { - try - { - CreateRolesTable(); - CreatePermissionsTable(); - CreatePermissionTypesTable(); - CreateRolePermissionsTable(); + CreateRolesTable(); + CreatePermissionsTable(); + CreatePermissionTypesTable(); + CreateRolePermissionsTable(); - transaction.Commit(); - } - catch (Exception ex) - { - transaction.Rollback(); - throw new InvalidOperationException("Failed to create system tables.", ex); - } + transaction.Commit(); + } + catch (Exception ex) + { + transaction.Rollback(); + throw new InvalidOperationException("Failed to create system tables.", ex); } } diff --git a/PlanTempus.Components/Organizations/Create/CreateOrganizationHandler.cs b/PlanTempus.Components/Organizations/Create/CreateOrganizationHandler.cs index 51436ea..13f72b4 100644 --- a/PlanTempus.Components/Organizations/Create/CreateOrganizationHandler.cs +++ b/PlanTempus.Components/Organizations/Create/CreateOrganizationHandler.cs @@ -3,25 +3,17 @@ using PlanTempus.Core.Sql; namespace PlanTempus.Components.Organizations.Create { - public class CreateOrganizationHandler + public class CreateOrganizationHandler(IDatabaseOperations databaseOperations) { - private readonly IDatabaseOperations _databaseOperations; - - public CreateOrganizationHandler(IDatabaseOperations databaseOperations) - { - _databaseOperations = databaseOperations; - } - public async Task Handle(CreateOrganizationCommand command) { - using var db = _databaseOperations.CreateScope(nameof(CreateOrganizationHandler)); + using var db = databaseOperations.CreateScope(nameof(CreateOrganizationHandler)); try { - var sql = @" - INSERT INTO organizations (connection_string, created_by) - VALUES (@ConnectionString, @CreatedBy) - RETURNING id, created_at"; + var sql = @"INSERT INTO organizations (connection_string, created_by) + VALUES (@ConnectionString, @CreatedBy) + RETURNING id, created_at"; var data = await db.Connection.QuerySqlAsync(sql, new diff --git a/PlanTempus.Components/Users/Create/CreateUserController.cs b/PlanTempus.Components/Users/Create/CreateUserController.cs index dc6eebc..7ed1e0f 100644 --- a/PlanTempus.Components/Users/Create/CreateUserController.cs +++ b/PlanTempus.Components/Users/Create/CreateUserController.cs @@ -18,6 +18,7 @@ namespace PlanTempus.Components.Users.Create } var result = await handler.Handle(command); + return CreatedAtAction( nameof(CreateUserCommand), "GetUser",