small fixes

This commit is contained in:
2025-10-09 20:00:48 +03:00
parent 65af07fffa
commit 4e75d48f1d

View File

@@ -36,19 +36,28 @@ end
local hashPass = crypt.generate(params.password, crypt.DefaultCost) local hashPass = crypt.generate(params.password, crypt.DefaultCost)
local unitID = string.sub(sha256.hash(session.__seed), 1, 16) local unitID = string.sub(sha256.hash(session.__seed), 1, 16)
-- First db query: check if username or email already exists -- First db query: check if username or email already exists among active users
local existing, err = db:query("SELECT 1 FROM units WHERE email = ? OR username = ? LIMIT 1", { local existing, err = db:query([[
SELECT 1
FROM units
WHERE (email = ? OR username = ?)
AND entry_status != 'deleted'
AND deleted_at IS NULL
LIMIT 1
]], {
params.email, params.email,
params.username params.username
}) })
if err ~= nil then if err ~= nil then
log.error("Email check failed: "..tostring(err)) log.error("Email check failed: "..tostring(err))
return session.response.send_error() close_db()
session.response.send_error()
end end
if existing and #existing > 0 then if existing and #existing > 0 then
return session.response.send_error(-32101, "Unit already exists") close_db()
session.response.send_error(-32101, "Unit is already exists")
end end
-- Second db query: insert new unit -- Second db query: insert new unit
@@ -63,15 +72,16 @@ local ctx, err = db:exec(
) )
if err ~= nil then if err ~= nil then
log.error("Insert failed: "..tostring(err)) log.error("Insert failed: "..tostring(err))
return session.response.send_error() close_db()
session.response.send_error("Failed to create unit")
end end
local res, err = ctx:wait() local res, err = ctx:wait()
if err ~= nil then if err ~= nil then
log.error("Insert confirmation failed: "..tostring(err)) log.error("Insert confirmation failed: "..tostring(err))
return session.response.send_error() close_db()
session.response.send_error("Failed to create unit")
end end
session.response.send({message = "Unit created successfully", unit_id = unitID})
close_db() close_db()
session.response.send({message = "Unit created successfully", unit_id = unitID})