@memberjunction/sqlserver-dataprovider 2.13.4 → 2.14.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.
@@ -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
- UserByName(name: string): UserInfo | undefined;
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
@@ -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;;IAwBd,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;IAEM,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAGtD"}
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
- UserByName(name) {
62
- return UserCache.Users.find(u => u.Name === name);
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;
@@ -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;IAEM,KAAK,CAAC,OAAO,CAAC,UAAsB,EAAE,qBAA8B;QACzE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,eAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACjE,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,kBAAkB,UAAU,WAAW,CAAC,CAAC;YAC1E,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,kBAAkB,UAAU,eAAe,CAAC,CAAC;YAC9E,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;oBAChC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClE,MAAM,EAAE,GAAG,IAAI,eAAQ,CAAC,eAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAA;gBAEF,4EAA4E;gBAC5E,IAAI,qBAAqB,IAAI,qBAAqB,GAAG,CAAC;oBACpD,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;oBAClD,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACX,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACzB,SAAS,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,KAAK;QACd,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;IAClC,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;CACF;AArEH,8BAqEG"}
1
+ {"version":3,"file":"UserCache.js","sourceRoot":"","sources":["../src/UserCache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/sqlserver-dataprovider",
3
- "version": "2.13.4",
3
+ "version": "2.14.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.13.4",
23
- "@memberjunction/ai": "2.13.4",
24
- "@memberjunction/ai-vector-dupe": "2.13.4",
25
- "@memberjunction/aiengine": "2.13.4",
26
- "@memberjunction/core": "2.13.4",
27
- "@memberjunction/core-entities": "2.13.4",
28
- "@memberjunction/global": "2.13.4",
29
- "@memberjunction/queue": "2.13.4",
22
+ "@memberjunction/actions": "2.14.0",
23
+ "@memberjunction/ai": "2.14.0",
24
+ "@memberjunction/ai-vector-dupe": "2.14.0",
25
+ "@memberjunction/aiengine": "2.14.0",
26
+ "@memberjunction/core": "2.14.0",
27
+ "@memberjunction/core-entities": "2.14.0",
28
+ "@memberjunction/global": "2.14.0",
29
+ "@memberjunction/queue": "2.14.0",
30
30
  "mssql": "^11.0.1",
31
31
  "typeorm": "^0.3.20"
32
32
  }