50 lines
840 B
Bash
Executable File
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
|