Skip to content

Commit

Permalink
rework campaigns proto file, work on dependency injection and project…
Browse files Browse the repository at this point in the history
… structure, apply editorconfig code style
  • Loading branch information
xenry committed Apr 19, 2021
1 parent 954fc76 commit ba4a60a
Show file tree
Hide file tree
Showing 19 changed files with 204 additions and 122 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ insert_final_newline = false

# Organize usings
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = false
dotnet_sort_system_directives_first = true
file_header_template = unset

# this. and Me. preferences
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
namespace Podkrepibg.Campaigns.Application.Configuration
{
using System.Reflection;
using MediatR;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

public static class DependencyInjection
{
public static IServiceCollection AddApplication(IServiceCollection services)
public static IServiceCollection AddApplication(this IServiceCollection services, IConfiguration configuration)
{
services.AddMediatR(Assembly.GetExecutingAssembly());

return services;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
namespace Podkrepibg.Campaigns.Application.Data
{
using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Podkrepibg.Campaigns.Domain.Entities;

public interface IApplicationDbContext
{
public DbSet<CampaignType> CampaignTypes { get; set; }

public DbSet<CampaignSubType> CampaignSubTypes { get; set; }

public DbSet<Campaign> Campaigns { get; set; }

Task<int> SaveChangesAsync(CancellationToken cancellationToken);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

<ItemGroup>
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="9.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.5" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0" />
<PackageReference Include="Grpc.AspNetCore" Version="2.35.0" />
</ItemGroup>
Expand All @@ -19,4 +20,8 @@
<Folder Include="Commands\CreateCampaign\" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Podkrepibg.Campaigns.Domain\Podkrepibg.Campaigns.Domain.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
namespace Podkrepibg.Campaigns.Application.Queries.GetCampaigns
{
using System.Threading;
using System.Threading.Tasks;
using MediatR;
using Podkrepibg.Campaigns.Application.Data;

public class GetCampaignDetailsQuery : IRequest<CampaignDetails>
{
public string Id { get; set; }
}

public class GetCampaignDetailsQueryHandler : IRequestHandler<GetCampaignDetailsQuery, CampaignDetails>
{
private readonly IApplicationDbContext _dbContext;

public GetCampaignDetailsQueryHandler(IApplicationDbContext dbContext)
{
_dbContext = dbContext;
}

public Task<CampaignDetails> Handle(GetCampaignDetailsQuery request, CancellationToken cancellationToken)
{
throw new System.NotImplementedException();
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System;
using Podkrepibg.Campaigns.Domain.Types;

namespace Podkrepibg.Campaigns.Domain.Entities
{
using System;
using Podkrepibg.Campaigns.Domain.Types;

public class Campaign
{
public Guid Id { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;

namespace Podkrepibg.Campaigns.Domain.Entities
{
using System;

public class CampaignSubType
{
public Guid Id { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;

namespace Podkrepibg.Campaigns.Domain.Entities
{
using System;
using System.Collections.Generic;

public class CampaignType
{
public Guid Id { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
namespace Podkrepibg.Campaigns.Infrastructure.Configuration
{
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Podkrepibg.Campaigns.Application.Data;
using Podkrepibg.Campaigns.Infrastructure.Persistence;

public static class DependencyInjection
{
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
{
services.AddScoped<IApplicationDbContext>(provider => provider.GetService<CampaignsContext>());

services.AddDbContext<CampaignsContext>(
options => options.UseNpgsql(configuration.GetConnectionString("CampaignDb")));

return services;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using Microsoft.EntityFrameworkCore;
using Podkrepibg.Campaigns.Domain.Entities;
using System.Reflection;

namespace Podkrepibg.Campaigns.Data
namespace Podkrepibg.Campaigns.Infrastructure.Persistence
{
public class CampaignsContext : DbContext
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Podkrepibg.Campaigns.Application.Data;
using Podkrepibg.Campaigns.Domain.Entities;

public class CampaignsContext : DbContext, IApplicationDbContext
{
public DbSet<CampaignType> CampaignTypes { get; set; }
public DbSet<CampaignSubType> CampaignSubTypes { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Newtonsoft.Json;
using Podkrepibg.Campaigns.Domain.Entities;
using Podkrepibg.Campaigns.Domain.Types;

namespace Podkrepibg.Campaigns.Infrastructure.Persistence.Configurations
{
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Newtonsoft.Json;
using Podkrepibg.Campaigns.Domain.Entities;
using Podkrepibg.Campaigns.Domain.Types;

public class CampaignConfiguration : IEntityTypeConfiguration<Campaign>
{
public void Configure(EntityTypeBuilder<Campaign> builder)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Podkrepibg.Campaigns.Domain.Entities;

namespace Podkrepibg.Campaigns.Infrastructure.Persistence.Configurations
{
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Podkrepibg.Campaigns.Domain.Entities;

public class CampaignSubTypeConfiguration : IEntityTypeConfiguration<CampaignSubType>
{
public void Configure(EntityTypeBuilder<CampaignSubType> builder)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Podkrepibg.Campaigns.Domain.Entities;

namespace Podkrepibg.Campaigns.Infrastructure.Persistence.Configurations
{
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Podkrepibg.Campaigns.Domain.Entities;

public class CampaignTypeConfiguration : IEntityTypeConfiguration<CampaignType>
{
public void Configure(EntityTypeBuilder<CampaignType> builder)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<TargetFramework>net5</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand All @@ -10,7 +10,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Podkrepibg.Campaigns.Domain\Podkrepibg.Campaigns.Domain.csproj" />
<ProjectReference Include="..\Podkrepibg.Campaigns.Application\Podkrepibg.Campaigns.Application.csproj" />
</ItemGroup>

</Project>
8 changes: 4 additions & 4 deletions backend/module-campaigns/src/Podkrepibg.Campaigns/Program.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

namespace Podkrepibg.Campaigns
{
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

public class Program
{
public static void Main(string[] args)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,25 @@
using System;
using System.Threading.Tasks;
using Google.Protobuf.WellKnownTypes;
using Grpc.Core;
using Microsoft.Extensions.Logging;
using Podkrepibg.Nomenclatures;

namespace Podkrepibg.Campaigns.Services
{
using System;
using System.Threading.Tasks;
using Google.Protobuf.WellKnownTypes;
using Grpc.Core;

public class CampaignsService : CampaignService.CampaignServiceBase
{
private readonly ILogger<CampaignsService> _logger;

public CampaignsService(ILogger<CampaignsService> logger)
public CampaignsService()
{
_logger = logger;
}

public override Task<Campaign> CreateCampaign(CreateCampaignRequest request, ServerCallContext context)
public override Task<CreateCampaignResponse> CreateCampaign(CreateCampaignRequest request, ServerCallContext context)
{
return Task.FromResult(
new Campaign()
new CreateCampaignResponse()
{
BeneficiaryId = request.BeneficiaryId,
Id = Guid.NewGuid().ToString(),
InitiatorId = request.InitiatorId,
OperatorId = request.OperatorId,
State = CampaignState.Draft
Id = Guid.NewGuid().ToString()
});
}

public override Task<CampaignTypesResponse> ListCampaignTypes(Empty request, ServerCallContext context)
{
return base.ListCampaignTypes(request, context);
}

public override Task<CampaignsResponse> FilterCampaigns(FilterCampaignsRequest request, ServerCallContext context)
{
return base.FilterCampaigns(request, context);
Expand All @@ -43,5 +29,15 @@ public override Task<CampaignsResponse> ListCampaigns(ListCampaignsRequest reque
{
return base.ListCampaigns(request, context);
}

public override Task<CampaignDetails> GetCampaignDetails(GetCampaignDetailsRequest request, ServerCallContext context)
{
return base.GetCampaignDetails(request, context);
}

public override Task<CampaignTypesResponse> ListCampaignTypes(Empty request, ServerCallContext context)
{
return base.ListCampaignTypes(request, context);
}
}
}
24 changes: 12 additions & 12 deletions backend/module-campaigns/src/Podkrepibg.Campaigns/Startup.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Podkrepibg.Campaigns.Data;

namespace Podkrepibg.Campaigns
{
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Podkrepibg.Campaigns.Application.Configuration;
using Podkrepibg.Campaigns.Infrastructure.Configuration;

public class Startup
{
private IConfigurationRoot Configuration { get; set; }
Expand All @@ -28,9 +28,9 @@ public void ConfigureServices(IServiceCollection services)
{
services.AddGrpc();
services.AddOptions();
services.AddSingleton<IConfigurationRoot>(Configuration);
services.AddDbContext<CampaignsContext>(options =>
options.UseNpgsql(Configuration.GetConnectionString("CampaignDb")));

services.AddApplication(Configuration);
services.AddInfrastructure(Configuration);
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
Expand Down
Loading

0 comments on commit ba4a60a

Please sign in to comment.