@memberjunction/server 0.9.165 → 0.9.168

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.
@@ -2,7 +2,7 @@
2
2
  * ALL ENTITIES - TypeGraphQL Type Class Definition - AUTO GENERATED FILE
3
3
  * Generated Entities and Resolvers for Server
4
4
  *
5
- * GENERATED: 2/13/2024, 5:19:55 PM
5
+ * GENERATED: 2/14/2024, 10:23:29 AM
6
6
  *
7
7
  * >>> DO NOT MODIFY THIS FILE!!!!!!!!!!!!
8
8
  * >>> YOUR CHANGES WILL BE OVERWRITTEN
@@ -23,7 +23,7 @@ import { CompanyEntity, EmployeeEntity, UserFavoriteEntity, EmployeeCompanyInteg
23
23
  //****************************************************************************
24
24
  // ENTITY CLASS for Companies
25
25
  //****************************************************************************
26
- @ObjectType({ description: 'List of Companies/Organizations within the top-level business, used for subsidiaries' })
26
+ @ObjectType()
27
27
  export class Company_ {
28
28
  @Field(() => Int)
29
29
  ID: number;
@@ -289,7 +289,7 @@ export class CompanyResolver extends ResolverBase {
289
289
  //****************************************************************************
290
290
  // ENTITY CLASS for Employees
291
291
  //****************************************************************************
292
- @ObjectType({ description: 'Employees' })
292
+ @ObjectType()
293
293
  export class Employee_ {
294
294
  @Field(() => Int)
295
295
  ID: number;
@@ -310,7 +310,7 @@ export class Employee_ {
310
310
  @MaxLength(100)
311
311
  Title?: string;
312
312
 
313
- @Field({description: '5'})
313
+ @Field()
314
314
  @MaxLength(200)
315
315
  Email: string;
316
316
 
@@ -1687,7 +1687,7 @@ export class IntegrationURLFormatResolver extends ResolverBase {
1687
1687
  //****************************************************************************
1688
1688
  // ENTITY CLASS for Integrations
1689
1689
  //****************************************************************************
1690
- @ObjectType({ description: 'List of integrations that can be executed using the MemberJunction integration architecture.' })
1690
+ @ObjectType()
1691
1691
  export class Integration_ {
1692
1692
  @Field(() => Int)
1693
1693
  ID: number;
@@ -2169,6 +2169,9 @@ export class EntityField_ {
2169
2169
  @Field({nullable: true})
2170
2170
  Description?: string;
2171
2171
 
2172
+ @Field(() => Boolean, {description: 'When set to 1 (default), whenever a description is modified in the column within the underlying view (first choice) or table (second choice), the Description column in the entity field definition will be automatically updated. If you never set metadata in the database directly, you can leave this alone. However, if you have metadata set in the database level for description, and you want to provide a DIFFERENT description in this entity field definition, turn this bit off and then set the Description field and future CodeGen runs will NOT override the Description field here.'})
2173
+ AutoUpdateDescription: boolean;
2174
+
2172
2175
  @Field(() => Boolean)
2173
2176
  IsPrimaryKey: boolean;
2174
2177
 
@@ -2334,6 +2337,9 @@ export class CreateEntityFieldInput {
2334
2337
  @Field({ nullable: true })
2335
2338
  Description: string;
2336
2339
 
2340
+ @Field(() => Boolean, )
2341
+ AutoUpdateDescription: boolean;
2342
+
2337
2343
  @Field(() => Boolean, )
2338
2344
  IsPrimaryKey: boolean;
2339
2345
 
@@ -2410,6 +2416,9 @@ export class UpdateEntityFieldInput {
2410
2416
  @Field({ nullable: true })
2411
2417
  Description: string;
2412
2418
 
2419
+ @Field(() => Boolean, )
2420
+ AutoUpdateDescription: boolean;
2421
+
2413
2422
  @Field(() => Boolean, )
2414
2423
  IsPrimaryKey: boolean;
2415
2424
 
@@ -2631,12 +2640,12 @@ export class EntityFieldResolver extends ResolverBase {
2631
2640
  //****************************************************************************
2632
2641
  // ENTITY CLASS for Entities
2633
2642
  //****************************************************************************
2634
- @ObjectType({ description: 'Metadata about all of the entities in the system. This information is managed by CodeGen, don\'t modify the parts that come from SQL Server' })
2643
+ @ObjectType()
2635
2644
  export class Entity_ {
2636
2645
  @Field(() => Int)
2637
2646
  ID: number;
2638
2647
 
2639
- @Field(() => Int, {nullable: true, description: 'Reserved for future use'})
2648
+ @Field(() => Int, {nullable: true})
2640
2649
  ParentID?: number;
2641
2650
 
2642
2651
  @Field()
@@ -2650,6 +2659,9 @@ export class Entity_ {
2650
2659
  @Field({nullable: true})
2651
2660
  Description?: string;
2652
2661
 
2662
+ @Field(() => Boolean, {description: 'When set to 1 (default), whenever a description is modified in the underlying view (first choice) or table (second choice), the Description column in the entity definition will be automatically updated. If you never set metadata in the database directly, you can leave this alone. However, if you have metadata set in the database level for description, and you want to provide a DIFFERENT description in this entity definition, turn this bit off and then set the Description field and future CodeGen runs will NOT override the Description field here.'})
2663
+ AutoUpdateDescription: boolean;
2664
+
2653
2665
  @Field()
2654
2666
  @MaxLength(510)
2655
2667
  BaseTable: string;
@@ -2661,7 +2673,7 @@ export class Entity_ {
2661
2673
  @Field(() => Boolean)
2662
2674
  BaseViewGenerated: boolean;
2663
2675
 
2664
- @Field({description: 'Database Schema Name'})
2676
+ @Field()
2665
2677
  @MaxLength(510)
2666
2678
  SchemaName: string;
2667
2679
 
@@ -2677,13 +2689,13 @@ export class Entity_ {
2677
2689
  @Field(() => Boolean)
2678
2690
  AuditViewRuns: boolean;
2679
2691
 
2680
- @Field(() => Boolean, {description: 'Master switch to control if the field is included in the API or not'})
2692
+ @Field(() => Boolean)
2681
2693
  IncludeInAPI: boolean;
2682
2694
 
2683
2695
  @Field(() => Boolean)
2684
2696
  AllowAllRowsAPI: boolean;
2685
2697
 
2686
- @Field(() => Boolean, {description: 'If set to 1, allows updates to occur via API. Role based permissions are required in addition to turning this bit on.'})
2698
+ @Field(() => Boolean)
2687
2699
  AllowUpdateAPI: boolean;
2688
2700
 
2689
2701
  @Field(() => Boolean)
@@ -2695,7 +2707,7 @@ export class Entity_ {
2695
2707
  @Field(() => Boolean)
2696
2708
  CustomResolverAPI: boolean;
2697
2709
 
2698
- @Field(() => Boolean, {description: 'If set to 1, allows an end user to add their own search string when running a user view or searching without saving a view'})
2710
+ @Field(() => Boolean)
2699
2711
  AllowUserSearchAPI: boolean;
2700
2712
 
2701
2713
  @Field(() => Boolean)
@@ -2752,11 +2764,11 @@ export class Entity_ {
2752
2764
  @Field(() => Boolean)
2753
2765
  UserFormGenerated: boolean;
2754
2766
 
2755
- @Field({nullable: true, description: 'Normally, CodeGen will sub-class BaseEntity to create a strongly-typed sub-class for each entity. If you provide a value here and in EntityObjectSubclassImport, CodeGen will sub-class the provided class instead of BaseEntity. Also make sure to provide a value for EntityObjectSubclassImport with the name of the module to import that contains an exported class of the name you provide in EntityObjectSubclassName.'})
2767
+ @Field({nullable: true})
2756
2768
  @MaxLength(510)
2757
2769
  EntityObjectSubclassName?: string;
2758
2770
 
2759
- @Field({nullable: true, description: 'Normally, CodeGen will sub-class BaseEntity to create a strongly-typed sub-class for each entity. If you provide a value here and in EntityObjectSubclassName, CodeGen will sub-class the provided class instead of BaseEntity. Also make sure to provide a value for EntityObjectSubclassName with the name of the class itself. This field should have the name of the module to import that contains an exported class of the name you provide in EntityObjectSubclassName.'})
2771
+ @Field({nullable: true})
2760
2772
  @MaxLength(510)
2761
2773
  EntityObjectSubclassImport?: string;
2762
2774
 
@@ -2861,6 +2873,9 @@ export class Entity_ {
2861
2873
  @Field(() => [EntityDocument_])
2862
2874
  EntityDocumentsArray: EntityDocument_[]; // Link to EntityDocuments
2863
2875
 
2876
+ @Field(() => [DataContextItem_])
2877
+ DataContextItemsArray: DataContextItem_[]; // Link to DataContextItems
2878
+
2864
2879
  }
2865
2880
 
2866
2881
  //****************************************************************************
@@ -2883,6 +2898,9 @@ export class CreateEntityInput {
2883
2898
  @Field({ nullable: true })
2884
2899
  Description: string;
2885
2900
 
2901
+ @Field(() => Boolean, )
2902
+ AutoUpdateDescription: boolean;
2903
+
2886
2904
  @Field()
2887
2905
  BaseView: string;
2888
2906
 
@@ -2998,6 +3016,9 @@ export class UpdateEntityInput {
2998
3016
  @Field({ nullable: true })
2999
3017
  Description: string;
3000
3018
 
3019
+ @Field(() => Boolean, )
3020
+ AutoUpdateDescription: boolean;
3021
+
3001
3022
  @Field()
3002
3023
  BaseView: string;
3003
3024
 
@@ -3335,6 +3356,14 @@ export class EntityResolverBase extends ResolverBase {
3335
3356
  const result = this.ArrayMapFieldNamesToCodeNames('Entity Documents', await dataSource.query(sSQL));
3336
3357
  return result;
3337
3358
  }
3359
+
3360
+ @FieldResolver(() => [DataContextItem_])
3361
+ async DataContextItemsArray(@Root() entity_: Entity_, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
3362
+ this.CheckUserReadPermissions('Data Context Items', userPayload);
3363
+ const sSQL = `SELECT * FROM [admin].[vwDataContextItems] WHERE [EntityID]=${entity_.ID} ` + this.getRowLevelSecurityWhereClause('Data Context Items', userPayload, EntityPermissionType.Read, 'AND');
3364
+ const result = this.ArrayMapFieldNamesToCodeNames('Data Context Items', await dataSource.query(sSQL));
3365
+ return result;
3366
+ }
3338
3367
 
3339
3368
  @Mutation(() => Entity_)
3340
3369
  async CreateEntity(
@@ -4269,7 +4298,7 @@ export class EntityRelationshipResolver extends ResolverBase {
4269
4298
  //****************************************************************************
4270
4299
  // ENTITY CLASS for User Record Logs
4271
4300
  //****************************************************************************
4272
- @ObjectType({ description: 'Tracks history of user access to records across the system, tracks reads and writes' })
4301
+ @ObjectType()
4273
4302
  export class UserRecordLog_ {
4274
4303
  @Field(() => Int)
4275
4304
  ID: number;
@@ -4436,7 +4465,7 @@ export class UserRecordLogResolver extends ResolverBase {
4436
4465
  //****************************************************************************
4437
4466
  // ENTITY CLASS for User Views
4438
4467
  //****************************************************************************
4439
- @ObjectType({ description: 'User Views contain the metadata for the user viewing system of entity data' })
4468
+ @ObjectType()
4440
4469
  export class UserView_ {
4441
4470
  @Field(() => Int)
4442
4471
  ID: number;
@@ -4532,6 +4561,9 @@ export class UserView_ {
4532
4561
  @Field(() => [UserViewRun_])
4533
4562
  UserViewRunsArray: UserViewRun_[]; // Link to UserViewRuns
4534
4563
 
4564
+ @Field(() => [DataContextItem_])
4565
+ DataContextItemsArray: DataContextItem_[]; // Link to DataContextItems
4566
+
4535
4567
  }
4536
4568
 
4537
4569
  //****************************************************************************
@@ -4721,6 +4753,14 @@ export class UserViewResolverBase extends ResolverBase {
4721
4753
  const result = this.ArrayMapFieldNamesToCodeNames('User View Runs', await dataSource.query(sSQL));
4722
4754
  return result;
4723
4755
  }
4756
+
4757
+ @FieldResolver(() => [DataContextItem_])
4758
+ async DataContextItemsArray(@Root() userview_: UserView_, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
4759
+ this.CheckUserReadPermissions('Data Context Items', userPayload);
4760
+ const sSQL = `SELECT * FROM [admin].[vwDataContextItems] WHERE [ViewID]=${userview_.ID} ` + this.getRowLevelSecurityWhereClause('Data Context Items', userPayload, EntityPermissionType.Read, 'AND');
4761
+ const result = this.ArrayMapFieldNamesToCodeNames('Data Context Items', await dataSource.query(sSQL));
4762
+ return result;
4763
+ }
4724
4764
 
4725
4765
  @Mutation(() => UserView_)
4726
4766
  async CreateUserView(
@@ -4814,7 +4854,7 @@ export class UserViewResolverBase extends ResolverBase {
4814
4854
  //****************************************************************************
4815
4855
  // ENTITY CLASS for Company Integration Runs
4816
4856
  //****************************************************************************
4817
- @ObjectType({ description: 'Audit Trail for each run of a given company integration' })
4857
+ @ObjectType()
4818
4858
  export class CompanyIntegrationRun_ {
4819
4859
  @Field(() => Int)
4820
4860
  ID: number;
@@ -4993,7 +5033,7 @@ export class CompanyIntegrationRunResolver extends ResolverBase {
4993
5033
  //****************************************************************************
4994
5034
  // ENTITY CLASS for Company Integration Run Details
4995
5035
  //****************************************************************************
4996
- @ObjectType({ description: 'Record-level details for the audit trail for each integration run' })
5036
+ @ObjectType()
4997
5037
  export class CompanyIntegrationRunDetail_ {
4998
5038
  @Field(() => Int)
4999
5039
  ID: number;
@@ -6546,10 +6586,6 @@ export class List_ {
6546
6586
  @MaxLength(8)
6547
6587
  UpdatedAt: Date;
6548
6588
 
6549
- @Field({nullable: true})
6550
- @MaxLength(510)
6551
- Entity?: string;
6552
-
6553
6589
  @Field()
6554
6590
  @MaxLength(200)
6555
6591
  User: string;
@@ -7795,7 +7831,7 @@ export class WorkflowEngineResolver extends ResolverBase {
7795
7831
  //****************************************************************************
7796
7832
  // ENTITY CLASS for Record Changes
7797
7833
  //****************************************************************************
7798
- @ObjectType({ description: 'Tracks history of all pending and complete data changes to records' })
7834
+ @ObjectType()
7799
7835
  export class RecordChange_ {
7800
7836
  @Field(() => Int)
7801
7837
  ID: number;
@@ -8237,10 +8273,6 @@ export class AuditLog_ {
8237
8273
  @Field()
8238
8274
  @MaxLength(200)
8239
8275
  User: string;
8240
-
8241
- @Field({nullable: true})
8242
- @MaxLength(510)
8243
- Entity?: string;
8244
8276
 
8245
8277
  }
8246
8278
 
@@ -11640,10 +11672,6 @@ export class TaggedItem_ {
11640
11672
  @Field()
11641
11673
  @MaxLength(510)
11642
11674
  Tag: string;
11643
-
11644
- @Field()
11645
- @MaxLength(510)
11646
- Entity: string;
11647
11675
 
11648
11676
  }
11649
11677
  //****************************************************************************
@@ -13524,10 +13552,6 @@ export class CompanyIntegrationRecordMap_ {
13524
13552
  @Field()
13525
13553
  @MaxLength(8)
13526
13554
  UpdatedAt: Date;
13527
-
13528
- @Field()
13529
- @MaxLength(510)
13530
- Entity: string;
13531
13555
 
13532
13556
  }
13533
13557
 
@@ -14157,6 +14181,14 @@ export class QueryField_ {
14157
14181
  @Field(() => Int)
14158
14182
  Sequence: number;
14159
14183
 
14184
+ @Field({description: 'The base type, not including parameters, in SQL. For example this field would be nvarchar or decimal, and wouldn\'t include type parameters. The SQLFullType field provides that information.'})
14185
+ @MaxLength(100)
14186
+ SQLBaseType: string;
14187
+
14188
+ @Field({description: 'The full SQL type for the field, for example datetime or nvarchar(10) etc.'})
14189
+ @MaxLength(200)
14190
+ SQLFullType: string;
14191
+
14160
14192
  @Field(() => Int, {nullable: true})
14161
14193
  SourceEntityID?: number;
14162
14194
 
@@ -14187,10 +14219,6 @@ export class QueryField_ {
14187
14219
  @Field()
14188
14220
  @MaxLength(510)
14189
14221
  Query: string;
14190
-
14191
- @Field({nullable: true})
14192
- @MaxLength(510)
14193
- SourceEntity?: string;
14194
14222
 
14195
14223
  }
14196
14224
 
@@ -14211,6 +14239,12 @@ export class CreateQueryFieldInput {
14211
14239
  @Field(() => Int, )
14212
14240
  Sequence: number;
14213
14241
 
14242
+ @Field()
14243
+ SQLBaseType: string;
14244
+
14245
+ @Field()
14246
+ SQLFullType: string;
14247
+
14214
14248
  @Field(() => Int, { nullable: true })
14215
14249
  SourceEntityID: number;
14216
14250
 
@@ -14251,6 +14285,12 @@ export class UpdateQueryFieldInput {
14251
14285
  @Field(() => Int, )
14252
14286
  Sequence: number;
14253
14287
 
14288
+ @Field()
14289
+ SQLBaseType: string;
14290
+
14291
+ @Field()
14292
+ SQLFullType: string;
14293
+
14254
14294
  @Field(() => Int, { nullable: true })
14255
14295
  SourceEntityID: number;
14256
14296
 
@@ -14640,6 +14680,9 @@ export class Query_ {
14640
14680
  @Field(() => [QueryPermission_])
14641
14681
  QueryPermissionsArray: QueryPermission_[]; // Link to QueryPermissions
14642
14682
 
14683
+ @Field(() => [DataContextItem_])
14684
+ DataContextItemsArray: DataContextItem_[]; // Link to DataContextItems
14685
+
14643
14686
  }
14644
14687
 
14645
14688
  //****************************************************************************
@@ -14773,6 +14816,14 @@ export class QueryResolver extends ResolverBase {
14773
14816
  const result = this.ArrayMapFieldNamesToCodeNames('Query Permissions', await dataSource.query(sSQL));
14774
14817
  return result;
14775
14818
  }
14819
+
14820
+ @FieldResolver(() => [DataContextItem_])
14821
+ async DataContextItemsArray(@Root() query_: Query_, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
14822
+ this.CheckUserReadPermissions('Data Context Items', userPayload);
14823
+ const sSQL = `SELECT * FROM [admin].[vwDataContextItems] WHERE [QueryID]=${query_.ID} ` + this.getRowLevelSecurityWhereClause('Data Context Items', userPayload, EntityPermissionType.Read, 'AND');
14824
+ const result = this.ArrayMapFieldNamesToCodeNames('Data Context Items', await dataSource.query(sSQL));
14825
+ return result;
14826
+ }
14776
14827
 
14777
14828
  @Mutation(() => Query_)
14778
14829
  async CreateQuery(
@@ -15397,7 +15448,7 @@ export class EntityDocumentRun_ {
15397
15448
  @MaxLength(8)
15398
15449
  EndedAt?: Date;
15399
15450
 
15400
- @Field()
15451
+ @Field({description: 'Can be Pending, In Progress, Completed, or Failed'})
15401
15452
  @MaxLength(30)
15402
15453
  Status: string;
15403
15454
 
@@ -16017,10 +16068,6 @@ export class EntityDocument_ {
16017
16068
  @MaxLength(8)
16018
16069
  UpdatedAt: Date;
16019
16070
 
16020
- @Field()
16021
- @MaxLength(510)
16022
- Entity: string;
16023
-
16024
16071
  @Field()
16025
16072
  @MaxLength(200)
16026
16073
  Type: string;
@@ -16202,28 +16249,38 @@ export class EntityDocumentResolver extends ResolverBase {
16202
16249
  //****************************************************************************
16203
16250
  // ENTITY CLASS for Data Context Items
16204
16251
  //****************************************************************************
16205
- @ObjectType()
16252
+ @ObjectType({ description: 'Data Context Items store information about each item within a Data Context. Each item stores a link to a view, query, or raw sql statement and can optionally cache the JSON representing the last run of that data object as well.' })
16206
16253
  export class DataContextItem_ {
16207
16254
  @Field(() => Int)
16208
16255
  ID: number;
16209
16256
 
16210
- @Field(() => Int)
16257
+ @Field(() => Int, {description: 'Foreign key to the DataContext table'})
16211
16258
  DataContextID: number;
16212
16259
 
16213
- @Field()
16260
+ @Field({description: 'The type of the item, either "view", "query", "full_entity", "single_record", or "sql"'})
16214
16261
  @MaxLength(100)
16215
16262
  Type: string;
16216
16263
 
16217
- @Field(() => Int)
16218
- RecordID: number;
16264
+ @Field(() => Int, {nullable: true, description: 'Only used if Type=\'view\''})
16265
+ ViewID?: number;
16219
16266
 
16220
- @Field({nullable: true})
16267
+ @Field(() => Int, {nullable: true, description: 'Only used if Type=\'query\''})
16268
+ QueryID?: number;
16269
+
16270
+ @Field(() => Int, {nullable: true, description: 'Used if type=\'full_entity\' or type=\'single_record\''})
16271
+ EntityID?: number;
16272
+
16273
+ @Field({nullable: true, description: 'The Primary Key value for the record, only used when Type=\'single_record\''})
16274
+ @MaxLength(510)
16275
+ RecordID?: string;
16276
+
16277
+ @Field({nullable: true, description: 'Only used when Type=sql'})
16221
16278
  SQL?: string;
16222
16279
 
16223
- @Field({nullable: true})
16280
+ @Field({nullable: true, description: 'Optionally used to cache results of an item. This can be used for performance optimization, and also for having snapshots of data for historical comparisons.'})
16224
16281
  DataJSON?: string;
16225
16282
 
16226
- @Field({nullable: true})
16283
+ @Field({nullable: true, description: 'If DataJSON is populated, this field will show the date the the data was captured'})
16227
16284
  @MaxLength(8)
16228
16285
  LastRefreshedAt?: Date;
16229
16286
 
@@ -16238,6 +16295,14 @@ export class DataContextItem_ {
16238
16295
  @Field()
16239
16296
  @MaxLength(510)
16240
16297
  DataContext: string;
16298
+
16299
+ @Field({nullable: true})
16300
+ @MaxLength(200)
16301
+ View?: string;
16302
+
16303
+ @Field({nullable: true})
16304
+ @MaxLength(510)
16305
+ Query?: string;
16241
16306
 
16242
16307
  }
16243
16308
 
@@ -16252,8 +16317,17 @@ export class CreateDataContextItemInput {
16252
16317
  @Field()
16253
16318
  Type: string;
16254
16319
 
16255
- @Field(() => Int, )
16256
- RecordID: number;
16320
+ @Field(() => Int, { nullable: true })
16321
+ ViewID: number;
16322
+
16323
+ @Field(() => Int, { nullable: true })
16324
+ QueryID: number;
16325
+
16326
+ @Field(() => Int, { nullable: true })
16327
+ EntityID: number;
16328
+
16329
+ @Field({ nullable: true })
16330
+ RecordID: string;
16257
16331
 
16258
16332
  @Field({ nullable: true })
16259
16333
  SQL: string;
@@ -16280,8 +16354,17 @@ export class UpdateDataContextItemInput {
16280
16354
  @Field()
16281
16355
  Type: string;
16282
16356
 
16283
- @Field(() => Int, )
16284
- RecordID: number;
16357
+ @Field(() => Int, { nullable: true })
16358
+ ViewID: number;
16359
+
16360
+ @Field(() => Int, { nullable: true })
16361
+ QueryID: number;
16362
+
16363
+ @Field(() => Int, { nullable: true })
16364
+ EntityID: number;
16365
+
16366
+ @Field({ nullable: true })
16367
+ RecordID: string;
16285
16368
 
16286
16369
  @Field({ nullable: true })
16287
16370
  SQL: string;
@@ -16411,7 +16494,7 @@ export class DataContextItemResolver extends ResolverBase {
16411
16494
  //****************************************************************************
16412
16495
  // ENTITY CLASS for Data Contexts
16413
16496
  //****************************************************************************
16414
- @ObjectType()
16497
+ @ObjectType({ description: 'Data Contexts are a primitive within the MemberJunction architecture. They store information about data contexts which are groups of data including views, queries, or raw SQL statements. Data contexts can be used in conversations, reports and more.' })
16415
16498
  export class DataContext_ {
16416
16499
  @Field(() => Int)
16417
16500
  ID: number;