#!/bin/sh

bname=$(basename -- $2)

case $1 in
    mount)
        _UID=$(id -u $USER)
        _GID=$(id -g $USER)
        label=$(eval "ubus call ering.usbmount get_label '{ \"device\": \"/dev/$bname\" }' | grep \"Server reply\" | cut -d'\"' -f4")
        eval "ubus call ering.usbmount mount '{ \"uid\": $_UID, \"gid\": $_GID, \"device\": \"/dev/$bname\" , \"mountpoint\": \"/media/$USER\" , \"label\": \"$label ($bname)\" }'"
        ;;
    umount)
        _UID=$(id -u $USER)
        _GID=$(id -g $USER)
        eval "ubus call ering.usbmount umount '{ \"device\": \"/dev/$bname\", \"uid\": $_UID, \"gid\": $_GID }'"
        ;;
    remove)
        eval "ubus call ering.usbmount remove '{ \"device\": \"/dev/$bname\" }'"
        ;;
    get_label)
        eval "ubus call ering.usbmount get_label '{ \"device\": \"/dev/$bname\" }' | grep \"Server reply\" | cut -d'\"' -f4"
        ;;
    get_uuid)
        eval "ubus call ering.usbmount get_uuid '{ \"device\": \"/dev/$bname\" }' | grep \"Server reply\" | cut -d'\"' -f4"
        ;;
    get_fstype)
        eval "ubus call ering.usbmount get_fstype '{ \"device\": \"/dev/$bname\" }' | grep \"Server reply\" | cut -d'\"' -f4"
        ;;
    get_size)
        eval "ubus call ering.usbmount get_size '{ \"device\": \"/dev/$bname\" }' | grep \"Server reply\" | cut -d'\"' -f4"
        ;;
    install_subfolder)
        eval "ubus call ering.usbmount install_subfolder '{ \"name\": \"$bname\" }'"
        ;;
    *)
    echo "Usage: usbmount {mount|umount|remove|get_label|get_fstype|get_size|install_subfolder}" >&2
    exit 1
    ;;
esac

exit 0
