0.0.3 • Published 3 years ago

ef-urms v0.0.3

Weekly downloads
13
License
-
Repository
-
Last release
3 years ago

EfUrms

გამოყენება:

export function getRoles(): string[] {
  return ['admin', 'user'];
}


@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    CommonModule,
    HttpClientModule,
    AppRoutingModule,
    FactoringUrmsModule,
  ],
  providers: [
    FactoringUrmsValidatorService,
    {
      provide: URMS_USER_ROLES,
      useFactory: getRoles
    }],
  bootstrap: [AppComponent]
})
export class AppModule {
  constructor(
    @Inject(URMS_USER_ROLES) roles: string[],
    private urms: FactoringUrmsValidatorService) {
    this.urms.init({permissions: roles, actionType: UrmsActionType.Disable}, false, 'default error message');
  }
}

დირექტივის ინიციალიზაცია

 public init(roles: UrmsPermissions, forgetUrms: boolean, defaultErrorMsg?: string);

forgetUrms თუ გადაცემთ true, მაშინ დირექტივა აღარ იმუშავებს.

დირექტივის მოდელები:

export interface UrmsPermissions {
    permissions: string[];
    actionType: UrmsActionType;
}

export enum UrmsActionType {
    RemoveFromDom,
    Disable
}

export interface UrmsInput {
    name: string | string[];
    errorMsg?: string;
    actionType?: UrmsActionType
}

დირექტივის გამოყენება

<!--*efUrms="input: UrmsInput" -->
*efUrms="{name:['admin1','admin3', 'admin2'], errorMsg:'არ გაქვთ უფლება', actionType: UrmsActionType.Disable}"

დირექტივაში errorMsg და actionType პარამეტრები არასავალდებულოა. მათი არ გადაცემის შემთხვევაში დირექტივა გამოიყენებს ინიციალიზაციისას გადაცემულ პარამეტრებს. თუ გადასცემთ, მაშინ კონკრეტულ ადგილას გმოყენებული დირექტივა ყურადღებას აღარ მიაქცევს სისტემის გლობალურ მნიშვნელობებს და მოიქცევა გადაცემული პარამეტრების მიხედვით.

urms ის სერვისს აქვს ასევე უფლებების შემოწმების მეთოდი hasRight(urms: UrmsInput): Observable; რომელიც შეიძლება გამოყენებულ იქნას კოდში უფლებების შესამოწმებლად

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago