1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-04 01:22:50 -05:00

Add disable send policy (#1130)

* Add Disable Send policy

* Test DisableSend policy

* PR Review

* Update tests for using CurrentContext

This required making an interface for CurrentContext and mocking out
the members used. The interface can be expanded as needed for tests.

I moved CurrentContext to a folder, which changes the namespace
and causes a lot of file touches, but most are just adding a reference

* Fix failing test

* Update exemption to include all exempt users

* Move all CurrentContext usages to ICurrentContext

* PR review. Match messaging with Web
This commit is contained in:
Matt Gibson
2021-02-04 12:54:21 -06:00
committed by GitHub
parent 19e7ce8519
commit edd4bc2623
60 changed files with 437 additions and 99 deletions

View File

@ -2,7 +2,7 @@
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Context;
using Bit.Core.Models.Api.Public;
using Bit.Core.Repositories;
using Bit.Core.Services;
@ -17,12 +17,12 @@ namespace Bit.Api.Public.Controllers
{
private readonly ICollectionRepository _collectionRepository;
private readonly ICollectionService _collectionService;
private readonly CurrentContext _currentContext;
private readonly ICurrentContext _currentContext;
public CollectionsController(
ICollectionRepository collectionRepository,
ICollectionService collectionService,
CurrentContext currentContext)
ICurrentContext currentContext)
{
_collectionRepository = collectionRepository;
_collectionService = collectionService;

View File

@ -2,7 +2,7 @@
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Context;
using Bit.Core.Models.Api.Public;
using Bit.Core.Models.Data;
using Bit.Core.Repositories;
@ -17,12 +17,12 @@ namespace Bit.Api.Public.Controllers
{
private readonly IEventRepository _eventRepository;
private readonly ICipherRepository _cipherRepository;
private readonly CurrentContext _currentContext;
private readonly ICurrentContext _currentContext;
public EventsController(
IEventRepository eventRepository,
ICipherRepository cipherRepository,
CurrentContext currentContext)
ICurrentContext currentContext)
{
_eventRepository = eventRepository;
_cipherRepository = cipherRepository;

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Context;
using Bit.Core.Models.Api.Public;
using Bit.Core.Repositories;
using Bit.Core.Services;
@ -18,12 +18,12 @@ namespace Bit.Api.Public.Controllers
{
private readonly IGroupRepository _groupRepository;
private readonly IGroupService _groupService;
private readonly CurrentContext _currentContext;
private readonly ICurrentContext _currentContext;
public GroupsController(
IGroupRepository groupRepository,
IGroupService groupService,
CurrentContext currentContext)
ICurrentContext currentContext)
{
_groupRepository = groupRepository;
_groupService = groupService;

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Context;
using Bit.Core.Models.Api.Public;
using Bit.Core.Models.Business;
using Bit.Core.Repositories;
@ -21,14 +21,14 @@ namespace Bit.Api.Public.Controllers
private readonly IGroupRepository _groupRepository;
private readonly IOrganizationService _organizationService;
private readonly IUserService _userService;
private readonly CurrentContext _currentContext;
private readonly ICurrentContext _currentContext;
public MembersController(
IOrganizationUserRepository organizationUserRepository,
IGroupRepository groupRepository,
IOrganizationService organizationService,
IUserService userService,
CurrentContext currentContext)
ICurrentContext currentContext)
{
_organizationUserRepository = organizationUserRepository;
_groupRepository = groupRepository;

View File

@ -2,6 +2,7 @@
using System.Net;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Context;
using Bit.Core.Exceptions;
using Bit.Core.Models.Api.Public;
using Bit.Core.Services;
@ -15,12 +16,12 @@ namespace Bit.Api.Public.Controllers
public class OrganizationController : Controller
{
private readonly IOrganizationService _organizationService;
private readonly CurrentContext _currentContext;
private readonly ICurrentContext _currentContext;
private readonly GlobalSettings _globalSettings;
public OrganizationController(
IOrganizationService organizationService,
CurrentContext currentContext,
ICurrentContext currentContext,
GlobalSettings globalSettings)
{
_organizationService = organizationService;

View File

@ -2,7 +2,7 @@
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Bit.Core;
using Bit.Core.Context;
using Bit.Core.Enums;
using Bit.Core.Models.Api.Public;
using Bit.Core.Repositories;
@ -20,14 +20,14 @@ namespace Bit.Api.Public.Controllers
private readonly IPolicyService _policyService;
private readonly IUserService _userService;
private readonly IOrganizationService _organizationService;
private readonly CurrentContext _currentContext;
private readonly ICurrentContext _currentContext;
public PoliciesController(
IPolicyRepository policyRepository,
IPolicyService policyService,
IUserService userService,
IOrganizationService organizationService,
CurrentContext currentContext)
ICurrentContext currentContext)
{
_policyRepository = policyRepository;
_policyService = policyService;