Refactor repository and SQL procedures; add repo tests

This commit is contained in:
Aaron Po
2026-01-25 23:26:40 -05:00
parent a56ea77861
commit 68ff549635
28 changed files with 573 additions and 430 deletions

View File

@@ -1,7 +1,7 @@
CREATE OR ALTER PROCEDURE usp_CreateUserAccount
(
@UserAccountId UNIQUEIDENTIFIER = NULL,
@UserAccountId UNIQUEIDENTIFIER OUTPUT,
@Username VARCHAR(64),
@FirstName NVARCHAR(128),
@LastName NVARCHAR(128),
@@ -10,13 +10,10 @@ CREATE OR ALTER PROCEDURE usp_CreateUserAccount
)
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRANSACTION
SET NOCOUNT ON;
INSERT INTO UserAccount
(
UserAccountID,
Username,
FirstName,
LastName,
@@ -25,12 +22,12 @@ BEGIN
)
VALUES
(
COALESCE(@UserAccountId, NEWID()),
@Username,
@FirstName,
@LastName,
@DateOfBirth,
@Email
);
COMMIT TRANSACTION
SELECT @UserAccountId AS UserAccountId;
END;

View File

@@ -6,8 +6,6 @@ CREATE OR ALTER PROCEDURE usp_DeleteUserAccount
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRANSACTION
IF NOT EXISTS (SELECT 1 FROM UserAccount WHERE UserAccountId = @UserAccountId)
BEGIN
@@ -19,5 +17,4 @@ BEGIN
DELETE FROM UserAccount
WHERE UserAccountId = @UserAccountId;
COMMIT TRANSACTION
END;

View File

@@ -1,4 +1,3 @@
CREATE OR ALTER PROCEDURE usp_GetAllUserAccounts
AS
BEGIN

View File

@@ -1,6 +1,4 @@
CREATE OR ALTER PROCEDURE usp_GetUserAccountByEmail
(
CREATE OR ALTER PROCEDURE usp_GetUserAccountByEmail(
@Email VARCHAR(128)
)
AS

View File

@@ -1,6 +1,4 @@
CREATE OR ALTER PROCEDURE usp_GetUserAccountById
(
CREATE OR ALTER PROCEDURE USP_GetUserAccountById(
@UserAccountId UNIQUEIDENTIFIER
)
AS
@@ -18,4 +16,4 @@ BEGIN
Timer
FROM dbo.UserAccount
WHERE UserAccountID = @UserAccountId;
END;
END

View File

@@ -1,6 +1,4 @@
CREATE OR ALTER PROCEDURE usp_GetUserAccountByUsername
(
CREATE OR ALTER PROCEDURE usp_GetUserAccountByUsername(
@Username VARCHAR(64)
)
AS

View File

@@ -1,6 +1,4 @@
CREATE OR ALTER PROCEDURE usp_UpdateUserAccount
(
CREATE OR ALTER PROCEDURE usp_UpdateUserAccount(
@Username VARCHAR(64),
@FirstName NVARCHAR(128),
@LastName NVARCHAR(128),
@@ -10,26 +8,20 @@ CREATE OR ALTER PROCEDURE usp_UpdateUserAccount
)
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRANSACTION
IF NOT EXISTS (SELECT 1 FROM UserAccount WHERE UserAccountId = @UserAccountId)
BEGIN
RAISERROR('UserAccount with the specified ID does not exist.', 16,
1);
ROLLBACK TRANSACTION
RETURN
END
SET
NOCOUNT ON;
UPDATE UserAccount
SET
Username = @Username,
FirstName = @FirstName,
LastName = @LastName,
SET Username = @Username,
FirstName = @FirstName,
LastName = @LastName,
DateOfBirth = @DateOfBirth,
Email = @Email
Email = @Email
WHERE UserAccountId = @UserAccountId;
COMMIT TRANSACTION
IF @@ROWCOUNT = 0
BEGIN
THROW
50001, 'UserAccount with the specified ID does not exist.', 1;
END
END;