109 lines
3.4 KiB
SQL
109 lines
3.4 KiB
SQL
-- -- name: CreateBranch :one
|
|
-- INSERT INTO branches (
|
|
-- name,
|
|
-- location,
|
|
-- wallet_id,
|
|
-- branch_manager_id,
|
|
-- company_id,
|
|
-- is_self_owned,
|
|
-- profit_percent
|
|
-- )
|
|
-- VALUES ($1, $2, $3, $4, $5, $6, $7)
|
|
-- RETURNING *;
|
|
-- -- name: CreateSupportedOperation :one
|
|
-- INSERT INTO supported_operations (name, description)
|
|
-- VALUES ($1, $2)
|
|
-- RETURNING *;
|
|
-- -- name: CreateBranchOperation :one
|
|
-- INSERT INTO branch_operations (operation_id, branch_id)
|
|
-- VALUES ($1, $2)
|
|
-- RETURNING *;
|
|
-- -- name: CreateBranchCashier :one
|
|
-- INSERT INTO branch_cashiers (user_id, branch_id)
|
|
-- VALUES ($1, $2)
|
|
-- RETURNING *;
|
|
-- -- name: GetAllBranches :many
|
|
-- SELECT *
|
|
-- FROM branch_details
|
|
-- WHERE (
|
|
-- company_id = sqlc.narg('company_id')
|
|
-- OR sqlc.narg('company_id') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- is_active = sqlc.narg('is_active')
|
|
-- OR sqlc.narg('is_active') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- branch_manager_id = sqlc.narg('branch_manager_id')
|
|
-- OR sqlc.narg('branch_manager_id') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- name ILIKE '%' || sqlc.narg('query') || '%'
|
|
-- OR location ILIKE '%' || sqlc.narg('query') || '%'
|
|
-- OR sqlc.narg('query') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- created_at > sqlc.narg('created_before')
|
|
-- OR sqlc.narg('created_before') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- created_at < sqlc.narg('created_after')
|
|
-- OR sqlc.narg('created_after') IS NULL
|
|
-- );
|
|
-- -- name: GetBranchByID :one
|
|
-- SELECT *
|
|
-- FROM branch_details
|
|
-- WHERE id = $1;
|
|
-- -- name: GetBranchByCompanyID :many
|
|
-- SELECT *
|
|
-- FROM branch_details
|
|
-- WHERE company_id = $1;
|
|
-- -- name: GetBranchByManagerID :many
|
|
-- SELECT *
|
|
-- FROM branch_details
|
|
-- WHERE branch_manager_id = $1;
|
|
-- -- name: SearchBranchByName :many
|
|
-- SELECT *
|
|
-- FROM branch_details
|
|
-- WHERE name ILIKE '%' || $1 || '%'
|
|
-- AND (
|
|
-- company_id = sqlc.narg('company_id')
|
|
-- OR sqlc.narg('company_id') IS NULL
|
|
-- );
|
|
-- -- name: GetAllSupportedOperations :many
|
|
-- SELECT *
|
|
-- FROM supported_operations;
|
|
-- -- name: GetBranchOperations :many
|
|
-- SELECT branch_operations.*,
|
|
-- supported_operations.name,
|
|
-- supported_operations.description
|
|
-- FROM branch_operations
|
|
-- JOIN supported_operations ON branch_operations.operation_id = supported_operations.id
|
|
-- WHERE branch_operations.branch_id = $1;
|
|
-- -- name: GetBranchByCashier :one
|
|
-- SELECT branches.*
|
|
-- FROM branch_cashiers
|
|
-- JOIN branches ON branch_cashiers.branch_id = branches.id
|
|
-- WHERE branch_cashiers.user_id = $1;
|
|
-- -- name: UpdateBranch :one
|
|
-- UPDATE branches
|
|
-- SET name = COALESCE(sqlc.narg(name), name),
|
|
-- location = COALESCE(sqlc.narg(location), location),
|
|
-- branch_manager_id = COALESCE(sqlc.narg(branch_manager_id), branch_manager_id),
|
|
-- company_id = COALESCE(sqlc.narg(company_id), company_id),
|
|
-- is_self_owned = COALESCE(sqlc.narg(is_self_owned), is_self_owned),
|
|
-- is_active = COALESCE(sqlc.narg(is_active), is_active),
|
|
-- profit_percent = COALESCE(sqlc.narg(profit_percent), profit_percent),
|
|
-- updated_at = CURRENT_TIMESTAMP
|
|
-- WHERE id = $1
|
|
-- RETURNING *;
|
|
-- -- name: DeleteBranch :exec
|
|
-- DELETE FROM branches
|
|
-- WHERE id = $1;
|
|
-- -- name: DeleteBranchOperation :exec
|
|
-- DELETE FROM branch_operations
|
|
-- WHERE operation_id = $1
|
|
-- AND branch_id = $2;
|
|
-- -- name: DeleteBranchCashier :exec
|
|
-- DELETE FROM branch_cashiers
|
|
-- WHERE user_id = $1; |