19 lines
682 B
Bash
Executable file
19 lines
682 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# Read the new task JSON object from standard input
|
|
read new_task
|
|
|
|
# Extract the status and the 'expires' attribute from the new task
|
|
status=$(echo "$new_task" | jq -r '.status')
|
|
due=$(echo "$new_task" | jq -r '.due // empty')
|
|
expires=$(echo "$new_task" | jq -r '.expires // empty')
|
|
|
|
# Check if the status is not 'recurring' and the 'expires' attribute is set
|
|
if [[ "$status" != "recurring" && -n "$expires" ]]; then
|
|
# Update the 'until' attribute with the value of 'expires'
|
|
new_expire_date=$(task calc "$due + $expires")
|
|
new_task=$(echo "$new_task" | jq -r -c --arg expires "$new_expire_date" '. + {until: $expires}')
|
|
fi
|
|
|
|
# Output the new task
|
|
echo "$new_task"
|