@memberjunction/sqlserver-dataprovider 2.13.4 → 2.15.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/dist/UserCache.d.ts +15 -1
- package/dist/UserCache.d.ts.map +1 -1
- package/dist/UserCache.js +20 -2
- package/dist/UserCache.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -5
- package/dist/config.js.map +1 -1
- package/package.json +9 -9
package/dist/UserCache.d.ts
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
import { UserInfo } from "@memberjunction/core";
|
|
2
2
|
import { DataSource } from "typeorm";
|
|
3
|
+
/**
|
|
4
|
+
* Server side cache of users and their roles
|
|
5
|
+
*/
|
|
3
6
|
export declare class UserCache {
|
|
4
7
|
static _instance: UserCache;
|
|
5
8
|
private _globalObjectKey;
|
|
6
9
|
private _users;
|
|
7
10
|
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* This method will refresh the cache with the latest data from the database
|
|
13
|
+
* @param dataSource - the data source to use to refresh the cache
|
|
14
|
+
* @param autoRefreshIntervalMS - optional, if provided, the cache will be refreshed every interval as specified - denominated in milliseconds
|
|
15
|
+
*/
|
|
8
16
|
Refresh(dataSource: DataSource, autoRefreshIntervalMS?: number): Promise<void>;
|
|
9
17
|
static get Instance(): UserCache;
|
|
10
18
|
get Users(): UserInfo[];
|
|
11
19
|
static get Users(): UserInfo[];
|
|
12
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Convenience method to get a user by their name
|
|
22
|
+
* @param name - name of the user
|
|
23
|
+
* @param caseSensitive - optional, if true, the search will be case sensitive
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
UserByName(name: string, caseSensitive?: boolean): UserInfo | undefined;
|
|
13
27
|
}
|
|
14
28
|
//# sourceMappingURL=UserCache.d.ts.map
|
package/dist/UserCache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserCache.d.ts","sourceRoot":"","sources":["../src/UserCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,SAAS;IAClB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,OAAO,CAAC,gBAAgB,CAAyD;IACjF,OAAO,CAAC,MAAM,CAAa;;
|
|
1
|
+
{"version":3,"file":"UserCache.d.ts","sourceRoot":"","sources":["../src/UserCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,qBAAa,SAAS;IAClB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,OAAO,CAAC,gBAAgB,CAAyD;IACjF,OAAO,CAAC,MAAM,CAAa;;IAwB3B;;;;OAIG;IACU,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3F,MAAM,KAAK,QAAQ,IAAI,SAAS,CAK/B;IAED,IAAW,KAAK,IAAI,QAAQ,EAAE,CAE7B;IAED,MAAM,KAAK,KAAK,IAAI,QAAQ,EAAE,CAE7B;IAED;;;;;OAKG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,QAAQ,GAAG,SAAS;CAOtF"}
|
package/dist/UserCache.js
CHANGED
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.UserCache = void 0;
|
|
4
4
|
const core_1 = require("@memberjunction/core");
|
|
5
5
|
const global_1 = require("@memberjunction/global");
|
|
6
|
+
/**
|
|
7
|
+
* Server side cache of users and their roles
|
|
8
|
+
*/
|
|
6
9
|
class UserCache {
|
|
7
10
|
constructor() {
|
|
8
11
|
this._globalObjectKey = 'MJ.SQLServerDataProvider.UserCache.Instance';
|
|
@@ -24,6 +27,11 @@ class UserCache {
|
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* This method will refresh the cache with the latest data from the database
|
|
32
|
+
* @param dataSource - the data source to use to refresh the cache
|
|
33
|
+
* @param autoRefreshIntervalMS - optional, if provided, the cache will be refreshed every interval as specified - denominated in milliseconds
|
|
34
|
+
*/
|
|
27
35
|
async Refresh(dataSource, autoRefreshIntervalMS) {
|
|
28
36
|
try {
|
|
29
37
|
const coreSchema = core_1.Metadata.Provider.ConfigData.MJCoreSchemaName;
|
|
@@ -58,8 +66,18 @@ class UserCache {
|
|
|
58
66
|
static get Users() {
|
|
59
67
|
return UserCache.Instance.Users;
|
|
60
68
|
}
|
|
61
|
-
|
|
62
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Convenience method to get a user by their name
|
|
71
|
+
* @param name - name of the user
|
|
72
|
+
* @param caseSensitive - optional, if true, the search will be case sensitive
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
UserByName(name, caseSensitive = false) {
|
|
76
|
+
return UserCache.Users.find(u => {
|
|
77
|
+
const comparisonItem = u.Name.trim();
|
|
78
|
+
const item = name.trim();
|
|
79
|
+
return caseSensitive ? comparisonItem === item : comparisonItem.toLowerCase() === item.toLowerCase();
|
|
80
|
+
});
|
|
63
81
|
}
|
|
64
82
|
}
|
|
65
83
|
exports.UserCache = UserCache;
|
package/dist/UserCache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserCache.js","sourceRoot":"","sources":["../src/UserCache.ts"],"names":[],"mappings":";;;AAAA,+CAAoE;AACpE,mDAAkD;AAGlD,MAAa,SAAS;IAIlB;QAFQ,qBAAgB,GAAW,6CAA6C,CAAC;QAG/E,IAAI,SAAS,CAAC,SAAS;YACnB,OAAO,SAAS,CAAC,SAAS,CAAC;aAC1B,CAAC;YACF,MAAM,CAAC,GAAG,iBAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,OAAO,SAAS,CAAC,SAAS,CAAC;YAC/B,CAAC;YAED,iFAAiF;YACjF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEzB,8HAA8H;gBAC9H,IAAI,CAAC;oBACD,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;gBAEnD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACH,CAAC;
|
|
1
|
+
{"version":3,"file":"UserCache.js","sourceRoot":"","sources":["../src/UserCache.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAM7F,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAM7F,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyC9G"}
|
package/dist/config.js
CHANGED
|
@@ -12,11 +12,7 @@ async function setupSQLServerClient(config) {
|
|
|
12
12
|
const provider = new SQLServerDataProvider_1.SQLServerDataProvider();
|
|
13
13
|
await provider.Config(config);
|
|
14
14
|
// BaseEntity + Metadata share the same GraphQLDataProvider instance
|
|
15
|
-
core_1.
|
|
16
|
-
core_1.Metadata.Provider = provider;
|
|
17
|
-
core_1.RunView.Provider = provider;
|
|
18
|
-
core_1.RunReport.Provider = provider;
|
|
19
|
-
core_1.RunQuery.Provider = provider;
|
|
15
|
+
(0, core_1.SetProvider)(provider);
|
|
20
16
|
// now setup the user cache
|
|
21
17
|
await UserCache_1.UserCache.Instance.Refresh(ds, config.CheckRefreshIntervalSeconds);
|
|
22
18
|
if (config.CheckRefreshIntervalSeconds && config.CheckRefreshIntervalSeconds > 0) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,+CAA4H;AAC5H,mEAA6F;AAE7F,2CAAwC;AAIjC,KAAK,UAAU,oBAAoB,CAAC,MAAmC;IAC1E,IAAI,CAAC;QACD,wHAAwH;QACxH,MAAM,EAAE,GAA2B,MAAM,CAAC,UAAU,CAAC;QACrD,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAI,6CAAqB,EAAE,CAAA;YAC5C,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9B,oEAAoE;YACpE,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;YAEtB,2BAA2B;YAC3B,MAAM,qBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;gBAC/E,uCAAuC;gBACvC,WAAW,CAAC,KAAK,IAAI,EAAE;oBACnB,IAAI,CAAC;wBACD,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;oBACrC,CAAC;oBACD,OAAO,CAAC,EAAE,CAAC;wBACP,IAAA,eAAQ,EAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;oBAC7C,CAAC;gBACL,CAAC,EAAE,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAA;YACjD,CAAC;YAED,OAAO,QAAQ,CAAA;QACnB,CAAC;aACI,CAAC;YACF,+CAA+C;YAC/C,IAAA,gBAAS,EAAC,0EAA0E,CAAC,CAAA;YACrF,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,EAAE,CAAC,aAAa;gBAChB,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA,CAAC,sDAAsD;;gBAE1F,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,yDAAyD;QACtH,CAAC;IACL,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,IAAA,eAAQ,EAAC,+BAA+B,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC;AACL,CAAC;AAzCD,oDAyCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/sqlserver-dataprovider",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.15.0",
|
|
4
4
|
"description": "MemberJunction: SQL Server Client Data Provider",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
"typescript": "^5.4.5"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/actions": "2.
|
|
23
|
-
"@memberjunction/ai": "2.
|
|
24
|
-
"@memberjunction/ai-vector-dupe": "2.
|
|
25
|
-
"@memberjunction/aiengine": "2.
|
|
26
|
-
"@memberjunction/core": "2.
|
|
27
|
-
"@memberjunction/core-entities": "2.
|
|
28
|
-
"@memberjunction/global": "2.
|
|
29
|
-
"@memberjunction/queue": "2.
|
|
22
|
+
"@memberjunction/actions": "2.15.0",
|
|
23
|
+
"@memberjunction/ai": "2.15.0",
|
|
24
|
+
"@memberjunction/ai-vector-dupe": "2.15.0",
|
|
25
|
+
"@memberjunction/aiengine": "2.15.0",
|
|
26
|
+
"@memberjunction/core": "2.15.0",
|
|
27
|
+
"@memberjunction/core-entities": "2.15.0",
|
|
28
|
+
"@memberjunction/global": "2.15.0",
|
|
29
|
+
"@memberjunction/queue": "2.15.0",
|
|
30
30
|
"mssql": "^11.0.1",
|
|
31
31
|
"typeorm": "^0.3.20"
|
|
32
32
|
}
|