88 lines
2.3 KiB
SQL
88 lines
2.3 KiB
SQL
-- -- name: CreateBank :one
|
|
-- INSERT INTO banks (
|
|
-- slug,
|
|
-- swift,
|
|
-- name,
|
|
-- acct_length,
|
|
-- country_id,
|
|
-- is_mobilemoney,
|
|
-- is_active,
|
|
-- is_rtgs,
|
|
-- active,
|
|
-- is_24hrs,
|
|
-- created_at,
|
|
-- updated_at,
|
|
-- currency,
|
|
-- bank_logo
|
|
-- )
|
|
-- VALUES (
|
|
-- $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, $11, $12
|
|
-- )
|
|
-- RETURNING *;
|
|
|
|
-- -- name: GetBankByID :one
|
|
-- SELECT *
|
|
-- FROM banks
|
|
-- WHERE id = $1;
|
|
|
|
-- -- name: GetAllBanks :many
|
|
-- SELECT *
|
|
-- FROM banks
|
|
-- WHERE (
|
|
-- country_id = sqlc.narg('country_id')
|
|
-- OR sqlc.narg('country_id') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- is_active = sqlc.narg('is_active')
|
|
-- OR sqlc.narg('is_active') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- name ILIKE '%' || sqlc.narg('search_term') || '%'
|
|
-- OR sqlc.narg('search_term') IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- code ILIKE '%' || sqlc.narg('search_term') || '%'
|
|
-- OR sqlc.narg('search_term') IS NULL
|
|
-- )
|
|
-- ORDER BY name ASC
|
|
-- LIMIT sqlc.narg('limit') OFFSET sqlc.narg('offset');
|
|
|
|
-- -- name: CountBanks :one
|
|
-- SELECT COUNT(*)
|
|
-- FROM banks
|
|
-- WHERE (
|
|
-- country_id = $1
|
|
-- OR $1 IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- is_active = $2
|
|
-- OR $2 IS NULL
|
|
-- )
|
|
-- AND (
|
|
-- name ILIKE '%' || $3 || '%'
|
|
-- OR code ILIKE '%' || $3 || '%'
|
|
-- OR $3 IS NULL
|
|
-- );
|
|
|
|
-- -- name: UpdateBank :one
|
|
-- UPDATE banks
|
|
-- SET slug = COALESCE(sqlc.narg(slug), slug),
|
|
-- swift = COALESCE(sqlc.narg(swift), swift),
|
|
-- name = COALESCE(sqlc.narg(name), name),
|
|
-- acct_length = COALESCE(sqlc.narg(acct_length), acct_length),
|
|
-- country_id = COALESCE(sqlc.narg(country_id), country_id),
|
|
-- is_mobilemoney = COALESCE(sqlc.narg(is_mobilemoney), is_mobilemoney),
|
|
-- is_active = COALESCE(sqlc.narg(is_active), is_active),
|
|
-- is_rtgs = COALESCE(sqlc.narg(is_rtgs), is_rtgs),
|
|
-- active = COALESCE(sqlc.narg(active), active),
|
|
-- is_24hrs = COALESCE(sqlc.narg(is_24hrs), is_24hrs),
|
|
-- updated_at = CURRENT_TIMESTAMP,
|
|
-- currency = COALESCE(sqlc.narg(currency), currency),
|
|
-- bank_logo = COALESCE(sqlc.narg(bank_logo), bank_logo)
|
|
-- WHERE id = $1
|
|
-- RETURNING *;
|
|
|
|
-- -- name: DeleteBank :exec
|
|
-- DELETE FROM banks
|
|
-- WHERE id = $1;
|