Skip to content

Instantly share code, notes, and snippets.

View sunilkumarmedium's full-sized avatar

SUNIL KUMAR B sunilkumarmedium

View GitHub Profile
@sunilkumarmedium
sunilkumarmedium / LambdaEntryPoint.cs
Created December 1, 2020 11:24
LambdaEntryPoint.cs
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
namespace CleanArchitectureApp.WebApi
{
/// <summary>
/// This class extends from APIGatewayProxyFunction which contains the method FunctionHandlerAsync which is the
/// actual Lambda function entry point. The Lambda handler field should be set to
///
/// CleanArchitectureApp.WebApi::CleanArchitectureApp.WebApi.LambdaEntryPoint::FunctionHandlerAsync
@sunilkumarmedium
sunilkumarmedium / SystemsManager.cs
Created November 28, 2020 02:02
SystemsManager.cs
using Amazon.SimpleSystemsManagement;
using Amazon.SimpleSystemsManagement.Model;
var request = new GetParameterRequest()
{
 Name = "/CleanArchitectureAppWebApi/postgresconnection"
 };
using (var client = new AmazonSimpleSystemsManagementClient(Amazon.RegionEndpoint.GetBySystemName("ap-south-1")))
 {
 var response = client.GetParameterAsync(request).GetAwaiter().GetResult();
@sunilkumarmedium
sunilkumarmedium / auth.guard.ts
Created November 22, 2020 10:28
auth.guard.ts
import { Injectable } from '@angular/core';
import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
import { AuthenticationService } from '../_services/authentication/authentication.service';
@Injectable({
providedIn: 'root'
})
export class AuthGuard implements CanActivate {
@sunilkumarmedium
sunilkumarmedium / global-error.service.ts
Created November 22, 2020 10:22
global-error.service.ts
import { ErrorHandler, Injectable, Injector } from '@angular/core';
import { ToastService } from '../toast/toast.service';
@Injectable({
providedIn: 'root'
})
export class GlobalErrorService implements ErrorHandler{
constructor(
private injector: Injector
@sunilkumarmedium
sunilkumarmedium / jwt.inteceptor.ts
Created November 22, 2020 10:20
jwt.inteceptor.ts
import { AuthenticationService } from './../_services/authentication/authentication.service';
import { environment } from './../../environments/environment';
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor
} from '@angular/common/http';
import { Observable } from 'rxjs';
@sunilkumarmedium
sunilkumarmedium / authentication.service.ts
Created November 22, 2020 10:12
authentication.service.ts
import { environment } from './../../../environments/environment';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { User } from 'src/app/_models/user.model';
import { ApiResponse } from '../../_models/api-response';
@Injectable({
@sunilkumarmedium
sunilkumarmedium / user.model.ts
Created November 22, 2020 09:59
user.model.ts
export interface User {
id: string| undefined;
username: string| undefined;
firstname: string| undefined;
lastname: string| undefined;
status: string | undefined;
createddate: any;
token: string | undefined;
refreshToken: string | undefined;
}
@sunilkumarmedium
sunilkumarmedium / login.component.ts
Created November 22, 2020 09:56
login.component.ts
import { AuthenticationService } from './../../../_services/authentication/authentication.service';
import { ActivatedRoute, Router } from '@angular/router';
import { Component, OnInit, Injector } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { first } from 'rxjs/operators';
import { ToastService } from 'src/app/_services/toast/toast.service';
import { HttpErrorResponse } from '@angular/common/http';
@Component({
templateUrl: './login.component.html',
@sunilkumarmedium
sunilkumarmedium / login.component.html
Created November 22, 2020 09:55
login.component.html
<div class="card shadow p-3 mb-5 bg-white rounded card-top">
<h4 class="card-header">Login</h4>
<div class="card-body">
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<div class="form-group">
<label for="username">Username</label>
<input type="text" formControlName="username" class="form-control" [ngClass]="{ 'is-invalid': submitted && formControls.username.errors }" />
<div *ngIf="submitted && formControls.username.errors" class="invalid-feedback">
@sunilkumarmedium
sunilkumarmedium / CreateUserCommandValidator.cs
Created November 22, 2020 08:12
CreateUserCommandValidator.cs
namespace CleanArchitectureApp.Application.Features.Users.Commands
{
public class CreateUserCommandValidator : AbstractValidator<CreateUserCommand>
{
private readonly IUserRepositoryAsync userRepository;
public CreateUserCommandValidator(IUserRepositoryAsync userRepository)
{
this.userRepository = userRepository;