diff options
| -rw-r--r-- | Backend/Api/Api/Api.csproj | 4 | ||||
| -rw-r--r-- | Backend/Api/Api/Controllers/AuthController.cs | 36 | ||||
| -rw-r--r-- | Backend/Api/Api/Interfaces/IUserService.cs | 2 | ||||
| -rw-r--r-- | Backend/Api/Api/Models/User.cs | 14 | ||||
| -rw-r--r-- | Backend/Api/Api/Program.cs | 11 | ||||
| -rw-r--r-- | Backend/Api/Api/Services/UserService.cs | 9 | 
6 files changed, 69 insertions, 7 deletions
diff --git a/Backend/Api/Api/Api.csproj b/Backend/Api/Api/Api.csproj index eeacb93..91e0755 100644 --- a/Backend/Api/Api/Api.csproj +++ b/Backend/Api/Api/Api.csproj @@ -11,8 +11,4 @@      <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />    </ItemGroup> -  <ItemGroup> -    <Folder Include="Controllers\" /> -  </ItemGroup> -  </Project> diff --git a/Backend/Api/Api/Controllers/AuthController.cs b/Backend/Api/Api/Controllers/AuthController.cs new file mode 100644 index 0000000..b75bd6d --- /dev/null +++ b/Backend/Api/Api/Controllers/AuthController.cs @@ -0,0 +1,36 @@ +using Api.Interfaces; +using Api.Models; +using Microsoft.AspNetCore.Mvc; + +namespace Api.Controllers +{ +    [Route("api/auth/")] +    public class AuthController : Controller +    { +        private readonly IUserService _userService; +        public AuthController(IUserService userService) +        { +            _userService = userService; +        } + +        public async Task<ActionResult<string>> Register([FromBody] Register creds) +        { +            //this is beyond scuffed and will be cleaned up later, when users,login and controllers are made +            User novi = new User(); +            novi.email = creds.email; +            novi.password = creds.password; +            novi.username = creds.username; +            novi.name = creds.name; +            novi.creationDate = DateTime.Now; +            novi._id = ""; + +            int ret= await _userService.createUser(novi); +            if (ret == -1) +                return BadRequest("email already exists"); +            if (ret == -2) +                return BadRequest("username already exists"); + +            return Ok(); +        } +    } +} diff --git a/Backend/Api/Api/Interfaces/IUserService.cs b/Backend/Api/Api/Interfaces/IUserService.cs index 63fbd18..a2fa0a1 100644 --- a/Backend/Api/Api/Interfaces/IUserService.cs +++ b/Backend/Api/Api/Interfaces/IUserService.cs @@ -4,7 +4,7 @@ namespace Api.Interfaces  {      public interface IUserService      { -        Task createUser(User user); +        Task<int> createUser(User user);          Task<List<User>> getUsers();          Task<User> getUserByEmail(String email);          Task<User> getUserByUsername(String username); diff --git a/Backend/Api/Api/Models/User.cs b/Backend/Api/Api/Models/User.cs index eb7d1e8..1d351d1 100644 --- a/Backend/Api/Api/Models/User.cs +++ b/Backend/Api/Api/Models/User.cs @@ -14,4 +14,18 @@ namespace Api.Models          public String password { get; set; }          public DateTime creationDate { get; set; }      } + +    public class Login +    { +        public String email { get; set; } +        public String password { get; set; } +    } + +    public class Register +    { +        public String name { get; set; } +        public String username { get; set; } +        public String email { get; set; } +        public String password { get; set; } +    }  } diff --git a/Backend/Api/Api/Program.cs b/Backend/Api/Api/Program.cs index 7ae8798..d00f39f 100644 --- a/Backend/Api/Api/Program.cs +++ b/Backend/Api/Api/Program.cs @@ -24,6 +24,17 @@ builder.Services.AddControllers();  builder.Services.AddEndpointsApiExplorer();  builder.Services.AddSwaggerGen(); +builder.Services.AddCors(options => +{ +    options.AddPolicy("CorsPolicy", +        builder => +            builder +            .AllowAnyOrigin() +            .AllowAnyMethod() +            .AllowAnyHeader() +            .AllowCredentials()); +}); +  var app = builder.Build();  // Configure the HTTP request pipeline. diff --git a/Backend/Api/Api/Services/UserService.cs b/Backend/Api/Api/Services/UserService.cs index 264085c..fc582b5 100644 --- a/Backend/Api/Api/Services/UserService.cs +++ b/Backend/Api/Api/Services/UserService.cs @@ -14,10 +14,15 @@ namespace Api.Services          } -        public async Task createUser(User user) +        public async Task<int> createUser(User user)          { -            await _users.InsertOneAsync(user); +            if (await _users.Find(x => x.email == user.email).FirstOrDefaultAsync() != null) +                return -1; //email already exists +            if (await _users.Find(x => x.username == user.username).FirstOrDefaultAsync() != null) +                return -2; //username already exists +            await _users.InsertOneAsync(user); +            return 1;          }          public async Task<User> deleteUser(string email)  | 
