@memberjunction/graphql-dataprovider 2.98.0 → 2.99.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/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var me=Object.defineProperty;var f=(I,e)=>me(I,"name",{value:e,configurable:!0});var y=require("graphql-request"),u=require("@memberjunction/core"),le=require("@memberjunction/core-entities"),ge=require("@tempfix/idb"),ce=require("rxjs"),de=require("graphql-ws"),Se=require("uuid"),P=require("@memberjunction/global");const k=class k{constructor(){this._fieldMap={__mj_CreatedAt:"_mj__CreatedAt",__mj_UpdatedAt:"_mj__UpdatedAt",__mj_DeletedAt:"_mj__DeletedAt"}}MapFields(e){if(e)for(const t in e)t in this._fieldMap&&(e[this._fieldMap[t]]=e[t],delete e[t]);return e}MapFieldName(e){return this._fieldMap[e]??e}ReverseMapFieldName(e){return Object.entries(this._fieldMap).find(([t,r])=>r===e)?.[0]??e}ReverseMapFields(e){const t=Object.fromEntries(Object.entries(this._fieldMap).map(([r,s])=>[s,r]));for(const r in e)r in t&&(e[t[r]]=e[r],delete e[r]);return e}};f(k,"FieldMapper");let h=k;const K=class K extends u.TransactionGroupBase{constructor(e){super(),this._provider=e}async HandleSubmit(){const e=y.gql`
1
+ "use strict";var me=Object.defineProperty;var f=(I,e)=>me(I,"name",{value:e,configurable:!0});var y=require("graphql-request"),u=require("@memberjunction/core"),le=require("@memberjunction/core-entities"),ge=require("@tempfix/idb"),ce=require("rxjs"),de=require("graphql-ws"),Se=require("uuid"),P=require("@memberjunction/global");const K=class K{constructor(){this._fieldMap={__mj_CreatedAt:"_mj__CreatedAt",__mj_UpdatedAt:"_mj__UpdatedAt",__mj_DeletedAt:"_mj__DeletedAt"}}MapFields(e){if(e)for(const t in e)t in this._fieldMap&&(e[this._fieldMap[t]]=e[t],delete e[t]);return e}MapFieldName(e){return this._fieldMap[e]??e}ReverseMapFieldName(e){return Object.entries(this._fieldMap).find(([t,r])=>r===e)?.[0]??e}ReverseMapFields(e){const t=Object.fromEntries(Object.entries(this._fieldMap).map(([r,s])=>[s,r]));for(const r in e)r in t&&(e[t[r]]=e[r],delete e[r]);return e}};f(K,"FieldMapper");let h=K;const k=class k extends u.TransactionGroupBase{constructor(e){super(),this._provider=e}async HandleSubmit(){const e=y.gql`
2
2
  mutation ExecuteTransactionGroup($group: TransactionInputType!) {
3
3
  ExecuteTransactionGroup(group: $group) {
4
4
  Success
@@ -6,7 +6,7 @@
6
6
  ResultsJSON
7
7
  }
8
8
  }
9
- `,t=[];for(const a of this.PendingTransactions)t.push({EntityName:a.BaseEntity.EntityInfo.Name,EntityObjectJSON:await a.BaseEntity.GetDataObjectJSON(),OperationType:a.OperationType});const r={group:{Items:t,Variables:this.Variables.map(a=>({Name:a.Name,ItemIndex:this.MapVariableEntityObjectToPosition(a),FieldName:a.FieldName,Type:a.Type}))}},s=await this._provider.ExecuteGQL(e,r);if(s&&s.ExecuteTransactionGroup){const a=s.ExecuteTransactionGroup,n=[];for(let i=0;i<this.PendingTransactions.length;i++){const o=a.ResultsJSON[i],m=P.SafeJSONParse(o),S=this.PendingTransactions[i];n.push(new u.TransactionResult(S,m,m!==null))}return n}else throw new Error("Failed to execute transaction group")}};f(K,"GraphQLTransactionGroup");let $=K;const J=class J{constructor(e){this._dataProvider=e}async RunAIPrompt(e){try{const t=y.gql`
9
+ `,t=[];for(const a of this.PendingTransactions)t.push({EntityName:a.BaseEntity.EntityInfo.Name,EntityObjectJSON:await a.BaseEntity.GetDataObjectJSON(),OperationType:a.OperationType});const r={group:{Items:t,Variables:this.Variables.map(a=>({Name:a.Name,ItemIndex:this.MapVariableEntityObjectToPosition(a),FieldName:a.FieldName,Type:a.Type}))}},s=await this._provider.ExecuteGQL(e,r);if(s&&s.ExecuteTransactionGroup){const a=s.ExecuteTransactionGroup,n=[];for(let i=0;i<this.PendingTransactions.length;i++){const o=a.ResultsJSON[i],m=P.SafeJSONParse(o),S=this.PendingTransactions[i];n.push(new u.TransactionResult(S,m,m!==null))}return n}else throw new Error("Failed to execute transaction group")}};f(k,"GraphQLTransactionGroup");let $=k;const J=class J{constructor(e){this._dataProvider=e}async RunAIPrompt(e){try{const t=y.gql`
10
10
  mutation RunAIPrompt(
11
11
  $promptId: String!,
12
12
  $data: String,
@@ -186,7 +186,10 @@
186
186
  query RunViewsQuery ($input: [RunViewGenericInput!]!) {
187
187
  RunViews(input: $input) {
188
188
  Results {
189
- ID
189
+ PrimaryKey {
190
+ FieldName
191
+ Value
192
+ }
190
193
  EntityID
191
194
  Data
192
195
  }
@@ -340,7 +343,7 @@
340
343
  sessionId
341
344
  }
342
345
  }
343
- `,s=new ce.Observable(a=>(this._wsClient.subscribe({query:r,variables:{sessionId:e}},{next:n=>a.next(n.data.statusUpdates),error:n=>a.error(n),complete:()=>a.complete()}),()=>{console.log("would unsub here")}));return this._pushStatusRequests.push({sessionId:e,observable:s}),s}};f(D,"GraphQLDataProvider");let v=D;const z=class z{constructor(){this._localStorage={}}async GetItem(e){return new Promise(t=>{this._localStorage.hasOwnProperty(e)?t(this._localStorage[e]):t(null)})}async SetItem(e,t){return new Promise(r=>{this._localStorage[e]=t,r()})}async Remove(e){return new Promise(t=>{this._localStorage.hasOwnProperty(e)&&delete this._localStorage[e],t()})}};f(z,"BrowserStorageProviderBase");let V=z;const pe="MJ_Metadata",w="Metadata_KVPairs",W=class W extends V{constructor(){super(),this.dbPromise=ge.openDB(pe,1,{upgrade(e){e.objectStoreNames.contains(w)||e.createObjectStore(w)}})}async setItem(e,t){const s=(await this.dbPromise).transaction(w,"readwrite");await s.objectStore(w).put(t,e),await s.done}async getItem(e){return await(await this.dbPromise).transaction(w).objectStore(w).get(e)}async remove(e){const r=(await this.dbPromise).transaction(w,"readwrite");await r.objectStore(w).delete(e),await r.done}};f(W,"BrowserIndexedDBStorageProvider");let x=W;async function fe(I){const e=new v;return u.SetProvider(e),await e.Config(I),P.MJGlobal.Instance.RaiseEvent({event:P.MJEventType.LoggedIn,eventCode:null,component:this,args:null}),e}f(fe,"setupGraphQLClient");const H=class H{};f(H,"SyncRolesAndUsersResult");let T=H;const X=class X{};f(X,"RoleInput");let U=X;const Z=class Z{};f(Z,"UserInput");let L=Z;const Y=class Y{};f(Y,"RolesAndUsersInput");let F=Y;var ye=(I=>(I.Create="Create",I.Update="Update",I.CreateOrUpdate="CreateOrUpdate",I.Delete="Delete",I.DeleteWithFilter="DeleteWithFilter",I))(ye||{});const ee=class ee{};f(ee,"ActionItemInput");let Q=ee;const te=class te{constructor(){this.Results=[]}};f(te,"SyncDataResult");let M=te;const re=class re{};f(re,"ActionItemOutput");let G=re;const se=class se{get Client(){return this._client}constructor(e,t,r,s){const a={"x-session-id":r};t&&(a.authorization="Bearer "+t),s&&(a["x-mj-api-key"]=s),this._client=new y.GraphQLClient(e,{headers:a})}async GetData(e,t){try{const s=await this.Client.request(`query GetData($input: GetDataInputType!) {
346
+ `,s=new ce.Observable(a=>(this._wsClient.subscribe({query:r,variables:{sessionId:e}},{next:n=>a.next(n.data.statusUpdates),error:n=>a.error(n),complete:()=>a.complete()}),()=>{console.log("would unsub here")}));return this._pushStatusRequests.push({sessionId:e,observable:s}),s}};f(D,"GraphQLDataProvider");let v=D;const z=class z{constructor(){this._localStorage={}}async GetItem(e){return new Promise(t=>{this._localStorage.hasOwnProperty(e)?t(this._localStorage[e]):t(null)})}async SetItem(e,t){return new Promise(r=>{this._localStorage[e]=t,r()})}async Remove(e){return new Promise(t=>{this._localStorage.hasOwnProperty(e)&&delete this._localStorage[e],t()})}};f(z,"BrowserStorageProviderBase");let V=z;const pe="MJ_Metadata",w="Metadata_KVPairs",W=class W extends V{constructor(){super(),this.dbPromise=ge.openDB(pe,1,{upgrade(e){e.objectStoreNames.contains(w)||e.createObjectStore(w)}})}async setItem(e,t){const s=(await this.dbPromise).transaction(w,"readwrite");await s.objectStore(w).put(t,e),await s.done}async getItem(e){return await(await this.dbPromise).transaction(w).objectStore(w).get(e)}async remove(e){const r=(await this.dbPromise).transaction(w,"readwrite");await r.objectStore(w).delete(e),await r.done}};f(W,"BrowserIndexedDBStorageProvider");let x=W;async function fe(I){const e=new v;return u.SetProvider(e),await e.Config(I),P.MJGlobal.Instance.RaiseEvent({event:P.MJEventType.LoggedIn,eventCode:null,component:this,args:null}),e}f(fe,"setupGraphQLClient");const H=class H{};f(H,"SyncRolesAndUsersResult");let T=H;const X=class X{};f(X,"RoleInput");let F=X;const Z=class Z{};f(Z,"UserInput");let U=Z;const Y=class Y{};f(Y,"RolesAndUsersInput");let L=Y;var ye=(I=>(I.Create="Create",I.Update="Update",I.CreateOrUpdate="CreateOrUpdate",I.Delete="Delete",I.DeleteWithFilter="DeleteWithFilter",I))(ye||{});const ee=class ee{};f(ee,"ActionItemInput");let Q=ee;const te=class te{constructor(){this.Results=[]}};f(te,"SyncDataResult");let M=te;const re=class re{};f(re,"ActionItemOutput");let G=re;const se=class se{get Client(){return this._client}constructor(e,t,r,s){const a={"x-session-id":r};t&&(a.authorization="Bearer "+t),s&&(a["x-mj-api-key"]=s),this._client=new y.GraphQLClient(e,{headers:a})}async GetData(e,t){try{const s=await this.Client.request(`query GetData($input: GetDataInputType!) {
344
347
  GetData(input: $input) {
345
348
  Success
346
349
  ErrorMessages
@@ -401,7 +404,10 @@
401
404
  }`,{data:e});return r&&r.SyncRolesAndUsers?r.SyncRolesAndUsers:{Success:!1}}catch(t){return u.LogError(`GraphQLSystemUserClient::SyncRolesAndUsers - Error syncing roles and users - ${t}`),{Success:!1}}}async RunViewByName(e){try{const r=await this.Client.request(`query RunViewByNameSystemUser($input: RunViewByNameInput!) {
402
405
  RunViewByNameSystemUser(input: $input) {
403
406
  Results {
404
- ID
407
+ PrimaryKey {
408
+ FieldName
409
+ Value
410
+ }
405
411
  EntityID
406
412
  Data
407
413
  }
@@ -415,7 +421,10 @@
415
421
  }`,{input:e});return r&&r.RunViewByNameSystemUser?r.RunViewByNameSystemUser:{Results:[],Success:!1,ErrorMessage:"Failed to execute view by name"}}catch(t){return u.LogError(`GraphQLSystemUserClient::RunViewByNameSystemUser - Error running view by name - ${t}`),{Results:[],Success:!1,ErrorMessage:t.toString()}}}async RunViewByID(e){try{const r=await this.Client.request(`query RunViewByIDSystemUser($input: RunViewByIDInput!) {
416
422
  RunViewByIDSystemUser(input: $input) {
417
423
  Results {
418
- ID
424
+ PrimaryKey {
425
+ FieldName
426
+ Value
427
+ }
419
428
  EntityID
420
429
  Data
421
430
  }
@@ -429,7 +438,10 @@
429
438
  }`,{input:e});return r&&r.RunViewByIDSystemUser?r.RunViewByIDSystemUser:{Results:[],Success:!1,ErrorMessage:"Failed to execute view by ID"}}catch(t){return u.LogError(`GraphQLSystemUserClient::RunViewByIDSystemUser - Error running view by ID - ${t}`),{Results:[],Success:!1,ErrorMessage:t.toString()}}}async RunDynamicView(e){try{const r=await this.Client.request(`query RunDynamicViewSystemUser($input: RunDynamicViewInput!) {
430
439
  RunDynamicViewSystemUser(input: $input) {
431
440
  Results {
432
- ID
441
+ PrimaryKey {
442
+ FieldName
443
+ Value
444
+ }
433
445
  EntityID
434
446
  Data
435
447
  }
@@ -443,7 +455,10 @@
443
455
  }`,{input:e});return r&&r.RunDynamicViewSystemUser?r.RunDynamicViewSystemUser:{Results:[],Success:!1,ErrorMessage:"Failed to execute dynamic view"}}catch(t){return u.LogError(`GraphQLSystemUserClient::RunDynamicViewSystemUser - Error running dynamic view - ${t}`),{Results:[],Success:!1,ErrorMessage:t.toString()}}}async RunViews(e){try{const r=await this.Client.request(`query RunViewsSystemUser($input: [RunViewGenericInput!]!) {
444
456
  RunViewsSystemUser(input: $input) {
445
457
  Results {
446
- ID
458
+ PrimaryKey {
459
+ FieldName
460
+ Value
461
+ }
447
462
  EntityID
448
463
  Data
449
464
  }
@@ -704,5 +719,5 @@
704
719
  ResultData
705
720
  }
706
721
  }
707
- `;return await this._dataProvider.ExecuteGQL(t,{input:e})}processEntityActionResult(e){if(!e?.RunEntityAction)throw new Error("Invalid response from server");let t={};try{e.RunEntityAction.ResultData&&(t=JSON.parse(e.RunEntityAction.ResultData))}catch(r){u.LogError(`Failed to parse entity action result data: ${r}`)}return{Success:e.RunEntityAction.Success,Message:e.RunEntityAction.Message,RunParams:null,LogEntry:null,...t}}handleEntityActionError(e){const t=e;return u.LogError(`Error running entity action: ${t}`),{Success:!1,Message:`Error: ${t.message}`,RunParams:null,LogEntry:null}}};f(ue,"GraphQLActionClient");let B=ue;Object.defineProperty(exports,"gql",{enumerable:!0,get:function(){return y.gql}}),exports.ActionItemInput=Q,exports.ActionItemOutput=G,exports.FieldMapper=h,exports.GetDataOutput=A,exports.GraphQLAIClient=N,exports.GraphQLActionClient=B,exports.GraphQLDataProvider=v,exports.GraphQLProviderConfigData=C,exports.GraphQLSystemUserClient=b,exports.GraphQLTransactionGroup=$,exports.RoleInput=U,exports.RolesAndUsersInput=F,exports.SimpleRemoteEntity=O,exports.SimpleRemoteEntityField=_,exports.SimpleRemoteEntityOutput=q,exports.SyncDataAction=ye,exports.SyncDataResult=M,exports.SyncRolesAndUsersResult=T,exports.UserInput=L,exports.setupGraphQLClient=fe;
722
+ `;return await this._dataProvider.ExecuteGQL(t,{input:e})}processEntityActionResult(e){if(!e?.RunEntityAction)throw new Error("Invalid response from server");let t={};try{e.RunEntityAction.ResultData&&(t=JSON.parse(e.RunEntityAction.ResultData))}catch(r){u.LogError(`Failed to parse entity action result data: ${r}`)}return{Success:e.RunEntityAction.Success,Message:e.RunEntityAction.Message,RunParams:null,LogEntry:null,...t}}handleEntityActionError(e){const t=e;return u.LogError(`Error running entity action: ${t}`),{Success:!1,Message:`Error: ${t.message}`,RunParams:null,LogEntry:null}}};f(ue,"GraphQLActionClient");let B=ue;Object.defineProperty(exports,"gql",{enumerable:!0,get:function(){return y.gql}}),exports.ActionItemInput=Q,exports.ActionItemOutput=G,exports.FieldMapper=h,exports.GetDataOutput=A,exports.GraphQLAIClient=N,exports.GraphQLActionClient=B,exports.GraphQLDataProvider=v,exports.GraphQLProviderConfigData=C,exports.GraphQLSystemUserClient=b,exports.GraphQLTransactionGroup=$,exports.RoleInput=F,exports.RolesAndUsersInput=L,exports.SimpleRemoteEntity=O,exports.SimpleRemoteEntityField=_,exports.SimpleRemoteEntityOutput=q,exports.SyncDataAction=ye,exports.SyncDataResult=M,exports.SyncRolesAndUsersResult=T,exports.UserInput=U,exports.setupGraphQLClient=fe;
708
723
  //# sourceMappingURL=index.cjs.map