mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-05-31 17:53:59 +00:00
43 lines
990 B
Transact-SQL
43 lines
990 B
Transact-SQL
CREATE OR ALTER PROCEDURE dbo.USP_RegisterUser(
|
|
@Username VARCHAR(64),
|
|
@FirstName NVARCHAR(128),
|
|
@LastName NVARCHAR(128),
|
|
@DateOfBirth DATETIME,
|
|
@Email VARCHAR(128),
|
|
@Hash NVARCHAR(MAX)
|
|
)
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
DECLARE @UserAccountId_ UNIQUEIDENTIFIER;
|
|
|
|
BEGIN TRANSACTION;
|
|
|
|
EXEC usp_CreateUserAccount
|
|
@UserAccountId = @UserAccountId_ OUTPUT,
|
|
@Username = @Username,
|
|
@FirstName = @FirstName,
|
|
@LastName = @LastName,
|
|
@DateOfBirth = @DateOfBirth,
|
|
@Email = @Email;
|
|
|
|
IF @UserAccountId_ IS NULL
|
|
BEGIN
|
|
THROW 50000, 'Failed to create user account.', 1;
|
|
END
|
|
|
|
INSERT INTO dbo.UserCredential
|
|
(UserAccountId, Hash)
|
|
VALUES (@UserAccountId_, @Hash);
|
|
|
|
IF @@ROWCOUNT = 0
|
|
BEGIN
|
|
THROW 50002, 'Failed to create user credential.', 1;
|
|
END
|
|
COMMIT TRANSACTION;
|
|
|
|
SELECT @UserAccountId_ AS UserAccountId;
|
|
END
|