@mj-biz-apps/issues-entities 0.0.1 → 1.0.1

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.
@@ -0,0 +1,922 @@
1
+ import { BaseEntity } from "@memberjunction/core";
2
+ import { z } from "zod";
3
+ export declare const loadModule: () => void;
4
+ /**
5
+ * zod schema definition for the entity MJ_BizApps_Issues: Issue Comments
6
+ */
7
+ export declare const mjBizAppsIssuesIssueCommentSchema: z.ZodObject<{
8
+ ID: z.ZodString;
9
+ IssueID: z.ZodString;
10
+ Body: z.ZodString;
11
+ AuthorPersonID: z.ZodNullable<z.ZodString>;
12
+ AuthorEmail: z.ZodNullable<z.ZodString>;
13
+ Source: z.ZodUnion<[z.ZodLiteral<"inbound">, z.ZodLiteral<"internal">, z.ZodLiteral<"outbound">]>;
14
+ __mj_CreatedAt: z.ZodDate;
15
+ __mj_UpdatedAt: z.ZodDate;
16
+ AuthorPerson: z.ZodNullable<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ ID?: string;
19
+ IssueID?: string;
20
+ Body?: string;
21
+ AuthorPersonID?: string;
22
+ AuthorEmail?: string;
23
+ Source?: "inbound" | "internal" | "outbound";
24
+ __mj_CreatedAt?: Date;
25
+ __mj_UpdatedAt?: Date;
26
+ AuthorPerson?: string;
27
+ }, {
28
+ ID?: string;
29
+ IssueID?: string;
30
+ Body?: string;
31
+ AuthorPersonID?: string;
32
+ AuthorEmail?: string;
33
+ Source?: "inbound" | "internal" | "outbound";
34
+ __mj_CreatedAt?: Date;
35
+ __mj_UpdatedAt?: Date;
36
+ AuthorPerson?: string;
37
+ }>;
38
+ export type mjBizAppsIssuesIssueCommentEntityType = z.infer<typeof mjBizAppsIssuesIssueCommentSchema>;
39
+ /**
40
+ * zod schema definition for the entity MJ_BizApps_Issues: Issue Number Sequences
41
+ */
42
+ export declare const mjBizAppsIssuesIssueNumberSequenceSchema: z.ZodObject<{
43
+ ScopeCode: z.ZodString;
44
+ NextSequenceNumber: z.ZodNumber;
45
+ __mj_CreatedAt: z.ZodDate;
46
+ __mj_UpdatedAt: z.ZodDate;
47
+ }, "strip", z.ZodTypeAny, {
48
+ __mj_CreatedAt?: Date;
49
+ __mj_UpdatedAt?: Date;
50
+ ScopeCode?: string;
51
+ NextSequenceNumber?: number;
52
+ }, {
53
+ __mj_CreatedAt?: Date;
54
+ __mj_UpdatedAt?: Date;
55
+ ScopeCode?: string;
56
+ NextSequenceNumber?: number;
57
+ }>;
58
+ export type mjBizAppsIssuesIssueNumberSequenceEntityType = z.infer<typeof mjBizAppsIssuesIssueNumberSequenceSchema>;
59
+ /**
60
+ * zod schema definition for the entity MJ_BizApps_Issues: Issue Status
61
+ */
62
+ export declare const mjBizAppsIssuesIssueStatusSchema: z.ZodObject<{
63
+ ID: z.ZodString;
64
+ Name: z.ZodString;
65
+ Description: z.ZodNullable<z.ZodString>;
66
+ Sequence: z.ZodNumber;
67
+ IsDefault: z.ZodBoolean;
68
+ IsTerminal: z.ZodBoolean;
69
+ ColorCode: z.ZodNullable<z.ZodString>;
70
+ __mj_CreatedAt: z.ZodDate;
71
+ __mj_UpdatedAt: z.ZodDate;
72
+ IsResolved: z.ZodBoolean;
73
+ }, "strip", z.ZodTypeAny, {
74
+ ID?: string;
75
+ __mj_CreatedAt?: Date;
76
+ __mj_UpdatedAt?: Date;
77
+ Name?: string;
78
+ Description?: string;
79
+ Sequence?: number;
80
+ IsDefault?: boolean;
81
+ IsTerminal?: boolean;
82
+ ColorCode?: string;
83
+ IsResolved?: boolean;
84
+ }, {
85
+ ID?: string;
86
+ __mj_CreatedAt?: Date;
87
+ __mj_UpdatedAt?: Date;
88
+ Name?: string;
89
+ Description?: string;
90
+ Sequence?: number;
91
+ IsDefault?: boolean;
92
+ IsTerminal?: boolean;
93
+ ColorCode?: string;
94
+ IsResolved?: boolean;
95
+ }>;
96
+ export type mjBizAppsIssuesIssueStatusEntityType = z.infer<typeof mjBizAppsIssuesIssueStatusSchema>;
97
+ /**
98
+ * zod schema definition for the entity MJ_BizApps_Issues: Issue Types
99
+ */
100
+ export declare const mjBizAppsIssuesIssueTypeSchema: z.ZodObject<{
101
+ ID: z.ZodString;
102
+ Name: z.ZodString;
103
+ Description: z.ZodNullable<z.ZodString>;
104
+ IconClass: z.ZodNullable<z.ZodString>;
105
+ DefaultPriority: z.ZodUnion<[z.ZodLiteral<"Critical">, z.ZodLiteral<"High">, z.ZodLiteral<"Low">, z.ZodLiteral<"Medium">]>;
106
+ DefaultTaskTypeID: z.ZodNullable<z.ZodString>;
107
+ OnCreateActionID: z.ZodNullable<z.ZodString>;
108
+ OnStatusChangeActionID: z.ZodNullable<z.ZodString>;
109
+ OnAssignActionID: z.ZodNullable<z.ZodString>;
110
+ OnCloseActionID: z.ZodNullable<z.ZodString>;
111
+ IsActive: z.ZodBoolean;
112
+ __mj_CreatedAt: z.ZodDate;
113
+ __mj_UpdatedAt: z.ZodDate;
114
+ DefaultTaskType: z.ZodNullable<z.ZodString>;
115
+ OnCreateAction: z.ZodNullable<z.ZodString>;
116
+ OnStatusChangeAction: z.ZodNullable<z.ZodString>;
117
+ OnAssignAction: z.ZodNullable<z.ZodString>;
118
+ OnCloseAction: z.ZodNullable<z.ZodString>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ ID?: string;
121
+ __mj_CreatedAt?: Date;
122
+ __mj_UpdatedAt?: Date;
123
+ Name?: string;
124
+ Description?: string;
125
+ IconClass?: string;
126
+ DefaultPriority?: "Critical" | "High" | "Low" | "Medium";
127
+ DefaultTaskTypeID?: string;
128
+ OnCreateActionID?: string;
129
+ OnStatusChangeActionID?: string;
130
+ OnAssignActionID?: string;
131
+ OnCloseActionID?: string;
132
+ IsActive?: boolean;
133
+ DefaultTaskType?: string;
134
+ OnCreateAction?: string;
135
+ OnStatusChangeAction?: string;
136
+ OnAssignAction?: string;
137
+ OnCloseAction?: string;
138
+ }, {
139
+ ID?: string;
140
+ __mj_CreatedAt?: Date;
141
+ __mj_UpdatedAt?: Date;
142
+ Name?: string;
143
+ Description?: string;
144
+ IconClass?: string;
145
+ DefaultPriority?: "Critical" | "High" | "Low" | "Medium";
146
+ DefaultTaskTypeID?: string;
147
+ OnCreateActionID?: string;
148
+ OnStatusChangeActionID?: string;
149
+ OnAssignActionID?: string;
150
+ OnCloseActionID?: string;
151
+ IsActive?: boolean;
152
+ DefaultTaskType?: string;
153
+ OnCreateAction?: string;
154
+ OnStatusChangeAction?: string;
155
+ OnAssignAction?: string;
156
+ OnCloseAction?: string;
157
+ }>;
158
+ export type mjBizAppsIssuesIssueTypeEntityType = z.infer<typeof mjBizAppsIssuesIssueTypeSchema>;
159
+ /**
160
+ * zod schema definition for the entity MJ_BizApps_Issues: Issues
161
+ */
162
+ export declare const mjBizAppsIssuesIssueSchema: z.ZodObject<{
163
+ ID: z.ZodString;
164
+ IssueNumber: z.ZodNullable<z.ZodString>;
165
+ Title: z.ZodString;
166
+ Description: z.ZodNullable<z.ZodString>;
167
+ IssueTypeID: z.ZodString;
168
+ StatusID: z.ZodString;
169
+ Severity: z.ZodUnion<[z.ZodLiteral<"Critical">, z.ZodLiteral<"High">, z.ZodLiteral<"Low">, z.ZodLiteral<"Medium">]>;
170
+ Priority: z.ZodUnion<[z.ZodLiteral<"Critical">, z.ZodLiteral<"High">, z.ZodLiteral<"Low">, z.ZodLiteral<"Medium">]>;
171
+ ReporterPersonID: z.ZodNullable<z.ZodString>;
172
+ ReporterEmail: z.ZodNullable<z.ZodString>;
173
+ AssigneeEntityID: z.ZodNullable<z.ZodString>;
174
+ AssigneeRecordID: z.ZodNullable<z.ZodString>;
175
+ SourceEntityID: z.ZodNullable<z.ZodString>;
176
+ SourceRecordID: z.ZodNullable<z.ZodString>;
177
+ AppScope: z.ZodNullable<z.ZodString>;
178
+ ResolvedAt: z.ZodNullable<z.ZodDate>;
179
+ ClosedAt: z.ZodNullable<z.ZodDate>;
180
+ CreatedByPersonID: z.ZodNullable<z.ZodString>;
181
+ __mj_CreatedAt: z.ZodDate;
182
+ __mj_UpdatedAt: z.ZodDate;
183
+ IssueType: z.ZodString;
184
+ Status: z.ZodString;
185
+ ReporterPerson: z.ZodNullable<z.ZodString>;
186
+ AssigneeEntity: z.ZodNullable<z.ZodString>;
187
+ SourceEntity: z.ZodNullable<z.ZodString>;
188
+ CreatedByPerson: z.ZodNullable<z.ZodString>;
189
+ }, "strip", z.ZodTypeAny, {
190
+ ID?: string;
191
+ __mj_CreatedAt?: Date;
192
+ __mj_UpdatedAt?: Date;
193
+ Description?: string;
194
+ IssueNumber?: string;
195
+ Title?: string;
196
+ IssueTypeID?: string;
197
+ StatusID?: string;
198
+ Severity?: "Critical" | "High" | "Low" | "Medium";
199
+ Priority?: "Critical" | "High" | "Low" | "Medium";
200
+ ReporterPersonID?: string;
201
+ ReporterEmail?: string;
202
+ AssigneeEntityID?: string;
203
+ AssigneeRecordID?: string;
204
+ SourceEntityID?: string;
205
+ SourceRecordID?: string;
206
+ AppScope?: string;
207
+ ResolvedAt?: Date;
208
+ ClosedAt?: Date;
209
+ CreatedByPersonID?: string;
210
+ IssueType?: string;
211
+ Status?: string;
212
+ ReporterPerson?: string;
213
+ AssigneeEntity?: string;
214
+ SourceEntity?: string;
215
+ CreatedByPerson?: string;
216
+ }, {
217
+ ID?: string;
218
+ __mj_CreatedAt?: Date;
219
+ __mj_UpdatedAt?: Date;
220
+ Description?: string;
221
+ IssueNumber?: string;
222
+ Title?: string;
223
+ IssueTypeID?: string;
224
+ StatusID?: string;
225
+ Severity?: "Critical" | "High" | "Low" | "Medium";
226
+ Priority?: "Critical" | "High" | "Low" | "Medium";
227
+ ReporterPersonID?: string;
228
+ ReporterEmail?: string;
229
+ AssigneeEntityID?: string;
230
+ AssigneeRecordID?: string;
231
+ SourceEntityID?: string;
232
+ SourceRecordID?: string;
233
+ AppScope?: string;
234
+ ResolvedAt?: Date;
235
+ ClosedAt?: Date;
236
+ CreatedByPersonID?: string;
237
+ IssueType?: string;
238
+ Status?: string;
239
+ ReporterPerson?: string;
240
+ AssigneeEntity?: string;
241
+ SourceEntity?: string;
242
+ CreatedByPerson?: string;
243
+ }>;
244
+ export type mjBizAppsIssuesIssueEntityType = z.infer<typeof mjBizAppsIssuesIssueSchema>;
245
+ /**
246
+ * MJ_BizApps_Issues: Issue Comments - strongly typed entity sub-class
247
+ * * Schema: __mj_BizAppsIssues
248
+ * * Base Table: IssueComment
249
+ * * Base View: vwIssueComments
250
+ * * @description Threaded discussion entry on an Issue. Author is a Person when internal; AuthorEmail carries the address for email / external sources.
251
+ * * Primary Key: ID
252
+ * @extends {BaseEntity}
253
+ * @class
254
+ * @public
255
+ */
256
+ export declare class mjBizAppsIssuesIssueCommentEntity extends BaseEntity<mjBizAppsIssuesIssueCommentEntityType> {
257
+ /**
258
+ * Loads the MJ_BizApps_Issues: Issue Comments record from the database
259
+ * @param ID: string - primary key value to load the MJ_BizApps_Issues: Issue Comments record.
260
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
261
+ * @returns {Promise<boolean>} - true if successful, false otherwise
262
+ * @public
263
+ * @async
264
+ * @memberof mjBizAppsIssuesIssueCommentEntity
265
+ * @method
266
+ * @override
267
+ */
268
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
269
+ /**
270
+ * * Field Name: ID
271
+ * * Display Name: ID
272
+ * * SQL Data Type: uniqueidentifier
273
+ * * Default Value: newsequentialid()
274
+ * * Description: Unique identifier (UUID).
275
+ */
276
+ get ID(): string;
277
+ set ID(value: string);
278
+ /**
279
+ * * Field Name: IssueID
280
+ * * Display Name: Issue ID
281
+ * * SQL Data Type: uniqueidentifier
282
+ * * Related Entity/Foreign Key: MJ_BizApps_Issues: Issues (vwIssues.ID)
283
+ * * Description: The Issue this comment belongs to.
284
+ */
285
+ get IssueID(): string;
286
+ set IssueID(value: string);
287
+ /**
288
+ * * Field Name: Body
289
+ * * Display Name: Body
290
+ * * SQL Data Type: nvarchar(MAX)
291
+ * * Description: Comment body (Markdown or plain text).
292
+ */
293
+ get Body(): string;
294
+ set Body(value: string);
295
+ /**
296
+ * * Field Name: AuthorPersonID
297
+ * * Display Name: Author Person ID
298
+ * * SQL Data Type: uniqueidentifier
299
+ * * Related Entity/Foreign Key: MJ_BizApps_Common: People (vwPeople.ID)
300
+ * * Description: The Person who authored the comment, when internal. NULL for email/external authors (use AuthorEmail).
301
+ */
302
+ get AuthorPersonID(): string | null;
303
+ set AuthorPersonID(value: string | null);
304
+ /**
305
+ * * Field Name: AuthorEmail
306
+ * * Display Name: Author Email
307
+ * * SQL Data Type: nvarchar(320)
308
+ * * Description: Email of the comment author, used when there is no linked Person.
309
+ */
310
+ get AuthorEmail(): string | null;
311
+ set AuthorEmail(value: string | null);
312
+ /**
313
+ * * Field Name: Source
314
+ * * Display Name: Source
315
+ * * SQL Data Type: nvarchar(20)
316
+ * * Default Value: internal
317
+ * * Value List Type: List
318
+ * * Possible Values
319
+ * * inbound
320
+ * * internal
321
+ * * outbound
322
+ * * Description: Direction/visibility of the comment (channel-agnostic): 'internal' (staff-only note, never sent), 'outbound' (customer-facing message we sent, on any channel), or 'inbound' (a message from the customer/external side captured into the thread). The delivery channel is knowable from the ticket's linked message, not here.
323
+ */
324
+ get Source(): 'inbound' | 'internal' | 'outbound';
325
+ set Source(value: 'inbound' | 'internal' | 'outbound');
326
+ /**
327
+ * * Field Name: __mj_CreatedAt
328
+ * * Display Name: Created At
329
+ * * SQL Data Type: datetimeoffset
330
+ * * Default Value: getutcdate()
331
+ */
332
+ get __mj_CreatedAt(): Date;
333
+ /**
334
+ * * Field Name: __mj_UpdatedAt
335
+ * * Display Name: Updated At
336
+ * * SQL Data Type: datetimeoffset
337
+ * * Default Value: getutcdate()
338
+ */
339
+ get __mj_UpdatedAt(): Date;
340
+ /**
341
+ * * Field Name: AuthorPerson
342
+ * * Display Name: Author Person
343
+ * * SQL Data Type: nvarchar(201)
344
+ */
345
+ get AuthorPerson(): string | null;
346
+ }
347
+ /**
348
+ * MJ_BizApps_Issues: Issue Number Sequences - strongly typed entity sub-class
349
+ * * Schema: __mj_BizAppsIssues
350
+ * * Base Table: IssueNumberSequence
351
+ * * Base View: vwIssueNumberSequences
352
+ * * @description Per-scope gap-free counter backing the human-readable Issue.IssueNumber. One row per normalized ScopeCode. Maintained ONLY by spAssignNextIssueNumber — never write directly.
353
+ * * Primary Key: ScopeCode
354
+ * @extends {BaseEntity}
355
+ * @class
356
+ * @public
357
+ */
358
+ export declare class mjBizAppsIssuesIssueNumberSequenceEntity extends BaseEntity<mjBizAppsIssuesIssueNumberSequenceEntityType> {
359
+ /**
360
+ * Loads the MJ_BizApps_Issues: Issue Number Sequences record from the database
361
+ * @param ScopeCode: string - primary key value to load the MJ_BizApps_Issues: Issue Number Sequences record.
362
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
363
+ * @returns {Promise<boolean>} - true if successful, false otherwise
364
+ * @public
365
+ * @async
366
+ * @memberof mjBizAppsIssuesIssueNumberSequenceEntity
367
+ * @method
368
+ * @override
369
+ */
370
+ Load(ScopeCode: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
371
+ /**
372
+ * * Field Name: ScopeCode
373
+ * * Display Name: Scope Code
374
+ * * SQL Data Type: nvarchar(50)
375
+ * * Description: The normalized (trim/UPPER) AppScope this counter is for, or 'ISS' when an issue has no AppScope. Primary key.
376
+ */
377
+ get ScopeCode(): string;
378
+ set ScopeCode(value: string);
379
+ /**
380
+ * * Field Name: NextSequenceNumber
381
+ * * Display Name: Next Sequence Number
382
+ * * SQL Data Type: int
383
+ * * Default Value: 1
384
+ * * Description: The next sequence value to assign for this scope. Incremented atomically (UPDLOCK/HOLDLOCK) by spAssignNextIssueNumber.
385
+ */
386
+ get NextSequenceNumber(): number;
387
+ set NextSequenceNumber(value: number);
388
+ /**
389
+ * * Field Name: __mj_CreatedAt
390
+ * * Display Name: Created At
391
+ * * SQL Data Type: datetimeoffset
392
+ * * Default Value: getutcdate()
393
+ */
394
+ get __mj_CreatedAt(): Date;
395
+ /**
396
+ * * Field Name: __mj_UpdatedAt
397
+ * * Display Name: Updated At
398
+ * * SQL Data Type: datetimeoffset
399
+ * * Default Value: getutcdate()
400
+ */
401
+ get __mj_UpdatedAt(): Date;
402
+ }
403
+ /**
404
+ * MJ_BizApps_Issues: Issue Status - strongly typed entity sub-class
405
+ * * Schema: __mj_BizAppsIssues
406
+ * * Base Table: IssueStatus
407
+ * * Base View: vwIssueStatus
408
+ * * @description Workflow state an Issue can be in (New, Triaged, In Progress, Resolved, Closed, ...). Seeded via metadata sync, not in this migration. Drives board columns.
409
+ * * Primary Key: ID
410
+ * @extends {BaseEntity}
411
+ * @class
412
+ * @public
413
+ */
414
+ export declare class mjBizAppsIssuesIssueStatusEntity extends BaseEntity<mjBizAppsIssuesIssueStatusEntityType> {
415
+ /**
416
+ * Loads the MJ_BizApps_Issues: Issue Status record from the database
417
+ * @param ID: string - primary key value to load the MJ_BizApps_Issues: Issue Status record.
418
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
419
+ * @returns {Promise<boolean>} - true if successful, false otherwise
420
+ * @public
421
+ * @async
422
+ * @memberof mjBizAppsIssuesIssueStatusEntity
423
+ * @method
424
+ * @override
425
+ */
426
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
427
+ /**
428
+ * * Field Name: ID
429
+ * * Display Name: ID
430
+ * * SQL Data Type: uniqueidentifier
431
+ * * Default Value: newsequentialid()
432
+ * * Description: Unique identifier (UUID).
433
+ */
434
+ get ID(): string;
435
+ set ID(value: string);
436
+ /**
437
+ * * Field Name: Name
438
+ * * Display Name: Name
439
+ * * SQL Data Type: nvarchar(100)
440
+ * * Description: Display name of the status (unique). E.g. 'In Progress', 'Resolved'.
441
+ */
442
+ get Name(): string;
443
+ set Name(value: string);
444
+ /**
445
+ * * Field Name: Description
446
+ * * Display Name: Description
447
+ * * SQL Data Type: nvarchar(MAX)
448
+ * * Description: Detailed description of what this status means in the workflow.
449
+ */
450
+ get Description(): string | null;
451
+ set Description(value: string | null);
452
+ /**
453
+ * * Field Name: Sequence
454
+ * * Display Name: Sequence
455
+ * * SQL Data Type: int
456
+ * * Default Value: 100
457
+ * * Description: Sort order of the status on boards and in dropdowns. Lower values appear first.
458
+ */
459
+ get Sequence(): number;
460
+ set Sequence(value: number);
461
+ /**
462
+ * * Field Name: IsDefault
463
+ * * Display Name: Is Default
464
+ * * SQL Data Type: bit
465
+ * * Default Value: 0
466
+ * * Description: Whether new issues default to this status. Exactly one status should have this set.
467
+ */
468
+ get IsDefault(): boolean;
469
+ set IsDefault(value: boolean);
470
+ /**
471
+ * * Field Name: IsTerminal
472
+ * * Display Name: Is Terminal
473
+ * * SQL Data Type: bit
474
+ * * Default Value: 0
475
+ * * Description: Whether this is a terminal (end) state such as Closed or Won't Fix. Terminal statuses stop SLA timers and remove the issue from active queues.
476
+ */
477
+ get IsTerminal(): boolean;
478
+ set IsTerminal(value: boolean);
479
+ /**
480
+ * * Field Name: ColorCode
481
+ * * Display Name: Color Code
482
+ * * SQL Data Type: nvarchar(20)
483
+ * * Description: Hex (or token) color used to render this status as a chip / board column header.
484
+ */
485
+ get ColorCode(): string | null;
486
+ set ColorCode(value: string | null);
487
+ /**
488
+ * * Field Name: __mj_CreatedAt
489
+ * * Display Name: Created At
490
+ * * SQL Data Type: datetimeoffset
491
+ * * Default Value: getutcdate()
492
+ */
493
+ get __mj_CreatedAt(): Date;
494
+ /**
495
+ * * Field Name: __mj_UpdatedAt
496
+ * * Display Name: Updated At
497
+ * * SQL Data Type: datetimeoffset
498
+ * * Default Value: getutcdate()
499
+ */
500
+ get __mj_UpdatedAt(): Date;
501
+ /**
502
+ * * Field Name: IsResolved
503
+ * * Display Name: Is Resolved
504
+ * * SQL Data Type: bit
505
+ * * Default Value: 0
506
+ * * Description: Whether this is the resolved-but-not-closed state (e.g. Resolved). Entering an IsResolved status stamps Issue.ResolvedAt. Distinct from IsTerminal: an issue can be resolved while still open for confirmation before it is closed.
507
+ */
508
+ get IsResolved(): boolean;
509
+ set IsResolved(value: boolean);
510
+ }
511
+ /**
512
+ * MJ_BizApps_Issues: Issue Types - strongly typed entity sub-class
513
+ * * Schema: __mj_BizAppsIssues
514
+ * * Base Table: IssueType
515
+ * * Base View: vwIssueTypes
516
+ * * @description Lifecycle automation for a class of issue (Bug, Feature Request, Question, Feedback). Mirrors the bizapps-tasks TaskType action-hook pattern: On*ActionID columns point at core [Action] records fired at the matching lifecycle event.
517
+ * * Primary Key: ID
518
+ * @extends {BaseEntity}
519
+ * @class
520
+ * @public
521
+ */
522
+ export declare class mjBizAppsIssuesIssueTypeEntity extends BaseEntity<mjBizAppsIssuesIssueTypeEntityType> {
523
+ /**
524
+ * Loads the MJ_BizApps_Issues: Issue Types record from the database
525
+ * @param ID: string - primary key value to load the MJ_BizApps_Issues: Issue Types record.
526
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
527
+ * @returns {Promise<boolean>} - true if successful, false otherwise
528
+ * @public
529
+ * @async
530
+ * @memberof mjBizAppsIssuesIssueTypeEntity
531
+ * @method
532
+ * @override
533
+ */
534
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
535
+ /**
536
+ * * Field Name: ID
537
+ * * Display Name: ID
538
+ * * SQL Data Type: uniqueidentifier
539
+ * * Default Value: newsequentialid()
540
+ * * Description: Unique identifier (UUID).
541
+ */
542
+ get ID(): string;
543
+ set ID(value: string);
544
+ /**
545
+ * * Field Name: Name
546
+ * * Display Name: Name
547
+ * * SQL Data Type: nvarchar(100)
548
+ * * Description: Display name of the issue type (unique). E.g. 'Bug', 'Feature Request'.
549
+ */
550
+ get Name(): string;
551
+ set Name(value: string);
552
+ /**
553
+ * * Field Name: Description
554
+ * * Display Name: Description
555
+ * * SQL Data Type: nvarchar(MAX)
556
+ * * Description: Detailed description of what this issue type represents and when to use it.
557
+ */
558
+ get Description(): string | null;
559
+ set Description(value: string | null);
560
+ /**
561
+ * * Field Name: IconClass
562
+ * * Display Name: Icon Class
563
+ * * SQL Data Type: nvarchar(100)
564
+ * * Description: Font Awesome (or similar) icon class shown next to issues of this type in the UI.
565
+ */
566
+ get IconClass(): string | null;
567
+ set IconClass(value: string | null);
568
+ /**
569
+ * * Field Name: DefaultPriority
570
+ * * Display Name: Default Priority
571
+ * * SQL Data Type: nvarchar(20)
572
+ * * Default Value: Medium
573
+ * * Value List Type: List
574
+ * * Possible Values
575
+ * * Critical
576
+ * * High
577
+ * * Low
578
+ * * Medium
579
+ * * Description: Priority assigned to new issues of this type when none is specified. One of Low, Medium, High, Critical.
580
+ */
581
+ get DefaultPriority(): 'Critical' | 'High' | 'Low' | 'Medium';
582
+ set DefaultPriority(value: 'Critical' | 'High' | 'Low' | 'Medium');
583
+ /**
584
+ * * Field Name: DefaultTaskTypeID
585
+ * * Display Name: Default Task Type ID
586
+ * * SQL Data Type: uniqueidentifier
587
+ * * Related Entity/Foreign Key: MJ_BizApps_Tasks: Task Types (vwTaskTypes.ID)
588
+ * * Description: bizapps-tasks TaskType used when an Issue of this type spawns work via IssueWorkService. NULL = let the caller choose.
589
+ */
590
+ get DefaultTaskTypeID(): string | null;
591
+ set DefaultTaskTypeID(value: string | null);
592
+ /**
593
+ * * Field Name: OnCreateActionID
594
+ * * Display Name: On Create Action ID
595
+ * * SQL Data Type: uniqueidentifier
596
+ * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
597
+ * * Description: Action fired by IssueService when an Issue of this type is created.
598
+ */
599
+ get OnCreateActionID(): string | null;
600
+ set OnCreateActionID(value: string | null);
601
+ /**
602
+ * * Field Name: OnStatusChangeActionID
603
+ * * Display Name: On Status Change Action ID
604
+ * * SQL Data Type: uniqueidentifier
605
+ * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
606
+ * * Description: Action fired by IssueService when an Issue of this type changes status.
607
+ */
608
+ get OnStatusChangeActionID(): string | null;
609
+ set OnStatusChangeActionID(value: string | null);
610
+ /**
611
+ * * Field Name: OnAssignActionID
612
+ * * Display Name: On Assign Action ID
613
+ * * SQL Data Type: uniqueidentifier
614
+ * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
615
+ * * Description: Action fired by IssueService when an Issue of this type is assigned.
616
+ */
617
+ get OnAssignActionID(): string | null;
618
+ set OnAssignActionID(value: string | null);
619
+ /**
620
+ * * Field Name: OnCloseActionID
621
+ * * Display Name: On Close Action ID
622
+ * * SQL Data Type: uniqueidentifier
623
+ * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
624
+ * * Description: Action fired by IssueService when an Issue of this type is closed.
625
+ */
626
+ get OnCloseActionID(): string | null;
627
+ set OnCloseActionID(value: string | null);
628
+ /**
629
+ * * Field Name: IsActive
630
+ * * Display Name: Is Active
631
+ * * SQL Data Type: bit
632
+ * * Default Value: 1
633
+ * * Description: Whether this issue type is available for new issues. Inactive types stay on historical issues but are hidden from selection.
634
+ */
635
+ get IsActive(): boolean;
636
+ set IsActive(value: boolean);
637
+ /**
638
+ * * Field Name: __mj_CreatedAt
639
+ * * Display Name: Created At
640
+ * * SQL Data Type: datetimeoffset
641
+ * * Default Value: getutcdate()
642
+ */
643
+ get __mj_CreatedAt(): Date;
644
+ /**
645
+ * * Field Name: __mj_UpdatedAt
646
+ * * Display Name: Updated At
647
+ * * SQL Data Type: datetimeoffset
648
+ * * Default Value: getutcdate()
649
+ */
650
+ get __mj_UpdatedAt(): Date;
651
+ /**
652
+ * * Field Name: DefaultTaskType
653
+ * * Display Name: Default Task Type
654
+ * * SQL Data Type: nvarchar(100)
655
+ */
656
+ get DefaultTaskType(): string | null;
657
+ /**
658
+ * * Field Name: OnCreateAction
659
+ * * Display Name: On Create Action
660
+ * * SQL Data Type: nvarchar(425)
661
+ */
662
+ get OnCreateAction(): string | null;
663
+ /**
664
+ * * Field Name: OnStatusChangeAction
665
+ * * Display Name: On Status Change Action
666
+ * * SQL Data Type: nvarchar(425)
667
+ */
668
+ get OnStatusChangeAction(): string | null;
669
+ /**
670
+ * * Field Name: OnAssignAction
671
+ * * Display Name: On Assign Action
672
+ * * SQL Data Type: nvarchar(425)
673
+ */
674
+ get OnAssignAction(): string | null;
675
+ /**
676
+ * * Field Name: OnCloseAction
677
+ * * Display Name: On Close Action
678
+ * * SQL Data Type: nvarchar(425)
679
+ */
680
+ get OnCloseAction(): string | null;
681
+ }
682
+ /**
683
+ * MJ_BizApps_Issues: Issues - strongly typed entity sub-class
684
+ * * Schema: __mj_BizAppsIssues
685
+ * * Base Table: Issue
686
+ * * Base View: vwIssues
687
+ * * @description The core case / ticket / feedback record. Carries reporter, polymorphic assignee (Person or AI Agent), and a polymorphic source (any record the issue is about). Spawns bizapps-tasks Tasks for the actual work via TaskLink.
688
+ * * Primary Key: ID
689
+ * @extends {BaseEntity}
690
+ * @class
691
+ * @public
692
+ */
693
+ export declare class mjBizAppsIssuesIssueEntity extends BaseEntity<mjBizAppsIssuesIssueEntityType> {
694
+ /**
695
+ * Loads the MJ_BizApps_Issues: Issues record from the database
696
+ * @param ID: string - primary key value to load the MJ_BizApps_Issues: Issues record.
697
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
698
+ * @returns {Promise<boolean>} - true if successful, false otherwise
699
+ * @public
700
+ * @async
701
+ * @memberof mjBizAppsIssuesIssueEntity
702
+ * @method
703
+ * @override
704
+ */
705
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
706
+ /**
707
+ * * Field Name: ID
708
+ * * Display Name: ID
709
+ * * SQL Data Type: uniqueidentifier
710
+ * * Default Value: newsequentialid()
711
+ * * Description: Unique identifier (UUID).
712
+ */
713
+ get ID(): string;
714
+ set ID(value: string);
715
+ /**
716
+ * * Field Name: IssueNumber
717
+ * * Display Name: Issue Number
718
+ * * SQL Data Type: nvarchar(50)
719
+ * * Description: Human-readable case identifier, format {SCOPE}-{seq} (e.g. 'MJC-42'), where SCOPE is the normalized (trim/UPPER) AppScope or 'ISS' when none. Assigned once on insert by spAssignNextIssueNumber via IssueEntityServer; immutable thereafter. UNIQUE. Per-AppScope (globally sequential across orgs sharing a scope) — Izzy layers a separate per-org TKT-#### on top.
720
+ */
721
+ get IssueNumber(): string | null;
722
+ set IssueNumber(value: string | null);
723
+ /**
724
+ * * Field Name: Title
725
+ * * Display Name: Title
726
+ * * SQL Data Type: nvarchar(500)
727
+ * * Description: Short, one-line summary of the issue.
728
+ */
729
+ get Title(): string;
730
+ set Title(value: string);
731
+ /**
732
+ * * Field Name: Description
733
+ * * Display Name: Description
734
+ * * SQL Data Type: nvarchar(MAX)
735
+ * * Description: Full description / body of the issue (Markdown or plain text).
736
+ */
737
+ get Description(): string | null;
738
+ set Description(value: string | null);
739
+ /**
740
+ * * Field Name: IssueTypeID
741
+ * * Display Name: Issue Type ID
742
+ * * SQL Data Type: uniqueidentifier
743
+ * * Related Entity/Foreign Key: MJ_BizApps_Issues: Issue Types (vwIssueTypes.ID)
744
+ * * Description: The IssueType classifying this issue. Drives lifecycle action hooks and the default spawned task type.
745
+ */
746
+ get IssueTypeID(): string;
747
+ set IssueTypeID(value: string);
748
+ /**
749
+ * * Field Name: StatusID
750
+ * * Display Name: Status ID
751
+ * * SQL Data Type: uniqueidentifier
752
+ * * Related Entity/Foreign Key: MJ_BizApps_Issues: Issue Status (vwIssueStatus.ID)
753
+ * * Description: Current workflow status of the issue.
754
+ */
755
+ get StatusID(): string;
756
+ set StatusID(value: string);
757
+ /**
758
+ * * Field Name: Severity
759
+ * * Display Name: Severity
760
+ * * SQL Data Type: nvarchar(20)
761
+ * * Default Value: Medium
762
+ * * Value List Type: List
763
+ * * Possible Values
764
+ * * Critical
765
+ * * High
766
+ * * Low
767
+ * * Medium
768
+ * * Description: Impact of the issue (how bad it is): Low, Medium, High, Critical. Distinct from Priority.
769
+ */
770
+ get Severity(): 'Critical' | 'High' | 'Low' | 'Medium';
771
+ set Severity(value: 'Critical' | 'High' | 'Low' | 'Medium');
772
+ /**
773
+ * * Field Name: Priority
774
+ * * Display Name: Priority
775
+ * * SQL Data Type: nvarchar(20)
776
+ * * Default Value: Medium
777
+ * * Value List Type: List
778
+ * * Possible Values
779
+ * * Critical
780
+ * * High
781
+ * * Low
782
+ * * Medium
783
+ * * Description: Scheduling priority (how soon to address it): Low, Medium, High, Critical. Distinct from Severity.
784
+ */
785
+ get Priority(): 'Critical' | 'High' | 'Low' | 'Medium';
786
+ set Priority(value: 'Critical' | 'High' | 'Low' | 'Medium');
787
+ /**
788
+ * * Field Name: ReporterPersonID
789
+ * * Display Name: Reporter Person ID
790
+ * * SQL Data Type: uniqueidentifier
791
+ * * Related Entity/Foreign Key: MJ_BizApps_Common: People (vwPeople.ID)
792
+ * * Description: The Person who raised the issue, when known internally. NULL for external/anonymous reporters (use ReporterEmail).
793
+ */
794
+ get ReporterPersonID(): string | null;
795
+ set ReporterPersonID(value: string | null);
796
+ /**
797
+ * * Field Name: ReporterEmail
798
+ * * Display Name: Reporter Email
799
+ * * SQL Data Type: nvarchar(320)
800
+ * * Description: Email of the reporter, used when there is no linked Person (external feedback, email-in).
801
+ */
802
+ get ReporterEmail(): string | null;
803
+ set ReporterEmail(value: string | null);
804
+ /**
805
+ * * Field Name: AssigneeEntityID
806
+ * * Display Name: Assignee Entity ID
807
+ * * SQL Data Type: uniqueidentifier
808
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
809
+ * * Description: Polymorphic assignee: the core Entity of the assignee (e.g. a Person entity or an AI Agent entity). Paired with AssigneeRecordID.
810
+ */
811
+ get AssigneeEntityID(): string | null;
812
+ set AssigneeEntityID(value: string | null);
813
+ /**
814
+ * * Field Name: AssigneeRecordID
815
+ * * Display Name: Assignee Record ID
816
+ * * SQL Data Type: nvarchar(450)
817
+ * * Description: Polymorphic assignee: the primary key (as string) of the assignee record within AssigneeEntityID.
818
+ */
819
+ get AssigneeRecordID(): string | null;
820
+ set AssigneeRecordID(value: string | null);
821
+ /**
822
+ * * Field Name: SourceEntityID
823
+ * * Display Name: Source Entity ID
824
+ * * SQL Data Type: uniqueidentifier
825
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
826
+ * * Description: Polymorphic source: the core Entity of the record this issue is about (what the feedback concerns). Paired with SourceRecordID.
827
+ */
828
+ get SourceEntityID(): string | null;
829
+ set SourceEntityID(value: string | null);
830
+ /**
831
+ * * Field Name: SourceRecordID
832
+ * * Display Name: Source Record ID
833
+ * * SQL Data Type: nvarchar(450)
834
+ * * Description: Polymorphic source: the primary key (as string) of the source record within SourceEntityID.
835
+ */
836
+ get SourceRecordID(): string | null;
837
+ set SourceRecordID(value: string | null);
838
+ /**
839
+ * * Field Name: AppScope
840
+ * * Display Name: App Scope
841
+ * * SQL Data Type: nvarchar(255)
842
+ * * Description: Which app / product this issue belongs to (free-text scope tag, e.g. 'MJC', 'Explorer').
843
+ */
844
+ get AppScope(): string | null;
845
+ set AppScope(value: string | null);
846
+ /**
847
+ * * Field Name: ResolvedAt
848
+ * * Display Name: Resolved At
849
+ * * SQL Data Type: datetimeoffset
850
+ * * Description: Timestamp the issue was resolved (entered a resolved state). NULL while unresolved.
851
+ */
852
+ get ResolvedAt(): Date | null;
853
+ set ResolvedAt(value: Date | null);
854
+ /**
855
+ * * Field Name: ClosedAt
856
+ * * Display Name: Closed At
857
+ * * SQL Data Type: datetimeoffset
858
+ * * Description: Timestamp the issue was closed (entered a terminal state). NULL while open.
859
+ */
860
+ get ClosedAt(): Date | null;
861
+ set ClosedAt(value: Date | null);
862
+ /**
863
+ * * Field Name: CreatedByPersonID
864
+ * * Display Name: Created By Person ID
865
+ * * SQL Data Type: uniqueidentifier
866
+ * * Related Entity/Foreign Key: MJ_BizApps_Common: People (vwPeople.ID)
867
+ * * Description: The Person who created the issue record in the system (may differ from the reporter).
868
+ */
869
+ get CreatedByPersonID(): string | null;
870
+ set CreatedByPersonID(value: string | null);
871
+ /**
872
+ * * Field Name: __mj_CreatedAt
873
+ * * Display Name: Created At
874
+ * * SQL Data Type: datetimeoffset
875
+ * * Default Value: getutcdate()
876
+ */
877
+ get __mj_CreatedAt(): Date;
878
+ /**
879
+ * * Field Name: __mj_UpdatedAt
880
+ * * Display Name: Updated At
881
+ * * SQL Data Type: datetimeoffset
882
+ * * Default Value: getutcdate()
883
+ */
884
+ get __mj_UpdatedAt(): Date;
885
+ /**
886
+ * * Field Name: IssueType
887
+ * * Display Name: Issue Type
888
+ * * SQL Data Type: nvarchar(100)
889
+ */
890
+ get IssueType(): string;
891
+ /**
892
+ * * Field Name: Status
893
+ * * Display Name: Status
894
+ * * SQL Data Type: nvarchar(100)
895
+ */
896
+ get Status(): string;
897
+ /**
898
+ * * Field Name: ReporterPerson
899
+ * * Display Name: Reporter Person
900
+ * * SQL Data Type: nvarchar(201)
901
+ */
902
+ get ReporterPerson(): string | null;
903
+ /**
904
+ * * Field Name: AssigneeEntity
905
+ * * Display Name: Assignee Entity
906
+ * * SQL Data Type: nvarchar(255)
907
+ */
908
+ get AssigneeEntity(): string | null;
909
+ /**
910
+ * * Field Name: SourceEntity
911
+ * * Display Name: Source Entity
912
+ * * SQL Data Type: nvarchar(255)
913
+ */
914
+ get SourceEntity(): string | null;
915
+ /**
916
+ * * Field Name: CreatedByPerson
917
+ * * Display Name: Created By Person
918
+ * * SQL Data Type: nvarchar(201)
919
+ */
920
+ get CreatedByPerson(): string | null;
921
+ }
922
+ //# sourceMappingURL=entity_subclasses.d.ts.map