@mj-biz-apps/orders-core-entities-server 5.36.1 → 5.37.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.
Files changed (62) hide show
  1. package/dist/CheckoutSessionService.d.ts.map +1 -1
  2. package/dist/CheckoutSessionService.js +7 -3
  3. package/dist/CheckoutSessionService.js.map +1 -1
  4. package/dist/ConcessionApprovalListener.js +6 -1
  5. package/dist/ConcessionApprovalListener.js.map +1 -1
  6. package/dist/ConcessionApprovalTask.d.ts +40 -1
  7. package/dist/ConcessionApprovalTask.d.ts.map +1 -1
  8. package/dist/ConcessionApprovalTask.js +139 -15
  9. package/dist/ConcessionApprovalTask.js.map +1 -1
  10. package/dist/EntitlementEngine.d.ts +7 -1
  11. package/dist/EntitlementEngine.d.ts.map +1 -1
  12. package/dist/EntitlementEngine.js +70 -60
  13. package/dist/EntitlementEngine.js.map +1 -1
  14. package/dist/ExternalInvoiceBehavior.d.ts +4 -0
  15. package/dist/ExternalInvoiceBehavior.d.ts.map +1 -1
  16. package/dist/ExternalInvoiceBehavior.js +34 -3
  17. package/dist/ExternalInvoiceBehavior.js.map +1 -1
  18. package/dist/InvoiceDisplay.d.ts +2 -0
  19. package/dist/InvoiceDisplay.d.ts.map +1 -1
  20. package/dist/InvoiceDisplay.js +7 -3
  21. package/dist/InvoiceDisplay.js.map +1 -1
  22. package/dist/OrderConcessionEntityServer.d.ts +13 -3
  23. package/dist/OrderConcessionEntityServer.d.ts.map +1 -1
  24. package/dist/OrderConcessionEntityServer.js +64 -11
  25. package/dist/OrderConcessionEntityServer.js.map +1 -1
  26. package/dist/OrderEntityServer.d.ts +5 -0
  27. package/dist/OrderEntityServer.d.ts.map +1 -1
  28. package/dist/OrderEntityServer.js +120 -45
  29. package/dist/OrderEntityServer.js.map +1 -1
  30. package/dist/OrderJournalEntryFactory.d.ts +5 -3
  31. package/dist/OrderJournalEntryFactory.d.ts.map +1 -1
  32. package/dist/OrderJournalEntryFactory.js +56 -49
  33. package/dist/OrderJournalEntryFactory.js.map +1 -1
  34. package/dist/OrdersSettings.d.ts +9 -0
  35. package/dist/OrdersSettings.d.ts.map +1 -1
  36. package/dist/OrdersSettings.js +11 -0
  37. package/dist/OrdersSettings.js.map +1 -1
  38. package/dist/RevenueRecognition.d.ts +1 -1
  39. package/dist/RevenueRecognition.d.ts.map +1 -1
  40. package/dist/RevenueRecognition.js +12 -7
  41. package/dist/RevenueRecognition.js.map +1 -1
  42. package/dist/SubscriptionBehavior.d.ts +91 -9
  43. package/dist/SubscriptionBehavior.d.ts.map +1 -1
  44. package/dist/SubscriptionBehavior.js +134 -11
  45. package/dist/SubscriptionBehavior.js.map +1 -1
  46. package/dist/TermLengthExceptions.d.ts +84 -0
  47. package/dist/TermLengthExceptions.d.ts.map +1 -0
  48. package/dist/TermLengthExceptions.js +119 -0
  49. package/dist/TermLengthExceptions.js.map +1 -0
  50. package/dist/displaced-start-event.d.ts +1 -1
  51. package/dist/displaced-start-event.d.ts.map +1 -1
  52. package/dist/displaced-start-event.js +3 -1
  53. package/dist/displaced-start-event.js.map +1 -1
  54. package/dist/index.d.ts +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/isolatedProvider.d.ts +22 -0
  59. package/dist/isolatedProvider.d.ts.map +1 -0
  60. package/dist/isolatedProvider.js +39 -0
  61. package/dist/isolatedProvider.js.map +1 -0
  62. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ConcessionApprovalListener.js","sourceRoot":"","sources":["../src/ConcessionApprovalListener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConcessionApprovalListener.js","sourceRoot":"","sources":["../src/ConcessionApprovalListener.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@
17
17
  * logged; when no holder is left, recording is refused, for the reason a missing rule is — nobody would be
