@memberjunction/core-entities 2.7.1 → 2.8.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.
@@ -4798,6 +4798,94 @@ export declare const ReportSchema: z.ZodObject<{
4798
4798
  OutputWorkflow?: string;
4799
4799
  }>;
4800
4800
  export type ReportEntityType = z.infer<typeof ReportSchema>;
4801
+ /**
4802
+ * zod schema definition for the entity Resource Links
4803
+ */
4804
+ export declare const ResourceLinkSchema: z.ZodObject<{
4805
+ ID: z.ZodString;
4806
+ UserID: z.ZodString;
4807
+ ResourceTypeID: z.ZodString;
4808
+ ResourceRecordID: z.ZodString;
4809
+ FolderID: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4810
+ __mj_CreatedAt: z.ZodDate;
4811
+ __mj_UpdatedAt: z.ZodDate;
4812
+ User: z.ZodString;
4813
+ ResourceType: z.ZodString;
4814
+ }, "strip", z.ZodTypeAny, {
4815
+ ID?: string;
4816
+ __mj_CreatedAt?: Date;
4817
+ __mj_UpdatedAt?: Date;
4818
+ UserID?: string;
4819
+ User?: string;
4820
+ ResourceTypeID?: string;
4821
+ ResourceRecordID?: string;
4822
+ FolderID?: string;
4823
+ ResourceType?: string;
4824
+ }, {
4825
+ ID?: string;
4826
+ __mj_CreatedAt?: Date;
4827
+ __mj_UpdatedAt?: Date;
4828
+ UserID?: string;
4829
+ User?: string;
4830
+ ResourceTypeID?: string;
4831
+ ResourceRecordID?: string;
4832
+ FolderID?: string;
4833
+ ResourceType?: string;
4834
+ }>;
4835
+ export type ResourceLinkEntityType = z.infer<typeof ResourceLinkSchema>;
4836
+ /**
4837
+ * zod schema definition for the entity Resource Permissions
4838
+ */
4839
+ export declare const ResourcePermissionSchema: z.ZodObject<{
4840
+ ID: z.ZodString;
4841
+ ResourceTypeID: z.ZodString;
4842
+ ResourceRecordID: z.ZodString;
4843
+ Type: z.ZodUnion<[z.ZodLiteral<"Role">, z.ZodLiteral<"User">]>;
4844
+ StartSharingAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
4845
+ EndSharingAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
4846
+ RoleID: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4847
+ UserID: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4848
+ PermissionLevel: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"View">, z.ZodLiteral<"Edit">, z.ZodLiteral<"Owner">]>>>;
4849
+ __mj_CreatedAt: z.ZodDate;
4850
+ __mj_UpdatedAt: z.ZodDate;
4851
+ Status: z.ZodUnion<[z.ZodLiteral<"Pending">, z.ZodLiteral<"Approved">, z.ZodLiteral<"Rejected">, z.ZodLiteral<"Revoked">, z.ZodLiteral<"Requested">]>;
4852
+ ResourceType: z.ZodString;
4853
+ Role: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4854
+ User: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4855
+ }, "strip", z.ZodTypeAny, {
4856
+ ID?: string;
4857
+ __mj_CreatedAt?: Date;
4858
+ __mj_UpdatedAt?: Date;
4859
+ Status?: "Pending" | "Approved" | "Rejected" | "Revoked" | "Requested";
4860
+ UserID?: string;
4861
+ User?: string;
4862
+ Type?: "User" | "Role";
4863
+ RoleID?: string;
4864
+ Role?: string;
4865
+ ResourceTypeID?: string;
4866
+ ResourceRecordID?: string;
4867
+ ResourceType?: string;
4868
+ StartSharingAt?: Date;
4869
+ EndSharingAt?: Date;
4870
+ PermissionLevel?: "View" | "Edit" | "Owner";
4871
+ }, {
4872
+ ID?: string;
4873
+ __mj_CreatedAt?: Date;
4874
+ __mj_UpdatedAt?: Date;
4875
+ Status?: "Pending" | "Approved" | "Rejected" | "Revoked" | "Requested";
4876
+ UserID?: string;
4877
+ User?: string;
4878
+ Type?: "User" | "Role";
4879
+ RoleID?: string;
4880
+ Role?: string;
4881
+ ResourceTypeID?: string;
4882
+ ResourceRecordID?: string;
4883
+ ResourceType?: string;
4884
+ StartSharingAt?: Date;
4885
+ EndSharingAt?: Date;
4886
+ PermissionLevel?: "View" | "Edit" | "Owner";
4887
+ }>;
4888
+ export type ResourcePermissionEntityType = z.infer<typeof ResourcePermissionSchema>;
4801
4889
  /**
4802
4890
  * zod schema definition for the entity Resource Types
4803
4891
  */
