@memberjunction/sqlserver-dataprovider 5.4.1 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MemberJunction SQL Server Data Provider
2
2
 
3
- A comprehensive SQL Server data provider implementation for the MemberJunction framework, serving as the primary bridge between MemberJunction applications and Microsoft SQL Server databases. This package implements all core data provider interfaces -- entity CRUD, metadata management, view/query/report execution, transaction handling, and SQL logging.
3
+ A comprehensive SQL Server data provider implementation for the MemberJunction framework, serving as the primary bridge between MemberJunction applications and Microsoft SQL Server databases. This package implements all core data provider interfaces -- entity CRUD, metadata management, view/query/report execution, and transaction handling. SQL logging is inherited from `@memberjunction/generic-database-provider`.
4
4
 
5
5
  ## Architecture Overview
6
6
 
@@ -19,10 +19,16 @@ graph TB
19
19
  TXG["SQLServerTransactionGroup"]
20
20
  UC["UserCache"]
21
21
  QPP["QueryParameterProcessor"]
22
- SL["SqlLoggingSessionImpl"]
23
22
  NFS["NodeFileSystemProvider"]
24
23
  end
25
24
 
25
+ subgraph GenericDP["GenericDatabaseProvider (inherited)"]
26
+ style GenericDP fill:#b8762f,stroke:#8a5722,color:#fff
27
+ SL["SQL Logging Sessions"]
28
+ EH["Entity/AI Action Hooks"]
29
+ ENC["Field Encryption"]
30
+ end
31
+
26
32
  subgraph Interfaces["MJ Core Interfaces"]
27
33
  style Interfaces fill:#7c5295,stroke:#563a6b,color:#fff
28
34
  IED["IEntityDataProvider"]
@@ -49,8 +55,10 @@ graph TB
49
55
  SDP --> TXG
50
56
  SDP --> UC
51
57
  SDP --> QPP
52
- SDP --> SL
53
58
  SDP --> NFS
59
+ SDP --> SL
60
+ SDP --> EH
61
+ SDP --> ENC
54
62
  SDP --> Pool
55
63
  Pool --> SP
56
64
  Pool --> Views
@@ -64,7 +72,7 @@ graph TB
64
72
  - **View Execution** -- Run database views with filtering, sorting, pagination, and aggregation
65
73
  - **Report and Query Execution** -- Execute reports and parameterized queries with Nunjucks template processing
66
74
  - **Connection Pooling** -- Efficient shared connection pool management with configurable sizing
67
- - **SQL Logging** -- Real-time SQL statement capture to files with session management, pattern filtering, and Flyway migration formatting
75
+ - **SQL Logging** -- Real-time SQL statement capture to files with session management, pattern filtering, and Flyway migration formatting (inherited from `GenericDatabaseProvider`)
68
76
  - **User and Role Caching** -- Server-side singleton cache for user information and role assignments
69
77
  - **Record Change Tracking** -- Integrated audit trail for entity modifications
70
78
  - **Duplicate Detection** -- AI-powered duplicate record detection via vector similarity
@@ -86,6 +94,7 @@ npm install @memberjunction/sqlserver-dataprovider
86
94
  |---------|---------|
87
95
  | `@memberjunction/core` | Core MJ framework: base entities, metadata, providers |
88
96
  | `@memberjunction/core-entities` | Generated entity subclasses and type definitions |
97
+ | `@memberjunction/generic-database-provider` | Shared base class: entity hooks, encryption, SQL logging, view execution |
89
98
  | `@memberjunction/global` | Shared utilities, global object store, SQL validation |
90
99
  | `@memberjunction/actions` | Server-side entity action execution |
91
100
  | `@memberjunction/actions-base` | Action result types |
@@ -96,8 +105,6 @@ npm install @memberjunction/sqlserver-dataprovider
96
105
  | `@memberjunction/encryption` | Field-level encryption engine |
97
106
  | `@memberjunction/queue` | Queue management for async operations |
98
107
  | `mssql` | SQL Server client for Node.js |
99
- | `nunjucks` | Template engine for parameterized queries |
100
- | `sql-formatter` | SQL pretty-printing for log output |
101
108
  | `rxjs` | Reactive extensions for transaction queue processing |
102
109
 
103
110
  ## Exported API