Пример #1
0
        public async Task <AppInfoWrapper> GetAppInfoAsync(string mastodonInstanceUrl)
        {
            var instances = _instancesRepository.GetAllInstances().ToList();

            if (instances.Any(x => x.InstanceUrl == mastodonInstanceUrl))
            {
                return(instances.Find(x => x.InstanceUrl == mastodonInstanceUrl));
            }

            //Create new instance app
            var appHandler = new AppHandler(mastodonInstanceUrl);
            var scopes     = AppScopeEnum.Read | AppScopeEnum.Write | AppScopeEnum.Follow;
            var appData    = await appHandler.CreateAppAsync("Twittoot", scopes, "https://github.com/NicolasConstant/Twittoot");

            //Create new wrapper
            var appDataWrapper = new AppInfoWrapper(mastodonInstanceUrl, appData);

            //Save it
            instances.Add(appDataWrapper);
            _instancesRepository.SaveInstances(instances.ToArray());

            //Returns
            return(appDataWrapper);
        }
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public IEnumerable <WorkflowInstancePoco> GetAll()
 {
     return(_repo.GetAllInstances());
 }