Implemented feature management mongodb integration

pull/877/head
Halil ibrahim Kalkan 7 years ago
parent 287f71d805
commit b3370082b9

@ -14,9 +14,9 @@ namespace Volo.Abp.FeatureManagement.MongoDB
{
context.Services.AddMongoDbContext<FeatureManagementMongoDbContext>(options =>
{
/* Add custom repositories here. Example:
* options.AddRepository<Question, MongoQuestionRepository>();
*/
options.AddDefaultRepositories<IFeatureManagementMongoDbContext>();
options.AddRepository<FeatureValue, MongoFeatureValueRepository>();
});
}
}

@ -1,4 +1,5 @@
using Volo.Abp.Data;
using MongoDB.Driver;
using Volo.Abp.Data;
using Volo.Abp.MongoDB;
namespace Volo.Abp.FeatureManagement.MongoDB
@ -8,6 +9,8 @@ namespace Volo.Abp.FeatureManagement.MongoDB
{
public static string CollectionPrefix { get; set; } = FeatureManagementConsts.DefaultDbTablePrefix;
public IMongoCollection<FeatureValue> FeatureValues => Collection<FeatureValue>();
protected override void CreateModel(IMongoModelBuilder modelBuilder)
{
base.CreateModel(modelBuilder);

@ -14,6 +14,11 @@ namespace Volo.Abp.FeatureManagement.MongoDB
var options = new FeatureManagementMongoModelBuilderConfigurationOptions();
optionsAction?.Invoke(options);
builder.Entity<FeatureValue>(b =>
{
b.CollectionName = options.CollectionPrefix + "FeatureValues";
});
}
}
}

@ -1,4 +1,5 @@
using Volo.Abp.Data;
using MongoDB.Driver;
using Volo.Abp.Data;
using Volo.Abp.MongoDB;
namespace Volo.Abp.FeatureManagement.MongoDB
@ -6,6 +7,6 @@ namespace Volo.Abp.FeatureManagement.MongoDB
[ConnectionStringName("AbpFeatureManagement")]
public interface IFeatureManagementMongoDbContext : IAbpMongoDbContext
{
IMongoCollection<FeatureValue> FeatureValues { get; }
}
}

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using Volo.Abp.Domain.Repositories.MongoDB;
using Volo.Abp.MongoDB;
namespace Volo.Abp.FeatureManagement.MongoDB
{
public class MongoFeatureValueRepository : MongoDbRepository<IFeatureManagementMongoDbContext, FeatureValue, Guid>, IFeatureValueRepository
{
public MongoFeatureValueRepository(IMongoDbContextProvider<IFeatureManagementMongoDbContext> dbContextProvider)
: base(dbContextProvider)
{
}
public async Task<FeatureValue> FindAsync(string name, string providerName, string providerKey)
{
return await GetMongoQueryable()
.FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey);
}
public async Task<List<FeatureValue>> GetListAsync(string providerName, string providerKey)
{
return await GetMongoQueryable()
.Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey)
.ToListAsync();
}
}
}

@ -3,7 +3,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.SettingManagement.MongoDB
{
public static class AbpSettingManagementMongoDbContextExtensions
public static class SettingManagementMongoDbContextExtensions
{
public static void ConfigureSettingManagement(
this IMongoModelBuilder builder,
Loading…
Cancel
Save