/// <summary> /// Creates OrganizationUserRole /// </summary> /// <param name="createOrganizationUserRoleCommand">Model for all needed fields to create a tenant</param> /// <returns>ID of created OrganizationUserRole</returns> /// <exception cref="InvalidCreateOrganizationUserRoleDataError">If create data is not valid</exception> /// <exception cref="OrganizationUserRoleAlreadyExistsError">If OrganizationUserRole already exists</exception> public Result <int> CreateOrganizationUserRole(CreateOrganizationUserRoleCommand command) { if (!command.OrganizationUserId.HasValue) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.OrganizationUserId)))); } if (!command.OrganizationId.HasValue) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.OrganizationId)))); } if (string.IsNullOrEmpty(command.RoleId)) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.RoleId)))); } var exists = this.organizationUserRoleRepository.ExistsOrganizationUserRole(command.OrganizationUserId.Value, command.OrganizationId.Value, command.RoleId); if (exists) { return(new Result <int>(AuthorizationServiceErrors.EntityAlreadyExistsError(nameof(CreateOrganizationUserRoleCommand)))); } var id = this.organizationUserRoleRepository.CreateOrganizationUserRole(command); return(new Result <int>(id)); }
/// <summary> /// Updates an OrganizationUserPermission with passed fields /// </summary> /// <param name="command">contains ID and fields</param> /// <returns></returns> public EmptyResult UpdateOrganizationUserPermission(UpdateOrganizationUserPermissionCommand command) { if (!command.OrganizationUserId.HasValue) { return(new EmptyResult(AuthorizationServiceErrors.InvalidUpdateOrganizationNameError(nameof(command.OrganizationUserId)))); } if (string.IsNullOrEmpty(command.UserId)) { return(new EmptyResult(AuthorizationServiceErrors.InvalidExternalUserId())); } if (!organizationUserPermissionRepository.ExistsOrganizationUserPermission(command.OrganizationUserId.Value, command.UserId)) { organizationUserPermissionRepository.CreateOrganizationUserPermission( command.OrganizationUserId.Value, command.UserId, command.Permissions); } else { organizationUserPermissionRepository.UpdateOrganizationUserPermission(command); } return(new EmptyResult()); }
/// <summary> /// Creates RolePermission /// </summary> /// <param name="createRolePermissionCommand">Model for all needed fields to create a tenant</param> /// <returns>ID of created RolePermission</returns> /// <exception cref="InvalidCreateRolePermissionDataError">If create data is not valid</exception> /// <exception cref="RolePermissionAlreadyExistsError">If RolePermission already exists</exception> public Result <int> CreateRolePermission(CreateRolePermissionCommand command) { if (!command.OrganizationId.HasValue) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.OrganizationId)))); } if (string.IsNullOrEmpty(command.RoleId)) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.RoleId)))); } if (string.IsNullOrEmpty(command.RoleName)) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.RoleName)))); } if (string.IsNullOrEmpty(command.Permissions)) { return(new Result <int>(AuthorizationServiceErrors.InvalidCreateOrganizationDataError(nameof(command.Permissions)))); } var exists = this.rolePermissionRepository.ExistsRolePermission(command.OrganizationId.Value, command.RoleId); if (exists) { return(new Result <int>(AuthorizationServiceErrors.EntityAlreadyExistsError(nameof(CreateRolePermissionCommand)))); } return(new Result <int>(this.rolePermissionRepository.CreateRolePermission(command))); }
public Result <bool> ExistRolePermissionById(string roleId, int?organizationId) { if (!organizationId.HasValue) { return(new Result <bool>(AuthorizationServiceErrors.InvalidOrganizationIdError())); } var result = rolePermissionRepository.ExistsRolePermission(organizationId.Value, roleId); return(new Result <bool>(result)); }
public EmptyResult DeleteRolePermission(DeleteRolePermissionCommand command) { if (string.IsNullOrEmpty(command.RoleId)) { return(new Result <bool>(AuthorizationServiceErrors.InvalidDeleteEntityError(nameof(command.RoleId)))); } if (!command.OrganizationId.HasValue) { return(new Result <bool>(AuthorizationServiceErrors.InvalidDeleteEntityError(nameof(command.OrganizationId)))); } rolePermissionRepository.DeleteRolePermission(command); return(new Result <bool>()); }
/// <summary> /// Updates an RolePermission with passed fields /// </summary> /// <param name="command">contains ID and fields</param> /// <returns></returns> public EmptyResult UpdateRolePermission(UpdateRolePermissionCommand command) { if (!command.OrganizationId.HasValue) { return(new EmptyResult(AuthorizationServiceErrors.InvalidUpdateOrganizationNameError(nameof(command.OrganizationId)))); } if (string.IsNullOrEmpty(command.RoleId)) { return(new EmptyResult(AuthorizationServiceErrors.InvalidUpdateOrganizationNameError(nameof(command.RoleId)))); } if (!rolePermissionRepository.ExistsRolePermission(command.OrganizationId.Value, command.RoleId)) { return(new EmptyResult(AuthorizationServiceErrors.InvalidUpdateOrganizationNameError(nameof(command.OrganizationId)))); } rolePermissionRepository.UpdateRolePermission(command); return(new EmptyResult()); }
public Result <OrganizationUserAndRolePermissionsListView> QueryOrganizationUserAndRolePermission(QueryOrganizationUserAndRolePermissionCriteria criteria) { if (string.IsNullOrEmpty(criteria.UserId)) { return(new Result <OrganizationUserAndRolePermissionsListView>(AuthorizationServiceErrors.InvalidExternalUserId())); } if (!criteria.OrganizationId.HasValue) { return(new Result <OrganizationUserAndRolePermissionsListView>(AuthorizationServiceErrors.InvalidOrganizationIdError())); } var userPermissions = organizationUserPermissionRepository.QueryAllOrganizationUserPermission(criteria.OrganizationId.Value, criteria.UserId); var rolePermissions = rolePermissionRepository.QueryRolePermissionByExternalUserId(criteria.OrganizationId.Value, criteria.UserId); var result = new OrganizationUserAndRolePermissionsListView { OrganizationId = criteria.OrganizationId, OrganizationUserId = rolePermissions.FirstOrDefault(rp => rp.OrganizationUserId.HasValue) ?.OrganizationUserId ?? userPermissions.FirstOrDefault(up => up.OrganizationUserId.HasValue) ?.OrganizationUserId, UserId = criteria.UserId, Permissions = new List <string>() }; if (userPermissions != null && userPermissions.Any()) { result.Permissions.AddRange(userPermissions.Select(up => up.Permissions)); } if (rolePermissions != null && rolePermissions.Any()) { result.Permissions.AddRange(rolePermissions.Select(up => up.Permissions)); } return(new Result <OrganizationUserAndRolePermissionsListView>(result)); }