Пример #1
0
        public JsonRpcResponseData ResetPassword(SimpleTenant payload, ApiAuthorization authorization)
        {
            SetupAuth();
            IsValidRequest(authorization.AppId, authorization.ApiKey);
            var apiController = new ControllerService();

            try
            {
                var newPassword = apiController.ResetPassword(payload);
                return(new JsonRpcResponseData
                {
                    Message = $"Password for {payload.Username} Reset",
                    Status = JsonRpcResponseData.OK,
                    TenantUid = payload.TenantUId,
                    Data = new
                    {
                        newPassword
                    }
                });
            }
            catch (System.Exception ex)
            {
                throw HandleException(ex);
            }
        }
Пример #2
0
        public JsonRpcResponseData LoginTenant(SimpleTenant payload, ApiAuthorization authorization)
        {
            SetupAuth();
            IsValidRequest(authorization.AppId, authorization.ApiKey);
            var apiController = new ControllerService();

            try
            {
                apiController.LoginTenant(payload);
                return(new JsonRpcResponseData
                {
                    Message = $"Tenant Logged in",
                    Status = JsonRpcResponseData.OK,
                    TenantUid = payload.TenantUId,
                    Data = new
                    {
                        payload.Username
                    }
                });
            }
            catch (System.Exception ex)
            {
                throw HandleException(ex);
            }
        }
        public PurgeResults PurgeTenant(SimpleTenant tenant)
        {
            var contentService = ConnectorContext.ContentService;
            var userService    = ConnectorContext.UserService;
            var mediaService   = ConnectorContext.MediaService;

            var tenantNode = nodeHelper.GetTenantRoot(tenant.TenantUId);

            if (tenantNode == null)
            {
                throw new TenantException(ExceptionCode.TenantNotFound.CodeToString(), ExceptionCode.TenantNotFound, tenant.TenantUId);
            }

            var user  = userService.GetByUsername(tenant.Username);
            var group = user?.Groups.Any() == true?userService.GetUserGroupById(user.Groups.ToList()[0].Id) : userService.GetUserGroupByAlias(tenant.Group.Sanitize());

            var media = group != null?mediaService.GetById(group.StartMediaId.Value) : mediaService.GetByLevel(1).SingleOrDefault(x => x.Name.Equals(tenantNode.Name));

            if (user != null)
            {
                userGroupService.PurgeUserAfterFirstLogin(user.Id);
                userService.Delete(user, true);
            }

            if (group != null)
            {
                foreach (var u in userService.GetAllInGroup(group.Id))
                {
                    userService.Delete(u, true);
                }
                userService.DeleteUserGroup(group);
            }

            if (media != null)
            {
                mediaService.Delete(media);
            }
            if (tenantNode != null)
            {
                contentService.Delete(tenantNode);
            }

            new ApiKeysService(this.database).PurgeTenant(tenant.TenantUId.ToString()); // remove tenant's Api information
            ApiKeyCache.ForceUpdateCache(this.database);

            return(new PurgeResults
            {
                ContentFoundAndDeleted = tenantNode != null,
                GroupFoundAndDeleted = group != null,
                UserFoundAndDeleted = user != null,
                MediaFolderFoundAndDeleted = media != null
            });
        }
Пример #4
0
        public JsonRpcResponseData EnableTenant(SimpleTenant payload, ApiAuthorization authorization)
        {
            SetupAuth();
            IsValidRequest(authorization.AppId, authorization.ApiKey);
            var apiController = new ControllerService();

            try
            {
                var tenantUid = apiController.EnableTenant(payload);
                return(new JsonRpcResponseData
                {
                    Message = "Tenant enabled",
                    Status = JsonRpcResponseData.OK,
                    TenantUid = tenantUid
                });
            }
            catch (System.Exception ex)
            {
                throw HandleException(ex);
            }
        }
Пример #5
0
        public JsonRpcResponseData DisableUser(SimpleTenant payload, ApiAuthorization authorization)
        {
            SetupAuth();
            IsValidRequest(authorization.AppId, authorization.ApiKey);
            var apiController = new ControllerService();

            try
            {
                apiController.DisableUser(payload);
                return(new JsonRpcResponseData
                {
                    Message = "User disabled",
                    Status = JsonRpcResponseData.OK,
                    Data = new { payload.Username }
                });
            }
            catch (System.Exception ex)
            {
                throw HandleException(ex);
            }
        }
 public string ResetPassword(SimpleTenant tenant)
 {
     homeNode.ValidateTenant(tenant.TenantUId);
     return(userGroupService.ResetUserPassword(tenant.Username));
 }
 public void LoginTenant(SimpleTenant tenant)
 {
     homeNode.ValidateTenant(tenant.TenantUId);
     new Controllers.ExternalApiConnectorController().LoginTenantRemotely(tenant);
 }
 public string EnableUser(SimpleTenant user)
 {
     return(userGroupService.EnableUser(user.Username));
 }
 public string EnableTenant(SimpleTenant tenant)
 {
     homeNode.EnableTenant(tenant.TenantUId);
     userGroupService.EnableUser(tenant.Username);
     return(tenant.TenantUId.ToString());
 }
 public string DisableUser(SimpleTenant tenant)
 {
     //new HomeContentNode(ConnectorContext.ContentService, ConnectorContext.ContentTypeService, ConnectorContext.Logger).ValidateTenant(tenant.TenantUId);
     userGroupService.DisableUser(tenant.Username);
     return(tenant.Username);
 }