@@ -4810,7 +4898,9 @@ export declare const ResourceTypeSchema: z.ZodObject<{
4810
4898
  EntityID: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4811
4899
  __mj_CreatedAt: z.ZodDate;
4812
4900
  __mj_UpdatedAt: z.ZodDate;
4901
+ CategoryEntityID: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4813
4902
  Entity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4903
+ CategoryEntity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4814
4904
  }, "strip", z.ZodTypeAny, {
4815
4905
  ID?: string;
4816
4906
  __mj_CreatedAt?: Date;
@@ -4821,6 +4911,8 @@ export declare const ResourceTypeSchema: z.ZodObject<{
4821
4911
  Entity?: string;
4822
4912
  Icon?: string;
4823
4913
  DisplayName?: string;
4914
+ CategoryEntityID?: string;
4915
+ CategoryEntity?: string;
4824
4916
  }, {
4825
4917
  ID?: string;
4826
4918
  __mj_CreatedAt?: Date;
@@ -4831,6 +4923,8 @@ export declare const ResourceTypeSchema: z.ZodObject<{
4831
4923
  Entity?: string;
4832
4924
  Icon?: string;
4833
4925
  DisplayName?: string;
4926
+ CategoryEntityID?: string;
4927
+ CategoryEntity?: string;
4834
4928
  }>;
4835
4929
  export type ResourceTypeEntityType = z.infer<typeof ResourceTypeSchema>;
4836
4930
  /**
@@ -5443,11 +5537,11 @@ export declare const UserNotificationSchema: z.ZodObject<{
5443
5537
  Message?: string;
5444
5538
  Title?: string;
5445
5539
  ResourceTypeID?: string;
5540
+ ResourceRecordID?: string;
5541
+ ResourceType?: string;
5446
5542
  ResourceConfiguration?: string;
5447
5543
  Unread?: boolean;
5448
5544
  ReadAt?: Date;
5449
- ResourceRecordID?: string;
5450
- ResourceType?: string;
5451
5545
  }, {
5452
5546
  ID?: string;
5453
5547
  __mj_CreatedAt?: Date;
@@ -5457,11 +5551,11 @@ export declare const UserNotificationSchema: z.ZodObject<{
5457
5551
  Message?: string;
5458
5552
  Title?: string;
5459
5553
  ResourceTypeID?: string;
5554
+ ResourceRecordID?: string;
5555
+ ResourceType?: string;
5460
5556
  ResourceConfiguration?: string;
5461
5557
  Unread?: boolean;
5462
5558
  ReadAt?: Date;
5463
- ResourceRecordID?: string;
5464
- ResourceType?: string;
5465
5559
  }>;
5466
5560
  export type UserNotificationEntityType = z.infer<typeof UserNotificationSchema>;
5467
5561
  /**
@@ -19122,6 +19216,252 @@ export declare class ReportEntity extends BaseEntity<ReportEntityType> {
19122
19216
  */
19123
19217
  get OutputWorkflow(): string | null;
19124
19218
  }
19219
+ /**
19220
+ * Resource Links - strongly typed entity sub-class
19221
+ * * Schema: __mj
19222
+ * * Base Table: ResourceLink
19223
+ * * Base View: vwResourceLinks
19224
+ * * @description Table to track user links to shared resources such as views, dashboards, etc.
19225
+ * * Primary Key: ID
19226
+ * @extends {BaseEntity}
19227
+ * @class
19228
+ * @public
19229
+ */
19230
+ export declare class ResourceLinkEntity extends BaseEntity<ResourceLinkEntityType> {
19231
+ /**
19232
+ * Loads the Resource Links record from the database
19233
+ * @param ID: string - primary key value to load the Resource Links record.
19234
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
19235
+ * @returns {Promise<boolean>} - true if successful, false otherwise
19236
+ * @public
19237
+ * @async
19238
+ * @memberof ResourceLinkEntity
19239
+ * @method
19240
+ * @override
19241
+ */
19242
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
19243
+ /**
19244
+ * * Field Name: ID
19245
+ * * Display Name: ID
19246
+ * * SQL Data Type: uniqueidentifier
19247
+ * * Default Value: newsequentialid()
19248
+ * * Description: Unique identifier for each resource link
19249
+ */
19250
+ get ID(): string;
19251
+ /**
19252
+ * * Field Name: UserID
19253
+ * * Display Name: User ID
19254
+ * * SQL Data Type: uniqueidentifier
19255
+ * * Related Entity/Foreign Key: Users (vwUsers.ID)
19256
+ * * Description: Foreign key to the user linking the resource
19257
+ */
19258
+ get UserID(): string;
19259
+ set UserID(value: string);
19260
+ /**
19261
+ * * Field Name: ResourceTypeID
19262
+ * * Display Name: Resource Type ID
19263
+ * * SQL Data Type: uniqueidentifier
19264
+ * * Related Entity/Foreign Key: Resource Types (vwResourceTypes.ID)
19265
+ * * Description: Foreign key to the resource type (view, dashboard, etc.)
19266
+ */
19267
+ get ResourceTypeID(): string;
19268
+ set ResourceTypeID(value: string);
19269
+ /**
19270
+ * * Field Name: ResourceRecordID
19271
+ * * Display Name: Resource Record ID
19272
+ * * SQL Data Type: nvarchar(255)
19273
+ * * Description: ID of the specific resource being linked
19274
+ */
19275
+ get ResourceRecordID(): string;
19276
+ set ResourceRecordID(value: string);
19277
+ /**
19278
+ * * Field Name: FolderID
19279
+ * * Display Name: Folder ID
19280
+ * * SQL Data Type: nvarchar(255)
19281
+ * * Description: Optional folder where the user organizes the linked resource
19282
+ */
19283
+ get FolderID(): string | null;
19284
+ set FolderID(value: string | null);
19285
+ /**
19286
+ * * Field Name: __mj_CreatedAt
19287
+ * * Display Name: Created At
19288
+ * * SQL Data Type: datetimeoffset
19289
+ * * Default Value: getutcdate()
19290
+ */
19291
+ get __mj_CreatedAt(): Date;
19292
+ /**
19293
+ * * Field Name: __mj_UpdatedAt
19294
+ * * Display Name: Updated At
19295
+ * * SQL Data Type: datetimeoffset
19296
+ * * Default Value: getutcdate()
19297
+ */
19298
+ get __mj_UpdatedAt(): Date;
19299
+ /**
19300
+ * * Field Name: User
19301
+ * * Display Name: User
19302
+ * * SQL Data Type: nvarchar(100)
19303
+ */
19304
+ get User(): string;
19305
+ /**
19306
+ * * Field Name: ResourceType
19307
+ * * Display Name: Resource Type
19308
+ * * SQL Data Type: nvarchar(255)
19309
+ */
19310
+ get ResourceType(): string;
19311
+ }
19312
+ /**
19313
+ * Resource Permissions - strongly typed entity sub-class
19314
+ * * Schema: __mj
19315
+ * * Base Table: ResourcePermission
19316
+ * * Base View: vwResourcePermissions
19317
+ * * @description Table for managing sharing of resources to users or roles with time constraints and permission levels
19318
+ * * Primary Key: ID
19319
+ * @extends {BaseEntity}
19320
+ * @class
19321
+ * @public
19322
+ */
19323
+ export declare class ResourcePermissionEntity extends BaseEntity<ResourcePermissionEntityType> {
19324
+ /**
19325
+ * Loads the Resource Permissions record from the database
19326
+ * @param ID: string - primary key value to load the Resource Permissions record.
19327
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
19328
+ * @returns {Promise<boolean>} - true if successful, false otherwise
19329
+ * @public
19330
+ * @async
19331
+ * @memberof ResourcePermissionEntity
19332
+ * @method
19333
+ * @override
19334
+ */
19335
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
19336
+ /**
19337
+ * * Field Name: ID
19338
+ * * Display Name: ID
19339
+ * * SQL Data Type: uniqueidentifier
19340
+ * * Default Value: newsequentialid()
19341
+ */
19342
+ get ID(): string;
19343
+ /**
19344
+ * * Field Name: ResourceTypeID
19345
+ * * Display Name: Resource Type ID
19346
+ * * SQL Data Type: uniqueidentifier
19347
+ * * Related Entity/Foreign Key: Resource Types (vwResourceTypes.ID)
19348
+ * * Description: Reference to the type of resource being shared (View, Dashboard, Report, etc.)
19349
+ */
19350
+ get ResourceTypeID(): string;
19351
+ set ResourceTypeID(value: string);
19352
+ /**
19353
+ * * Field Name: ResourceRecordID
19354
+ * * Display Name: Resource Record ID
19355
+ * * SQL Data Type: nvarchar(255)
19356
+ * * Description: ID of the specific resource being shared
19357
+ */
19358
+ get ResourceRecordID(): string;
19359
+ set ResourceRecordID(value: string);
19360
+ /**
19361
+ * * Field Name: Type
19362
+ * * Display Name: Type
19363
+ * * SQL Data Type: nvarchar(10)
19364
+ * * Value List Type: List
19365
+ * * Possible Values
19366
+ * * Role
19367
+ * * User
19368
+ * * Description: The level of sharing either Role or User
19369
+ */
19370
+ get Type(): 'Role' | 'User';
19371
+ set Type(value: 'Role' | 'User');
19372
+ /**
19373
+ * * Field Name: StartSharingAt
19374
+ * * Display Name: Start Sharing At
19375
+ * * SQL Data Type: datetimeoffset
19376
+ * * Description: Optional: Date when sharing starts
19377
+ */
19378
+ get StartSharingAt(): Date | null;
19379
+ set StartSharingAt(value: Date | null);
19380
+ /**
19381
+ * * Field Name: EndSharingAt
19382
+ * * Display Name: End Sharing At
19383
+ * * SQL Data Type: datetimeoffset
19384
+ * * Description: Optional: Date when sharing ends
19385
+ */
19386
+ get EndSharingAt(): Date | null;
19387
+ set EndSharingAt(value: Date | null);
19388
+ /**
19389
+ * * Field Name: RoleID
19390
+ * * Display Name: Role ID
19391
+ * * SQL Data Type: uniqueidentifier
19392
+ * * Related Entity/Foreign Key: Roles (vwRoles.ID)
19393
+ */
19394
+ get RoleID(): string | null;
19395
+ set RoleID(value: string | null);
19396
+ /**
19397
+ * * Field Name: UserID
19398
+ * * Display Name: User ID
19399
+ * * SQL Data Type: uniqueidentifier
19400
+ * * Related Entity/Foreign Key: Users (vwUsers.ID)
19401
+ */
19402
+ get UserID(): string | null;
19403
+ set UserID(value: string | null);
19404
+ /**
19405
+ * * Field Name: PermissionLevel
19406
+ * * Display Name: Permission Level
19407
+ * * SQL Data Type: nvarchar(20)
19408
+ * * Value List Type: List
19409
+ * * Possible Values
19410
+ * * View
19411
+ * * Edit
19412
+ * * Owner
19413
+ * * Description: Permission level defining the type of access (View, Edit, Owner)
19414
+ */
19415
+ get PermissionLevel(): 'View' | 'Edit' | 'Owner' | null;
19416
+ set PermissionLevel(value: 'View' | 'Edit' | 'Owner' | null);
19417
+ /**
19418
+ * * Field Name: __mj_CreatedAt
19419
+ * * Display Name: Created At
19420
+ * * SQL Data Type: datetimeoffset
19421
+ * * Default Value: getutcdate()
19422
+ */
19423
+ get __mj_CreatedAt(): Date;
19424
+ /**
19425
+ * * Field Name: __mj_UpdatedAt
19426
+ * * Display Name: Updated At
19427
+ * * SQL Data Type: datetimeoffset
19428
+ * * Default Value: getutcdate()
19429
+ */
19430
+ get __mj_UpdatedAt(): Date;
19431
+ /**
19432
+ * * Field Name: Status
19433
+ * * Display Name: Status
19434
+ * * SQL Data Type: nvarchar(20)
19435
+ * * Default Value: Requested
19436
+ * * Value List Type: List
19437
+ * * Possible Values
19438
+ * * Requested
19439
+ * * Approved
19440
+ * * Rejected
19441
+ * * Revoked
19442
+ * * Description: Status of the resource permission request. Possible values are Requested, Approved, Rejected, or Revoked.
19443
+ */
19444
+ get Status(): 'Requested' | 'Approved' | 'Rejected' | 'Revoked';
19445
+ set Status(value: 'Requested' | 'Approved' | 'Rejected' | 'Revoked');
19446
+ /**
19447
+ * * Field Name: ResourceType
19448
+ * * Display Name: Resource Type
19449
+ * * SQL Data Type: nvarchar(255)
19450
+ */
19451
+ get ResourceType(): string;
19452
+ /**
19453
+ * * Field Name: Role
19454
+ * * Display Name: Role
19455
+ * * SQL Data Type: nvarchar(50)
19456
+ */
19457
+ get Role(): string | null;
19458
+ /**
19459
+ * * Field Name: User
19460
+ * * Display Name: User
19461
+ * * SQL Data Type: nvarchar(100)
19462
+ */
19463
+ get User(): string | null;
19464
+ }
19125
19465
  /**
19126
19466
  * Resource Types - strongly typed entity sub-class
19127
19467
  * * Schema: __mj
@@ -19221,11 +19561,26 @@ export declare class ResourceTypeEntity extends BaseEntity<ResourceTypeEntityTyp
19221
19561
  */
19222
19562
  get __mj_UpdatedAt(): Date;
19223
19563
  /**
19564
+ * * Field Name: CategoryEntityID
19565
+ * * Display Name: Category Entity ID
19566
+ * * SQL Data Type: uniqueidentifier
19567
+ * * Related Entity/Foreign Key: Entities (vwEntities.ID)
19568
+ * * Description: Nullable foreign key to the ID column in Entities entity, representing the category entity. ASSUMPTION: If provided, the assumption is there is a self-referencing/recursive foreign key establishing a hierarchy within the Category Entity, commonly called ParentID, but it can be named anything.
19569
+ */
19570
+ get CategoryEntityID(): string | null;
19571
+ set CategoryEntityID(value: string | null);
19572
+ /**
19224
19573
  * * Field Name: Entity
19225
19574
  * * Display Name: Entity
19226
19575
  * * SQL Data Type: nvarchar(255)
19227
19576
  */
19228
19577
  get Entity(): string | null;
19578
+ /**
19579
+ * * Field Name: CategoryEntity
19580
+ * * Display Name: Category Entity
19581
+ * * SQL Data Type: nvarchar(255)
19582
+ */
19583
+ get CategoryEntity(): string | null;
19229
19584
  }
19230
19585
  /**
19231
19586
  * Roles - strongly typed entity sub-class