Skip to content
This repository was archived by the owner on Aug 1, 2021. It is now read-only.

Commit 2a8e47b

Browse files
committed
Night bulid
1 parent f073051 commit 2a8e47b

35 files changed

Lines changed: 564 additions & 66 deletions

src/Backend/Jp.Application/AutoMapper/DomainToViewModelMappingProfile.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Globalization;
22
using AutoMapper;
3+
using IdentityServer4.Models;
34
using Jp.Application.EventSourcedNormalizers;
45
using Jp.Application.ViewModels;
56
using Jp.Domain.Core.Events;
@@ -13,6 +14,7 @@ public DomainToViewModelMappingProfile()
1314
{
1415
CreateMap<User, UserViewModel>().ForMember(a => a.Password, o => o.Ignore()).ForMember(a => a.ConfirmPassword, o => o.Ignore());
1516
CreateMap<StoredEvent, EventHistoryData>().ConstructUsing(a => new EventHistoryData() { Action = a.MessageType, Id = a.Id.ToString(), Details = a.Data, When = a.Timestamp.ToString(CultureInfo.InvariantCulture), Who = a.User});
17+
1618
}
1719
}
1820
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
using System.Threading.Tasks;
5+
using IdentityServer4.Models;
6+
using Jp.Application.ViewModels;
7+
8+
namespace Jp.Application.Interfaces
9+
{
10+
public interface IClientAppService: IDisposable
11+
{
12+
Task<IEnumerable<Client>> GetClients();
13+
}
14+
}

src/Backend/Jp.Application/Jp.Application.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,10 @@
1414
<ProjectReference Include="..\Jp.Domain\Jp.Domain.csproj" />
1515
</ItemGroup>
1616

