88 lines
2.1 KiB
SQL
88 lines
2.1 KiB
SQL
-- name: CreateDataAsset :one
|
|
INSERT INTO data_assets (asset_name, asset_type, domain, application_scene,
|
|
data_description, data_scale, collection_method, labeling_status,
|
|
update_frequency, privacy_level, permission_mode, supports_validation,
|
|
seller_expected_price_min, seller_expected_price_max, asset_status)
|
|
VALUES ($1, $2, $3, $4,
|
|
$5, $6, $7, $8,
|
|
$9, $10, $11, $12,
|
|
$13, $14, $15)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: GetDataAsset :one
|
|
SELECT *
|
|
FROM data_assets
|
|
WHERE id = $1;
|
|
|
|
-- name: ListDataAssets :many
|
|
SELECT *
|
|
FROM data_assets
|
|
WHERE (
|
|
NULLIF(sqlc.narg(keyword)::text, '') IS NULL
|
|
OR asset_name ILIKE '%' || sqlc.narg(keyword)::text || '%'
|
|
OR data_description ILIKE '%' || sqlc.narg(keyword)::text || '%'
|
|
)
|
|
AND (
|
|
NULLIF(sqlc.narg(asset_type)::text, '') IS NULL
|
|
OR asset_type = sqlc.narg(asset_type)::text
|
|
)
|
|
AND (
|
|
NULLIF(sqlc.narg(domain)::text, '') IS NULL
|
|
OR domain = sqlc.narg(domain)::text
|
|
)
|
|
AND (
|
|
NULLIF(sqlc.narg(privacy_level)::text, '') IS NULL
|
|
OR privacy_level = sqlc.narg(privacy_level)::text
|
|
)
|
|
AND (
|
|
sqlc.narg(supports_validation)::boolean IS NULL
|
|
OR supports_validation = sqlc.narg(supports_validation)::boolean
|
|
)
|
|
ORDER BY created_at DESC, id DESC
|
|
LIMIT $1 OFFSET $2;
|
|
|
|
-- name: GetBuyerRequest :one
|
|
SELECT *
|
|
FROM buyer_requests
|
|
WHERE id = $1;
|
|
|
|
-- name: ListBuyerRequests :many
|
|
SELECT *
|
|
FROM buyer_requests
|
|
ORDER BY created_at DESC, id DESC
|
|
LIMIT $1 OFFSET $2;
|
|
|
|
-- name: GetPricingResult :one
|
|
SELECT *
|
|
FROM pricing_results
|
|
WHERE id = $1;
|
|
|
|
-- name: ListPricingResults :many
|
|
SELECT *
|
|
FROM pricing_results
|
|
ORDER BY created_at DESC, id DESC
|
|
LIMIT $1 OFFSET $2;
|
|
|
|
-- name: GetValidation :one
|
|
SELECT *
|
|
FROM validations
|
|
WHERE id = $1;
|
|
|
|
-- name: ListValidations :many
|
|
SELECT *
|
|
FROM validations
|
|
ORDER BY validation_created_at DESC, id DESC
|
|
LIMIT $1 OFFSET $2;
|
|
|
|
-- name: GetOrder :one
|
|
SELECT *
|
|
FROM orders
|
|
WHERE id = $1;
|
|
|
|
-- name: ListOrders :many
|
|
SELECT *
|
|
FROM orders
|
|
ORDER BY order_created_at DESC, id DESC
|
|
LIMIT $1 OFFSET $2;
|