Server-side implementation of the MemberJunction Data Context system. Provides SQL-based data loading for DataContextItem objects using direct database connections.
The @memberjunction/data-context-server package extends the base DataContextItem class from @memberjunction/data-context with a server-side implementation that executes SQL queries directly against SQL Server using mssql connection pools. This is the server counterpart to the client-side GraphQL-based data context loading.
graph TD
A["DataContextItemServer"] -->|extends| B["DataContextItem
(data-context package)"]
A -->|uses| C["mssql ConnectionPool"]
C --> D["SQL Server"]
E["Server-Side Code
(MJAPI, Actions, etc.)"] --> A
F["Client-Side Code
(Angular, React)"] --> G["DataContextItemClient
(GraphQL-based)"]
style A fill:#2d6a9f,stroke:#1a4971,color:#fff
style B fill:#7c5295,stroke:#563a6b,color:#fff
style C fill:#2d8659,stroke:#1a5c3a,color:#fff
style D fill:#2d8659,stroke:#1a5c3a,color:#fff
style E fill:#b8762f,stroke:#8a5722,color:#fff
style G fill:#b8762f,stroke:#8a5722,color:#fff
npm install @memberjunction/data-context-server
The package registers DataContextItemServer as a subclass of DataContextItem using MemberJunction's @RegisterClass decorator. When server-side code creates a DataContextItem, the class factory automatically returns the server implementation that uses direct SQL execution rather than GraphQL.
import '@memberjunction/data-context-server';
// DataContextItem instances now use direct SQL execution on the server
The LoadFromSQL method:
ConnectionPool as the data sourceRequest from the poolDataContextItem.SQL query directlyDataContextItem.DataDataLoadingError| Package | Purpose |
|---|---|
@memberjunction/core |
UserInfo, LogError utilities |
@memberjunction/global |
RegisterClass decorator |
@memberjunction/data-context |
Base DataContextItem class |
mssql |
SQL Server connectivity |
ISC