JSPM

  • Created
  • Published
  • Downloads 12
  • Score
    100M100P100Q83183F
  • License MIT

Angular library for Medha One Access admin dashboard functionality

Package Exports

  • @medha-analytics/medha-one-access
  • @medha-analytics/medha-one-access/package.json

Readme

@medha-analytics/medha-one-access

Angular library for Medha One Access admin dashboard functionality.

Installation

npm install @medha-analytics/medha-one-access

Requirements

  • Angular 15 or higher
  • Angular Material
  • Angular CDK
  • Material Icons font

Setup

1. Add Material Icons to your index.html

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

2. Import the module in your app

import { MedhaOneAccessModule } from '@medha-analytics/medha-one-access';

@NgModule({
  imports: [
    MedhaOneAccessModule.forRoot({
      apiUrl: 'https://your-api-url.com/api',
      secretKey: 'your-secret-key',
      currentApplication: 'your-app-name',
      // debugInterceptor: true // Optional - enables console logging for debugging
    })
  ]
})
export class AppModule { }

3. Use the component in your template

<div style="height: 500px; width: 100%;"> <!-- Your container with desired dimensions -->
  <medha-one-access
    [apiUrl]="apiUrl"
    [secretKey]="secretKey"
    [currentApplication]="applicationName">
  </medha-one-access>
</div>

Responsive Design

The component automatically fits both width and height to its parent container:

  • Width: Auto-fits to 100% of parent container width
  • Height: Auto-fits to 100% of parent container height
  • Responsive: Adapts to any container size, no fixed dimensions
  • Embeddable: Works seamlessly within any parent application layout

Authentication Approach

The library handles authentication automatically without HTTP interceptors:

  • Self-contained authentication - All API calls include authentication headers automatically
  • No interceptor conflicts - Does not interfere with your application's HTTP interceptors
  • Isolated from host app - Your application's authentication remains completely separate
  • Debug mode available - Set debugInterceptor: true to see authentication logs

Features

  • User Management
  • User Groups Management
  • Access Rules Configuration
  • Artifacts Management
  • Hierarchical Organization Structure
  • Role-based Access Control
  • Configurable HTTP Authentication

Peer Dependencies

  • @angular/common: >=15.0.0
  • @angular/core: >=15.0.0
  • @angular/cdk: >=15.0.0
  • @angular/material: >=15.0.0
  • @angular/router: >=15.0.0
  • @angular/forms: >=15.0.0
  • crypto-js: ^4.2.0

Troubleshooting

No More Interceptor Conflicts!

Version 1.1.0+ completely eliminates HTTP interceptor conflicts by using internal authentication:

  • ✅ No conflicts with your existing interceptors
  • ✅ No complex app.config.ts setup required
  • ✅ Works perfectly with both module-based and standalone Angular applications

Debugging Authentication Issues

Enable debug mode to see authentication in action:

MedhaOneAccessModule.forRoot({
  apiUrl: 'https://your-api-url.com/api',
  secretKey: 'your-secret-key',
  currentApplication: 'your-app-name',
  debugInterceptor: true // Shows authentication logs
})

This will log:

  • When authentication headers are added to requests
  • Which endpoints are being called with authentication
  • Any errors during token generation

Standalone Component Setup

For standalone Angular applications, simply configure in your app.config.ts:

import { importProvidersFrom } from '@angular/core';
import { MedhaOneAccessModule } from '@medha-analytics/medha-one-access';

export const appConfig: ApplicationConfig = {
  providers: [
    // ... other providers
    importProvidersFrom(
      MedhaOneAccessModule.forRoot({
        apiUrl: 'https://your-api-url.com/api',
        secretKey: 'your-secret-key',
        currentApplication: 'your-app-name'
      })
    )
  ]
};

No special HTTP client configuration needed!

License

MIT © Medha Analytics