public virtual async Task LoadApplications(ApplicationManagerClient appMgr, string entApiKey) { var apps = await appMgr.ListApplications(entApiKey); State.Applications = apps.Model.Where(app => app.Container == "lcu-data-apps").ToList(); State.ActiveApp = State.Applications.FirstOrDefault(app => app.ID == State.ActiveApp?.ID); }
public virtual async Task <LCUAppsState> LoadApps() { var apps = await appMgr.ListApplications(details.EnterpriseAPIKey); state.Apps = apps.Model; return(state); }
public virtual async Task <ConfigManagerState> LoadApplications() { var apps = await appMgr.ListApplications(details.EnterpriseAPIKey); state.Applications = apps.Model.Where(app => app.Container == "lcu-data-apps").ToList(); state.ActiveApp = state.Applications.FirstOrDefault(app => app.ID == state.ActiveApp?.ID); return(state); }
public virtual async Task Ensure(ApplicationManagerClient appMgr, IdentityManagerClient idMgr, string entApiKey, string username) { // check in to see if user has free trial/paid subscriber rights var authResp = await idMgr.HasAccess(entApiKey, username, new List <string>() { "LCU.NapkinIDE.AllAccess" }); State.IsActiveSubscriber = authResp.Status; var activitiesResp = await appMgr.LoadIDEActivities(entApiKey); if (State.IsActiveSubscriber) { var appsResp = await appMgr.ListApplications(entApiKey); State.InfrastructureConfigured = activitiesResp.Status && !activitiesResp.Model.IsNullOrEmpty() && appsResp.Status && !appsResp.Model.IsNullOrEmpty(); } else { State.InfrastructureConfigured = true; } if (activitiesResp.Status) { await SetupActivities(activitiesResp.Model, entApiKey); } await LoadHeaderActions(); await LoadSideBar(appMgr, entApiKey); if (State.IsActiveSubscriber) { var appsResp = await appMgr.ListApplications(entApiKey); State.InfrastructureConfigured = activitiesResp.Status && !activitiesResp.Model.IsNullOrEmpty() && appsResp.Status && !appsResp.Model.IsNullOrEmpty(); } else { } }
public virtual async Task <LCUIDEState> Ensure() { var activitiesResp = await appMgr.LoadIDEActivities(details.EnterpriseAPIKey); state.Activities = activitiesResp.Model; var appsResp = await appMgr.ListApplications(details.EnterpriseAPIKey); state.InfrastructureConfigured = activitiesResp.Status && !activitiesResp.Model.IsNullOrEmpty() && appsResp.Status && !appsResp.Model.IsNullOrEmpty(); state.RootActivities = new List <IDEActivity>(); state.RootActivities.Add(new IDEActivity() { Icon = "settings", Lookup = Environment.GetEnvironmentVariable("FORGE-SETTINGS-PATH") ?? "/forge-settings", Title = "Settings" }); return(await LoadSideBar()); }
public virtual async Task LoadApplications(ApplicationManagerClient appMgr, string entLookup) { log.LogInformation($"Loading Applications for {entLookup}"); var appsResult = await appMgr.ListApplications(entLookup); // TODO: Renable where filter for filtering support. Each app type will have a different container var apps = appsResult.Model;//.Where(app => app.Container == "lcu-data-apps").ToList(); State.Applications = apps.GroupBy(app => { var pathParts = app.PathRegex.Replace("*", "").Split('/'); var pathRoot = pathParts.FirstOrDefault(pathPart => !pathPart.IsNullOrEmpty() || pathParts.All(pp => pp.IsNullOrEmpty())); return($"/{pathRoot}"); }).Select(appGroup => { return(new DataAppDetails() { AppIDs = appGroup.ToDictionary(ag => ag.ID, ag => ag.PathRegex.Replace("*", "")), AppStati = calculateAppStati(appGroup.Key, appGroup.ToList()).Result, DisplayName = appGroup.Key, PathGroup = appGroup.Key }); }).ToList(); log.LogInformation($"Preparing system applications"); var apiAppDets = State.Applications.FirstOrDefault(app => app.PathGroup == "/api") ?? new DataAppDetails() { AppIDs = new Dictionary <Guid, string>(), PathGroup = "/api", AppStati = new List <DataDAFAppStatus>() }; apiAppDets.DisplayName = "APIs"; apiAppDets.Description = "Manage API proxies to control usage and security."; var lcuAppDets = State.Applications.FirstOrDefault(app => app.PathGroup == "/_lcu") ?? new DataAppDetails() { AppIDs = new Dictionary <Guid, string>(), PathGroup = "/_lcu", AppStati = new List <DataDAFAppStatus>() }; lcuAppDets.DisplayName = "Low Code Units"; lcuAppDets.Description = "Manage reusable web components for your IDE and applications."; var homeAppDets = State.Applications.FirstOrDefault(app => app.PathGroup == "/") ?? new DataAppDetails() { AppIDs = new Dictionary <Guid, string>(), PathGroup = "/", AppStati = new List <DataDAFAppStatus>() }; homeAppDets.DisplayName = "Home Pages"; homeAppDets.Description = "Manage home page applications, redirects and more."; State.FixedApplications = new List <DataAppDetails>() { apiAppDets, lcuAppDets, homeAppDets }; State.Applications = State.Applications.Where(app => !State.FixedApplications.Contains(app)).ToList(); await SetActiveApp(appMgr, entLookup, AllApplications.FirstOrDefault(app => app.PathGroup == State.ActiveAppPathGroup)?.PathGroup); }