ilk
This commit is contained in:
296
svc/queries/user_detail.go
Normal file
296
svc/queries/user_detail.go
Normal file
@@ -0,0 +1,296 @@
|
||||
package queries
|
||||
|
||||
// ======================================================
|
||||
// 👤 USER HEADER
|
||||
// ======================================================
|
||||
// ======================================================
|
||||
// 👤 USER HEADER (mk_dfusr)
|
||||
// ======================================================
|
||||
const GetUserHeader = `
|
||||
SELECT
|
||||
id,
|
||||
username,
|
||||
is_active,
|
||||
COALESCE(full_name,'') AS full_name,
|
||||
COALESCE(email,'') AS email,
|
||||
COALESCE(mobile,'') AS mobile,
|
||||
COALESCE(address,'') AS address,
|
||||
|
||||
CASE
|
||||
WHEN password_hash IS NOT NULL AND password_hash <> '' THEN true
|
||||
ELSE false
|
||||
END AS has_password
|
||||
|
||||
FROM mk_dfusr
|
||||
WHERE id = $1
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🔐 ROLES
|
||||
// ======================================================
|
||||
const GetUserRoles = `
|
||||
SELECT r.code
|
||||
FROM dfrole_usr ur
|
||||
JOIN dfrole r ON r.id = ur.dfrole_id
|
||||
WHERE ur.dfusr_id = $1
|
||||
ORDER BY r.code
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🏢 DEPARTMENTS
|
||||
// ======================================================
|
||||
const GetUserDepartments = `
|
||||
SELECT d.code, d.title
|
||||
FROM dfusr_dprt ud
|
||||
JOIN mk_dprt d ON d.id = ud.dprt_id
|
||||
WHERE ud.dfusr_id = $1
|
||||
AND ud.is_active = true
|
||||
ORDER BY d.code
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🌍 PIYASALAR
|
||||
// ======================================================
|
||||
const GetUserPiyasalar = `
|
||||
SELECT p.code, p.title
|
||||
FROM dfusr_piyasa up
|
||||
JOIN mk_sales_piy p ON p.code = up.piyasa_code
|
||||
WHERE up.dfusr_id = $1
|
||||
AND up.is_allowed = true
|
||||
ORDER BY p.code
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🧾 NEBIM USERS
|
||||
// ======================================================
|
||||
const GetUserNebim = `
|
||||
SELECT n.username, n.user_group_code
|
||||
FROM dfusr_nebim_user un
|
||||
JOIN mk_nebim_user n ON n.id = un.mk_nebim_user_id
|
||||
WHERE un.dfusr_id = $1
|
||||
ORDER BY n.username
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// ✍️ UPDATE USER HEADER (SAFE)
|
||||
// ======================================================
|
||||
// ======================================================
|
||||
// ✍️ UPDATE USER HEADER (mk_dfusr)
|
||||
// ======================================================
|
||||
const UpdateUserHeader = `
|
||||
UPDATE mk_dfusr
|
||||
SET
|
||||
username = $2,
|
||||
is_active = $3,
|
||||
full_name = $4,
|
||||
email = $5,
|
||||
mobile = $6,
|
||||
address = NULLIF($7, ''),
|
||||
updated_at = NOW()
|
||||
WHERE id = $1
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// ➕ INSERT RELATIONS
|
||||
// ======================================================
|
||||
|
||||
// ---------- ROLE
|
||||
const InsertUserRole = `
|
||||
INSERT INTO dfrole_usr (dfusr_id, dfrole_id)
|
||||
SELECT $1, r.id
|
||||
FROM dfrole r
|
||||
WHERE r.code = $2
|
||||
ON CONFLICT DO NOTHING
|
||||
`
|
||||
|
||||
// ---------- DEPARTMENT
|
||||
const InsertUserDepartment = `
|
||||
INSERT INTO dfusr_dprt (dfusr_id, dprt_id, is_active)
|
||||
SELECT $1, d.id, true
|
||||
FROM mk_dprt d
|
||||
WHERE d.code = $2
|
||||
ON CONFLICT DO NOTHING
|
||||
`
|
||||
|
||||
// ---------- PIYASA
|
||||
const InsertUserPiyasa = `
|
||||
INSERT INTO dfusr_piyasa (dfusr_id, piyasa_code, is_allowed)
|
||||
VALUES ($1, $2, true)
|
||||
ON CONFLICT DO NOTHING
|
||||
`
|
||||
|
||||
// ---------- NEBIM USER
|
||||
const InsertUserNebim = `
|
||||
INSERT INTO dfusr_nebim_user (dfusr_id, mk_nebim_user_id)
|
||||
SELECT $1, n.id
|
||||
FROM mk_nebim_user n
|
||||
WHERE n.username = $2
|
||||
ON CONFLICT DO NOTHING
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 📚 LOOKUPS
|
||||
// ======================================================
|
||||
const GetRoleLookup = `
|
||||
SELECT code AS value, code AS label
|
||||
FROM dfrole
|
||||
ORDER BY code
|
||||
`
|
||||
|
||||
const GetDepartmentLookup = `
|
||||
SELECT code AS value, title AS label
|
||||
FROM mk_dprt
|
||||
WHERE is_active = true
|
||||
ORDER BY code
|
||||
`
|
||||
|
||||
const GetPiyasaLookup = `
|
||||
SELECT code AS value, title AS label
|
||||
FROM mk_sales_piy
|
||||
WHERE is_active = true
|
||||
ORDER BY code
|
||||
`
|
||||
|
||||
const GetNebimUserLookup = `
|
||||
SELECT
|
||||
username AS value,
|
||||
username || ' (' || user_group_code || ')' AS label,
|
||||
user_group_code
|
||||
FROM mk_nebim_user
|
||||
WHERE is_active = true
|
||||
ORDER BY username
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 📦 ORDER — NEW NUMBER
|
||||
// ======================================================
|
||||
|
||||
const GetNextOrderNumber = `
|
||||
SELECT
|
||||
COALESCE(MAX(order_number), 0) + 1
|
||||
FROM orders
|
||||
WHERE order_year = EXTRACT(YEAR FROM NOW())
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🔐 ROLES (ADMIN LIST)
|
||||
// ======================================================
|
||||
|
||||
const GetRoles = `
|
||||
SELECT
|
||||
id,
|
||||
code,
|
||||
title
|
||||
FROM dfrole
|
||||
ORDER BY code
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🏢 DEPARTMENTS (ADMIN LIST)
|
||||
// ======================================================
|
||||
|
||||
const GetDepartments = `
|
||||
SELECT
|
||||
id,
|
||||
code,
|
||||
title
|
||||
FROM mk_dprt
|
||||
WHERE is_active = true
|
||||
ORDER BY code
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🌍 PIYASALAR (ADMIN LIST)
|
||||
// ======================================================
|
||||
|
||||
const GetPiyasalar = `
|
||||
SELECT
|
||||
code,
|
||||
title
|
||||
FROM mk_sales_piy
|
||||
WHERE is_active = true
|
||||
ORDER BY code
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🔗 ROLE → DEPARTMENT
|
||||
// ======================================================
|
||||
|
||||
const DeleteRoleDepartments = `
|
||||
DELETE FROM dfrole_dprt
|
||||
WHERE dfrole_id = $1
|
||||
`
|
||||
|
||||
const InsertRoleDepartment = `
|
||||
INSERT INTO dfrole_dprt (
|
||||
dfrole_id,
|
||||
dprt_id,
|
||||
is_allowed
|
||||
)
|
||||
SELECT
|
||||
$1,
|
||||
d.id,
|
||||
true
|
||||
FROM mk_dprt d
|
||||
WHERE d.code = $2
|
||||
ON CONFLICT DO NOTHING
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🔗 ROLE → PIYASA
|
||||
// ======================================================
|
||||
|
||||
const DeleteRolePiyasalar = `
|
||||
DELETE FROM dfrole_piyasa
|
||||
WHERE dfrole_id = $1
|
||||
`
|
||||
|
||||
const InsertRolePiyasa = `
|
||||
INSERT INTO dfrole_piyasa (
|
||||
dfrole_id,
|
||||
piyasa_code,
|
||||
is_allowed
|
||||
)
|
||||
VALUES ($1,$2,true)
|
||||
ON CONFLICT DO NOTHING
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 👤 USER → ROLE
|
||||
// ======================================================
|
||||
|
||||
const DeleteUserRoles = `
|
||||
DELETE FROM dfrole_usr
|
||||
WHERE dfusr_id = $1
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🏢 DEPARTMENTS (ADMIN PERM PAGE SELECT) -> { code, title }
|
||||
// ======================================================
|
||||
const GetDepartmentsForPermissionSelect = `
|
||||
SELECT
|
||||
code AS id,
|
||||
title AS title
|
||||
FROM mk_dprt
|
||||
WHERE is_active = true
|
||||
ORDER BY title
|
||||
`
|
||||
|
||||
// ======================================================
|
||||
// 🔐 ROLES (ADMIN PERM PAGE SELECT) -> { id, title }
|
||||
// ======================================================
|
||||
const GetRolesForPermissionSelect = `
|
||||
SELECT
|
||||
id::text AS id,
|
||||
COALESCE(NULLIF(title,''), code) AS title
|
||||
FROM dfrole
|
||||
ORDER BY COALESCE(NULLIF(title,''), code)
|
||||
`
|
||||
const GetUserLookupForPermission = `
|
||||
SELECT
|
||||
id::text AS id,
|
||||
username || ' - ' || full_name AS title
|
||||
FROM mk_dfusr
|
||||
WHERE is_active = true
|
||||
ORDER BY username
|
||||
`
|
||||
Reference in New Issue
Block a user