passed all postman tests!

This commit is contained in:
Annika
2022-08-02 11:24:59 -06:00
parent dd93607b5b
commit 5691fe7575
8 changed files with 64 additions and 22 deletions
+19 -3
View File
@@ -45,7 +45,15 @@ namespace keepr.Controllers
try
{
Account userInfo = await HttpContext.GetUserInfoAsync<Account>();
Vault vault = _vs.GetById(vaultId, userInfo.Id);
Vault vault;
if (userInfo == null)
{
vault = _vs.GetByIdAnon(vaultId);
}
else
{
vault = _vs.GetById(vaultId, userInfo.Id);
}
return Ok(vault);
}
catch (System.Exception e)
@@ -60,8 +68,16 @@ namespace keepr.Controllers
try
{
Account userInfo = await HttpContext.GetUserInfoAsync<Account>();
Vault vault = _vs.GetById(vaultId, userInfo.Id);
List<Keep> keeps = _vks.GetVaultKeeps(vault.Id);
Vault vault;
if (userInfo == null)
{
vault = _vs.GetByIdAnon(vaultId);
}
else
{
vault = _vs.GetById(vaultId, userInfo.Id);
}
List<KeepVaultViewModel> keeps = _vks.GetVaultKeeps(vault.Id);
return Ok(keeps);
}
catch (System.Exception e)
+4 -4
View File
@@ -20,8 +20,8 @@ namespace keepr.Models
// shares int - stretch goal
}
// public class KeepVaultViewModel : Keep
// {
// public int MyProperty { get; set; }
// }
public class KeepVaultViewModel : Keep
{
public int VaultKeepId { get; set; }
}
}
+7 -6
View File
@@ -37,13 +37,14 @@ namespace keepr.Repositories
public Keep Create(Keep keep)
{
string sql = @"
INSERT INTO keeps
(creatorId, name, description, img)
VALUES
(@CreatorId, @Name, @Description, @Img);
SELECT LAST_INSERT_ID();
INSERT INTO keeps
(creatorId, name, description, img)
VALUES
(@CreatorId, @Name, @Description, @Img);
SELECT LAST_INSERT_ID();
";
keep.Id = _db.ExecuteScalar<int>(sql, keep);
int keepId = _db.ExecuteScalar<int>(sql, keep);
keep = GetById(keepId);
return keep;
}
+5 -3
View File
@@ -68,12 +68,13 @@ namespace keepr.Repositories
}
internal List<Keep> GetVaultKeeps(int vaultId)
internal List<KeepVaultViewModel> GetVaultKeeps(int vaultId)
{
string sql = @"
SELECT
a.*,
k.*
k.*,
vk.id
FROM keeps k
JOIN accounts a
ON a.id = k.creatorId
@@ -81,9 +82,10 @@ namespace keepr.Repositories
ON vk.keepId = k.id
WHERE vk.vaultId = @vaultId;
";
return _db.Query<Profile, Keep, Keep>(sql, (prof, keep) =>
return _db.Query<Profile, KeepVaultViewModel, int, KeepVaultViewModel>(sql, (prof, keep, vkid) =>
{
keep.Creator = prof;
keep.VaultKeepId = vkid;
return keep;
}, new {vaultId}).ToList();
}
+5 -2
View File
@@ -50,7 +50,8 @@ namespace keepr.Repositories
(@CreatorId, @Name, @Description, @IsPrivate);
SELECT LAST_INSERT_ID();
";
vaultData.Id = _db.ExecuteScalar<int>(sql, vaultData);
int vaultId = _db.ExecuteScalar<int>(sql, vaultData);
vaultData = GetById(vaultId);
return vaultData;
}
@@ -66,11 +67,13 @@ namespace keepr.Repositories
ON v.creatorId = a.id
WHERE v.id = @id;
";
return _db.Query<Profile, Vault, Vault>(sql, (prof, vaul) =>
Vault vault = _db.Query<Profile, Vault, Vault>(sql, (prof, vaul) =>
{
vaul.Creator = prof;
return vaul;
}, new {id}).FirstOrDefault();
return vault;
}
internal Vault Update(Vault update)
+8 -2
View File
@@ -38,8 +38,14 @@ namespace keepr.Services
internal Keep GetById(int id)
{
_repo.IncViews(id);
return _repo.GetById(id);
_repo.IncViews(id);
Keep keep = _repo.GetById(id);
if (keep == null)
{
throw new Exception("No keep for you!");
}
return keep;
}
internal Keep CheckById(int id)
+1 -1
View File
@@ -68,7 +68,7 @@ namespace keepr.Services
return _repo.Remove(vaultKeep.Id);
}
internal List<Keep> GetVaultKeeps(int vaultId)
internal List<KeepVaultViewModel> GetVaultKeeps(int vaultId)
{
return _repo.GetVaultKeeps(vaultId);
}
+15 -1
View File
@@ -41,7 +41,21 @@ namespace keepr.Services
{
throw new Exception("No vault for you!");
}
if (vault.CreatorId != userId && vault.IsPrivate == true)
if (vault.IsPrivate == true && vault.CreatorId != userId)
{
throw new Exception("No vault for you!");
}
return vault;
}
internal Vault GetByIdAnon(int vaultId)
{
Vault vault = _repo.GetById(vaultId);
if (vault == null)
{
throw new Exception("No vault for you!");
}
if (vault.IsPrivate == true)
{
throw new Exception("No vault for you!");
}