Lots of work!

This commit is contained in:
tidusjar 2016-02-26 14:19:02 +00:00
parent 8f0ca3d1c4
commit 448cd8d92e
52 changed files with 6277 additions and 250 deletions

View file

@ -1,4 +1,11 @@
using System;
using System.Dynamic;
using Nancy;
using Nancy.Authentication.Forms;
using Nancy.Extensions;
using RequestPlex.Core;
namespace RequestPlex.UI.Modules
{
@ -6,7 +13,58 @@ namespace RequestPlex.UI.Modules
{
public LoginModule()
{
Get["/"] = _ => View["Login/Index"];
Get["/login"] = _ =>
{
{
dynamic model = new ExpandoObject();
model.Errored = Request.Query.error.HasValue;
return View["Login/Index", model];
}
};
Get["/logout"] = x => this.LogoutAndRedirect("~/");
Post["/login"] = x =>
{
var userId = UserMapper.ValidateUser((string)this.Request.Form.Username, (string)this.Request.Form.Password);
if (userId == null)
{
return this.Context.GetRedirect("~/login?error=true&username=" + (string)this.Request.Form.Username);
}
DateTime? expiry = null;
if (Request.Form.RememberMe.HasValue)
{
expiry = DateTime.Now.AddDays(7);
}
return this.LoginAndRedirect(userId.Value, expiry);
};
Get["/register"] = x => {
{
dynamic model = new ExpandoObject();
model.Errored = Request.Query.error.HasValue;
return View["Login/Register", model];
}
};
Post["/register"] = x =>
{
var exists = UserMapper.DoUsersExist();
if (exists)
{
return Context.GetRedirect("~/register?error=true&username=" + (string)Request.Form.Username);
}
var userId = UserMapper.CreateUser(Request.Form.Username, Request.Form.Password);
return this.LoginAndRedirect((Guid)userId);
};
}
}
}