18
18
  * told the concession is waiting.
19
19
  *
20
+ * A HOLDER'S OWN CONCESSION GOES UP (bc-aidp-next-golive#320). When the Orders setting
21
+ * `ConcessionSelfApprovalEscalation` is set and the requester holds the rule's role, the task is assigned to
22
+ * the escalation instead (`SelfApprovalEscalation`): the order company's `ApprovalCFOUserID` for `CompanyCFO`,
23
+ * or a named role's active holders, the first target in the list that names someone other than the requester.
24
+ * Nobody is left: recording is refused. Unset, the requester approves their own as before.
25
+ *
20
26
  * CLOSING. Deciding a concession on its own record closes its open task: Completed when approved,
21
27
  * Cancelled when rejected. Withdrawing it cancels its task and removes its link. A decision recorded on the
22
28
  * task itself is applied by ./ConcessionApprovalListener.ts, and the tasks app closes that task.
@@ -27,7 +33,8 @@
27
33
  * CONNECTS TO:
28
34
  * CALLER: OrderConcessionEntityServer (record, decide, withdraw) · ConcessionApprovalListener (decide on task)
29
35
  * WRITES: Tasks · Task Links · Task Assignments · Task Activities · Order Headers (ApprovalTaskID)
30
- * READS: Task Types · MJ: User Roles · MJ: Users · MJ_BizApps_Common: People
36
+ * READS: Task Types · MJ: User Roles · MJ: Roles · MJ: Users · MJ_BizApps_Common: People
37
+ * Accounting Company Profiles (ApprovalCFOUserID, for the CompanyCFO escalation)
31
38
  */
32
39
  import { BaseEntity, type IMetadataProvider, type UserInfo } from '@memberjunction/core';
33
40
  import '@mj-biz-apps/tasks-entities';
@@ -56,6 +63,11 @@ export interface ConcessionForApproval {
56
63
  ID: string;
57
64
  OrderHeaderID: string;
58
65
  RequestedByUserID: string;
66
+ /**
67
+ * The ConcessionLimit rule it is routed under. Set, a requester holding the rule's role is escalated per
68
+ * `ConcessionSelfApprovalEscalation`; unset (a shift under finance review), the role's other holders decide.
69
+ */
70
+ SalesRuleID?: string | null;
59
71
  }
60
72
  export type ConcessionDecision = 'Approved' | 'Rejected';
61
73
  export type ConcessionTaskClosing = ConcessionDecision | 'Withdrawn' | 'Escalated';
@@ -96,6 +108,33 @@ export declare function ApproverAssignees(holders: readonly RoleHolder[], reques
96
108
  PersonIDs: string[];
97
109
  WithoutPerson: string[];
98
110
  };
