From becf51495f4b5ced27ab43c11b09231abbbd8fa4 Mon Sep 17 00:00:00 2001 From: Alejandro Sarmiento Date: Sun, 18 Feb 2024 14:14:42 +0100 Subject: [PATCH] Clases para auth identity e interfaz IAuthService --- .../Contracts/Identity/IAuthService.cs | 10 ++++++++++ .../Models/Identity/AuthRequest.cs | 8 ++++++++ .../Models/Identity/AuthResponse.cs | 10 ++++++++++ .../Models/Identity/JwtSettings.cs | 11 +++++++++++ .../Models/Identity/RegistrationRequest.cs | 12 ++++++++++++ .../Models/Identity/RegistrationResponse.cs | 11 +++++++++++ 6 files changed, 62 insertions(+) create mode 100644 CleanArchitecture/CleanArchitecture.Application/Contracts/Identity/IAuthService.cs create mode 100644 CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthRequest.cs create mode 100644 CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthResponse.cs create mode 100644 CleanArchitecture/CleanArchitecture.Application/Models/Identity/JwtSettings.cs create mode 100644 CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationRequest.cs create mode 100644 CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationResponse.cs diff --git a/CleanArchitecture/CleanArchitecture.Application/Contracts/Identity/IAuthService.cs b/CleanArchitecture/CleanArchitecture.Application/Contracts/Identity/IAuthService.cs new file mode 100644 index 0000000..3cedfcc --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.Application/Contracts/Identity/IAuthService.cs @@ -0,0 +1,10 @@ +using CleanArchitecture.Application.Models.Identity; + +namespace CleanArchitecture.Application.Contracts.Identity +{ + public interface IAuthService + { + Task Login(AuthRequest request); + Task Register(RegistrationRequest request); + } +} diff --git a/CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthRequest.cs b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthRequest.cs new file mode 100644 index 0000000..ed2fe06 --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthRequest.cs @@ -0,0 +1,8 @@ +namespace CleanArchitecture.Application.Models.Identity +{ + public class AuthRequest + { + public string Email { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + } +} diff --git a/CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthResponse.cs b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthResponse.cs new file mode 100644 index 0000000..f85e5b6 --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/AuthResponse.cs @@ -0,0 +1,10 @@ +namespace CleanArchitecture.Application.Models.Identity +{ + public class AuthResponse + { + public string Id { get; set; } = string.Empty; + public string Username { get; set; } = string.Empty; + public string Email { get; set; } = string.Empty; + public string Token { get; set; } = string.Empty; + } +} diff --git a/CleanArchitecture/CleanArchitecture.Application/Models/Identity/JwtSettings.cs b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/JwtSettings.cs new file mode 100644 index 0000000..25fa665 --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/JwtSettings.cs @@ -0,0 +1,11 @@ + +namespace CleanArchitecture.Application.Models.Identity +{ + public class JwtSettings + { + public string Key { get; set; } = string.Empty; + public string Issuer { get; set; } = string.Empty; + public string Audience { get; set; } = string.Empty; + public double DuracionInMinutes { get; set; } + } +} diff --git a/CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationRequest.cs b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationRequest.cs new file mode 100644 index 0000000..d7cf045 --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationRequest.cs @@ -0,0 +1,12 @@ + +namespace CleanArchitecture.Application.Models.Identity +{ + public class RegistrationRequest + { + public string Nombre { get; set; } = string.Empty; + public string Apellidos { get; set; } = string.Empty; + public string Email { get; set; } = string.Empty; + public string Username { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + } +} diff --git a/CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationResponse.cs b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationResponse.cs new file mode 100644 index 0000000..c3a851c --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.Application/Models/Identity/RegistrationResponse.cs @@ -0,0 +1,11 @@ + +namespace CleanArchitecture.Application.Models.Identity +{ + public class RegistrationResponse + { + public string UserId { get; set; } = string.Empty; + public string Username { get; set; } = string.Empty; + public string Email { get; set; } = string.Empty; + public string Token { get; set; } = string.Empty; + } +}