Avoid null values in module and change status services

This commit is contained in:
2025-08-07 18:20:33 -06:00
parent 24a5fd28fb
commit 35a0a01221
17 changed files with 105 additions and 64 deletions

View File

@@ -62,7 +62,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{ModuleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<ModuleAdapter> ChangeModuleStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
ValueTask<ModuleAdapter?> ChangeModuleStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a Module by its identifier.
@@ -72,7 +72,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{ModuleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<ModuleAdapter> UpdateModule(ModuleAdapter entity, CancellationToken cancellationToken);
ValueTask<ModuleAdapter?> UpdateModule(ModuleAdapter entity, CancellationToken cancellationToken);
/// <summary>
/// Deletes a Module by its identifier.

View File

@@ -62,7 +62,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{PermissionAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<PermissionAdapter> ChangePermissionStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
ValueTask<PermissionAdapter?> ChangePermissionStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a Permission.
@@ -72,7 +72,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{PermissionAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<PermissionAdapter> UpdatePermission(PermissionAdapter entity, CancellationToken cancellationToken);
ValueTask<PermissionAdapter?> UpdatePermission(PermissionAdapter entity, CancellationToken cancellationToken);
/// <summary>
/// Deletes a Permission by its identifier.

View File

@@ -52,7 +52,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{RoleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<RoleAdapter> ChangeRoleStatus(string _id, Core.Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
ValueTask<RoleAdapter?> ChangeRoleStatus(string _id, Core.Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a Role.
@@ -62,7 +62,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{RoleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<RoleAdapter> UpdateRole(RoleAdapter entity, CancellationToken cancellationToken);
ValueTask<RoleAdapter?> UpdateRole(RoleAdapter entity, CancellationToken cancellationToken);
/// <summary>
/// Adds an application to the Role's list of applications.

View File

@@ -52,7 +52,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{TenantAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<TenantAdapter> ChangeTenantStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
ValueTask<TenantAdapter?> ChangeTenantStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a Tenant.
@@ -62,7 +62,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{TenantAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<TenantAdapter> UpdateTenant(TenantAdapter entity, CancellationToken cancellationToken);
ValueTask<TenantAdapter?> UpdateTenant(TenantAdapter entity, CancellationToken cancellationToken);
/// <summary>
/// Deletes a Tenant by its identifier.

View File

@@ -72,7 +72,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{UserAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<UserAdapter> ChangeUserStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
ValueTask<UserAdapter?> ChangeUserStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a User.
@@ -82,7 +82,7 @@ namespace Core.Thalos.Provider.Contracts
/// <returns>
/// A <see cref="ValueTask{UserAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
ValueTask<UserAdapter> UpdateUser(UserAdapter entity, CancellationToken cancellationToken);
ValueTask<UserAdapter?> UpdateUser(UserAdapter entity, CancellationToken cancellationToken);
/// <summary>
/// Logs in the User.

View File

@@ -11,7 +11,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Core.Blueprint.Mongo" Version="1.0.0" />
<PackageReference Include="Core.Blueprint.Mongo" Version="1.0.1" />
<PackageReference Include="Core.Blueprint.Redis" Version="1.0.2" />
<PackageReference Include="Mapster" Version="7.4.2-pre02" />
</ItemGroup>

View File

@@ -131,12 +131,17 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{ModuleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<ModuleAdapter> ChangeModuleStatus(string _id, StatusEnum newStatus, CancellationToken cancellationToken)
public async ValueTask<ModuleAdapter?> ChangeModuleStatus(string _id, StatusEnum newStatus, CancellationToken cancellationToken)
{
var entity = await repository.FindByIdAsync(_id);
entity.Status = newStatus;
await repository.ReplaceOneAsync(entity);
return entity;
if (entity is not null)
{
entity.Status = newStatus;
return repository.ReplaceOneAsync(entity).Result;
}
else return null;
}
/// <summary>
@@ -147,10 +152,10 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{ModuleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<ModuleAdapter> UpdateModule(ModuleAdapter entity, CancellationToken cancellationToken)
public async ValueTask<ModuleAdapter?> UpdateModule(ModuleAdapter entity, CancellationToken cancellationToken)
{
await repository.ReplaceOneAsync(entity);
return entity;
var updatedEntity = await repository.ReplaceOneAsync(entity);
return updatedEntity;
}
/// <summary>

View File

@@ -130,12 +130,17 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{PermissionAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<PermissionAdapter> ChangePermissionStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
public async ValueTask<PermissionAdapter?> ChangePermissionStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
{
var entity = await repository.FindByIdAsync(_id);
entity.Status = newStatus;
await repository.ReplaceOneAsync(entity);
return entity;
if (entity is not null)
{
entity.Status = newStatus;
return repository.ReplaceOneAsync(entity).Result;
}
else return null;
}
/// <summary>
@@ -146,10 +151,10 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{PermissionAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<PermissionAdapter> UpdatePermission(PermissionAdapter entity, CancellationToken cancellationToken)
public async ValueTask<PermissionAdapter?> UpdatePermission(PermissionAdapter entity, CancellationToken cancellationToken)
{
await repository.ReplaceOneAsync(entity);
return entity;
var updatedEntity = await repository.ReplaceOneAsync(entity);
return updatedEntity;
}
/// <summary>

View File

@@ -100,13 +100,17 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{RoleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<RoleAdapter> ChangeRoleStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
public async ValueTask<RoleAdapter?> ChangeRoleStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
{
var entity = await repository.FindByIdAsync(_id);
entity.Status = newStatus;
await repository.ReplaceOneAsync(entity);
return entity;
if (entity is not null)
{
entity.Status = newStatus;
return repository.ReplaceOneAsync(entity).Result;
}
else return null;
}
/// <summary>
@@ -117,10 +121,10 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{RoleAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<RoleAdapter> UpdateRole(RoleAdapter entity, CancellationToken cancellationToken)
public async ValueTask<RoleAdapter?> UpdateRole(RoleAdapter entity, CancellationToken cancellationToken)
{
await repository.ReplaceOneAsync(entity);
return entity;
var updatedEntity = await repository.ReplaceOneAsync(entity);
return updatedEntity;
}
/// <summary>

View File

@@ -99,13 +99,17 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{TenantAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<TenantAdapter> ChangeTenantStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
public async ValueTask<TenantAdapter?> ChangeTenantStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
{
var entity = await repository.FindByIdAsync(_id);
entity.Status = newStatus;
await repository.ReplaceOneAsync(entity);
return entity;
if (entity is not null)
{
entity.Status = newStatus;
return repository.ReplaceOneAsync(entity).Result;
}
else return null;
}
/// <summary>
@@ -116,10 +120,10 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <returns>
/// A <see cref="ValueTask{TenantAdapter}"/> representing the asynchronous execution of the service.
/// </returns>
public async ValueTask<TenantAdapter> UpdateTenant(TenantAdapter entity, CancellationToken cancellationToken)
public async ValueTask<TenantAdapter?> UpdateTenant(TenantAdapter entity, CancellationToken cancellationToken)
{
await repository.ReplaceOneAsync(entity);
return entity;
var updatedEntity = await repository.ReplaceOneAsync(entity);
return updatedEntity;
}
/// <summary>

View File

@@ -146,14 +146,17 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <param name="newStatus">The new status of the user.</param>
/// <returns>A <see cref="{Task{UserAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
public async ValueTask<UserAdapter> ChangeUserStatus(string _id, Core.Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
public async ValueTask<UserAdapter?> ChangeUserStatus(string _id, Core.Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken)
{
var entity = await repository.FindByIdAsync(_id);
entity.Status = newStatus;
await repository.ReplaceOneAsync(entity);
if (entity is not null)
{
entity.Status = newStatus;
return entity;
return repository.ReplaceOneAsync(entity).Result;
}
else return null;
}
/// <summary>
@@ -163,11 +166,10 @@ namespace Core.Thalos.Provider.Providers.Onboarding
/// <param name="_id">The User mongo identifier.</param>
/// <returns>A <see cref="{Task{UserAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
public async ValueTask<UserAdapter> UpdateUser(UserAdapter entity, CancellationToken cancellationToken)
public async ValueTask<UserAdapter?> UpdateUser(UserAdapter entity, CancellationToken cancellationToken)
{
await repository.ReplaceOneAsync(entity);
return entity;
var updatedEntity = await repository.ReplaceOneAsync(entity);
return updatedEntity;
}
/// <summary>