Member Junction
    Preparing search index...

    Reports — loudly, but without blocking boot — any field on an FLS-enabled entity that the MJ system user can no longer fully use.

    Warns rather than refuses to start. The condition is bad configuration, not a broken build, and a server that will not boot is a worse failure than one that boots and says exactly what is wrong. It is also self-inflicted-recovery-hostile: the administrator's route to fixing the rows is usually the application that would refuse to start.

    Costs nothing when nothing is enabled: entities with EnableFieldLevelSecurity = false are skipped on a boolean read, and there are no queries at any point.

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Accessors

    • get GlobalKey(): string

      Returns string

    Methods

    • The Global Object Store is a place to store global objects that need to be shared across the application. Depending on the execution environment, this could be the window object in a browser, or the global object in a node environment, or something else in other contexts. The key here is that in some cases static variables are not truly shared because it is possible that a given class might have copies of its code in multiple paths in a deployed application. This approach ensures that no matter how many code copies might exist, there is only one instance of the object in question by using the Global Object Store.

      Returns GlobalObjectStore | null

    • Reports field permission rows whose role holds no entity permission on the same entity.

      MJEntityFieldPermissionEntityServer.Validate() refuses to create such a row, and reconciliation deletes any it finds — but both only see writes that go through the entity layer. Direct SQL, a migration, or a ReplayOnly save can author one unobserved, and until the next reconciliation it is fully live: field-rule aggregation matches on role membership alone, so the rule applies to any user holding that role who reaches the entity through a different one. That makes it a real access change with no visible cause.

      Scoped to FLS-enabled entities, matching where reconciliation runs and where the rules actually decide anything — a rule on a disabled entity is dormant rather than wrong.

      Reads cached metadata only; no queries.

      Parameters

      Returns number

      the number of orphaned rows found

    • Returns the singleton instance of the class. If the instance does not exist, it is created and stored in the Global Object Store. If className is provided it will be used as part of the key in the Global Object Store, otherwise the actual class name will be used. NOTE: the class name used by default is the lowest level of the object hierarchy, so if you have a class that extends another class, the lowest level class name will be used.

      Type Parameters

      Parameters

      • this: new () => T
      • OptionalclassName: string

      Returns T