@izaher-dev/auth
v1.0.6
Published
A **clean-architecture-based authentication library** for Angular applications.
Readme
Auth Library
A clean-architecture-based authentication library for Angular applications.
Installation
npm install @izaher-dev/authSetup
Dependency Injection
To configure and inject the library in your Angular project, you can use one of the following methods:
1. Using bootstrapApplication (Standalone Components)
import { bootstrapApplication } from '@angular/platform-browser';
import { App } from './app.component';
import { AUTH_PROVIDERS, API_CONFIG } from '@izaher-dev/auth';
bootstrapApplication(App, {
providers: [
...AUTH_PROVIDERS,
{ provide: API_CONFIG, useValue: { baseUrl: 'https://api.example.com/' } },
],
});1. 2. Using NgModule (Traditional Module-based App)
import { NgModule } from '@angular/core';
import { AUTH_PROVIDERS, API_CONFIG } from '@izaher-dev/auth';
@NgModule({
providers: [
...AUTH_PROVIDERS,
{ provide: API_CONFIG, useValue: { baseUrl: 'https://api.example.com/' } },
],
})
export class AppModule {}Usage
Using Individual UseCases
import { LoginUsecaseService, RegisterUsecaseService } from '@izaher-dev/auth';
constructor(private loginUsecase: LoginUsecaseService) {}
this.loginUsecase.execute({ email, password }).subscribe(...);
Layers
Domain
- Models
- UserModel
- AuthModel
- ProfileModel
- MessageModel
- StatusModel
- PasswordModel
- AuthRepo interface
- UseCases:
- LoginUsecaseService
- RegisterUsecaseService
- ChangePasswordUsecaseService
- LogoutUsecaseService
- DeleteMeUsecaseService
- EditProfileUsecaseService
- ForgetPasswordUsecaseService
- ResetPasswordUsecaseService
- VerifyResetCodeUsecaseService
- ProfileDataUsecaseService
Data
- DTOs:
auth-req.dto.ts,auth-res.dto.ts - API Service:
AuthApiService - Repository Implementation:
AuthApiRepo - Adaptors:
AuthApiAdaptor - Endpoints:
AuthApiEndPoint
DTOs
Request DTOs
- LoginRequest
- RegisterRequest
- ChangePasswordReq
- EditProfileReq
- ForgetPasswordReq
- ResetPasswordReq
- VerifyResetCodeReq
Response DTOs
- LoginResponse
- RegisterResponse
- ChangePasswordRes
- DeleteMeRes
- LogOutRes
- ProfileDataRes
- EditProfileRes
- ForgetPasswordRes
- ResetPasswordRes
- VerifyResetCodeRes
Notes
- Use Angular Dependency Injection for repository and API config.
- Errors are propagated via Observable errors; optionally handle them with interceptors.
- Endpoints are centralized in
AuthApiEndPoint.
License
MIT
