Member Junction
    Preparing search index...

    A list of all users who have or had access to the system. Contains user profile information, authentication details, and role assignments.

    interface UserInfo {
        __mj_CreatedAt: Date;
        __mj_UpdatedAt: Date;
        Email: string;
        EmployeeEmail: string;
        EmployeeFirstLast: string;
        EmployeeID: number;
        EmployeeSupervisor: string;
        EmployeeSupervisorEmail: string;
        EmployeeTitle: string;
        FirstLast: string;
        FirstName: string;
        ID: string;
        IsActive: boolean;
        LastName: string;
        LinkedEntityID: number;
        LinkedEntityRecordID: number;
        LinkedRecordType: "Other" | "None" | "Employee";
        Name: string;
        Title: string;
        Type: string;
        get IsMagicLinkAnonymous(): boolean;
        set IsMagicLinkAnonymous(value: boolean): void;
        get MagicLinkScope(): MagicLinkScope;
        set MagicLinkScope(value: MagicLinkScope): void;
        get ReturningVisitorContext(): ReturningVisitorContext;
        set ReturningVisitorContext(value: ReturningVisitorContext): void;
        get TenantContext(): TenantContext;
        set TenantContext(value: TenantContext): void;
        get UserRoles(): UserRoleInfo[];
        get WidgetGuestContext(): WidgetGuestContext;
        set WidgetGuestContext(value: WidgetGuestContext): void;
        copyInitData(initData: any): void;
        toJSON(): Record<string, unknown>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    __mj_CreatedAt: Date

    Timestamp when the user record was created

    __mj_UpdatedAt: Date

    Timestamp when the user record was last updated

    Email: string

    Unique email address for the user. This field must be unique across all users in the system

    EmployeeEmail: string

    Employee's email address

    EmployeeFirstLast: string

    Employee's concatenated first and last name

    EmployeeID: number

    Foreign key reference to the Employee entity

    EmployeeSupervisor: string

    Name of the employee's supervisor

    EmployeeSupervisorEmail: string

    Email address of the employee's supervisor

    EmployeeTitle: string

    Employee's job title

    FirstLast: string

    Concatenated first and last name

    FirstName: string

    User's first name or given name

    ID: string

    Unique identifier for the user

    IsActive: boolean

    Whether this user account is currently active and can log in

    LastName: string

    User's last name or surname

    LinkedEntityID: number

    Foreign key reference to the Entities table

    LinkedEntityRecordID: number

    ID of the specific record this user is linked to

    LinkedRecordType: "Other" | "None" | "Employee"

    Type of record this user is linked to (None, Employee, Contact, etc.)

    Name: string

    Name of the user that is used in various places in UIs/etc, can be anything including FirstLast, Email, a Handle, etc

    Title: string

    User's professional title or salutation

    Type: string

    User account type (User, Owner)

    Accessors

    • get IsMagicLinkAnonymous(): boolean

      True when this request resolves to the shared Anonymous magic-link principal whose roles are synthesized in memory per-session (never persisted, so anonymous sessions can't accrete privileges across links). The server reads this to serve the synthesized UserRoles for the session's own user row instead of the DB query (which returns empty for the role-less shared principal by design). Same getter/setter (non-enumerable) rationale as TenantContext/MagicLinkScope — it is not a database/GraphQL field.

      Returns boolean

    • set IsMagicLinkAnonymous(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get MagicLinkScope(): MagicLinkScope

      Per-session resource scope for a magic-link share. Set at request time from the verified session token's claims (the link's ResourceType/ResourceID). Consumed by RLS filters via the {{ScopeResourceID}} / {{ScopeResourceType}} tokens in RowLevelSecurityFilterInfo.MarkupFilterText, so a resource-share link can be scoped to exactly one resource (and its FK-reachable dependents) without the granted role being broad. Same getter/setter (non-enumerable) rationale as TenantContext — it is not a database/GraphQL field.

      Returns MagicLinkScope

    • set MagicLinkScope(value: MagicLinkScope): void

      Parameters

      Returns void

    • get ReturningVisitorContext(): ReturningVisitorContext

      Returning-visitor context for a public web-widget guest session. Set at request time from the verified session token's claims (the widget mint embeds the resolved VisitorKey / prior conversation / resolved identity). Consumed when a conversation is created server-side (the voice path) so it carries the same returning-visitor anchor + resolved identity the text path stamps client-side. Same getter/setter (non-enumerable) rationale as MagicLinkScope — not a DB/GraphQL field.

      Returns ReturningVisitorContext

    • set ReturningVisitorContext(value: ReturningVisitorContext): void

      Parameters

      Returns void

    • get TenantContext(): TenantContext

      Tenant context for multi-tenant data isolation. Set at request time by server middleware when multi-tenancy is enabled. When undefined, no tenant filtering is applied.

      Uses a getter/setter so that Object.keys() does not enumerate it — the GraphQLDataProvider builds CurrentUser queries from Object.keys(new UserInfo()), and TenantContext is not a database/GraphQL field.

      Returns TenantContext

    • set TenantContext(value: TenantContext): void

      Parameters

      Returns void

    • get UserRoles(): UserRoleInfo[]

      Gets the roles assigned to this user.

      Returns UserRoleInfo[]

      Array of user role assignments

    • get WidgetGuestContext(): WidgetGuestContext

      Widget-instance identity for a public web-widget guest session. Set at request time from the verified session token's mj_widget_id claim. Read by the privileged agent-dispatch path to resolve the authoritative pinned agent for this guest (never trusting a client-supplied agent id). Same getter/setter (non-enumerable) rationale as MagicLinkScope — not a DB/GraphQL field.

      Returns WidgetGuestContext

    • set WidgetGuestContext(value: WidgetGuestContext): void

      Parameters

      Returns void

    Methods

    • Copies initialization data from a plain object to the class instance. Only copies properties that already exist on the class to prevent creating new fields. Special handling for DefaultValue fields to extract actual values from SQL Server syntax.

      Parameters

      • initData: any

        The initialization data object

      Returns void

    • Default JSON serialization for BaseInfo subclasses.

      Emits all non-underscored direct field declarations. For _-prefixed private backing fields (the MJ pattern for collection storage — e.g. _Fields, _RelatedEntities, _OrganicKeys), emits the value of the corresponding same-named public getter instead. Purely computed getters without a backing field (display-name formatters, derived flags) are intentionally skipped — they can throw when source fields are null and don't belong on the wire anyway.

      Nested BaseInfo instances and arrays of them unwrap automatically via JSON.stringify's native toJSON() protocol.

      Subclasses may override to emit a filtered subset or custom shape (see EntityFieldValueInfo).

      Returns Record<string, unknown>