public async Task <IActionResult> CreateList( [FromBody, Bind("Listidentifier", "Keyword")] AuthorizationModel listAuth) { if (!listAuth.Validate()) { return(BadRequest(ErrorModel.BadRequest())); } listAuth.LowerIdentifier(); if (db.Lists.FirstOrDefault(l => l.Identifier == listAuth.ListIdentifier) != null) { return(BadRequest(ErrorModel.AlreadyExists())); } var list = new List(listAuth.ListIdentifier, listAuth.Keyword); var masterKey = SecureRandom.GenerateMasterKey(32); list.MasterKeyHash = Hashing.CreatePasswordHash(masterKey); await db.Lists.AddAsync(list); await db.SaveChangesAsync(); var outList = new ListCreated(list, masterKey); return(Created("list", outList)); }