Compare commits
	
		
			1 Commits
		
	
	
		
			developmen
			...
			feature/ad
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 39341a6640 | 
| @@ -1,17 +0,0 @@ | |||||||
| **/bin/ |  | ||||||
| **/obj/ |  | ||||||
| **/.vs/ |  | ||||||
| **/.idea/ |  | ||||||
| **/.vscode/ |  | ||||||
| **/*.user |  | ||||||
| **/*.suo |  | ||||||
| **/*.swp |  | ||||||
| **/*.csproj.user |  | ||||||
| **/*.log |  | ||||||
| **/Properties/launchSettings.json |  | ||||||
| **/appsettings.Local.json |  | ||||||
| **/appsettings.*.Development.json |  | ||||||
| .git/ |  | ||||||
| .gitignore |  | ||||||
| Dockerfile |  | ||||||
| docker-compose*.yml |  | ||||||
| @@ -9,7 +9,8 @@ namespace Core.Thalos.Application.UseCases.Users.Input | |||||||
|         public string MiddleName { get; set; } = null!; |         public string MiddleName { get; set; } = null!; | ||||||
|         public string LastName { get; set; } = null!; |         public string LastName { get; set; } = null!; | ||||||
|         public string RoleId { get; set; } = null!; |         public string RoleId { get; set; } = null!; | ||||||
|         public string TenantId { get; set; } = null!; |         public string[] Companies { get; set; } = null!; | ||||||
|  |         public string[]? Projects { get; set; } | ||||||
|         public bool SendInvitation { get; set; } |         public bool SendInvitation { get; set; } | ||||||
|  |  | ||||||
|         public bool Validate() |         public bool Validate() | ||||||
|   | |||||||
| @@ -10,7 +10,8 @@ namespace Core.Thalos.Application.UseCases.Users.Input | |||||||
|         public string? MiddleName { get; set; } |         public string? MiddleName { get; set; } | ||||||
|         public string LastName { get; set; } = null!; |         public string LastName { get; set; } = null!; | ||||||
|         public string RoleId { get; set; } = null!; |         public string RoleId { get; set; } = null!; | ||||||
|         public string TenantId { get; set; } = null!; |         public string[] Companies { get; set; } = null!; | ||||||
|  |         public string[]? Projects { get; set; } | ||||||
|         public bool Validate() |         public bool Validate() | ||||||
|         { |         { | ||||||
|             return Email != null; |             return Email != null; | ||||||
|   | |||||||
| @@ -196,7 +196,6 @@ namespace Core.Thalos.Application.UseCases.Users | |||||||
|                     MiddleName = command.MiddleName, |                     MiddleName = command.MiddleName, | ||||||
|                     LastName = command.LastName, |                     LastName = command.LastName, | ||||||
|                     RoleId = command.RoleId, |                     RoleId = command.RoleId, | ||||||
|                     TenantId = command.TenantId, |  | ||||||
|                 }; |                 }; | ||||||
|  |  | ||||||
|                 var result = await _thalosDALService.CreateUserAsync(request, command.SendInvitation, cancellationToken).ConfigureAwait(false); |                 var result = await _thalosDALService.CreateUserAsync(request, command.SendInvitation, cancellationToken).ConfigureAwait(false); | ||||||
| @@ -235,7 +234,6 @@ namespace Core.Thalos.Application.UseCases.Users | |||||||
|                     MiddleName = command.MiddleName, |                     MiddleName = command.MiddleName, | ||||||
|                     LastName = command.LastName, |                     LastName = command.LastName, | ||||||
|                     RoleId = command.RoleId, |                     RoleId = command.RoleId, | ||||||
|                     TenantId = command.TenantId |  | ||||||
|                 }; |                 }; | ||||||
|  |  | ||||||
|                 var result = await _thalosDALService.UpdateUserAsync(request, request._Id, cancellationToken).ConfigureAwait(false); |                 var result = await _thalosDALService.UpdateUserAsync(request, request._Id, cancellationToken).ConfigureAwait(false); | ||||||
|   | |||||||
| @@ -11,6 +11,7 @@ namespace Core.Thalos.Application.UseCases.Users.Validator | |||||||
|             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); |             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); | ||||||
|             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); |             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); | ||||||
|             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); |             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); | ||||||
|  |             RuleFor(i => i.Companies).NotEmpty().NotNull().OverridePropertyName(x => x.Companies).WithName("Companies").WithMessage("Companies is Obligatory."); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,6 +11,7 @@ namespace Core.Thalos.Application.UseCases.Users.Validator | |||||||
|             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); |             RuleFor(i => i.Name).NotEmpty().NotNull().OverridePropertyName(x => x.Name).WithName("User Name").WithMessage("User Name is Obligatory."); | ||||||
|             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); |             RuleFor(i => i.LastName).NotEmpty().NotNull().OverridePropertyName(x => x.LastName).WithName("User LastName").WithMessage("User LastName is Obligatory."); | ||||||
|             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); |             RuleFor(i => i.RoleId).NotEmpty().NotNull().OverridePropertyName(x => x.RoleId).WithName("RoleId").WithMessage("RoleId is Obligatory."); | ||||||
|  |             RuleFor(i => i.Companies).NotEmpty().NotNull().OverridePropertyName(x => x.Companies).WithName("Companies").WithMessage("Companies is Obligatory."); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,6 +7,5 @@ | |||||||
|         public string? MiddleName { get; set; } |         public string? MiddleName { get; set; } | ||||||
|         public string LastName { get; set; } = null!; |         public string LastName { get; set; } = null!; | ||||||
|         public string RoleId { get; set; } = null!; |         public string RoleId { get; set; } = null!; | ||||||
|         public string TenantId { get; set; } = null!; |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,9 +7,9 @@ | |||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|  |     <PackageReference Include="Core.Blueprint.Storage" Version="1.0.1" /> | ||||||
|  |     <PackageReference Include="Core.Thalos.BuildingBlocks" Version="1.1.4" /> | ||||||
|     <PackageReference Include="Lib.Architecture.BuildingBlocks" Version="1.0.0" /> |     <PackageReference Include="Lib.Architecture.BuildingBlocks" Version="1.0.0" /> | ||||||
|     <PackageReference Include="Core.Blueprint.Storage" Version="1.0.0" /> |  | ||||||
|     <PackageReference Include="Core.Thalos.BuildingBlocks" Version="1.0.5" /> |  | ||||||
|     <PackageReference Include="Refit" Version="8.0.0" /> |     <PackageReference Include="Refit" Version="8.0.0" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -55,7 +55,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the modules. |         /// Gets all the modules. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(typeof(IEnumerable<ModuleAdapter>), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -111,7 +111,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -136,7 +136,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new module. |         /// Creates a new module. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -155,7 +155,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full module by mongo identifier. |         /// Updates a full module by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -174,7 +174,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full module by mongo identifier. |         /// Deletes a full module by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -194,7 +194,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(typeof(ModuleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|   | |||||||
| @@ -55,7 +55,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the permissions. |         /// Gets all the permissions. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(typeof(IEnumerable<PermissionAdapter>), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -111,7 +111,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -136,7 +136,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new permission. |         /// Creates a new permission. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -155,7 +155,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full permission by mongo identifier. |         /// Updates a full permission by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -174,7 +174,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full permission by mongo identifier. |         /// Deletes a full permission by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -194,7 +194,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(typeof(PermissionAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|   | |||||||
| @@ -58,7 +58,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the roles. |         /// Gets all the roles. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(typeof(IEnumerable<RoleAdapter>), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -78,7 +78,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -99,7 +99,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new role. |         /// Creates a new role. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -118,7 +118,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full role by mongo identifier. |         /// Updates a full role by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -137,7 +137,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full role by mongo identifier. |         /// Deletes a full role by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -157,7 +157,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -179,7 +179,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("AddApplication")] |         [Route("AddApplication")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -201,7 +201,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete] |         [HttpDelete] | ||||||
|         [Route("RemoveApplication")] |         [Route("RemoveApplication")] | ||||||
|         [ProducesResponseType(typeof(RoleAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|   | |||||||
| @@ -52,7 +52,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Gets all the Tenants. |         /// Gets all the Tenants. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet("GetAll")] |         [HttpGet("GetAll")] | ||||||
|         [ProducesResponseType(typeof(IEnumerable<TenantAdapter>), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -72,7 +72,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -97,7 +97,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Creates a new Tenant. |         /// Creates a new Tenant. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost("Create")] |         [HttpPost("Create")] | ||||||
|         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -116,7 +116,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full Tenant by mongo identifier. |         /// Updates a full Tenant by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -135,7 +135,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full Tenant by mongo identifier. |         /// Deletes a full Tenant by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -155,7 +155,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(typeof(TenantAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|   | |||||||
| @@ -66,7 +66,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpGet] |         [HttpGet] | ||||||
|         [Route("GetAll")] |         [Route("GetAll")] | ||||||
|         [ProducesResponseType(typeof(IEnumerable<UserAdapter>), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -87,7 +87,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetById")] |         [Route("GetById")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -110,7 +110,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("GetByEmail")] |         [Route("GetByEmail")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -132,7 +132,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("Create")] |         [Route("Create")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -152,7 +152,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Updates a full user by mongo identifier. |         /// Updates a full user by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPut("Update")] |         [HttpPut("Update")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -173,7 +173,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Deletes a full user by mongo identifier. |         /// Deletes a full user by mongo identifier. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpDelete("Delete")] |         [HttpDelete("Delete")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -194,7 +194,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Logs in the user. |         /// Logs in the user. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch("LoginUser")] |         [HttpPatch("LoginUser")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -215,7 +215,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// Logs in the user. |         /// Logs in the user. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch("LogOutUser")] |         [HttpPatch("LogOutUser")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] |         [ProducesResponseType(typeof(Notification), StatusCodes.Status412PreconditionFailed)] | ||||||
| @@ -236,7 +236,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPatch] |         [HttpPatch] | ||||||
|         [Route("ChangeStatus")] |         [Route("ChangeStatus")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
| @@ -259,7 +259,7 @@ namespace Core.Thalos.Service.API.Controllers | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         [Route("ValidateExistence")] |         [Route("ValidateExistence")] | ||||||
|         [ProducesResponseType(typeof(UserAdapter), StatusCodes.Status200OK)] |         [ProducesResponseType(StatusCodes.Status200OK)] | ||||||
|         [ProducesResponseType(StatusCodes.Status204NoContent)] |         [ProducesResponseType(StatusCodes.Status204NoContent)] | ||||||
|         [ProducesResponseType(StatusCodes.Status400BadRequest)] |         [ProducesResponseType(StatusCodes.Status400BadRequest)] | ||||||
|         [ProducesResponseType(StatusCodes.Status401Unauthorized)] |         [ProducesResponseType(StatusCodes.Status401Unauthorized)] | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ | |||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="Core.Blueprint.Logging" Version="1.0.0" /> |     <PackageReference Include="Core.Blueprint.Logging" Version="1.0.1" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|  |  | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ | |||||||
|       "dotnetRunMessages": true, |       "dotnetRunMessages": true, | ||||||
|       "launchBrowser": true, |       "launchBrowser": true, | ||||||
|       "launchUrl": "swagger", |       "launchUrl": "swagger", | ||||||
|       "applicationUrl": "https://localhost:44312;http://localhost:5145", |       "applicationUrl": "https://localhost:7253;http://localhost:5145", | ||||||
|       "environmentVariables": { |       "environmentVariables": { | ||||||
|         "ASPNETCORE_ENVIRONMENT": "Local" |         "ASPNETCORE_ENVIRONMENT": "Local" | ||||||
|       } |       } | ||||||
|   | |||||||
| @@ -7,19 +7,19 @@ | |||||||
|   }, |   }, | ||||||
|   "AllowedHosts": "*", |   "AllowedHosts": "*", | ||||||
|   "LocalGateways": { |   "LocalGateways": { | ||||||
|     "ThalosDAL": "https://localhost:44359/api" |     "ThalosDAL": "https://localhost:7031/api" | ||||||
|   }, |   }, | ||||||
|   "ServiceSettings": { |   "ServiceSettings": { | ||||||
|     "ApplicationName": "thalos", |     "ApplicationName": "thalos", | ||||||
|     "LayerName": "service" |     "LayerName": "service" | ||||||
|   }, |   }, | ||||||
|   "Vault": { |   "Vault": { | ||||||
|     "Address": "https://vault.dream-views.com/", |     "Address": "http://100.123.31.103:8200", | ||||||
|     "Token": "hvs.TGz6P3AsKpYuODMrs11Msiza", |     "Token": "hvs.e37LQvLuPhTd5ALS5QQ03Cwm", | ||||||
|     "SecretMount": "thalos" |     "SecretMount": "secret" | ||||||
|   }, |   }, | ||||||
|   "IdentityProviders": { |   "IdentityProviders": { | ||||||
|     "Google": true, |     "Google": true, | ||||||
|     "Azure": false |     "Azure": true | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										39
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,39 +0,0 @@ | |||||||
| # ============ Build ============ |  | ||||||
| FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build |  | ||||||
| WORKDIR /src |  | ||||||
|  |  | ||||||
| # (Opcional) si usas nuget.config en el root |  | ||||||
| COPY nuget.config* ./ |  | ||||||
|  |  | ||||||
| # Copiamos csprojs primero para cachear restore |  | ||||||
| COPY Core.Thalos.Application/Core.Thalos.Application.csproj Core.Thalos.Application/ |  | ||||||
| COPY Core.Thalos.External/Core.Thalos.External.csproj Core.Thalos.External/ |  | ||||||
| COPY Core.Thalos.Service.API/Core.Thalos.Service.API.csproj Core.Thalos.Service.API/ |  | ||||||
|  |  | ||||||
| RUN dotnet restore Core.Thalos.Service.API/Core.Thalos.Service.API.csproj |  | ||||||
|  |  | ||||||
| # Copia del resto y build |  | ||||||
| COPY . . |  | ||||||
| RUN dotnet build Core.Thalos.Service.API/Core.Thalos.Service.API.csproj -c Release -o /app/build |  | ||||||
|  |  | ||||||
| # ============ Publish ============ |  | ||||||
| FROM build AS publish |  | ||||||
| RUN dotnet publish Core.Thalos.Service.API/Core.Thalos.Service.API.csproj -c Release -o /app/publish --no-restore |  | ||||||
|  |  | ||||||
| # ============ Runtime ============ |  | ||||||
| FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final |  | ||||||
| # (Opcional) curl para healthcheck HTTP |  | ||||||
| RUN apt-get update && apt-get install -y --no-install-recommends curl && rm -rf /var/lib/apt/lists/* |  | ||||||
|  |  | ||||||
| WORKDIR /app |  | ||||||
| EXPOSE 8080 |  | ||||||
|  |  | ||||||
| # Usuario no-root |  | ||||||
| RUN useradd -m appuser |  | ||||||
| USER appuser |  | ||||||
|  |  | ||||||
| ENV ASPNETCORE_URLS=http://+:8080 |  | ||||||
|  |  | ||||||
| # La app usa UserSecrets y EnvironmentVariables (no metas secretos en la imagen). :contentReference[oaicite:4]{index=4} |  | ||||||
| COPY --from=publish /app/publish ./ |  | ||||||
| ENTRYPOINT ["dotnet", "Core.Thalos.Service.API.dll"] |  | ||||||
| @@ -1,9 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <configuration> |  | ||||||
|   <packageSources> |  | ||||||
|     <!-- Tu BaGet primero --> |  | ||||||
|     <add key="BaGet" value="https://nuget.dream-views.com/v3/index.json" protocolVersion="3" /> |  | ||||||
|     <!-- NuGet oficial como fallback (si quieres) --> |  | ||||||
|     <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> |  | ||||||
|   </packageSources> |  | ||||||
| </configuration> |  | ||||||
		Reference in New Issue
	
	Block a user