public Task <ActionResult <string> > GetUserVariable([FromRoute] string key)
    {
        return(MatchExceptions(async() =>
        {
            var uid = GetUserIdStrict();
            var variable = await shortcuts.LookupVariableByKeyAsync(uid, key);

            return variable.value;
        }));
    }
    public async Task LookupVariableByKey_Simple(long uid, string key)
    {
        //Shouldn't exist at first... we hope?
        await Assert.ThrowsAnyAsync <NotFoundException>(() => service.LookupVariableByKeyAsync(uid, key));

        var variable = new UserVariableView()
        {
            key = key, value = "heck"
        };
        var writtenVariable = await writer.WriteAsync(variable, uid);

        Assert.Equal(variable.value, writtenVariable.value);
        Assert.Equal(variable.key, writtenVariable.key);

        //now go look it up
        var lookupVariable = await service.LookupVariableByKeyAsync(uid, key);

        Assert.Equal(uid, lookupVariable.userId);
        Assert.Equal(key, lookupVariable.key);
        Assert.Equal(writtenVariable.value, lookupVariable.value);
    }