Skip to content

Instantly share code, notes, and snippets.

View sunilkumarmedium's full-sized avatar

SUNIL KUMAR B sunilkumarmedium

View GitHub Profile
@sunilkumarmedium
sunilkumarmedium / UserMap.cs
Created November 22, 2020 08:10
UserMap.cs
namespace CleanArchitectureApp.Infrastructure.Persistence.Repositories
{
public partial class UserMap : ClassMapping<Domain.User>
{
public UserMap()
{
Schema("dbo");
Table("Users");
Lazy(true);
Id(x => x.UserId, map =>
@sunilkumarmedium
sunilkumarmedium / User.cs
Created November 22, 2020 08:09
user.cs
namespace CleanArchitectureApp.Domain
{
public class User : AuditableBaseEntity
{
public User()
{
UserTokens = new List<UserToken>();
}
public virtual Guid UserId { get; set; }
@sunilkumarmedium
sunilkumarmedium / NHibernateServiceRegistration.cs
Created November 22, 2020 08:06
NHibernateServiceRegistration.cs
namespace CleanArchitectureApp.Infrastructure.Persistence
{
public static class ServiceRegistration
{
public static void AddPersistenceInfrastructure(this IServiceCollection services, IConfiguration configuration)
{
var mapper = new ModelMapper();
mapper.AddMappings(typeof(UserMap).Assembly.ExportedTypes);
HbmMapping domainMapping = mapper.CompileMappingForAllExplicitlyAddedEntities();
@sunilkumarmedium
sunilkumarmedium / ErrorHandlerMiddleware.cs
Created November 22, 2020 07:58
ErrorHandlerMiddleware.cs
namespace CleanArchitectureApp.WebApi.Middlewares
{
using CleanArchitectureApp.Application.Exceptions;
using CleanArchitectureApp.Application.Wrappers;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Net;
using System.Text.Json;
using System.Threading.Tasks;
@sunilkumarmedium
sunilkumarmedium / JWTTokenGeneration
Created November 22, 2020 07:55
JwtTokenGeneration
private Task<JwtSecurityToken> GenerateJWToken(User user)
{
var claims = new[]
{
new Claim(JwtRegisteredClaimNames.Sub, user.UserName),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
new Claim(JwtRegisteredClaimNames.Email, user.UserEmail),
new Claim("uid", user.UserId.ToString()),
};
@sunilkumarmedium
sunilkumarmedium / JwtTokenConfig.cs
Created November 22, 2020 07:47
JwtTokenConfig.cs
namespace CleanArchitectureApp.WebApi.Extensions
{
using CleanArchitectureApp.Application.Wrappers;
using CleanArchitectureApp.Domain;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
@sunilkumarmedium
sunilkumarmedium / SwaggerConfig.cs
Last active November 22, 2020 07:44
SwaggerConfig
namespace CleanArchitectureApp.WebApi.Extensions
{
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi.Models;
using System;
using System.Reflection;
public static class SwaggerConfig