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 `