111
+ /** The `ConcessionSelfApprovalEscalation` target that names the order company's `ApprovalCFOUserID`. */
112
+ export declare const COMPANY_CFO_ESCALATION = "CompanyCFO";
113
+ /** What one escalation target resolved to: its active users, or why it named none. */
114
+ export interface EscalationCandidate {
115
+ Target: string;
116
+ UserIDs: string[];
117
+ /** Why the target named no one (a role that does not exist, a company with no CFO approver). */
118
+ Problem?: string;
119
+ }
120
+ /** Who decides a self-requested concession, or why no one can. */
121
+ export type SelfApprovalEscalationResult = {
122
+ Target: string;
123
+ UserIDs: string[];
124
+ } | {
125
+ Refusal: string;
126
+ };
127
+ /**
128
+ * The first target that names an active user other than the requester, with those users; never the requester.
129
+ * When none does, a refusal saying what each target came to, so the setting or the role can be fixed.
130
+ */
131
+ export declare function ChooseEscalationApprovers(requesterUserID: string, candidates: readonly EscalationCandidate[]): SelfApprovalEscalationResult;
132
+ /**
133
+ * Who decides a concession its requester would otherwise approve themselves (bc-aidp-next-golive#320): null when
134
+ * the escalation does not apply (the setting is unset, or the requester does not hold `roleID`), else the users
135
+ * of the first target that names someone other than the requester, or a refusal when none does.
136
+ */
137
+ export declare function SelfApprovalEscalation(roleID: string, concession: Pick<ConcessionForApproval, 'OrderHeaderID' | 'RequestedByUserID'>, ctx: ApprovalTaskContext): Promise<SelfApprovalEscalationResult | null>;
99
138
  /**
100
139
  * Raise an approval task for one Pending concession: assign the role's holders by person, link the order
101
140
  * and the concession, and point the order at the task. Throws when the tasks app is absent or no one could
@@ -1 +1 @@
1
- {"version":3,"file":"ConcessionApprovalTask.d.ts","sourceRoot":"","sources":["../src/ConcessionApprovalTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConcessionApprovalTask.d.ts","sourceRoot":"","sources":["../src/ConcessionApprovalTask.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@
17
17
  * logged; when no holder is left, recording is refused, for the reason a missing rule is — nobody would be
18
18
  * told the concession is waiting.
19
19
  *
20
+ * A HOLDER'S OWN CONCESSION GOES UP (bc-aidp-next-golive#320). When the Orders setting
21
+ * `ConcessionSelfApprovalEscalation` is set and the requester holds the rule's role, the task is assigned to
22
+ * the escalation instead (`SelfApprovalEscalation`): the order company's `ApprovalCFOUserID` for `CompanyCFO`,
23
+ * or a named role's active holders, the first target in the list that names someone other than the requester.
24
+ * Nobody is left: recording is refused. Unset, the requester approves their own as before.
25
+ *
20
26
  * CLOSING. Deciding a concession on its own record closes its open task: Completed when approved,
21
27
  * Cancelled when rejected. Withdrawing it cancels its task and removes its link. A decision recorded on the
22
28
  * task itself is applied by ./ConcessionApprovalListener.ts, and the tasks app closes that task.
@@ -27,13 +33,16 @@
27
33
  * CONNECTS TO:
28
34
  * CALLER: OrderConcessionEntityServer (record, decide, withdraw) · ConcessionApprovalListener (decide on task)
29
35
  * WRITES: Tasks · Task Links · Task Assignments · Task Activities · Order Headers (ApprovalTaskID)
30
- * READS: Task Types · MJ: User Roles · MJ: Users · MJ_BizApps_Common: People
36
+ * READS: Task Types · MJ: User Roles · MJ: Roles · MJ: Users · MJ_BizApps_Common: People
37
+ * Accounting Company Profiles (ApprovalCFOUserID, for the CompanyCFO escalation)
31
38
  */
32
39
  import { BaseEntity, LogStatus, RunView, } from '@memberjunction/core';
33
40
  import { UUIDsEqual } from '@memberjunction/global';
34
41
  // Imported for its side effect: it registers the tasks entities' generated subclasses. See `requireSubclass`.
35
42
  import '@mj-biz-apps/tasks-entities';
43
+ import { UserHoldsRole } from '@mj-biz-apps/orders-entities';
36
44
  import { ORDER_CONCESSION_ENTITY, ORDER_HEADER_ENTITY } from './entity-names.js';
45
+ import { OrdersSettings } from './OrdersSettings.js';
37
46
  import { ResolvePersonIDsForUsers } from './person-user-link.js';
38
47
  import { EscapeText, RequireUUID, RequireUUIDs } from './sql-guards.js';
39
48
  export const TASK_ENTITY = 'MJ_BizApps_Tasks: Tasks';
@@ -53,6 +62,8 @@ export const PERSON_ENTITY = 'MJ_BizApps_Common: People';
53
62
  export const APPROVAL_TASK_TYPE_CODE = 'ORDERS_CONCESSION_APPROVAL';
54
63
  const USER_ENTITY = 'MJ: Users';
55
64
  const USER_ROLE_ENTITY = 'MJ: User Roles';
65
+ const ROLE_ENTITY = 'MJ: Roles';
66
+ const COMPANY_PROFILE_ENTITY = 'MJ_BizApps_Accounting: Accounting Company Profiles';
56
67
  const LOG_PREFIX = '[BizAppsOrders] Concession approval:';
