20 lines
904 B
Bash
20 lines
904 B
Bash
|
# get columns, sort and transform with re-order columns
|
||
|
# shellcheck shell=bash
|
||
|
|
||
|
# catch args, convert the space delimited string to an array
|
||
|
first=()
|
||
|
eval "first=(${args[--first]})"
|
||
|
# convert to a comma-separated list of elements
|
||
|
columns=$(printf ',"'%s'"' "${first[@]}" | cut -c2-)
|
||
|
|
||
|
# get project id
|
||
|
projectid="$(get_id "${args[project]}")"
|
||
|
|
||
|
csrf="$(get_csrf)"
|
||
|
if ! sorted=$(curl -fs --get --data project="$projectid" "${OPENREFINE_URL}/command/core/get-columns-info" | jq --argjson columns "[ ${columns} ]" '($columns) + ([ .[].name ] | del (.[] | select (. | IN( $columns[] ))) | sort)'); then
|
||
|
error "getting columns in ${args[project]} failed!"
|
||
|
fi
|
||
|
if ! curl -fs -o /dev/null --data project="$projectid" --data "columnNames=${sorted}" "${OPENREFINE_URL}/command/core/reorder-columns${csrf}"; then
|
||
|
error "sorting columns in ${args[project]} failed!"
|
||
|
fi
|
||
|
log "sorted columns in ${args[project]}"
|