public virtual async Task <Status> RemoveChildEnterprise(IApplicationsIoTService appIoTArch, IEnterprisesManagementService entMgr, IIdentityAccessService idMgr, string childEntLookup, string parentEntLookup) { var childEnt = State.EnterpriseConfig.ChildEnterprises.FirstOrDefault(ent => ent.Lookup == childEntLookup ); var devices = await appIoTArch.ListEnrolledDevices(childEntLookup); //Remove devices await devices.Model.Items.Each(async d => { await revokeDeviceEnrollment(appIoTArch, childEntLookup, d.DeviceID); }, parallel : true); //If its the active ent set active to null if (State.ActiveEnterpriseConfig.ActiveEnterprise != null && State.ActiveEnterpriseConfig?.ActiveEnterprise.Lookup == childEntLookup) { State.ActiveEnterpriseConfig.ActiveEnterprise = null; } var revokePassportRequest = await idMgr.RevokePassport(parentEntLookup, childEnt.Name); var revokeAccessCardRequest = await idMgr.RevokeAccessCard(new Host.TempRefit.RevokeAccessCardRequest() { AccessConfiguration = "LCU", Username = childEnt.Name }, childEntLookup); if (revokeAccessCardRequest.Status.Code == 1) { log.LogError($"Unable to revoke access cards: {revokeAccessCardRequest.Status.Message}"); } var revokeLicenceAccess = await idMgr.RevokeLicense(parentEntLookup, childEnt.Name, "iot"); if (revokeLicenceAccess.Status.Code == 1) { log.LogError($"Unable to revoke license access: {revokeLicenceAccess.Status.Message}"); } //TODO removing the API Management keys var cancelUserSubscription = await entMgr.CancelSubscriptionByUser(childEnt.Name, parentEntLookup, "iot"); if (cancelUserSubscription.Status.Code == 1) { log.LogError($"Unable to cancel subscription: {cancelUserSubscription.Status.Message}"); } var deleteRequest = await entMgr.DeleteEnterpriseByLookup(childEntLookup, new Host.TempRefit.DeleteEnterpriseByLookupRequest() { Password = "******" }); await LoadChildEnterprises(entMgr, parentEntLookup, appIoTArch, idMgr); return(Status.Success); }
public virtual async Task Refresh(IApplicationsIoTService appIoTArch, IEnterprisesManagementService entMgr, IIdentityAccessService idMgr, string parentEntLookup) { await LoadChildEnterprises(entMgr, parentEntLookup, appIoTArch, idMgr); await LoadActiveEnterpriseDetails(appIoTArch, State.ActiveEnterpriseConfig.Page, State.ActiveEnterpriseConfig.PageSize); State.Loading = false; }
public RevokeDeviceEnrollment(IApplicationsIoTService appIoTArch, IEnterprisesManagementService entMgr, IIdentityAccessService idMgr, ILogger <RevokeDeviceEnrollment> log) { this.appIoTArch = appIoTArch; this.entMgr = entMgr; this.idMgr = idMgr; this.log = log; }
public UpdateEnterprisesSync(IEnterprisesManagementService entMgr, IApplicationsIoTService appIoTArch, IIdentityAccessService idMgr, ILogger <UpdateEnterprisesSync> log) { this.appIoTArch = appIoTArch; this.entMgr = entMgr; this.idMgr = idMgr; this.log = log; }
public RemoveChildEnterprise(IApplicationsIoTService appIoTArch, IEnterprisesManagementService entMgr, IIdentityAccessService idMgr, ILogger <RemoveChildEnterprise> log) { this.appIoTArch = appIoTArch; this.entMgr = entMgr; this.idMgr = idMgr; this.log = log; }
public virtual async Task LoadChildEnterprises(IEnterprisesManagementService entMgr, string parentEntLookup, IApplicationsIoTService appIoTArch, IIdentityAccessService idMgr) { var childEntsResp = await entMgr.ListChildEnterprises(parentEntLookup); State.EnterpriseConfig.TotalChildEnterprisesCount = childEntsResp.Model?.Count; var pagedChildEnts = childEntsResp.Model?.Page(State.EnterpriseConfig.Page, State.EnterpriseConfig.PageSize); var iotChildEnts = new List <IoTEnsembleChildEnterprise>(); await pagedChildEnts.Items.Each(async childEnt => { var devicesResp = await appIoTArch.ListEnrolledDevices(childEnt.Lookup); var licenses = await idMgr.ListLicensesByUsername(parentEntLookup, childEnt.Name, new List <string>() { "iot" }); DateTime?StartDate = null; foreach (License token in licenses.Model) { if (token.AccessStartDate != null) { StartDate = token.AccessStartDate.UtcDateTime; } } var iotChildEnt = new IoTEnsembleChildEnterprise() { Name = childEnt.Name, Lookup = childEnt.Lookup, DeviceCount = devicesResp.Model?.TotalRecords ?? 0, SignUpDate = StartDate }; iotChildEnt.Devices = devicesResp.Model?.Items?.Select(device => { var devInfo = device.JSONConvert <IoTEnsembleDeviceInfo>(); devInfo.DeviceName = devInfo.DeviceID.Replace($"{childEnt.Lookup}-", String.Empty); return(devInfo); }).ToList(); iotChildEnts.Add(iotChildEnt); }); State.EnterpriseConfig.ChildEnterprises = iotChildEnts; }
public GenerateReferenceData(IEnterprisesManagementService entMgr, IIdentityAccessService idMgr, ILogger <GenerateReferenceData> log, IEnterprisesHostingManagerService entHostMgr) { this.entMgr = entMgr; this.entHostMgr = entHostMgr; this.idMgr = idMgr; this.log = log; parentEntLookup = Environment.GetEnvironmentVariable("LCU-ENTERPRISE-LOOKUP"); bypassGenerateRefData = Environment.GetEnvironmentVariable("LCU-BYPASS-GENERATE-REFERENCE-DATA").As <bool>(); }
public Refresh(IApplicationsIoTService appIoTArch, IEnterprisesAPIManagementService entApiArch, IEnterprisesAsCodeService eacSvc, IEnterprisesManagementService entMgr, IEnterprisesHostingManagerService entHostMgr, IIdentityAccessService idMgr, ILogger <Refresh> log, ISecurityDataTokenService secMgr) { this.appIoTArch = appIoTArch; this.entApiArch = entApiArch; this.eacSvc = eacSvc; this.entMgr = entMgr; this.entHostMgr = entHostMgr; this.idMgr = idMgr; this.log = log; this.secMgr = secMgr; }
public virtual async Task UpdateEnterprisesSync(IEnterprisesManagementService entMgr, IApplicationsIoTService appIoTArch, IIdentityAccessService idMgr, string parentEntLookup, int page, int pageSize) { if (State.EnterpriseConfig != null) { State.EnterpriseConfig.Page = page; State.EnterpriseConfig.PageSize = pageSize; await LoadChildEnterprises(entMgr, parentEntLookup, appIoTArch, idMgr); if (State.ActiveEnterpriseConfig != null) { await LoadActiveEnterpriseDetails(appIoTArch, State.ActiveEnterpriseConfig.Page, State.ActiveEnterpriseConfig.PageSize); } } else { throw new Exception("Unable to load the enterprise config, please try again or contact support."); } }
public virtual async Task <Status> RevokeDeviceEnrollment(IApplicationsIoTService appIoTArch, IEnterprisesManagementService entMgr, IIdentityAccessService idMgr, string parentEntLookup, string deviceId) { var revoked = await revokeDeviceEnrollment(appIoTArch, State.ActiveEnterpriseConfig.ActiveEnterprise.Lookup, deviceId); await LoadChildEnterprises(entMgr, parentEntLookup, appIoTArch, idMgr); return(revoked); }