Permission Redesign: Fine-Grained Access Control

This is major feature/redesign. I'll probably work on it for a potential v2. First, there are other things I want to finish to call FMD v1.

TLDR

Offer more fine-grained access control for all transports.

Description

Introduce fine-grained "permissions". For each "entry" (phone number/PIN/server account), have a list of commands that the entry is allowed to execute.

  • Phone-number/SMS:
    • For each phone number, ability to configure permissions.
    • Ability to set an expiration (e.g. for a trip: I add my friend's phone number with the "locate" permission, and the entry expires after 2 days). => see #416
  • PIN-access:
    • Ability to set multiple (different) PINs (see #192 (closed)).
    • For each PIN, ability to configure permissions.
    • Ability to set an expiration (time or number of uses) => see #416
  • FMD Server accounts:
    • Ability to add multiple server accounts => see #166
    • For each server account, ability to configure permissions.
Edited by Thore Göbel