57
68
  /**
58
69
  * The concession status a terminal task outcome decides, or null for an outcome this app does not know.
@@ -130,6 +141,101 @@ export function ApproverAssignees(holders, requesterUserID) {
130
141
  }
131
142
  return { PersonIDs: personIDs, WithoutPerson: others.filter((h) => !h.PersonID).map((h) => h.UserID) };
132
143
  }
144
+ /** The `ConcessionSelfApprovalEscalation` target that names the order company's `ApprovalCFOUserID`. */
145
+ export const COMPANY_CFO_ESCALATION = 'CompanyCFO';
146
+ /**
147
+ * The first target that names an active user other than the requester, with those users; never the requester.
148
+ * When none does, a refusal saying what each target came to, so the setting or the role can be fixed.
149
+ */
150
+ export function ChooseEscalationApprovers(requesterUserID, candidates) {
151
+ for (const c of candidates) {
152
+ const others = [];
153
+ for (const id of c.UserIDs) {
154
+ if (!UUIDsEqual(id, requesterUserID) && !others.some((o) => UUIDsEqual(o, id)))
155
+ others.push(id);
156
+ }
157
+ if (others.length > 0)
158
+ return { Target: c.Target, UserIDs: others };
159
+ }
160
+ const tried = candidates
161
+ .map((c) => `'${c.Target}' (${c.Problem ?? (c.UserIDs.length > 0 ? 'only the requester' : 'no active user')})`)
162
+ .join(', ');
163
+ return {
164
+ Refusal: 'This concession was requested by a holder of the role that approves it, so it goes to the next approver ' +
165
+ `up (Orders setting ConcessionSelfApprovalEscalation), and no one other than the requester is there: ${tried}. ` +
166
+ 'Name an approver for it.',
167
+ };
168
+ }
169
+ /**
170
+ * Who decides a concession its requester would otherwise approve themselves (bc-aidp-next-golive#320): null when
171
+ * the escalation does not apply (the setting is unset, or the requester does not hold `roleID`), else the users
172
+ * of the first target that names someone other than the requester, or a refusal when none does.
173
+ */
174
+ export async function SelfApprovalEscalation(roleID, concession, ctx) {
175
+ await OrdersSettings.Load(ctx.Provider, ctx.User);
176
+ const targets = OrdersSettings.ConcessionSelfApprovalEscalation;
177
+ if (targets.length === 0)
178
+ return null;
179
+ if (!(await UserHoldsRole(RequireUUID(roleID, 'RoleID'), ctx.Provider, ctx.User, RequireUUID(concession.RequestedByUserID, 'UserID')))) {
180
+ return null;
181
+ }
182
+ const candidates = [];
183
+ for (const target of targets) {
184
+ const candidate = target.toLowerCase() === COMPANY_CFO_ESCALATION.toLowerCase()
185
+ ? await companyCFOCandidate(target, concession.OrderHeaderID, ctx)
186
+ : await roleCandidate(target, ctx);
187
+ candidates.push(candidate);
188
+ // Stop at the first that names someone else: later targets are not read.
189
+ if (candidate.UserIDs.some((id) => !UUIDsEqual(id, concession.RequestedByUserID)))
190
+ break;
191
+ }
192
+ return ChooseEscalationApprovers(concession.RequestedByUserID, candidates);
193
+ }
194
+ /** The order company's active `ApprovalCFOUserID`, as an access override resolves it. */
195
+ async function companyCFOCandidate(target, orderHeaderID, ctx) {
196
+ if (!ctx.Provider.EntityByName(COMPANY_PROFILE_ENTITY)) {
197
+ return { Target: target, UserIDs: [], Problem: 'the accounting app is not installed' };
198
+ }
199
+ const order = (await view(ctx, {
200
+ EntityName: ORDER_HEADER_ENTITY,
201
+ ExtraFilter: `ID = '${RequireUUID(orderHeaderID, 'OrderHeaderID')}'`,
202
+ Fields: ['CompanyID'],
203
+ ResultType: 'simple',
204
+ }))[0];
205
+ if (!order?.CompanyID)
206
+ return { Target: target, UserIDs: [], Problem: 'the order names no company' };
207
+ // IS-A: the accounting profile shares its company's ID.
208
+ const profile = (await view(ctx, {
209
+ EntityName: COMPANY_PROFILE_ENTITY,
210
+ ExtraFilter: `ID = '${RequireUUID(order.CompanyID, 'CompanyID')}'`,
211
+ Fields: ['ApprovalCFOUserID'],
212
+ ResultType: 'simple',
213
+ }))[0];
214
+ const named = profile?.ApprovalCFOUserID ?? null;
215
+ if (!named)
216
+ return { Target: target, UserIDs: [], Problem: "the order's company names no ApprovalCFOUserID" };
217
+ const active = await view(ctx, {
218
+ EntityName: USER_ENTITY,
219
+ ExtraFilter: `ID = '${RequireUUID(named, 'ApprovalCFOUserID')}' AND IsActive = 1`,
220
+ Fields: ['ID'],
221
+ ResultType: 'simple',
222
+ });
223
+ return active.length > 0
224
+ ? { Target: target, UserIDs: [active[0].ID] }
225
+ : { Target: target, UserIDs: [], Problem: "the company's ApprovalCFOUserID is not an active user" };
226
+ }
227
+ /** A role's active holders, by the role's name. */
228
+ async function roleCandidate(roleName, ctx) {
229
+ const role = (await view(ctx, {
230
+ EntityName: ROLE_ENTITY,
231
+ ExtraFilter: `Name = '${EscapeText(roleName)}'`,
232
+ Fields: ['ID'],
233
+ ResultType: 'simple',
234
+ }))[0];
235
+ if (!role)
236
+ return { Target: roleName, UserIDs: [], Problem: 'no role has that name' };
237
+ return { Target: roleName, UserIDs: await ActiveRoleHolderIDs(role.ID, ctx) };
238
+ }
133
239
  /**
134
240
  * Raise an approval task for one Pending concession: assign the role's holders by person, link the order
135
241
  * and the concession, and point the order at the task. Throws when the tasks app is absent or no one could
@@ -253,8 +359,8 @@ function entityID(name, ctx) {
253
359
  return entity.ID;
254
360
  }
255
361
  async function raiseTask(concession, roleID, name, linkDescription, refusal, order, ctx) {
256
- const approverPersonIDs = await approverPersons(roleID, concession.RequestedByUserID, ctx);
257
- const task = await createTask(order, name, refusal, ctx);
362
+ const { PersonIDs: approverPersonIDs, EscalatedTo } = await approverPersons(roleID, concession, ctx);
363
+ const task = await createTask(order, name, refusal, EscalatedTo, ctx);
258
364
  await CreateTaskLink(task.ID, entityID(ORDER_HEADER_ENTITY, ctx), order.ID, `Order ${order.OrderNumber}`, ctx);
259
365
  await CreateTaskLink(task.ID, entityID(ORDER_CONCESSION_ENTITY, ctx), concession.ID, linkDescription, ctx);
260
366
  const personEntityID = entityID(PERSON_ENTITY, ctx);
@@ -269,10 +375,19 @@ async function raiseTask(concession, roleID, name, linkDescription, refusal, ord
269
375
  }
270
376
  /**
271
377
  * The person records to assign: one per active holder of the role other than the requester, through the
272
- * active person linked to their user. Throws when that leaves no one.
378
+ * active person linked to their user, or the self-approval escalation's users when it applies (with the
379
+ * target they came from). Throws when that leaves no one.
273
380
  */
