예제 #1
0
        private async Task <AppCommandSetCollectionResult> LoadCommands()
        {
            var factory  = new ClientCredentialsAccessTokenFactory <EntryPointInjector>(Config.ButlerClient.ClientCredentials, new BearerHttpClientFactory <EntryPointInjector>(new DefaultHttpClientFactory()));
            var injector = new EntryPointInjector(Config.ButlerClient.ServiceUrl, factory);
            var entry    = await injector.Load();

            var commandResult = await entry.ListAppCommandSets(new AppCommandSetQuery()
            {
                Limit = int.MaxValue
            });

            return(commandResult);
        }
예제 #2
0
        public async Task <SwitchResult> GetSwitch(string id)
        {
            var entry = await entryPointInjector.Load();

            var sw = await entry.ListSwitches(new SwitchQuery()
            {
                Limit     = 10,
                SwitchId  = Guid.Parse(id),
                GetStatus = true
            });

            return(sw.Items.First());
        }
예제 #3
0
        public async Task Run()
        {
            var entryPoint = await entryPointInjector.Load();

            if (!entryPoint.CanAddGitRepo)
            {
                throw new InvalidOperationException("No permission to add a git repo.");
            }

            var args     = argsProvider.Args;
            int i        = 2;
            var repoName = args.Length > ++i ? args[i] : throw new InvalidOperationException($"Cannot find repo name in position {i}.");

            await entryPoint.AddGitRepo(new GitRepoInput()
            {
                Name = repoName
            });

            logger.LogInformation($"Added new git repo {repoName} to {entryPoint.LinkForRefresh.Href}");
        }
        private async Task RunEvent(KeyboardListener.HotkeyEvent evt)
        {
            var entry = await entryPoint.Load();

            var lookup   = evt.Actions.Select(i => i.SwitchId).ToList();
            var switches = await entry.ListSwitches(new SwitchQuery()
            {
                SwitchIds = lookup,
                Limit     = int.MaxValue
            });

            foreach (var action in evt.Actions)
            {
                var sw = switches.Items.First(i => i.Data.SwitchId == action.SwitchId);
                await sw.Set(new SetSwitchInput()
                {
                    Brightness = action.Brightness,
                    HexColor   = action.HexColor,
                    Value      = action.Value
                });
            }
        }