@memberjunction/server 2.111.1 → 2.112.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/agents/skip-agent.d.ts +4 -4
- package/dist/agents/skip-agent.d.ts.map +1 -1
- package/dist/agents/skip-agent.js +808 -951
- package/dist/agents/skip-agent.js.map +1 -1
- package/dist/agents/skip-sdk.d.ts +1 -1
- package/dist/agents/skip-sdk.d.ts.map +1 -1
- package/dist/agents/skip-sdk.js +53 -43
- package/dist/agents/skip-sdk.js.map +1 -1
- package/dist/apolloServer/index.js +1 -1
- package/dist/auth/AuthProviderFactory.d.ts +1 -1
- package/dist/auth/AuthProviderFactory.d.ts.map +1 -1
- package/dist/auth/AuthProviderFactory.js +1 -3
- package/dist/auth/AuthProviderFactory.js.map +1 -1
- package/dist/auth/BaseAuthProvider.d.ts +1 -1
- package/dist/auth/BaseAuthProvider.d.ts.map +1 -1
- package/dist/auth/BaseAuthProvider.js +3 -2
- package/dist/auth/BaseAuthProvider.js.map +1 -1
- package/dist/auth/IAuthProvider.d.ts +1 -1
- package/dist/auth/IAuthProvider.d.ts.map +1 -1
- package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -1
- package/dist/auth/exampleNewUserSubClass.js +1 -1
- package/dist/auth/exampleNewUserSubClass.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +6 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/initializeProviders.js +1 -1
- package/dist/auth/initializeProviders.js.map +1 -1
- package/dist/auth/newUsers.d.ts +1 -1
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +7 -7
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/auth/providers/Auth0Provider.d.ts +1 -1
- package/dist/auth/providers/Auth0Provider.d.ts.map +1 -1
- package/dist/auth/providers/Auth0Provider.js +1 -1
- package/dist/auth/providers/Auth0Provider.js.map +1 -1
- package/dist/auth/providers/CognitoProvider.d.ts +1 -1
- package/dist/auth/providers/CognitoProvider.d.ts.map +1 -1
- package/dist/auth/providers/CognitoProvider.js +3 -6
- package/dist/auth/providers/CognitoProvider.js.map +1 -1
- package/dist/auth/providers/GoogleProvider.d.ts +1 -1
- package/dist/auth/providers/GoogleProvider.d.ts.map +1 -1
- package/dist/auth/providers/GoogleProvider.js +1 -1
- package/dist/auth/providers/GoogleProvider.js.map +1 -1
- package/dist/auth/providers/MSALProvider.d.ts +1 -1
- package/dist/auth/providers/MSALProvider.d.ts.map +1 -1
- package/dist/auth/providers/MSALProvider.js +1 -1
- package/dist/auth/providers/MSALProvider.js.map +1 -1
- package/dist/auth/providers/OktaProvider.d.ts +1 -1
- package/dist/auth/providers/OktaProvider.d.ts.map +1 -1
- package/dist/auth/providers/OktaProvider.js +1 -1
- package/dist/auth/providers/OktaProvider.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -10
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +9 -7
- package/dist/context.js.map +1 -1
- package/dist/entitySubclasses/entityPermissions.server.d.ts +1 -1
- package/dist/entitySubclasses/entityPermissions.server.d.ts.map +1 -1
- package/dist/entitySubclasses/entityPermissions.server.js +1 -1
- package/dist/entitySubclasses/entityPermissions.server.js.map +1 -1
- package/dist/generated/generated.d.ts +648 -648
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +2986 -1133
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/KeyInputOutputTypes.d.ts +1 -1
- package/dist/generic/KeyInputOutputTypes.d.ts.map +1 -1
- package/dist/generic/KeyInputOutputTypes.js +1 -1
- package/dist/generic/KeyInputOutputTypes.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +1 -1
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +15 -10
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +1 -1
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +15 -15
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +2 -2
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +28 -30
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AskSkipResolver.d.ts +2 -2
- package/dist/resolvers/AskSkipResolver.d.ts.map +1 -1
- package/dist/resolvers/AskSkipResolver.js +60 -50
- package/dist/resolvers/AskSkipResolver.js.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.js +36 -38
- package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
- package/dist/resolvers/CreateQueryResolver.d.ts +1 -1
- package/dist/resolvers/CreateQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/CreateQueryResolver.js +43 -40
- package/dist/resolvers/CreateQueryResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
- package/dist/resolvers/DatasetResolver.js +1 -1
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/EntityResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityResolver.js +1 -1
- package/dist/resolvers/EntityResolver.js.map +1 -1
- package/dist/resolvers/FileCategoryResolver.js +1 -1
- package/dist/resolvers/FileCategoryResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.js +1 -1
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +5 -5
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +8 -6
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts +3 -3
- package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +3 -3
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +11 -11
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/ReportResolver.js +1 -1
- package/dist/resolvers/ReportResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +27 -28
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.js +31 -31
- package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +9 -9
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +10 -10
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +15 -14
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +48 -44
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/TaskResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskResolver.js +7 -7
- package/dist/resolvers/TaskResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +12 -12
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserFavoriteResolver.d.ts +1 -1
- package/dist/resolvers/UserFavoriteResolver.d.ts.map +1 -1
- package/dist/resolvers/UserFavoriteResolver.js +1 -1
- package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.d.ts.map +1 -1
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/rest/EntityCRUDHandler.d.ts +1 -1
- package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +14 -16
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +23 -25
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/ViewOperationsHandler.d.ts +1 -1
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +17 -21
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/scheduler/LearningCycleScheduler.d.ts.map +1 -1
- package/dist/scheduler/LearningCycleScheduler.js.map +1 -1
- package/dist/services/ScheduledJobsService.d.ts.map +1 -1
- package/dist/services/ScheduledJobsService.js +4 -6
- package/dist/services/ScheduledJobsService.js.map +1 -1
- package/dist/services/TaskOrchestrator.d.ts +1 -1
- package/dist/services/TaskOrchestrator.d.ts.map +1 -1
- package/dist/services/TaskOrchestrator.js +30 -30
- package/dist/services/TaskOrchestrator.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +2 -2
- package/dist/util.js.map +1 -1
- package/package.json +36 -37
- package/src/agents/skip-agent.ts +1067 -1200
- package/src/agents/skip-sdk.ts +877 -851
- package/src/apolloServer/index.ts +2 -2
- package/src/auth/AuthProviderFactory.ts +8 -14
- package/src/auth/BaseAuthProvider.ts +5 -4
- package/src/auth/IAuthProvider.ts +2 -2
- package/src/auth/exampleNewUserSubClass.ts +9 -2
- package/src/auth/index.ts +31 -26
- package/src/auth/initializeProviders.ts +3 -3
- package/src/auth/newUsers.ts +166 -134
- package/src/auth/providers/Auth0Provider.ts +5 -5
- package/src/auth/providers/CognitoProvider.ts +7 -10
- package/src/auth/providers/GoogleProvider.ts +4 -5
- package/src/auth/providers/MSALProvider.ts +5 -5
- package/src/auth/providers/OktaProvider.ts +6 -7
- package/src/config.ts +63 -54
- package/src/context.ts +42 -30
- package/src/entitySubclasses/entityPermissions.server.ts +3 -3
- package/src/generated/generated.ts +48130 -39930
- package/src/generic/KeyInputOutputTypes.ts +3 -6
- package/src/generic/ResolverBase.ts +119 -78
- package/src/generic/RunViewResolver.ts +27 -23
- package/src/index.ts +66 -42
- package/src/resolvers/ActionResolver.ts +46 -57
- package/src/resolvers/AskSkipResolver.ts +607 -533
- package/src/resolvers/ComponentRegistryResolver.ts +547 -562
- package/src/resolvers/CreateQueryResolver.ts +683 -655
- package/src/resolvers/DatasetResolver.ts +5 -6
- package/src/resolvers/EntityCommunicationsResolver.ts +1 -1
- package/src/resolvers/EntityRecordNameResolver.ts +9 -5
- package/src/resolvers/EntityResolver.ts +9 -7
- package/src/resolvers/FileCategoryResolver.ts +2 -2
- package/src/resolvers/FileResolver.ts +4 -4
- package/src/resolvers/GetDataContextDataResolver.ts +106 -118
- package/src/resolvers/GetDataResolver.ts +194 -205
- package/src/resolvers/MergeRecordsResolver.ts +5 -5
- package/src/resolvers/PotentialDuplicateRecordResolver.ts +1 -1
- package/src/resolvers/QueryResolver.ts +95 -78
- package/src/resolvers/ReportResolver.ts +2 -2
- package/src/resolvers/RunAIAgentResolver.ts +818 -828
- package/src/resolvers/RunAIPromptResolver.ts +693 -709
- package/src/resolvers/RunTemplateResolver.ts +105 -103
- package/src/resolvers/SqlLoggingConfigResolver.ts +69 -72
- package/src/resolvers/SyncDataResolver.ts +386 -352
- package/src/resolvers/SyncRolesUsersResolver.ts +387 -350
- package/src/resolvers/TaskResolver.ts +110 -115
- package/src/resolvers/TransactionGroupResolver.ts +143 -138
- package/src/resolvers/UserFavoriteResolver.ts +17 -8
- package/src/resolvers/UserViewResolver.ts +17 -12
- package/src/rest/EntityCRUDHandler.ts +291 -268
- package/src/rest/RESTEndpointHandler.ts +782 -776
- package/src/rest/ViewOperationsHandler.ts +191 -195
- package/src/scheduler/LearningCycleScheduler.ts +8 -52
- package/src/services/ScheduledJobsService.ts +129 -132
- package/src/services/TaskOrchestrator.ts +792 -776
- package/src/types.ts +15 -9
- package/src/util.ts +112 -109
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Arg, Ctx, ObjectType, Query, Resolver, Field, Int } from 'type-graphql';
|
|
2
|
-
import { RunQuery, QueryInfo, IRunQueryProvider, IMetadataProvider } from '@memberjunction/
|
|
2
|
+
import { RunQuery, QueryInfo, IRunQueryProvider, IMetadataProvider } from '@memberjunction/global';
|
|
3
3
|
import { AppContext } from '../types.js';
|
|
4
4
|
import { RequireSystemUser } from '../directives/RequireSystemUser.js';
|
|
5
5
|
import { GraphQLJSONObject } from 'graphql-type-json';
|
|
6
|
-
import { Metadata } from '@memberjunction/
|
|
6
|
+
import { Metadata } from '@memberjunction/global';
|
|
7
7
|
import { GetReadOnlyProvider } from '../util.js';
|
|
8
8
|
|
|
9
9
|
@ObjectType()
|
|
@@ -44,9 +44,16 @@ export class RunQueryResultType {
|
|
|
44
44
|
|
|
45
45
|
@Resolver()
|
|
46
46
|
export class RunQueryResolver {
|
|
47
|
-
private async findQuery(
|
|
47
|
+
private async findQuery(
|
|
48
|
+
md: IMetadataProvider,
|
|
49
|
+
QueryID: string,
|
|
50
|
+
QueryName?: string,
|
|
51
|
+
CategoryID?: string,
|
|
52
|
+
CategoryPath?: string,
|
|
53
|
+
refreshMetadataIfNotFound: boolean = false
|
|
54
|
+
): Promise<QueryInfo | null> {
|
|
48
55
|
// Filter queries based on provided criteria
|
|
49
|
-
const queries = md.Queries.filter(q => {
|
|
56
|
+
const queries = md.Queries.filter((q) => {
|
|
50
57
|
if (QueryID) {
|
|
51
58
|
return q.ID.trim().toLowerCase() === QueryID.trim().toLowerCase();
|
|
52
59
|
} else if (QueryName) {
|
|
@@ -67,31 +74,31 @@ export class RunQueryResolver {
|
|
|
67
74
|
// If we didn't find the query, refresh metadata and try again
|
|
68
75
|
await md.Refresh();
|
|
69
76
|
return this.findQuery(md, QueryID, QueryName, CategoryID, CategoryPath, false); // change the refresh flag to false so we don't loop infinitely
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
77
|
+
} else {
|
|
72
78
|
return null; // No query found and not refreshing metadata
|
|
73
79
|
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
80
|
+
} else {
|
|
76
81
|
return queries[0];
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
@Query(() => RunQueryResultType)
|
|
80
|
-
async GetQueryData(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
async GetQueryData(
|
|
86
|
+
@Arg('QueryID', () => String) QueryID: string,
|
|
87
|
+
@Ctx() context: AppContext,
|
|
88
|
+
@Arg('CategoryID', () => String, { nullable: true }) CategoryID?: string,
|
|
89
|
+
@Arg('CategoryPath', () => String, { nullable: true }) CategoryPath?: string,
|
|
90
|
+
@Arg('Parameters', () => GraphQLJSONObject, { nullable: true }) Parameters?: Record<string, any>,
|
|
91
|
+
@Arg('MaxRows', () => Int, { nullable: true }) MaxRows?: number,
|
|
92
|
+
@Arg('StartRow', () => Int, { nullable: true }) StartRow?: number,
|
|
93
|
+
@Arg('ForceAuditLog', () => Boolean, { nullable: true }) ForceAuditLog?: boolean,
|
|
94
|
+
@Arg('AuditLogDescription', () => String, { nullable: true }) AuditLogDescription?: string
|
|
95
|
+
): Promise<RunQueryResultType> {
|
|
96
|
+
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
90
97
|
const md = provider as unknown as IMetadataProvider;
|
|
91
98
|
const rq = new RunQuery(provider as unknown as IRunQueryProvider);
|
|
92
99
|
console.log('GetQueryData called with:', { QueryID, Parameters, MaxRows, StartRow, ForceAuditLog, AuditLogDescription });
|
|
93
100
|
const result = await rq.RunQuery(
|
|
94
|
-
{
|
|
101
|
+
{
|
|
95
102
|
QueryID: QueryID,
|
|
96
103
|
CategoryID: CategoryID,
|
|
97
104
|
CategoryPath: CategoryPath,
|
|
@@ -99,15 +106,16 @@ export class RunQueryResolver {
|
|
|
99
106
|
MaxRows: MaxRows,
|
|
100
107
|
StartRow: StartRow,
|
|
101
108
|
ForceAuditLog: ForceAuditLog,
|
|
102
|
-
AuditLogDescription: AuditLogDescription
|
|
103
|
-
},
|
|
104
|
-
context.userPayload.userRecord
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
AuditLogDescription: AuditLogDescription,
|
|
110
|
+
},
|
|
111
|
+
context.userPayload.userRecord
|
|
112
|
+
);
|
|
113
|
+
console.log('RunQuery result:', {
|
|
114
|
+
Success: result.Success,
|
|
107
115
|
ErrorMessage: result.ErrorMessage,
|
|
108
|
-
AppliedParameters: result.AppliedParameters
|
|
116
|
+
AppliedParameters: result.AppliedParameters,
|
|
109
117
|
});
|
|
110
|
-
|
|
118
|
+
|
|
111
119
|
// If QueryName is not populated by the provider, use efficient lookup
|
|
112
120
|
let queryName = result.QueryName;
|
|
113
121
|
if (!queryName) {
|
|
@@ -120,7 +128,7 @@ export class RunQueryResolver {
|
|
|
120
128
|
console.error('Error finding query to get name:', error);
|
|
121
129
|
}
|
|
122
130
|
}
|
|
123
|
-
|
|
131
|
+
|
|
124
132
|
return {
|
|
125
133
|
QueryID: QueryID,
|
|
126
134
|
QueryName: queryName || 'Unknown Query',
|
|
@@ -132,35 +140,38 @@ export class RunQueryResolver {
|
|
|
132
140
|
ErrorMessage: result.ErrorMessage || '',
|
|
133
141
|
AppliedParameters: result.AppliedParameters ? JSON.stringify(result.AppliedParameters) : undefined,
|
|
134
142
|
CacheHit: (result as any).CacheHit,
|
|
135
|
-
CacheTTLRemaining: (result as any).CacheTTLRemaining
|
|
143
|
+
CacheTTLRemaining: (result as any).CacheTTLRemaining,
|
|
136
144
|
};
|
|
137
145
|
}
|
|
138
146
|
|
|
139
147
|
@Query(() => RunQueryResultType)
|
|
140
|
-
async GetQueryDataByName(
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
async GetQueryDataByName(
|
|
149
|
+
@Arg('QueryName', () => String) QueryName: string,
|
|
150
|
+
@Ctx() context: AppContext,
|
|
151
|
+
@Arg('CategoryID', () => String, { nullable: true }) CategoryID?: string,
|
|
152
|
+
@Arg('CategoryPath', () => String, { nullable: true }) CategoryPath?: string,
|
|
153
|
+
@Arg('Parameters', () => GraphQLJSONObject, { nullable: true }) Parameters?: Record<string, any>,
|
|
154
|
+
@Arg('MaxRows', () => Int, { nullable: true }) MaxRows?: number,
|
|
155
|
+
@Arg('StartRow', () => Int, { nullable: true }) StartRow?: number,
|
|
156
|
+
@Arg('ForceAuditLog', () => Boolean, { nullable: true }) ForceAuditLog?: boolean,
|
|
157
|
+
@Arg('AuditLogDescription', () => String, { nullable: true }) AuditLogDescription?: string
|
|
158
|
+
): Promise<RunQueryResultType> {
|
|
159
|
+
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
150
160
|
const rq = new RunQuery(provider as unknown as IRunQueryProvider);
|
|
151
161
|
const result = await rq.RunQuery(
|
|
152
|
-
{
|
|
153
|
-
QueryName: QueryName,
|
|
162
|
+
{
|
|
163
|
+
QueryName: QueryName,
|
|
154
164
|
CategoryID: CategoryID,
|
|
155
165
|
CategoryPath: CategoryPath,
|
|
156
166
|
Parameters: Parameters,
|
|
157
167
|
MaxRows: MaxRows,
|
|
158
168
|
StartRow: StartRow,
|
|
159
169
|
ForceAuditLog: ForceAuditLog,
|
|
160
|
-
AuditLogDescription: AuditLogDescription
|
|
170
|
+
AuditLogDescription: AuditLogDescription,
|
|
161
171
|
},
|
|
162
|
-
context.userPayload.userRecord
|
|
163
|
-
|
|
172
|
+
context.userPayload.userRecord
|
|
173
|
+
);
|
|
174
|
+
|
|
164
175
|
return {
|
|
165
176
|
QueryID: result.QueryID || '',
|
|
166
177
|
QueryName: QueryName,
|
|
@@ -172,27 +183,29 @@ export class RunQueryResolver {
|
|
|
172
183
|
ErrorMessage: result.ErrorMessage || '',
|
|
173
184
|
AppliedParameters: result.AppliedParameters ? JSON.stringify(result.AppliedParameters) : undefined,
|
|
174
185
|
CacheHit: (result as any).CacheHit,
|
|
175
|
-
CacheTTLRemaining: (result as any).CacheTTLRemaining
|
|
186
|
+
CacheTTLRemaining: (result as any).CacheTTLRemaining,
|
|
176
187
|
};
|
|
177
188
|
}
|
|
178
189
|
|
|
179
190
|
@RequireSystemUser()
|
|
180
191
|
@Query(() => RunQueryResultType)
|
|
181
|
-
async GetQueryDataSystemUser(
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
192
|
+
async GetQueryDataSystemUser(
|
|
193
|
+
@Arg('QueryID', () => String) QueryID: string,
|
|
194
|
+
@Ctx() context: AppContext,
|
|
195
|
+
@Arg('CategoryID', () => String, { nullable: true }) CategoryID?: string,
|
|
196
|
+
@Arg('CategoryPath', () => String, { nullable: true }) CategoryPath?: string,
|
|
197
|
+
@Arg('Parameters', () => GraphQLJSONObject, { nullable: true }) Parameters?: Record<string, any>,
|
|
198
|
+
@Arg('MaxRows', () => Int, { nullable: true }) MaxRows?: number,
|
|
199
|
+
@Arg('StartRow', () => Int, { nullable: true }) StartRow?: number,
|
|
200
|
+
@Arg('ForceAuditLog', () => Boolean, { nullable: true }) ForceAuditLog?: boolean,
|
|
201
|
+
@Arg('AuditLogDescription', () => String, { nullable: true }) AuditLogDescription?: string
|
|
202
|
+
): Promise<RunQueryResultType> {
|
|
203
|
+
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
191
204
|
const md = provider as unknown as IMetadataProvider;
|
|
192
205
|
const rq = new RunQuery(provider as unknown as IRunQueryProvider);
|
|
193
206
|
|
|
194
207
|
const result = await rq.RunQuery(
|
|
195
|
-
{
|
|
208
|
+
{
|
|
196
209
|
QueryID: QueryID,
|
|
197
210
|
CategoryID: CategoryID,
|
|
198
211
|
CategoryPath: CategoryPath,
|
|
@@ -200,10 +213,11 @@ export class RunQueryResolver {
|
|
|
200
213
|
MaxRows: MaxRows,
|
|
201
214
|
StartRow: StartRow,
|
|
202
215
|
ForceAuditLog: ForceAuditLog,
|
|
203
|
-
AuditLogDescription: AuditLogDescription
|
|
204
|
-
},
|
|
205
|
-
context.userPayload.userRecord
|
|
206
|
-
|
|
216
|
+
AuditLogDescription: AuditLogDescription,
|
|
217
|
+
},
|
|
218
|
+
context.userPayload.userRecord
|
|
219
|
+
);
|
|
220
|
+
|
|
207
221
|
// If QueryName is not populated by the provider, use efficient lookup
|
|
208
222
|
let queryName = result.QueryName;
|
|
209
223
|
if (!queryName) {
|
|
@@ -216,7 +230,7 @@ export class RunQueryResolver {
|
|
|
216
230
|
console.error('Error finding query to get name:', error);
|
|
217
231
|
}
|
|
218
232
|
}
|
|
219
|
-
|
|
233
|
+
|
|
220
234
|
return {
|
|
221
235
|
QueryID: QueryID,
|
|
222
236
|
QueryName: queryName || 'Unknown Query',
|
|
@@ -228,26 +242,28 @@ export class RunQueryResolver {
|
|
|
228
242
|
ErrorMessage: result.ErrorMessage || '',
|
|
229
243
|
AppliedParameters: result.AppliedParameters ? JSON.stringify(result.AppliedParameters) : undefined,
|
|
230
244
|
CacheHit: (result as any).CacheHit,
|
|
231
|
-
CacheTTLRemaining: (result as any).CacheTTLRemaining
|
|
245
|
+
CacheTTLRemaining: (result as any).CacheTTLRemaining,
|
|
232
246
|
};
|
|
233
247
|
}
|
|
234
248
|
|
|
235
249
|
@RequireSystemUser()
|
|
236
250
|
@Query(() => RunQueryResultType)
|
|
237
|
-
async GetQueryDataByNameSystemUser(
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
251
|
+
async GetQueryDataByNameSystemUser(
|
|
252
|
+
@Arg('QueryName', () => String) QueryName: string,
|
|
253
|
+
@Ctx() context: AppContext,
|
|
254
|
+
@Arg('CategoryID', () => String, { nullable: true }) CategoryID?: string,
|
|
255
|
+
@Arg('CategoryPath', () => String, { nullable: true }) CategoryPath?: string,
|
|
256
|
+
@Arg('Parameters', () => GraphQLJSONObject, { nullable: true }) Parameters?: Record<string, any>,
|
|
257
|
+
@Arg('MaxRows', () => Int, { nullable: true }) MaxRows?: number,
|
|
258
|
+
@Arg('StartRow', () => Int, { nullable: true }) StartRow?: number,
|
|
259
|
+
@Arg('ForceAuditLog', () => Boolean, { nullable: true }) ForceAuditLog?: boolean,
|
|
260
|
+
@Arg('AuditLogDescription', () => String, { nullable: true }) AuditLogDescription?: string
|
|
261
|
+
): Promise<RunQueryResultType> {
|
|
262
|
+
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
247
263
|
const rq = new RunQuery(provider as unknown as IRunQueryProvider);
|
|
248
264
|
|
|
249
265
|
const result = await rq.RunQuery(
|
|
250
|
-
{
|
|
266
|
+
{
|
|
251
267
|
QueryName: QueryName,
|
|
252
268
|
CategoryID: CategoryID,
|
|
253
269
|
CategoryPath: CategoryPath,
|
|
@@ -255,10 +271,11 @@ export class RunQueryResolver {
|
|
|
255
271
|
MaxRows: MaxRows,
|
|
256
272
|
StartRow: StartRow,
|
|
257
273
|
ForceAuditLog: ForceAuditLog,
|
|
258
|
-
AuditLogDescription: AuditLogDescription
|
|
259
|
-
},
|
|
260
|
-
context.userPayload.userRecord
|
|
261
|
-
|
|
274
|
+
AuditLogDescription: AuditLogDescription,
|
|
275
|
+
},
|
|
276
|
+
context.userPayload.userRecord
|
|
277
|
+
);
|
|
278
|
+
|
|
262
279
|
return {
|
|
263
280
|
QueryID: result.QueryID || '',
|
|
264
281
|
QueryName: QueryName,
|
|
@@ -270,7 +287,7 @@ export class RunQueryResolver {
|
|
|
270
287
|
ErrorMessage: result.ErrorMessage || '',
|
|
271
288
|
AppliedParameters: result.AppliedParameters ? JSON.stringify(result.AppliedParameters) : undefined,
|
|
272
289
|
CacheHit: (result as any).CacheHit,
|
|
273
|
-
CacheTTLRemaining: (result as any).CacheTTLRemaining
|
|
290
|
+
CacheTTLRemaining: (result as any).CacheTTLRemaining,
|
|
274
291
|
};
|
|
275
292
|
}
|
|
276
|
-
}
|
|
293
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntitySaveOptions, IRunReportProvider, Metadata, RunReport } from '@memberjunction/
|
|
1
|
+
import { EntitySaveOptions, IRunReportProvider, Metadata, RunReport } from '@memberjunction/global';
|
|
2
2
|
import { Arg, Ctx, Field, Int, Mutation, ObjectType, Query, Resolver } from 'type-graphql';
|
|
3
3
|
import { AppContext } from '../types.js';
|
|
4
4
|
import { ConversationDetailEntity, ReportEntity } from '@memberjunction/core-entities';
|
|
@@ -49,7 +49,7 @@ export class CreateReportResultType {
|
|
|
49
49
|
export class ReportResolverExtended {
|
|
50
50
|
@Query(() => RunReportResultType)
|
|
51
51
|
async GetReportData(@Arg('ReportID', () => String) ReportID: string, @Ctx() context: AppContext): Promise<RunReportResultType> {
|
|
52
|
-
const provider = GetReadOnlyProvider(context.providers, {allowFallbackToReadWrite: true});
|
|
52
|
+
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
53
53
|
const rp = new RunReport(provider as unknown as IRunReportProvider);
|
|
54
54
|
|
|
55
55
|
const result = await rp.RunReport({ ReportID: ReportID });
|