laser-progs/laser

50 lines
840 B
Bash
Executable File

#!/bin/sh
# SPDX-License-Identifier: AGPL-3.0-or-later
# SPDX-FileCopyrightText: 2023 Wojtek Porczyk <woju@hackerspace.pl>
set -e
usage() {
echo "usage: $0 {take [user]|release|force}" >&2
exit 2
}
api() {
endpoint=$1
shift
curl -s -X POST http://laser.waw.hackerspace.pl"$endpoint" "$@"
}
take() { api /take -d "who=$1"; }
release() { api /release; }
force() { api /force; }
query() {
api / \
| sed -ne "s:^.*\(Currently in use .*\)$:\1:p"
}
if test $# -eq 0
then
case "$0" in
*-take) take "$USER";;
*-release) release;;
*-force) force;;
*-query) query;;
*) query;;
esac
elif test $# -eq 1
then
case "$1" in
take) take "$USER";;
force|release|query) "$1";;
*) usage;;
esac
elif test $# -eq 2 -a "$1" = take
then
"$1" "$2"
else
usage
fi
# vim: tw=80