@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,6 +1,6 @@
|
|
|
1
1
|
import { Arg, Ctx, Field, InputType, Int, ObjectType, Query, Resolver } from 'type-graphql';
|
|
2
2
|
import { AppContext } from '../types.js';
|
|
3
|
-
import { LogError, Metadata } from '@memberjunction/
|
|
3
|
+
import { LogError, Metadata } from '@memberjunction/global';
|
|
4
4
|
import { GetReadOnlyProvider } from '../util.js';
|
|
5
5
|
|
|
6
6
|
@ObjectType()
|
|
@@ -33,17 +33,16 @@ export class DatasetItemFilterTypeGQL {
|
|
|
33
33
|
Filter: string;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
37
36
|
@Resolver(DatasetResultType)
|
|
38
37
|
export class DatasetResolverExtended {
|
|
39
38
|
@Query(() => DatasetResultType)
|
|
40
39
|
async GetDatasetByName(
|
|
41
40
|
@Arg('DatasetName', () => String) DatasetName: string,
|
|
42
|
-
@Ctx() {providers}: AppContext,
|
|
41
|
+
@Ctx() { providers }: AppContext,
|
|
43
42
|
@Arg('ItemFilters', () => [DatasetItemFilterTypeGQL], { nullable: 'itemsAndList' }) ItemFilters?: DatasetItemFilterTypeGQL[]
|
|
44
43
|
) {
|
|
45
44
|
try {
|
|
46
|
-
const md = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true});
|
|
45
|
+
const md = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
47
46
|
const result = await md.GetDatasetByName(DatasetName, ItemFilters);
|
|
48
47
|
if (result) {
|
|
49
48
|
return {
|
|
@@ -90,11 +89,11 @@ export class DatasetStatusResolver {
|
|
|
90
89
|
@Query(() => DatasetStatusResultType)
|
|
91
90
|
async GetDatasetStatusByName(
|
|
92
91
|
@Arg('DatasetName', () => String) DatasetName: string,
|
|
93
|
-
@Ctx() {providers}: AppContext,
|
|
92
|
+
@Ctx() { providers }: AppContext,
|
|
94
93
|
@Arg('ItemFilters', () => [DatasetItemFilterTypeGQL], { nullable: 'itemsAndList' }) ItemFilters?: DatasetItemFilterTypeGQL[]
|
|
95
94
|
) {
|
|
96
95
|
try {
|
|
97
|
-
const md = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true});
|
|
96
|
+
const md = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
98
97
|
const result = await md.GetDatasetStatusByName(DatasetName, ItemFilters);
|
|
99
98
|
if (result) {
|
|
100
99
|
return {
|
|
@@ -3,7 +3,7 @@ import { AppContext } from '../types.js';
|
|
|
3
3
|
import { RunViewByIDInput } from '../generic/RunViewResolver.js';
|
|
4
4
|
import { Message } from '@memberjunction/communication-types';
|
|
5
5
|
import { EntityCommunicationsEngine } from '@memberjunction/entity-communications-server';
|
|
6
|
-
import { RunViewParams } from '@memberjunction/
|
|
6
|
+
import { RunViewParams } from '@memberjunction/global';
|
|
7
7
|
import { GraphQLJSONObject } from 'graphql-type-json';
|
|
8
8
|
import { TemplateEngineServer } from '@memberjunction/templates';
|
|
9
9
|
import { EntityCommunicationParams } from '@memberjunction/entity-communications-base';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Metadata, CompositeKey, DatabaseProviderBase } from '@memberjunction/
|
|
1
|
+
import { Metadata, CompositeKey, DatabaseProviderBase } from '@memberjunction/global';
|
|
2
2
|
import { Arg, Ctx, Field, InputType, ObjectType, Query, Resolver } from 'type-graphql';
|
|
3
3
|
import { AppContext } from '../types.js';
|
|
4
4
|
import { CompositeKeyInputType, CompositeKeyOutputType } from '../generic/KeyInputOutputTypes.js';
|
|
@@ -39,7 +39,7 @@ export class EntityRecordNameResolver {
|
|
|
39
39
|
@Arg('CompositeKey', () => CompositeKeyInputType) primaryKey: CompositeKey,
|
|
40
40
|
@Ctx() { providers, userPayload }: AppContext
|
|
41
41
|
): Promise<EntityRecordNameResult> {
|
|
42
|
-
const md = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true});
|
|
42
|
+
const md = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
43
43
|
|
|
44
44
|
return await this.InnerGetEntityRecordName(md, EntityName, primaryKey);
|
|
45
45
|
}
|
|
@@ -47,17 +47,21 @@ export class EntityRecordNameResolver {
|
|
|
47
47
|
@Query(() => [EntityRecordNameResult])
|
|
48
48
|
async GetEntityRecordNames(
|
|
49
49
|
@Arg('info', () => [EntityRecordNameInput]) info: EntityRecordNameInput[],
|
|
50
|
-
@Ctx() {providers}: AppContext
|
|
50
|
+
@Ctx() { providers }: AppContext
|
|
51
51
|
): Promise<EntityRecordNameResult[]> {
|
|
52
52
|
const result: EntityRecordNameResult[] = [];
|
|
53
|
-
const md = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true});
|
|
53
|
+
const md = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
54
54
|
for (const i of info) {
|
|
55
55
|
result.push(await this.InnerGetEntityRecordName(md, i.EntityName, i.CompositeKey));
|
|
56
56
|
}
|
|
57
57
|
return result;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
async InnerGetEntityRecordName(
|
|
60
|
+
async InnerGetEntityRecordName(
|
|
61
|
+
md: DatabaseProviderBase,
|
|
62
|
+
EntityName: string,
|
|
63
|
+
primaryKey: CompositeKeyInputType
|
|
64
|
+
): Promise<EntityRecordNameResult> {
|
|
61
65
|
const pk = new CompositeKey(primaryKey.KeyValuePairs);
|
|
62
66
|
const e = md.Entities.find((e) => e.Name === EntityName);
|
|
63
67
|
if (e) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityPermissionType, IRunViewProvider } from '@memberjunction/
|
|
1
|
+
import { EntityPermissionType, IRunViewProvider } from '@memberjunction/global';
|
|
2
2
|
import { AppContext } from '../types.js';
|
|
3
3
|
import { Arg, Ctx, Query, Resolver, InputType, Field } from 'type-graphql';
|
|
4
4
|
import { MJEntity_, MJEntityResolverBase } from '../generated/generated.js';
|
|
@@ -33,14 +33,16 @@ export class EntityResolver extends MJEntityResolverBase {
|
|
|
33
33
|
else totalWhere = ` ${rlsWhere}`;
|
|
34
34
|
}
|
|
35
35
|
const rv = provider as any as IRunViewProvider;
|
|
36
|
-
const result = await rv.RunView(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const result = await rv.RunView(
|
|
37
|
+
{
|
|
38
|
+
EntityName: 'Entities',
|
|
39
|
+
ExtraFilter: totalWhere,
|
|
40
|
+
},
|
|
41
|
+
userPayload.userRecord
|
|
42
|
+
);
|
|
40
43
|
if (result && result.Success) {
|
|
41
44
|
return result.Results;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
45
|
+
} else {
|
|
44
46
|
throw new Error(`Failed to fetch entities: ${result?.ErrorMessage || 'Unknown error'}`);
|
|
45
47
|
}
|
|
46
48
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompositeKey, EntityDeleteOptions, EntityPermissionType, EntitySaveOptions, Metadata, RunView } from '@memberjunction/
|
|
1
|
+
import { CompositeKey, EntityDeleteOptions, EntityPermissionType, EntitySaveOptions, Metadata, RunView } from '@memberjunction/global';
|
|
2
2
|
import { FileCategoryEntity, FileEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import { AppContext, Arg, Ctx, DeleteOptionsInput, Int, Mutation } from '@memberjunction/server';
|
|
4
4
|
import { mj_core_schema } from '../config.js';
|
|
@@ -16,7 +16,7 @@ export class FileResolver extends FileCategoryResolverBase {
|
|
|
16
16
|
) {
|
|
17
17
|
const key = new CompositeKey();
|
|
18
18
|
key.LoadFromSingleKeyValuePair('ID', ID);
|
|
19
|
-
const p = GetReadWriteProvider(providers);
|
|
19
|
+
const p = GetReadWriteProvider(providers);
|
|
20
20
|
|
|
21
21
|
if (!(await this.BeforeDelete(p, key))) {
|
|
22
22
|
return null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityPermissionType, Metadata, FieldValueCollection, EntitySaveOptions } from '@memberjunction/
|
|
1
|
+
import { EntityPermissionType, Metadata, FieldValueCollection, EntitySaveOptions } from '@memberjunction/global';
|
|
2
2
|
import { FileEntity, FileStorageProviderEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import {
|
|
4
4
|
AppContext,
|
|
@@ -52,7 +52,7 @@ export class FileResolver extends FileResolverBase {
|
|
|
52
52
|
@PubSub() pubSub: PubSubEngine
|
|
53
53
|
) {
|
|
54
54
|
// Check to see if there's already an object with that name
|
|
55
|
-
const provider = GetReadOnlyProvider(context.providers, {allowFallbackToReadWrite: true})
|
|
55
|
+
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
56
56
|
const user = this.GetUserFromPayload(context.userPayload);
|
|
57
57
|
const fileEntity = await provider.GetEntityObject<FileEntity>('Files', user);
|
|
58
58
|
const providerEntity = await provider.GetEntityObject<FileStorageProviderEntity>('File Storage Providers', user);
|
|
@@ -107,7 +107,7 @@ export class FileResolver extends FileResolverBase {
|
|
|
107
107
|
@PubSub() pubSub: PubSubEngine
|
|
108
108
|
) {
|
|
109
109
|
// if the name is changing, rename the target object as well
|
|
110
|
-
const md = GetReadOnlyProvider(context.providers, {allowFallbackToReadWrite: true});
|
|
110
|
+
const md = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
111
111
|
const user = this.GetUserFromPayload(context.userPayload);
|
|
112
112
|
const fileEntity = await md.GetEntityObject<FileEntity>('Files', user);
|
|
113
113
|
fileEntity.CheckPermissions(EntityPermissionType.Update, true);
|
|
@@ -135,7 +135,7 @@ export class FileResolver extends FileResolverBase {
|
|
|
135
135
|
@Ctx() context: AppContext,
|
|
136
136
|
@PubSub() pubSub: PubSubEngine
|
|
137
137
|
) {
|
|
138
|
-
const md = GetReadOnlyProvider(context.providers, {allowFallbackToReadWrite: true});
|
|
138
|
+
const md = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
139
139
|
const userInfo = this.GetUserFromPayload(context.userPayload);
|
|
140
140
|
|
|
141
141
|
const fileEntity = await md.GetEntityObject<FileEntity>('Files', userInfo);
|
|
@@ -1,136 +1,124 @@
|
|
|
1
|
-
import { Arg, Ctx, Field, ObjectType, Query } from
|
|
2
|
-
import { AppContext } from
|
|
3
|
-
import { DataContext } from
|
|
4
|
-
import { GetReadOnlyDataSource, GetReadOnlyProvider } from
|
|
5
|
-
import { Metadata } from
|
|
6
|
-
import { DataContextItemEntity } from
|
|
1
|
+
import { Arg, Ctx, Field, ObjectType, Query } from 'type-graphql';
|
|
2
|
+
import { AppContext } from '../types.js';
|
|
3
|
+
import { DataContext } from '@memberjunction/data-context';
|
|
4
|
+
import { GetReadOnlyDataSource, GetReadOnlyProvider } from '../util.js';
|
|
5
|
+
import { Metadata } from '@memberjunction/global';
|
|
6
|
+
import { DataContextItemEntity } from '@memberjunction/core-entities';
|
|
7
7
|
|
|
8
8
|
@ObjectType()
|
|
9
9
|
export class GetDataContextItemDataOutputType {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
@Field(() => Boolean)
|
|
11
|
+
Success: boolean;
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
/**
|
|
14
|
+
* If not successful, this will be the error message.
|
|
15
|
+
*/
|
|
16
|
+
@Field(() => String, { nullable: true })
|
|
17
|
+
ErrorMessage: string | null;
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
/**
|
|
20
|
+
* If successful, this will be the JSON for the data context item's data.
|
|
21
|
+
*/
|
|
22
|
+
@Field(() => String, { nullable: true })
|
|
23
|
+
Result: string | null;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
@ObjectType()
|
|
27
27
|
export class GetDataContextDataOutputType {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
@Field(() => Boolean)
|
|
29
|
+
Success: boolean;
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
@Field(() => [String], { nullable: 'itemsAndList' }) // Allow nulls inside array & entire field nullable
|
|
32
|
+
ErrorMessages: (string | null)[];
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Each data context item's results will be converted to JSON and returned as a string
|
|
36
|
+
*/
|
|
37
|
+
@Field(() => [String], { nullable: 'itemsAndList' }) // Allow nulls inside array & entire field nullable
|
|
38
|
+
Results: (string | null)[];
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
|
|
42
41
|
export class GetDataContextDataResolver {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
Success: false,
|
|
72
|
-
ErrorMessage: 'Error loading data context item data',
|
|
73
|
-
Result: null,
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
return {
|
|
79
|
-
Success: false,
|
|
80
|
-
ErrorMessage: 'Error loading data context item metadata',
|
|
81
|
-
Result: null,
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch (e) {
|
|
86
|
-
return {
|
|
87
|
-
Success: false,
|
|
88
|
-
ErrorMessage: e,
|
|
89
|
-
Result: null,
|
|
90
|
-
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns data for a given data context item.
|
|
44
|
+
* @param DataContextItemID
|
|
45
|
+
*/
|
|
46
|
+
@Query(() => GetDataContextItemDataOutputType)
|
|
47
|
+
async GetDataContextItemData(@Arg('DataContextItemID', () => String) DataContextItemID: string, @Ctx() appCtx: AppContext) {
|
|
48
|
+
try {
|
|
49
|
+
const ds = GetReadOnlyDataSource(appCtx.dataSources, {
|
|
50
|
+
allowFallbackToReadWrite: true,
|
|
51
|
+
});
|
|
52
|
+
const md = GetReadOnlyProvider(appCtx.providers, { allowFallbackToReadWrite: true });
|
|
53
|
+
const dciData = await md.GetEntityObject<DataContextItemEntity>('Data Context Items', appCtx.userPayload.userRecord);
|
|
54
|
+
if (await dciData.Load(DataContextItemID)) {
|
|
55
|
+
const dci = DataContext.CreateDataContextItem(); // use class factory to get whatever lowest level sub-class is registered
|
|
56
|
+
await dci.LoadMetadataFromEntityRecord(dciData, Metadata.Provider, appCtx.userPayload.userRecord);
|
|
57
|
+
// now the metadata is loaded so we can call the regular load function
|
|
58
|
+
if (await dci.LoadData(ds)) {
|
|
59
|
+
return {
|
|
60
|
+
Success: true,
|
|
61
|
+
ErrorMessage: null,
|
|
62
|
+
Result: JSON.stringify(dci.Data),
|
|
63
|
+
};
|
|
64
|
+
} else {
|
|
65
|
+
return {
|
|
66
|
+
Success: false,
|
|
67
|
+
ErrorMessage: 'Error loading data context item data',
|
|
68
|
+
Result: null,
|
|
69
|
+
};
|
|
91
70
|
}
|
|
71
|
+
} else {
|
|
72
|
+
return {
|
|
73
|
+
Success: false,
|
|
74
|
+
ErrorMessage: 'Error loading data context item metadata',
|
|
75
|
+
Result: null,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
} catch (e) {
|
|
79
|
+
return {
|
|
80
|
+
Success: false,
|
|
81
|
+
ErrorMessage: e,
|
|
82
|
+
Result: null,
|
|
83
|
+
};
|
|
92
84
|
}
|
|
85
|
+
}
|
|
93
86
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
Success: false,
|
|
131
|
-
ErrorMessages: [e],
|
|
132
|
-
Results: null,
|
|
133
|
-
}
|
|
134
|
-
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns data for a given data context.
|
|
89
|
+
* @param DataContextID
|
|
90
|
+
*/
|
|
91
|
+
@Query(() => GetDataContextDataOutputType)
|
|
92
|
+
async GetDataContextData(@Arg('DataContextID', () => String) DataContextID: string, @Ctx() appCtx: AppContext) {
|
|
93
|
+
try {
|
|
94
|
+
// our job here is to load the entire data context, so we do that with the Data Context object
|
|
95
|
+
const dc = new DataContext();
|
|
96
|
+
const ds = GetReadOnlyDataSource(appCtx.dataSources, {
|
|
97
|
+
allowFallbackToReadWrite: true,
|
|
98
|
+
});
|
|
99
|
+
const success = await dc.Load(DataContextID, ds, true, false, 0, appCtx.userPayload.userRecord);
|
|
100
|
+
if (success) {
|
|
101
|
+
const retVal = {
|
|
102
|
+
Success: true,
|
|
103
|
+
ErrorMessages: null,
|
|
104
|
+
Results: dc.Items.map((item) => {
|
|
105
|
+
return JSON.stringify(item.Data);
|
|
106
|
+
}),
|
|
107
|
+
};
|
|
108
|
+
return retVal;
|
|
109
|
+
} else {
|
|
110
|
+
return {
|
|
111
|
+
Success: false,
|
|
112
|
+
ErrorMessages: ['Error loading data context'],
|
|
113
|
+
Results: null,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
} catch (e) {
|
|
117
|
+
return {
|
|
118
|
+
Success: false,
|
|
119
|
+
ErrorMessages: [e],
|
|
120
|
+
Results: null,
|
|
121
|
+
};
|
|
135
122
|
}
|
|
136
|
-
}
|
|
123
|
+
}
|
|
124
|
+
}
|