274
- async function approverPersons(roleID, requesterUserID, ctx) {
275
- const holderIDs = await ActiveRoleHolderIDs(roleID, ctx);
381
+ async function approverPersons(roleID, concession, ctx) {
382
+ const requesterUserID = concession.RequestedByUserID;
383
+ const resolved = concession.SalesRuleID ? await SelfApprovalEscalation(roleID, concession, ctx) : null;
384
+ let escalation = null;
385
+ if (resolved) {
386
+ if ('Refusal' in resolved)
387
+ throw new Error(resolved.Refusal);
388
+ escalation = resolved;
389
+ }
390
+ const holderIDs = escalation ? escalation.UserIDs : await ActiveRoleHolderIDs(roleID, ctx);
276
391
  const others = holderIDs.filter((id) => !UUIDsEqual(id, requesterUserID));
277
392
  if (others.length === 0) {
278
393
  throw new Error('This concession is outside the requester\'s authority, and no active user other than the requester ' +
@@ -285,16 +400,21 @@ async function approverPersons(roleID, requesterUserID, ctx) {
285
400
  }));
286
401
  const { PersonIDs, WithoutPerson } = ApproverAssignees(holders, requesterUserID);
287
402
  if (PersonIDs.length === 0) {
288
- throw new Error('This concession is outside the requester\'s authority, and none of the active holders of the role the ' +
289
- 'ConcessionLimit rule names has an active person record linked to their user. The tasks app tells ' +
290
- 'and lists an approver through that person record, so no one would be told the concession is ' +
291
- 'waiting. Link a person record to an approver\'s user.');
403
+ throw new Error(escalation
404
+ ? `This concession goes to '${escalation.Target}' (Orders setting ConcessionSelfApprovalEscalation), and ` +
405
+ 'no approver there has an active person record linked to their user. The tasks app tells and lists ' +
406
+ 'an approver through that person record, so no one would be told the concession is waiting. Link a ' +
407
+ "person record to the approver's user."
408
+ : 'This concession is outside the requester\'s authority, and none of the active holders of the role the ' +
409
+ 'ConcessionLimit rule names has an active person record linked to their user. The tasks app tells ' +
410
+ 'and lists an approver through that person record, so no one would be told the concession is ' +
411
+ 'waiting. Link a person record to an approver\'s user.');
292
412
  }
293
413
  if (WithoutPerson.length > 0) {
294
- LogStatus(`${LOG_PREFIX} ${WithoutPerson.length} holder(s) of role ${roleID} have no active person record linked ` +
295
- `to their user and were not assigned the approval task: ${WithoutPerson.join(', ')}`);
414
+ LogStatus(`${LOG_PREFIX} ${WithoutPerson.length} approver(s) for ${escalation ? `'${escalation.Target}'` : `role ${roleID}`} ` +
415
+ `have no active person record linked to their user and were not assigned the approval task: ${WithoutPerson.join(', ')}`);
296
416
  }
297
- return PersonIDs;
417
+ return { PersonIDs, EscalatedTo: escalation ? escalation.Target : null };
298
418
  }
299
419
  /** Every active user holding the role, by name order. The tasks app has no group assignee, so a role is expanded to these. */
300
420
  export async function ActiveRoleHolderIDs(roleID, ctx) {
@@ -333,7 +453,7 @@ async function loadTask(taskID, ctx) {
333
453
  throw new Error(`Approval task ${taskID} was not found.`);
334
454
  return task;
335
455
  }
336
- async function createTask(order, name, refusal, ctx) {
456
+ async function createTask(order, name, refusal, escalatedTo, ctx) {
337
457
  const types = await view(ctx, {
338
458
  EntityName: TASK_TYPE_ENTITY,
339
459
  ExtraFilter: `Code = '${EscapeText(APPROVAL_TASK_TYPE_CODE)}'`,
@@ -352,7 +472,11 @@ async function createTask(order, name, refusal, ctx) {
352
472
  (refusal ? `A decision recorded on this concession's previous approval task was not applied: ${refusal} ` : '') +
353
473
  `This concession on order ${order.OrderNumber} is outside the requester's sales authority. The order ` +
354
474
  `cannot be confirmed, and its documents cannot be sent, until it is decided. A decision on this task ` +
355
- `decides this concession only.`;
475
+ `decides this concession only.` +
476
+ (escalatedTo
477
+ ? ` It was requested by a holder of the role that approves it, so it comes to '${escalatedTo}' instead ` +
478
+ `(Orders setting ConcessionSelfApprovalEscalation).`
479
+ : '');
356
480
  task.Priority = 'High';
357
481
  task.Status = 'Open';
358
482
  if (!(await task.Save())) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConcessionApprovalTask.js","sourceRoot":"","sources":["../src/ConcessionApprovalTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConcessionApprovalTask.js","sourceRoot":"","sources":["../src/ConcessionApprovalTask.ts"],"names":[],"mappings":"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"}
@@ -81,7 +81,13 @@ export interface GrantOutcome {
81
81
  * the customer access as a side effect of returning the thing that conferred it — the same class of
82
82
  * mistake as materializing a second subscription on a cancellation (D16).
83
83
  */
84
- export declare function CreateEntitlementGrants(order: GrantableOrder, lines: GrantableLine[], termsByLine: Map<string, TermForLine>, provider: IMetadataProvider, user: UserInfo, options?: EntitySaveOptions): Promise<GrantOutcome>;
84
+ export declare function CreateEntitlementGrants(order: GrantableOrder, lines: GrantableLine[],
85
+ /**
86
+ * The term or terms each subscription line bought. A line that states an end past its first term
87
+ * bought several (golive #338); a grant that follows the term is written once per term, so
88
+ * extending, shifting or cancelling one term moves the access that term gave.
89
+ */
90
+ termsByLine: Map<string, TermForLine | readonly TermForLine[]>, provider: IMetadataProvider, user: UserInfo, options?: EntitySaveOptions): Promise<GrantOutcome>;
85
91
  /**
86
92
  * Unwind the grants a returned line conferred.
87
93
  *
@@ -1 +1 @@
1
- {"version":3,"file":"EntitlementEngine.d.ts","sourceRoot":"","sources":["../src/EntitlementEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntitlementEngine.d.ts","sourceRoot":"","sources":["../src/EntitlementEngine.ts"],"names":[],"mappings":"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"}