1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-02 16:42:50 -05:00

[SM-390] Project Access Policies (#2507)

The purpose of this PR is to create server endpoints for creating, reading, updating, and deleting access policies for projects.
This commit is contained in:
Thomas Avery
2023-01-19 17:31:19 -06:00
committed by GitHub
parent ae647bbf44
commit 53ba2eeb18
24 changed files with 1133 additions and 63 deletions

View File

@ -11,7 +11,10 @@ public class AccessPolicyMapperProfile : Profile
{
public AccessPolicyMapperProfile()
{
CreateMap<Core.Entities.AccessPolicy, AccessPolicy>().ReverseMap();
CreateMap<Core.Entities.UserProjectAccessPolicy, UserProjectAccessPolicy>().ReverseMap()
.ForMember(dst => dst.User, opt => opt.MapFrom(src => src.OrganizationUser.User));
CreateMap<Core.Entities.GroupProjectAccessPolicy, GroupProjectAccessPolicy>().ReverseMap();
CreateMap<Core.Entities.ServiceAccountProjectAccessPolicy, ServiceAccountProjectAccessPolicy>().ReverseMap();
}
}

View File

@ -1,27 +0,0 @@
using AutoMapper;
using Bit.Core.Repositories;
using Bit.Infrastructure.EntityFramework.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using CoreAccessPolicy = Bit.Core.Entities.AccessPolicy;
namespace Bit.Infrastructure.EntityFramework.Repositories;
public class AccessPolicyRepository : IAccessPolicyRepository
{
public AccessPolicyRepository(IServiceScopeFactory serviceScopeFactory, IMapper mapper)
{
}
protected Func<DatabaseContext, DbSet<AccessPolicy>> GetDbSet { get; private set; }
public Task<CoreAccessPolicy> GetByIdAsync(Guid id) => throw new NotImplementedException();
public Task<CoreAccessPolicy> CreateAsync(CoreAccessPolicy obj) => throw new NotImplementedException();
public Task ReplaceAsync(CoreAccessPolicy obj) => throw new NotImplementedException();
public Task UpsertAsync(CoreAccessPolicy obj) => throw new NotImplementedException();
public Task DeleteAsync(CoreAccessPolicy obj) => throw new NotImplementedException();
}

View File

@ -17,6 +17,9 @@ public class DatabaseContext : DbContext
{ }
public DbSet<AccessPolicy> AccessPolicies { get; set; }
public DbSet<UserProjectAccessPolicy> UserProjectAccessPolicy { get; set; }
public DbSet<GroupProjectAccessPolicy> GroupProjectAccessPolicy { get; set; }
public DbSet<ServiceAccountProjectAccessPolicy> ServiceAccountProjectAccessPolicy { get; set; }
public DbSet<ApiKey> ApiKeys { get; set; }
public DbSet<Cipher> Ciphers { get; set; }
public DbSet<Collection> Collections { get; set; }