src/app/core/permissions/permission-enforcer/noop-permission-enforcer.service.ts

Description

No-op implementation for online sessions.

Online sessions have no local database to purge or invalidate: the server already enforces permissions live on every request, so there is nothing to do here.

Extends

PermissionEnforcerService

Relationships

Index

Properties
Methods

Methods

Async enforcePermissionsOnLocalData
enforcePermissionsOnLocalData(_userRules: DatabaseRule[])
Parameters :
Name Type Optional
_userRules DatabaseRule[] No
Returns : Promise<void>
getLastEnforcedRules
getLastEnforcedRules()
Returns : [] | undefined

Properties

Static Readonly LOCALSTORAGE_KEY
Type : string
Default value : "RULES"

This is a suffix used to persist the user-relevant rules in local storage to later check for changes.

import { Injectable } from "@angular/core";
import { DatabaseRule } from "../permission-types";
import { PermissionEnforcerService } from "./permission-enforcer.service";

/**
 * No-op implementation for `online` sessions.
 *
 * Online sessions have no local database to purge or invalidate: the server
 * already enforces permissions live on every request, so there is nothing to
 * do here.
 */
@Injectable()
export class NoopPermissionEnforcerService extends PermissionEnforcerService {
  async enforcePermissionsOnLocalData(
    _userRules: DatabaseRule[],
  ): Promise<void> {
    // nothing to do - online sessions have no local cache
  }

  getLastEnforcedRules(): DatabaseRule[] | undefined {
    return undefined;
  }
}

results matching ""

    No results matching ""