17+
<ItemGroup>
18+
<Reference Include="IdentityServer4">
19+
<HintPath>C:\Users\Bruno\.nuget\packages\identityserver4\2.1.1\lib\netstandard2.0\IdentityServer4.dll</HintPath>
20+
</Reference>
21+
</ItemGroup>
22+
1723
</Project>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Threading.Tasks;
5+
using AutoMapper;
6+
using IdentityServer4.EntityFramework.Mappers;
7+
using IdentityServer4.Models;
8+
using Jp.Application.Interfaces;
9+
using Jp.Domain.Core.Bus;
10+
using Jp.Domain.Interfaces;
11+
12+
namespace Jp.Application.Services
13+
{
14+
public class ClientAppService : IClientAppService
15+
{
16+
private IMapper _mapper;
17+
private IEventStoreRepository _eventStoreRepository;
18+
private readonly IClientRepository _ClientRepository;
19+
public IMediatorHandler Bus { get; set; }
20+
21+
public ClientAppService(IMapper mapper,
22+
IMediatorHandler bus,
23+
IEventStoreRepository eventStoreRepository,
24+
IClientRepository clientRepository)
25+
{
26+
_mapper = mapper;
27+
Bus = bus;
28+
_eventStoreRepository = eventStoreRepository;
29+
_ClientRepository = clientRepository;
30+
}
31+
32+
public Task<IEnumerable<Client>> GetClients()
33+
{
34+
35+
var resultado = _ClientRepository.GetAll().Select(a => a.ToModel()).ToList();
36+
return Task.FromResult<IEnumerable<Client>>(resultado);
37+
}
38+
public void Dispose()
39+
{
40+
GC.SuppressFinalize(this);
41+
}
42+
}
43+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using IdentityServer4.EntityFramework.Entities;
2+
3+
namespace Jp.Domain.Interfaces
4+
{
5+
public interface IClientRepository : IRepository<Client>
6+
{
7+
}
8+
}

src/Backend/Jp.Domain/Jp.Domain.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
<ItemGroup>
1313
<PackageReference Include="FluentValidation" Version="8.0.0" />
14+
<PackageReference Include="IdentityServer4.EntityFramework" Version="2.1.1" />
1415
</ItemGroup>
1516

1617
</Project>

src/Backend/Jp.Infra.CrossCutting.Identity/Constants/AuthorizationConsts.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace Jp.Infra.CrossCutting.Identity.Constants
55
public class AuthorizationConsts
66
{
77
public const string AdministrationPolicy = "RequireAdministratorRole";
8-
public const string AdministrationRole = "SkorubaIdentityAdminAdministrator";
8+
public const string AdministrationRole = "Administrator";
99

1010
public const string IdentityAdminCookieName = "IdentityServerAdmin";
1111
public const string IdentityAdminRedirectUri = "http://localhost:9000/signin-oidc";

src/Backend/Jp.Infra.CrossCutting.IdentityServer/Context/IdentityServerContext.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,20 @@
22
using IdentityServer4.EntityFramework.Entities;
33
using IdentityServer4.EntityFramework.Extensions;
44
using IdentityServer4.EntityFramework.Interfaces;
5+
using IdentityServer4.EntityFramework.Mappers;
56
using IdentityServer4.EntityFramework.Options;
67
using Microsoft.EntityFrameworkCore;
78

89
namespace Jp.Infra.CrossCutting.IdentityServer.Context
910
{
10-
public class IdentityServerContext : DbContext
11+
public class JpContext : DbContext
1112
, IConfigurationDbContext
1213
, IPersistedGrantDbContext
1314
{
1415
private readonly ConfigurationStoreOptions _storeOptions;
1516
private readonly OperationalStoreOptions _operationalOptions;
1617

17-
public IdentityServerContext(DbContextOptions<IdentityServerContext> options,
18+
public JpContext(DbContextOptions<JpContext> options,
1819
ConfigurationStoreOptions storeOptions,
1920
OperationalStoreOptions operationalOptions
2021
) : base(options)
@@ -63,7 +64,6 @@ OperationalStoreOptions operationalOptions
6364
protected override void OnModelCreating(ModelBuilder modelBuilder)
6465
{
6566
base.OnModelCreating(modelBuilder);
66-
6767
modelBuilder.ConfigureClientContext(_storeOptions);
6868
modelBuilder.ConfigureResourcesContext(_storeOptions);
6969
modelBuilder.ConfigurePersistedGrantContext(_operationalOptions);
Lines changed: 68 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,80 @@
1-
using System.IO;
1+
using System.Threading.Tasks;
2+
using IdentityServer4.EntityFramework.Entities;
3+
using IdentityServer4.EntityFramework.Extensions;
4+
using IdentityServer4.EntityFramework.Interfaces;
5+
using IdentityServer4.EntityFramework.Mappers;
6+
using IdentityServer4.EntityFramework.Options;
27
using Microsoft.EntityFrameworkCore;
3-
using Microsoft.Extensions.Configuration;
48

59
namespace Jp.Infra.Data.Context
610
{
711
public class JpContext : DbContext
12+
, IConfigurationDbContext
13+
, IPersistedGrantDbContext
814
{
9-
public JpContext(DbContextOptions<JpContext> options
10-
) : base(options)
15+
private readonly ConfigurationStoreOptions _storeOptions;
16+
private readonly OperationalStoreOptions _operationalOptions;
17+
18+
public JpContext(DbContextOptions<JpContext> options,
19+
ConfigurationStoreOptions storeOptions,
20+
OperationalStoreOptions operationalOptions
21+
) : base(options)
1122
{
23+
_storeOptions = storeOptions;
24+
_operationalOptions = operationalOptions;
1225
}
13-
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
26+
27+
28+
public DbSet<ApiResource> ApiResources { get; set; }
29+
30+
public DbSet<IdentityResource> IdentityResources { get; set; }
31+
32+
public DbSet<ApiSecret> ApiSecrets { get; set; }
33+
34+
public DbSet<ApiScope> ApiScopes { get; set; }
35+
36+
public DbSet<ApiScopeClaim> ApiScopeClaims { get; set; }
37+
38+
public DbSet<IdentityClaim> IdentityClaims { get; set; }
39+
40+
public DbSet<ApiResourceClaim> ApiResourceClaims { get; set; }
41+
42+
public DbSet<Client> Clients { get; set; }
43+
44+
public DbSet<ClientGrantType> ClientGrantTypes { get; set; }
45+
46+
public DbSet<ClientScope> ClientScopes { get; set; }
47+
48+
public DbSet<ClientSecret> ClientSecrets { get; set; }
49+
50+
public DbSet<ClientPostLogoutRedirectUri> ClientPostLogoutRedirectUris { get; set; }
51+
52+
public DbSet<ClientCorsOrigin> ClientCorsOrigins { get; set; }
53+
54+
public DbSet<ClientIdPRestriction> ClientIdPRestrictions { get; set; }
55+
56+
public DbSet<ClientRedirectUri> ClientRedirectUris { get; set; }
57+
58+
public DbSet<ClientClaim> ClientClaims { get; set; }
59+
60+
public DbSet<ClientProperty> ClientProperties { get; set; }
61+
62+
public DbSet<PersistedGrant> PersistedGrants { get; set; }
63+
64+
protected override void OnModelCreating(ModelBuilder modelBuilder)
1465
{
15-
66+
base.OnModelCreating(modelBuilder);
67+
modelBuilder.ConfigureClientContext(_storeOptions);
68+
modelBuilder.ConfigureResourcesContext(_storeOptions);
69+
modelBuilder.ConfigurePersistedGrantContext(_operationalOptions);
70+
}
71+
72+
73+
74+
public Task<int> SaveChangesAsync()
75+
{
76+
return base.SaveChangesAsync();
1677
}
1778
}
18-
79+
1980
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using IdentityServer4.EntityFramework.Entities;
2+
using Jp.Domain.Interfaces;
3+
using Jp.Infra.Data.Context;
4+
5+
namespace Jp.Infra.Data.Repository
6+
{
7+
public class ClientRepository : Repository<Client> , IClientRepository
8+
{
9+
public ClientRepository(JpContext context) : base(context)
10+
{
11+
}
12+
}
13+
}

0 commit comments

Comments
 (0)