@mj-biz-apps/contracts-entities 0.4.2 → 0.5.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.
@@ -21,6 +21,7 @@
21
21
  */
22
22
  import { ValidationResult } from '@memberjunction/core';
23
23
  import { mjBizAppsContractsContractEntity } from './generated/entity_subclasses.js';
24
+ import { type ContractRenewalField } from './renewal-defaults.js';
24
25
  /**
25
26
  * Do two contracts sit at the SAME LEVEL of the tree — i.e. may one supersede the other?
26
27
  *
@@ -207,6 +208,49 @@ export declare class ContractEntity extends mjBizAppsContractsContractEntity {
207
208
  * neither does. Mirrors orders' `Confirm()`, which is likewise an intent-setter, not a persister.
208
209
  */
209
210
  Supersede(successor: ContractEntity): void;
211
+ /**
212
+ * Record that the USER set one of the four renewal fields, so seeding will never overwrite it.
213
+ *
214
+ * Called by the form panel that owns those fields, on every write it makes. It has to be an
215
+ * explicit signal rather than something derived from the entity's dirty state: `AutoRenew` starts
216
+ * at No on a new contract, so a user who deliberately answers No leaves the field holding the
217
+ * value it already had, and no amount of comparing against `OldValue` can tell that apart from a
218
+ * field nobody has looked at.
219
+ */
220
+ MarkRenewalFieldEdited(field: ContractRenewalField): void;
221
+ /**
222
+ * Copy the selected Contract Type's renewal defaults onto this contract.
223
+ *
224
+ * UNSAVED RECORDS ONLY, and this is the guard that makes the feature safe rather than merely
225
+ * convenient. On a saved contract every renewal value was typed by somebody reading the paper —
226
+ * including the blanks, which mean "the agreement says nothing" — so a type change on an existing
227
+ * record must not touch them. The story is about filling in a new contract, and the blast radius
228
+ * is kept to exactly that.
229
+ *
230
+ * Returns whether anything was written, so a caller can skip a redundant change-detection pass.
231
+ * Safe to call repeatedly with the same type: the computed seed is empty when the fields already
232
+ * hold their targets.
233
+ */
234
+ SeedRenewalDefaultsFromType(): Promise<boolean>;
235
+ /** The four fields as they stand right now. */
236
+ private currentRenewalValues;
237
+ /**
238
+ * The selected type's four default columns, or null when no type is selected — which restores the
239
+ * pristine values rather than leaving the departing type's numbers behind.
240
+ *
241
+ * One `RunView` rather than an entity load: four scalars are wanted and none of the type's rules
242
+ * are, and this runs on a keystroke-adjacent path (picking from a dropdown). The UUID is shape-
243
+ * checked before it reaches `ExtraFilter` for the same reason `ContractEntityServer` checks the
244
+ * one it walks the lineage with — this string is concatenated into SQL.
245
+ */
246
+ private loadRenewalDefaults;
247
+ /**
248
+ * Per-instance and deliberately NOT persisted: both of these describe an editing session, not the
249
+ * contract. A fresh instance of a saved record starts with neither, which is right — seeding does
250
+ * not run on saved records at all.
251
+ */
252
+ private readonly renewalFieldsUserEdited;
253
+ private renewalFieldsPristine;
210
254
  }
211
255
  /**
212
256
  * Anti-tree-shake anchor. Importing this module is what fires `@RegisterClass`; a production build
@@ -1 +1 @@
1
- {"version":3,"file":"ContractEntity.d.ts","sourceRoot":"","sources":["../src/ContractEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAwD,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAM5H;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAWpF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAUtF;AAED,qBACa,cAAe,SAAQ,gCAAgC;IAChE;;;;;;;;;;;;;OAaG;IACa,QAAQ,IAAI,gBAAgB;IAwB5C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,wBAAwB;IAchC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kCAAkC;IAkB1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,4BAA4B;IAmBpC;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,UAAS;IAE1C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;;;;;;;;OAWG;IACI,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;CAgBpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
1
+ {"version":3,"file":"ContractEntity.d.ts","sourceRoot":"","sources":["../src/ContractEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAwD,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAGH,KAAK,oBAAoB,EAG5B,MAAM,oBAAoB,CAAC;AAS5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAM5H;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAWpF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAUtF;AAED,qBACa,cAAe,SAAQ,gCAAgC;IAChE;;;;;;;;;;;;;OAaG;IACa,QAAQ,IAAI,gBAAgB;IAwB5C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,wBAAwB;IAchC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kCAAkC;IAkB1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,4BAA4B;IAmBpC;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,UAAS;IAE1C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;;;;;;;;OAWG;IACI,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAqBjD;;;;;;;;OAQG;IACI,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAIhE;;;;;;;;;;;;OAYG;IACU,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IAsB5D,+CAA+C;IAC/C,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;;OAQG;YACW,mBAAmB;IAgBjC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmC;IAC3E,OAAO,CAAC,qBAAqB,CAA4B;CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -28,6 +28,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
28
28
  import { BaseEntity, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
29
29
  import { RegisterClass } from '@memberjunction/global';
30
30
  import { mjBizAppsContractsContractEntity } from './generated/entity_subclasses.js';
31
+ import { ComputeRenewalSeed, RENEWAL_SEED_FIELDS, } from './renewal-defaults.js';
32
+ /**
33
+ * Guards an ID before it is interpolated into a filter. Mirrors `ContractEntityServer`'s own guard;
34
+ * both exist because MJ has no parameter binding on `ExtraFilter`, so the shape check IS the
35
+ * protection.
36
+ */
37
+ const UUID_SHAPE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
31
38
  /**
32
39
  * Do two contracts sit at the SAME LEVEL of the tree — i.e. may one supersede the other?
33
40
  *
@@ -126,6 +133,13 @@ let ContractEntity = class ContractEntity extends mjBizAppsContractsContractEnti
126
133
  * the entity has any business claiming a number was system-assigned.
127
134
  */
128
135
  this.NumberWasSystemAssigned = false;
136
+ /**
137
+ * Per-instance and deliberately NOT persisted: both of these describe an editing session, not the
138
+ * contract. A fresh instance of a saved record starts with neither, which is right — seeding does
139
+ * not run on saved records at all.
140
+ */
141
+ this.renewalFieldsUserEdited = new Set();
142
+ this.renewalFieldsPristine = null;
129
143
  }
130
144
  /**
131
145
  * `HasModifications` is MONOTONIC: it must be true when modification rows exist, and it is never
@@ -299,6 +313,83 @@ let ContractEntity = class ContractEntity extends mjBizAppsContractsContractEnti
299
313
  }
300
314
  this.SupersededByContractID = successor.ID;
301
315
  }
316
+ /* ────────────────────────────────────────────────────────────────────────
317
+ * Renewal-obligation defaults (golive #217 / C-US1). The decision is in
318
+ * `renewal-defaults.ts`; this is the half that reads the type row and writes.
319
+ * ──────────────────────────────────────────────────────────────────────── */
320
+ /**
321
+ * Record that the USER set one of the four renewal fields, so seeding will never overwrite it.
322
+ *
323
+ * Called by the form panel that owns those fields, on every write it makes. It has to be an
324
+ * explicit signal rather than something derived from the entity's dirty state: `AutoRenew` starts
325
+ * at No on a new contract, so a user who deliberately answers No leaves the field holding the
326
+ * value it already had, and no amount of comparing against `OldValue` can tell that apart from a
327
+ * field nobody has looked at.
328
+ */
329
+ MarkRenewalFieldEdited(field) {
330
+ this.renewalFieldsUserEdited.add(field);
331
+ }
332
+ /**
333
+ * Copy the selected Contract Type's renewal defaults onto this contract.
334
+ *
335
+ * UNSAVED RECORDS ONLY, and this is the guard that makes the feature safe rather than merely
336
+ * convenient. On a saved contract every renewal value was typed by somebody reading the paper —
337
+ * including the blanks, which mean "the agreement says nothing" — so a type change on an existing
338
+ * record must not touch them. The story is about filling in a new contract, and the blast radius
339
+ * is kept to exactly that.
340
+ *
341
+ * Returns whether anything was written, so a caller can skip a redundant change-detection pass.
342
+ * Safe to call repeatedly with the same type: the computed seed is empty when the fields already
343
+ * hold their targets.
344
+ */
345
+ async SeedRenewalDefaultsFromType() {
346
+ if (this.IsSaved)
347
+ return false;
348
+ // Captured ONCE, before the first seed ever writes: the values this record had of its own
349
+ // accord. Restored later for any field the newly-chosen type has no opinion about, so a
350
+ // default never outlives the type that supplied it.
351
+ this.renewalFieldsPristine ??= this.currentRenewalValues();
352
+ const seed = ComputeRenewalSeed({
353
+ defaults: await this.loadRenewalDefaults(),
354
+ current: this.currentRenewalValues(),
355
+ pristine: this.renewalFieldsPristine,
356
+ userEdited: this.renewalFieldsUserEdited,
357
+ });
358
+ const fields = Object.keys(seed);
359
+ for (const field of fields) {
360
+ this.Set(field, seed[field]);
361
+ }
362
+ return fields.length > 0;
363
+ }
364
+ /** The four fields as they stand right now. */
365
+ currentRenewalValues() {
366
+ const values = {};
367
+ for (const field of RENEWAL_SEED_FIELDS) {
368
+ values[field.ContractField] = this.Get(field.ContractField);
369
+ }
370
+ return values;
371
+ }
372
+ /**
373
+ * The selected type's four default columns, or null when no type is selected — which restores the
374
+ * pristine values rather than leaving the departing type's numbers behind.
375
+ *
376
+ * One `RunView` rather than an entity load: four scalars are wanted and none of the type's rules
377
+ * are, and this runs on a keystroke-adjacent path (picking from a dropdown). The UUID is shape-
378
+ * checked before it reaches `ExtraFilter` for the same reason `ContractEntityServer` checks the
379
+ * one it walks the lineage with — this string is concatenated into SQL.
380
+ */
381
+ async loadRenewalDefaults() {
382
+ const id = String(this.ContractTypeID ?? '').trim();
383
+ if (!UUID_SHAPE.test(id))
384
+ return null;
385
+ const result = await this.RunViewProviderToUse.RunView({
386
+ EntityName: 'MJ_BizApps_Contracts: Contract Types',
387
+ ExtraFilter: `ID = '${id}'`,
388
+ Fields: RENEWAL_SEED_FIELDS.map((f) => f.TypeField),
389
+ ResultType: 'simple',
390
+ }, this.ContextCurrentUser);
391
+ return result?.Results?.[0] ?? null;
392
+ }
302
393
  };
303
394
  ContractEntity = __decorate([
304
395
  RegisterClass(BaseEntity, 'MJ_BizApps_Contracts: Contracts')
@@ -1 +1 @@
1
- {"version":3,"file":"ContractEntity.js","sourceRoot":"","sources":["../src/ContractEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContractEntity.js","sourceRoot":"","sources":["../src/ContractEntity.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EACH,kBAAkB,EAClB,mBAAmB,GAItB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,GAAG,+EAA+E,CAAC;AAEnG;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAqC,EAAE,aAAwC;IAC/G,MAAM,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAAgC;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAsB,EAAE,OAAgB;IACzE,MAAM,EAAE,GAAG,CAAC,CAAU,EAAiB,EAAE;QACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,SAAS,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,GAAG,GAAG,SAAS,CAAC;AAC3B,CAAC;AAGM,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,gCAAgC;IAA7D;;QAwKH;;;;WAIG;QACO,4BAAuB,GAAG,KAAK,CAAC;QAsI1C;;;;WAIG;QACc,4BAAuB,GAAG,IAAI,GAAG,EAAwB,CAAC;QACnE,0BAAqB,GAAuB,IAAI,CAAC;IAE7D,CAAC;IA1TG;;;;;;;;;;;;;OAaG;IACa,QAAQ;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACtE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,mBAAmB,CACnB,kBAAkB,EAClB,YAAY,IAAI,CAAC,cAAc,IAAI,EAAE,YAAY,IAAI,CAAC,aAAa,CAAC,KAAK,0BAA0B;gBAC/F,8FAA8F;gBAC9F,mCAAmC,EACvC,IAAI,CAAC,gBAAgB,EACrB,mBAAmB,CAAC,OAAO,CAC9B,CACJ,CAAC;QACN,CAAC;QAED,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,wBAAwB,CAAC,MAAwB;QACrD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO;QAEpE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,mBAAmB,CACnB,SAAS,EACT,kDAAkD,EAClD,IAAI,CAAC,OAAO,EACZ,mBAAmB,CAAC,OAAO,CAC9B,CACJ,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,kCAAkC,CAAC,MAAwB;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAY,CAAC,CAAC;QAC9G,MAAM,UAAU,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,mBAAmB,CACnB,eAAe,EACf,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,iBAAiB,iBAAiB;YAClG,8FAA8F;YAC9F,oDAAoD,EACxD,UAAU,CAAC,MAAM,EACjB,mBAAmB,CAAC,OAAO,CAC9B,CACJ,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACK,4BAA4B,CAAC,MAAwB;QACzD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,uBAAuB;YAAE,OAAO;QACzD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO;QAEhD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,mBAAmB,CACnB,gBAAgB,EAChB,iFAAiF,KAAK,cAAc;YAChG,8FAA8F;YAC9F,gGAAgG;YAChG,mBAAmB,EACvB,IAAI,CAAC,cAAc,EACnB,mBAAmB,CAAC,OAAO,CAC9B,CACJ,CAAC;IACN,CAAC;IASD;;;;;;;;;;;;OAYG;IACK,yBAAyB;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CAAC,SAAyB;QACtC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACX,6BAA6B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,qCAAqC;gBAC5F,iDAAiD,CACxD,CAAC;QACN,CAAC;QACD,IAAI,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,4BAA4B;gBAClE,mEAAmE,CAC1E,CAAC;QACN,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;;kFAG8E;IAE9E;;;;;;;;OAQG;IACI,sBAAsB,CAAC,KAA2B;QACrD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,2BAA2B;QACpC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE/B,0FAA0F;QAC1F,wFAAwF;QACxF,oDAAoD;QACpD,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE3D,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC5B,QAAQ,EAAE,MAAM,IAAI,CAAC,mBAAmB,EAAE;YAC1C,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,qBAAqB;YACpC,UAAU,EAAE,IAAI,CAAC,uBAAuB;SAC3C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAA2B,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,+CAA+C;IACvC,oBAAoB;QACxB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,mBAAmB;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAClD;YACI,UAAU,EAAE,sCAAsC;YAClD,WAAW,EAAE,SAAS,EAAE,GAAG;YAC3B,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACnD,UAAU,EAAE,QAAQ;SACvB,EACD,IAAI,CAAC,kBAAkB,CAC1B,CAAC;QACF,OAAO,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;CAUJ,CAAA;AA3TY,cAAc;IAD1B,aAAa,CAAC,UAAU,EAAE,iCAAiC,CAAC;GAChD,cAAc,CA2T1B;;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAC9B,KAAK,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @fileoverview Which template a NEW contract starts with, and when we are allowed to put it there.
3
+ *
4
+ * golive #218. Story C-US1 says `ContractTemplateID` defaults to the current template and the user
5
+ * corrects it if the executed document cites an older version. Nothing defaulted it, so every new
6
+ * Order Form, Statement of Work and Payment Link opened with the field empty — and all three carry
7
+ * `TemplateRequired = 1`, so the save was refused until the user found the picker themselves.
8
+ *
9
+ * FOUR DECISIONS LIVE HERE, AND THE PANEL OWNS THE QUERY — the same split as
10
+ * `supersede-candidates.ts`, and for the same reason: anything declared inside an Angular component
11
+ * can only be asserted by standing up Angular's DI, so a rule stated in a panel is a rule no unit
12
+ * test reaches.
13
+ *
14
+ * · {@link CurrentTemplateFilter} — WHICH templates may be defaulted at all
15
+ * · {@link CurrentTemplateOrderBy} — which of them is "current"
16
+ * · {@link ShouldDefaultTemplate} — whether we may write over what is in the field right now
17
+ * · {@link ShouldWithdrawDefaultTemplate} — whether we must TAKE BACK what we wrote, once the
18
+ * contract type stops wanting a template at all
19
+ *
20
+ * SCOPING, THE ISSUE'S ONE OPEN DECISION: the newest published usable template wins, REGARDLESS of
21
+ * its template type. Not a simplification — `ContractType` carries no `ContractTemplateTypeID`, so
22
+ * there is nothing in the data to scope by, and of the two seeded template types only Master
23
+ * Agreement has templates behind it (Statement of Work is seeded deliberately unused, because the
24
+ * business does not version its SOW language). Scoping by type would need a schema change and would
25
+ * today narrow a one-element set to itself.
26
+ *
27
+ * @module @mj-biz-apps/contracts-entities
28
+ */
29
+ /**
30
+ * The templates a contract may be started on — an `ExtraFilter`, not a preference.
31
+ *
32
+ * Both halves restate what `ContractEntityServer.refuseUnusableTemplate()` enforces on save, and
33
+ * that duplication is the point: a default that offers something the server will refuse turns a
34
+ * convenience into a save the user cannot complete and did not cause. The server stays the floor.
35
+ *
36
+ * · `Status = 'Published'` — a draft's provisions can still be added to, edited and removed, so a
37
+ * contract pointing at one would have its standard terms change underneath it.
38
+ * · `IsUsable = 1` — derived in `vwContractTemplates`: the template records a `SourceURL` or has a
39
+ * file attached. A contract cannot incorporate terms nobody can open.
40
+ */
41
+ export declare const CurrentTemplateFilter = "Status = 'Published' AND IsUsable = 1";
42
+ /**
43
+ * Which published template is the CURRENT one: the most recently introduced.
44
+ *
45
+ * `IntroducedDate` is when a version started being offered — deliberately not named `EffectiveDate`,
46
+ * because a template becomes effective for a customer when THAT customer signs it. It is the column
47
+ * the business versions by, so it leads.
48
+ *
49
+ * IT IS NULLABLE, AND THE DIRECTION MATTERS. T-SQL sorts NULLs FIRST ascending, therefore LAST
50
+ * descending — so a template whose introduction date was never recorded loses to every template that
51
+ * has one, and only wins when it is the only candidate. That is the outcome we want and it is the
52
+ * one a switch to `ASC` silently inverts, which is why it is pinned by a test rather than by this
53
+ * sentence.
54
+ *
55
+ * `__mj_CreatedAt` breaks a same-date tie by which row was registered last. Two templates introduced
56
+ * on one day is a correction, not a schedule, and the later row is the correction.
57
+ */
58
+ export declare const CurrentTemplateOrderBy = "IntroducedDate DESC, __mj_CreatedAt DESC";
59
+ /** What the defaulting rule needs to know about the contract in front of it. */
60
+ export interface TemplateDefaultState {
61
+ /** `BaseEntity.IsSaved` — false only for a contract that has never been written. */
62
+ isSaved: boolean;
63
+ /** The value in the field right now. */
64
+ currentTemplateID: string | null | undefined;
65
+ /** The value THIS session last defaulted, or null if it has defaulted nothing yet. */
66
+ lastDefaultedID: string | null | undefined;
67
+ }
68
+ /**
69
+ * May this panel write the template field at all — the half of every rule that needs no database?
70
+ *
71
+ * Exported separately so the caller can ask it BEFORE reading the contract type, the only input the
72
+ * rules below need that costs a query. It is false for every saved contract, which is what keeps an
73
+ * ordinary form open free of one.
74
+ *
75
+ * NAMED FOR PERMISSION RATHER THAN FOR DEFAULTING, because it now gates two opposite writes — the
76
+ * default and its withdrawal — and both are allowed in exactly the same circumstances: the contract
77
+ * is unsaved, and the field is either empty or still holds our own default. It was
78
+ * `RecordWantsDefaultTemplate` while defaulting was the only thing it guarded.
79
+ *
80
+ * · **a SAVED contract is never touched.** Its template is a fact about an agreement that exists,
81
+ * and re-deciding it when someone opens the form would rewrite history on a record the user only
82
+ * came to read.
83
+ * · **an empty field is fair game** — the ordinary case the issue is about.
84
+ * · **a HAND-PICKED template is never touched.** A user who deliberately chose last year's version
85
+ * and then corrected the type must not silently get this year's back, and must not have theirs
86
+ * taken away either. We may only overwrite what we ourselves put there.
87
+ */
88
+ export declare function MayWriteDefaultTemplate(state: TemplateDefaultState): boolean;
89
+ /**
90
+ * Take back a template we defaulted, once the type stops wanting one (review of PR #51).
91
+ *
92
+ * THE BUG THIS EXISTS TO CLOSE. Picking Order Form fills the field in; changing the type to Change
93
+ * Order used to leave it filled, because the defaulting rule saw a type that needs no template and
94
+ * simply stopped — treating "there was never anything to do here" and "what I put here no longer
95
+ * belongs" as the same case. Nothing downstream caught it: `ContractEntityServer` refuses a MISSING
96
+ * template on a type that requires one and says nothing about a present one on a type that does not.
97
+ * The contract saved, claiming to incorporate a full set of standard terms nobody chose.
98
+ *
99
+ * A default leaves with the type that supplied it — the same principle the renewal-field defaults
100
+ * follow.
101
+ *
102
+ * ONLY OUR OWN DEFAULT IS WITHDRAWN. A template the user picked by hand stays, exactly as it stays
103
+ * through a default; `holdsOurDefault` is the single comparison both directions read.
104
+ *
105
+ * Clearing the type entirely withdraws it too, and that is deliberate: the caller reports a type it
106
+ * genuinely could not find as `templateRequired = false`, and a contract with no type has nothing
107
+ * asserting that those standard terms apply. A type it could not READ is a different answer, and the
108
+ * caller must not translate that into `false` — see the panel's `typeRequiresTemplate`.
109
+ */
110
+ export declare function ShouldWithdrawDefaultTemplate(state: TemplateDefaultState & {
111
+ templateRequired: boolean;
112
+ }): boolean;
113
+ /**
114
+ * The whole rule in the other direction: may we default this contract's template right now?
115
+ *
116
+ * `templateRequired` is `ContractType.TemplateRequired`, read from the type the contract currently
117
+ * names. It gates the default because the flag is what says a type's terms live in a template at
118
+ * all: Change Order is the one seeded type carrying `0`, and it carries no template of its own —
119
+ * a modification recorded on a change order cites a provision of a template at or above it in the
120
+ * tree. Defaulting one onto it would assert an incorporation nobody made.
121
+ *
122
+ * A contract with NO type yet cannot be defaulted either, and falls out of this naturally: the
123
+ * caller has no type to read `TemplateRequired` from, so it passes `false`.
124
+ */
125
+ export declare function ShouldDefaultTemplate(state: TemplateDefaultState & {
126
+ templateRequired: boolean;
127
+ }): boolean;
128
+ //# sourceMappingURL=default-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-template.d.ts","sourceRoot":"","sources":["../src/default-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAEjF,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACjC,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,sFAAsF;IACtF,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC9C;AA2BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAK5E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAIlH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAE1G"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * @fileoverview Which template a NEW contract starts with, and when we are allowed to put it there.
3
+ *
4
+ * golive #218. Story C-US1 says `ContractTemplateID` defaults to the current template and the user
5
+ * corrects it if the executed document cites an older version. Nothing defaulted it, so every new
6
+ * Order Form, Statement of Work and Payment Link opened with the field empty — and all three carry
7
+ * `TemplateRequired = 1`, so the save was refused until the user found the picker themselves.
8
+ *
9
+ * FOUR DECISIONS LIVE HERE, AND THE PANEL OWNS THE QUERY — the same split as
10
+ * `supersede-candidates.ts`, and for the same reason: anything declared inside an Angular component
11
+ * can only be asserted by standing up Angular's DI, so a rule stated in a panel is a rule no unit
12
+ * test reaches.
13
+ *
14
+ * · {@link CurrentTemplateFilter} — WHICH templates may be defaulted at all
15
+ * · {@link CurrentTemplateOrderBy} — which of them is "current"
16
+ * · {@link ShouldDefaultTemplate} — whether we may write over what is in the field right now
17
+ * · {@link ShouldWithdrawDefaultTemplate} — whether we must TAKE BACK what we wrote, once the
18
+ * contract type stops wanting a template at all
19
+ *
20
+ * SCOPING, THE ISSUE'S ONE OPEN DECISION: the newest published usable template wins, REGARDLESS of
21
+ * its template type. Not a simplification — `ContractType` carries no `ContractTemplateTypeID`, so
22
+ * there is nothing in the data to scope by, and of the two seeded template types only Master
23
+ * Agreement has templates behind it (Statement of Work is seeded deliberately unused, because the
24
+ * business does not version its SOW language). Scoping by type would need a schema change and would
25
+ * today narrow a one-element set to itself.
26
+ *
27
+ * @module @mj-biz-apps/contracts-entities
28
+ */
29
+ /**
30
+ * The templates a contract may be started on — an `ExtraFilter`, not a preference.
31
+ *
32
+ * Both halves restate what `ContractEntityServer.refuseUnusableTemplate()` enforces on save, and
33
+ * that duplication is the point: a default that offers something the server will refuse turns a
34
+ * convenience into a save the user cannot complete and did not cause. The server stays the floor.
35
+ *
36
+ * · `Status = 'Published'` — a draft's provisions can still be added to, edited and removed, so a
37
+ * contract pointing at one would have its standard terms change underneath it.
38
+ * · `IsUsable = 1` — derived in `vwContractTemplates`: the template records a `SourceURL` or has a
39
+ * file attached. A contract cannot incorporate terms nobody can open.
40
+ */
41
+ export const CurrentTemplateFilter = `Status = 'Published' AND IsUsable = 1`;
42
+ /**
43
+ * Which published template is the CURRENT one: the most recently introduced.
44
+ *
45
+ * `IntroducedDate` is when a version started being offered — deliberately not named `EffectiveDate`,
46
+ * because a template becomes effective for a customer when THAT customer signs it. It is the column
47
+ * the business versions by, so it leads.
48
+ *
49
+ * IT IS NULLABLE, AND THE DIRECTION MATTERS. T-SQL sorts NULLs FIRST ascending, therefore LAST
50
+ * descending — so a template whose introduction date was never recorded loses to every template that
51
+ * has one, and only wins when it is the only candidate. That is the outcome we want and it is the
52
+ * one a switch to `ASC` silently inverts, which is why it is pinned by a test rather than by this
53
+ * sentence.
54
+ *
55
+ * `__mj_CreatedAt` breaks a same-date tie by which row was registered last. Two templates introduced
56
+ * on one day is a correction, not a schedule, and the later row is the correction.
57
+ */
58
+ export const CurrentTemplateOrderBy = `IntroducedDate DESC, __mj_CreatedAt DESC`;
59
+ /**
60
+ * Does the field hold exactly the value THIS panel put there?
61
+ *
62
+ * The shared notion underneath every rule in this file, and the reason it is factored out rather
63
+ * than written three times: "ours" is what separates a default we may revisit from a choice a person
64
+ * made, and a copy of that comparison that drifts turns one of those into the other.
65
+ *
66
+ * An EMPTY field is not ours — it is nobody's. That distinction is what keeps
67
+ * {@link ShouldWithdrawDefaultTemplate} from dirtying a record to write null over null.
68
+ *
69
+ * The comparison is case-insensitive because MJ hands UUIDs back in either casing depending on how
70
+ * the record was loaded (MJ's UUID_COMPARISON_GUIDE); a `===` here would read our own default as the
71
+ * user's choice. Compared by hand rather than through `UUIDsEqual` for the same reason
72
+ * `IsSameContractLevel` does: these free functions stay importable by a test with no MJ runtime
73
+ * standing behind them.
74
+ */
75
+ function holdsOurDefault(state) {
76
+ const current = (state.currentTemplateID ?? '').trim();
77
+ if (!current)
78
+ return false;
79
+ const defaulted = (state.lastDefaultedID ?? '').trim();
80
+ if (!defaulted)
81
+ return false;
82
+ return current.toLowerCase() === defaulted.toLowerCase();
83
+ }
84
+ /**
85
+ * May this panel write the template field at all — the half of every rule that needs no database?
86
+ *
87
+ * Exported separately so the caller can ask it BEFORE reading the contract type, the only input the
88
+ * rules below need that costs a query. It is false for every saved contract, which is what keeps an
89
+ * ordinary form open free of one.
90
+ *
91
+ * NAMED FOR PERMISSION RATHER THAN FOR DEFAULTING, because it now gates two opposite writes — the
92
+ * default and its withdrawal — and both are allowed in exactly the same circumstances: the contract
93
+ * is unsaved, and the field is either empty or still holds our own default. It was
94
+ * `RecordWantsDefaultTemplate` while defaulting was the only thing it guarded.
95
+ *
96
+ * · **a SAVED contract is never touched.** Its template is a fact about an agreement that exists,
97
+ * and re-deciding it when someone opens the form would rewrite history on a record the user only
98
+ * came to read.
99
+ * · **an empty field is fair game** — the ordinary case the issue is about.
100
+ * · **a HAND-PICKED template is never touched.** A user who deliberately chose last year's version
101
+ * and then corrected the type must not silently get this year's back, and must not have theirs
102
+ * taken away either. We may only overwrite what we ourselves put there.
103
+ */
104
+ export function MayWriteDefaultTemplate(state) {
105
+ if (state.isSaved)
106
+ return false;
107
+ const current = (state.currentTemplateID ?? '').trim();
108
+ if (!current)
109
+ return true;
110
+ return holdsOurDefault(state);
111
+ }
112
+ /**
113
+ * Take back a template we defaulted, once the type stops wanting one (review of PR #51).
114
+ *
115
+ * THE BUG THIS EXISTS TO CLOSE. Picking Order Form fills the field in; changing the type to Change
116
+ * Order used to leave it filled, because the defaulting rule saw a type that needs no template and
117
+ * simply stopped — treating "there was never anything to do here" and "what I put here no longer
118
+ * belongs" as the same case. Nothing downstream caught it: `ContractEntityServer` refuses a MISSING
119
+ * template on a type that requires one and says nothing about a present one on a type that does not.
120
+ * The contract saved, claiming to incorporate a full set of standard terms nobody chose.
121
+ *
122
+ * A default leaves with the type that supplied it — the same principle the renewal-field defaults
123
+ * follow.
124
+ *
125
+ * ONLY OUR OWN DEFAULT IS WITHDRAWN. A template the user picked by hand stays, exactly as it stays
126
+ * through a default; `holdsOurDefault` is the single comparison both directions read.
127
+ *
128
+ * Clearing the type entirely withdraws it too, and that is deliberate: the caller reports a type it
129
+ * genuinely could not find as `templateRequired = false`, and a contract with no type has nothing
130
+ * asserting that those standard terms apply. A type it could not READ is a different answer, and the
131
+ * caller must not translate that into `false` — see the panel's `typeRequiresTemplate`.
132
+ */
133
+ export function ShouldWithdrawDefaultTemplate(state) {
134
+ if (state.templateRequired)
135
+ return false;
136
+ if (state.isSaved)
137
+ return false;
138
+ return holdsOurDefault(state);
139
+ }
140
+ /**
141
+ * The whole rule in the other direction: may we default this contract's template right now?
142
+ *
143
+ * `templateRequired` is `ContractType.TemplateRequired`, read from the type the contract currently
144
+ * names. It gates the default because the flag is what says a type's terms live in a template at
145
+ * all: Change Order is the one seeded type carrying `0`, and it carries no template of its own —
146
+ * a modification recorded on a change order cites a provision of a template at or above it in the
147
+ * tree. Defaulting one onto it would assert an incorporation nobody made.
148
+ *
149
+ * A contract with NO type yet cannot be defaulted either, and falls out of this naturally: the
150
+ * caller has no type to read `TemplateRequired` from, so it passes `false`.
151
+ */
152
+ export function ShouldDefaultTemplate(state) {
153
+ return state.templateRequired && MayWriteDefaultTemplate(state);
154
+ }
155
+ //# sourceMappingURL=default-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-template.js","sourceRoot":"","sources":["../src/default-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AAYjF;;;;;;;;;;;;;;;GAeG;AACH,SAAS,eAAe,CAAC,KAA2B;IAChD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA2B;IAC/D,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAA2D;IACrG,IAAI,KAAK,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA2D;IAC7F,OAAO,KAAK,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC"}
@@ -158,6 +158,10 @@ export declare const mjBizAppsContractsContractTypeSchema: z.ZodObject<{
158
158
  TemplateRequired: z.ZodBoolean;
159
159
  __mj_CreatedAt: z.ZodDate;
160
160
  __mj_UpdatedAt: z.ZodDate;
161
+ DefaultAutoRenew: z.ZodNullable<z.ZodBoolean>;
162
+ DefaultRenewalNoticeDays: z.ZodNullable<z.ZodNumber>;
163
+ DefaultCancellationWindowDays: z.ZodNullable<z.ZodNumber>;
164
+ DefaultAnnualIncreasePercent: z.ZodNullable<z.ZodNumber>;
161
165
  }, "strip", z.ZodTypeAny, {
162
166
  ID?: string;
163
167
  __mj_CreatedAt?: Date;
@@ -169,6 +173,10 @@ export declare const mjBizAppsContractsContractTypeSchema: z.ZodObject<{
169
173
  MustBeRoot?: boolean;
170
174
  MustBeChild?: boolean;
171
175
  TemplateRequired?: boolean;
176
+ DefaultAutoRenew?: boolean;
177
+ DefaultRenewalNoticeDays?: number;
178
+ DefaultCancellationWindowDays?: number;
179
+ DefaultAnnualIncreasePercent?: number;
172
180
  }, {
173
181
  ID?: string;
174
182
  __mj_CreatedAt?: Date;
@@ -180,6 +188,10 @@ export declare const mjBizAppsContractsContractTypeSchema: z.ZodObject<{
180
188
  MustBeRoot?: boolean;
181
189
  MustBeChild?: boolean;
182
190
  TemplateRequired?: boolean;
191
+ DefaultAutoRenew?: boolean;
192
+ DefaultRenewalNoticeDays?: number;
193
+ DefaultCancellationWindowDays?: number;
194
+ DefaultAnnualIncreasePercent?: number;
183
195
  }>;
184
196
  export type mjBizAppsContractsContractTypeEntityType = z.infer<typeof mjBizAppsContractsContractTypeSchema>;
185
197
  /**
@@ -752,6 +764,9 @@ export declare class mjBizAppsContractsContractTypeEntity extends BaseEntity<mjB
752
764
  Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
753
765
  /**
754
766
  * Validate() method override for MJ_BizApps_Contracts: Contract Types entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
767
+ * * DefaultAnnualIncreasePercent: The default annual increase percentage must be greater than or equal to 0% if it is specified.
768
+ * * DefaultCancellationWindowDays: The default cancellation window days, if specified, must be a non-negative number (0 or greater).
769
+ * * DefaultRenewalNoticeDays: The default renewal notice days, if specified, must be 0 or greater to ensure a valid notice period.
755
770
  * * Table-Level: An entity cannot be designated as both a root and a child at the same time.
756
771
  * @public
757
772
  * @method
@@ -759,6 +774,27 @@ export declare class mjBizAppsContractsContractTypeEntity extends BaseEntity<mjB
759
774
  */
760
775
  Validate(): ValidationResult;
761
776
  /**
777
+ * The default annual increase percentage must be greater than or equal to 0% if it is specified.
778
+ * @param result - the ValidationResult object to add any errors or warnings to
779
+ * @public
780
+ * @method
781
+ */
782
+ ValidateDefaultAnnualIncreasePercentGreaterThanOrEqualToZero(result: ValidationResult): void;
783
+ /**
784
+ * The default cancellation window days, if specified, must be a non-negative number (0 or greater).
785
+ * @param result - the ValidationResult object to add any errors or warnings to
786
+ * @public
787
+ * @method
788
+ */
789
+ ValidateDefaultCancellationWindowDaysMin(result: ValidationResult): void;
790
+ /**
791
+ * The default renewal notice days, if specified, must be 0 or greater to ensure a valid notice period.
792
+ * @param result - the ValidationResult object to add any errors or warnings to
793
+ * @public
794
+ * @method
795
+ */
796
+ ValidateDefaultRenewalNoticeDaysMin(result: ValidationResult): void;
797
+ /**
762
798
  * An entity cannot be designated as both a root and a child at the same time.
763
799
  * @param result - the ValidationResult object to add any errors or warnings to
764
800
  * @public
@@ -850,6 +886,38 @@ export declare class mjBizAppsContractsContractTypeEntity extends BaseEntity<mjB
850
886
  * * Default Value: getutcdate()
851
887
  */
852
888
  get __mj_UpdatedAt(): Date;
889
+ /**
890
+ * * Field Name: DefaultAutoRenew
891
+ * * Display Name: Default Auto Renew
892
+ * * SQL Data Type: bit
893
+ * * Description: Seeds Contract.AutoRenew when a new contract picks this type. NULL means the type has no opinion and the contract is left alone — which is why this is nullable where the contract's own column is not. Copied once, on an unsaved contract; never consulted afterwards and never enforced.
894
+ */
895
+ get DefaultAutoRenew(): boolean | null;
896
+ set DefaultAutoRenew(value: boolean | null);
897
+ /**
898
+ * * Field Name: DefaultRenewalNoticeDays
899
+ * * Display Name: Default Renewal Notice Days
900
+ * * SQL Data Type: int
901
+ * * Description: Seeds Contract.RenewalNoticeDays — the notice WE owe the customer before a renewal price change. NULL means no default. A starting point for whoever reads the paper, not a term of any agreement.
902
+ */
903
+ get DefaultRenewalNoticeDays(): number | null;
904
+ set DefaultRenewalNoticeDays(value: number | null);
905
+ /**
906
+ * * Field Name: DefaultCancellationWindowDays
907
+ * * Display Name: Default Cancellation Window Days
908
+ * * SQL Data Type: int
909
+ * * Description: Seeds Contract.CancellationWindowDays — the notice the CUSTOMER owes us to cancel. Deliberately a separate default from the renewal notice even where a type sets them equal: one obligation is ours and the other theirs, and a single default would hide that.
910
+ */
911
+ get DefaultCancellationWindowDays(): number | null;
912
+ set DefaultCancellationWindowDays(value: number | null);
913
+ /**
914
+ * * Field Name: DefaultAnnualIncreasePercent
915
+ * * Display Name: Default Annual Increase Percent
916
+ * * SQL Data Type: decimal(7, 4)
917
+ * * Description: Seeds Contract.AnnualIncreasePercent — the year-over-year uplift this kind of agreement usually carries. NULL means no default. Same precision as the column it seeds, so a legal default can never seed an unsaveable contract.
918
+ */
919
+ get DefaultAnnualIncreasePercent(): number | null;
920
+ set DefaultAnnualIncreasePercent(value: number | null);
853
921
  }
854
922
  /**
855
923
  * MJ_BizApps_Contracts: Contracts - strongly typed entity sub-class
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses.d.ts","sourceRoot":"","sources":["../../src/generated/entity_subclasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity_subclasses.d.ts","sourceRoot":"","sources":["../../src/generated/entity_subclasses.ts"],"names":[],"mappings":"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"}
@@ -277,6 +277,26 @@ export const mjBizAppsContractsContractTypeSchema = z.object({
277
277
  * * Display Name: Updated At
278
278
  * * SQL Data Type: datetimeoffset
279
279
  * * Default Value: getutcdate()`),
280
+ DefaultAutoRenew: z.boolean().nullable().describe(`
281
+ * * Field Name: DefaultAutoRenew
282
+ * * Display Name: Default Auto Renew
283
+ * * SQL Data Type: bit
284
+ * * Description: Seeds Contract.AutoRenew when a new contract picks this type. NULL means the type has no opinion and the contract is left alone — which is why this is nullable where the contract's own column is not. Copied once, on an unsaved contract; never consulted afterwards and never enforced.`),
285
+ DefaultRenewalNoticeDays: z.number().nullable().describe(`
286
+ * * Field Name: DefaultRenewalNoticeDays
287
+ * * Display Name: Default Renewal Notice Days
288
+ * * SQL Data Type: int
289
+ * * Description: Seeds Contract.RenewalNoticeDays — the notice WE owe the customer before a renewal price change. NULL means no default. A starting point for whoever reads the paper, not a term of any agreement.`),
290
+ DefaultCancellationWindowDays: z.number().nullable().describe(`
291
+ * * Field Name: DefaultCancellationWindowDays
292
+ * * Display Name: Default Cancellation Window Days
293
+ * * SQL Data Type: int
294
+ * * Description: Seeds Contract.CancellationWindowDays — the notice the CUSTOMER owes us to cancel. Deliberately a separate default from the renewal notice even where a type sets them equal: one obligation is ours and the other theirs, and a single default would hide that.`),
295
+ DefaultAnnualIncreasePercent: z.number().nullable().describe(`
296
+ * * Field Name: DefaultAnnualIncreasePercent
297
+ * * Display Name: Default Annual Increase Percent
298
+ * * SQL Data Type: decimal(7, 4)
299
+ * * Description: Seeds Contract.AnnualIncreasePercent — the year-over-year uplift this kind of agreement usually carries. NULL means no default. Same precision as the column it seeds, so a legal default can never seed an unsaveable contract.`),
280
300
  });
281
301
  /**
282
302
  * zod schema definition for the entity MJ_BizApps_Contracts: Contracts
@@ -1101,6 +1121,9 @@ let mjBizAppsContractsContractTypeEntity = class mjBizAppsContractsContractTypeE
1101
1121
  }
1102
1122
  /**
1103
1123
  * Validate() method override for MJ_BizApps_Contracts: Contract Types entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
1124
+ * * DefaultAnnualIncreasePercent: The default annual increase percentage must be greater than or equal to 0% if it is specified.
1125
+ * * DefaultCancellationWindowDays: The default cancellation window days, if specified, must be a non-negative number (0 or greater).
1126
+ * * DefaultRenewalNoticeDays: The default renewal notice days, if specified, must be 0 or greater to ensure a valid notice period.
1104
1127
  * * Table-Level: An entity cannot be designated as both a root and a child at the same time.
1105
1128
  * @public
1106
1129
  * @method
@@ -1108,11 +1131,47 @@ let mjBizAppsContractsContractTypeEntity = class mjBizAppsContractsContractTypeE
1108
1131
  */
1109
1132
  Validate() {
1110
1133
  const result = super.Validate();
1134
+ this.ValidateDefaultAnnualIncreasePercentGreaterThanOrEqualToZero(result);
1135
+ this.ValidateDefaultCancellationWindowDaysMin(result);
1136
+ this.ValidateDefaultRenewalNoticeDaysMin(result);
1111
1137
  this.ValidateRootAndChildExclusivity(result);
1112
1138
  result.Success = result.Success && (result.Errors.length === 0);
1113
1139
  return result;
1114
1140
  }
1115
1141
  /**
1142
+ * The default annual increase percentage must be greater than or equal to 0% if it is specified.
1143
+ * @param result - the ValidationResult object to add any errors or warnings to
1144
+ * @public
1145
+ * @method
1146
+ */
1147
+ ValidateDefaultAnnualIncreasePercentGreaterThanOrEqualToZero(result) {
1148
+ if (this.DefaultAnnualIncreasePercent != null && this.DefaultAnnualIncreasePercent < 0) {
1149
+ result.Errors.push(new ValidationErrorInfo("DefaultAnnualIncreasePercent", "Default annual increase percentage must be greater than or equal to 0.", this.DefaultAnnualIncreasePercent, ValidationErrorType.Failure));
1150
+ }
1151
+ }
1152
+ /**
1153
+ * The default cancellation window days, if specified, must be a non-negative number (0 or greater).
1154
+ * @param result - the ValidationResult object to add any errors or warnings to
1155
+ * @public
1156
+ * @method
1157
+ */
1158
+ ValidateDefaultCancellationWindowDaysMin(result) {
1159
+ if (this.DefaultCancellationWindowDays != null && this.DefaultCancellationWindowDays < 0) {
1160
+ result.Errors.push(new ValidationErrorInfo("DefaultCancellationWindowDays", "The default cancellation window days must be 0 or greater.", this.DefaultCancellationWindowDays, ValidationErrorType.Failure));
1161
+ }
1162
+ }
1163
+ /**
1164
+ * The default renewal notice days, if specified, must be 0 or greater to ensure a valid notice period.
1165
+ * @param result - the ValidationResult object to add any errors or warnings to
1166
+ * @public
1167
+ * @method
1168
+ */
1169
+ ValidateDefaultRenewalNoticeDaysMin(result) {
1170
+ if (this.DefaultRenewalNoticeDays != null && this.DefaultRenewalNoticeDays < 0) {
1171
+ result.Errors.push(new ValidationErrorInfo("DefaultRenewalNoticeDays", "Default renewal notice days must be 0 or greater.", this.DefaultRenewalNoticeDays, ValidationErrorType.Failure));
1172
+ }
1173
+ }
1174
+ /**
1116
1175
  * An entity cannot be designated as both a root and a child at the same time.
1117
1176
  * @param result - the ValidationResult object to add any errors or warnings to
1118
1177
  * @public
@@ -1244,6 +1303,54 @@ let mjBizAppsContractsContractTypeEntity = class mjBizAppsContractsContractTypeE
1244
1303
  get __mj_UpdatedAt() {
1245
1304
  return this.Get('__mj_UpdatedAt');
1246
1305
  }
1306
+ /**
1307
+ * * Field Name: DefaultAutoRenew
1308
+ * * Display Name: Default Auto Renew
1309
+ * * SQL Data Type: bit
1310
+ * * Description: Seeds Contract.AutoRenew when a new contract picks this type. NULL means the type has no opinion and the contract is left alone — which is why this is nullable where the contract's own column is not. Copied once, on an unsaved contract; never consulted afterwards and never enforced.
1311
+ */
1312
+ get DefaultAutoRenew() {
1313
+ return this.Get('DefaultAutoRenew');
1314
+ }
1315
+ set DefaultAutoRenew(value) {
1316
+ this.Set('DefaultAutoRenew', value);
1317
+ }
1318
+ /**
1319
+ * * Field Name: DefaultRenewalNoticeDays
1320
+ * * Display Name: Default Renewal Notice Days
1321
+ * * SQL Data Type: int
1322
+ * * Description: Seeds Contract.RenewalNoticeDays — the notice WE owe the customer before a renewal price change. NULL means no default. A starting point for whoever reads the paper, not a term of any agreement.
1323
+ */
1324
+ get DefaultRenewalNoticeDays() {
1325
+ return this.Get('DefaultRenewalNoticeDays');
1326
+ }
1327
+ set DefaultRenewalNoticeDays(value) {
1328
+ this.Set('DefaultRenewalNoticeDays', value);
1329
+ }
1330
+ /**
1331
+ * * Field Name: DefaultCancellationWindowDays
1332
+ * * Display Name: Default Cancellation Window Days
1333
+ * * SQL Data Type: int
1334
+ * * Description: Seeds Contract.CancellationWindowDays — the notice the CUSTOMER owes us to cancel. Deliberately a separate default from the renewal notice even where a type sets them equal: one obligation is ours and the other theirs, and a single default would hide that.
1335
+ */
1336
+ get DefaultCancellationWindowDays() {
1337
+ return this.Get('DefaultCancellationWindowDays');
1338
+ }
1339
+ set DefaultCancellationWindowDays(value) {
1340
+ this.Set('DefaultCancellationWindowDays', value);
1341
+ }
1342
+ /**
1343
+ * * Field Name: DefaultAnnualIncreasePercent
1344
+ * * Display Name: Default Annual Increase Percent
1345
+ * * SQL Data Type: decimal(7, 4)
1346
+ * * Description: Seeds Contract.AnnualIncreasePercent — the year-over-year uplift this kind of agreement usually carries. NULL means no default. Same precision as the column it seeds, so a legal default can never seed an unsaveable contract.
1347
+ */
1348
+ get DefaultAnnualIncreasePercent() {
1349
+ return this.Get('DefaultAnnualIncreasePercent');
1350
+ }
1351
+ set DefaultAnnualIncreasePercent(value) {
1352
+ this.Set('DefaultAnnualIncreasePercent', value);
1353
+ }
1247
1354
  };
1248
1355
  mjBizAppsContractsContractTypeEntity = __decorate([
1249
1356
  RegisterClass(BaseEntity, 'MJ_BizApps_Contracts: Contract Types')
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses.js","sourceRoot":"","sources":["../../src/generated/entity_subclasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity_subclasses.js","sourceRoot":"","sources":["../../src/generated/entity_subclasses.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -30,5 +30,7 @@ export * from './contract-state.js';
30
30
  /** Which contracts the Supersedes picker may offer, and how it names them (#28 item 4). */
31
31
  export * from './supersede-candidates.js';
32
32
  export * from './source-record-candidates.js';
33
+ export * from './default-template.js';
34
+ export * from './renewal-defaults.js';
33
35
  export * from './executed-agreement.js';
34
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,+BAA+B,CAAC;AAI9C,cAAc,kBAAkB,CAAC;AAIjC,cAAc,sCAAsC,CAAC;AAIrD,cAAc,mCAAmC,CAAC;AAIlD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAMxC,cAAc,kBAAkB,CAAC;AAEjC,2FAA2F;AAC3F,cAAc,wBAAwB,CAAC;AAIvC,cAAc,4BAA4B,CAAC;AAI3C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,+BAA+B,CAAC;AAI9C,cAAc,kBAAkB,CAAC;AAIjC,cAAc,sCAAsC,CAAC;AAIrD,cAAc,mCAAmC,CAAC;AAIlD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAMxC,cAAc,kBAAkB,CAAC;AAEjC,2FAA2F;AAC3F,cAAc,wBAAwB,CAAC;AAIvC,cAAc,4BAA4B,CAAC;AAK3C,cAAc,oBAAoB,CAAC;AAMnC,cAAc,oBAAoB,CAAC;AAInC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -46,6 +46,15 @@ export * from './supersede-candidates.js';
46
46
  /* Which DEALS the Source-record picker may offer, and how it names them (golive #219). Name-only:
47
47
  * sales depends on this app, so the link stays polymorphic and is resolved from metadata at runtime. */
48
48
  export * from './source-record-candidates.js';
49
+ /* Which template a NEW contract starts with, and when we may write it there (golive #218). The
50
+ * Agreement panel owns the query; the decisions inside it live here, where a unit test reaches them
51
+ * without standing up Angular's DI. */
52
+ export * from './default-template.js';
53
+ /* Seeding the four renewal fields from the Contract Type (golive #217 / C-US1). The pure decision;
54
+ * the I/O half is `ContractEntity.SeedRenewalDefaultsFromType()`. Exported because the form panel
55
+ * needs the field list and the `ContractRenewalField` type, and the tests assert the decision
56
+ * directly rather than restating it. */
57
+ export * from './renewal-defaults.js';
49
58
  /* The file category that clears IsAwaitingDocument (golive #203 item 16 / #213). One spelling, shared by
50
59
  * the view, the migration seed and the form panel that marks a file. */
51
60
  export * from './executed-agreement.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,+BAA+B,CAAC;AAE9C;kFACkF;AAClF,cAAc,kBAAkB,CAAC;AAEjC;qGACqG;AACrG,cAAc,sCAAsC,CAAC;AAErD;wEACwE;AACxE,cAAc,mCAAmC,CAAC;AAElD;wGACwG;AACxG,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAEvC;2FAC2F;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAExC;;;wCAGwC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,2FAA2F;AAC3F,cAAc,wBAAwB,CAAC;AAEvC;wGACwG;AACxG,cAAc,4BAA4B,CAAC;AAE3C;wEACwE;AACxE,cAAc,sBAAsB,CAAC;AAErC;;;;oFAIoF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,+BAA+B,CAAC;AAE9C;kFACkF;AAClF,cAAc,kBAAkB,CAAC;AAEjC;qGACqG;AACrG,cAAc,sCAAsC,CAAC;AAErD;wEACwE;AACxE,cAAc,mCAAmC,CAAC;AAElD;wGACwG;AACxG,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAEvC;2FAC2F;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAExC;;;wCAGwC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,2FAA2F;AAC3F,cAAc,wBAAwB,CAAC;AAEvC;wGACwG;AACxG,cAAc,4BAA4B,CAAC;AAE3C;;uCAEuC;AACvC,cAAc,oBAAoB,CAAC;AAEnC;;;wCAGwC;AACxC,cAAc,oBAAoB,CAAC;AAEnC;wEACwE;AACxE,cAAc,sBAAsB,CAAC;AAErC;;;;oFAIoF"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @fileoverview Seeding the four renewal-obligation fields from the Contract Type (golive #217,
3
+ * story C-US1 / #99).
4
+ *
5
+ * THE RULE IN ONE SENTENCE: when an UNSAVED contract picks a type, each renewal field the user has
6
+ * not touched takes that type's default — and when the type changes again, those same untouched
7
+ * fields follow it.
8
+ *
9
+ * WHAT MAKES THIS A SEED AND NOT A RULE. Nothing here runs at save time and nothing validates
10
+ * against it. `ContractType`'s other three columns (`MustBeRoot`, `MustBeChild`, `TemplateRequired`)
11
+ * are rules — `ContractEntityServer` refuses saves that break them. These four are a starting point
12
+ * for a human reading paper, and the paper always wins. v1 shipped fourteen columns of type-level
13
+ * billing defaults that the rebuild deleted *because the system decided things from them*; pre-filling
14
+ * a field somebody then edits decides nothing, which is why this is not that.
15
+ *
16
+ * THREE CASES, AND THE THIRD IS THE ONE THAT GETS WRITTEN WRONG:
17
+ *
18
+ * · **user edited it** → never written. This is tracked EXPLICITLY (`userEdited`) rather than
19
+ * inferred from dirty state, because for `AutoRenew` the two are indistinguishable: a new
20
+ * contract starts at No, and a user who deliberately chose No has a field holding exactly the
21
+ * value it started with. Inferring from "still the default" would silently overwrite a
22
+ * deliberate answer, which is the single failure this feature must not have.
23
+ * · **the type has a default** → written.
24
+ * · **the type has NO default (NULL)** → the field is restored to what it held BEFORE any seeding,
25
+ * not left alone. Leaving it alone looks harmless and is not: the number on screen would be the
26
+ * PREVIOUS type's default, now sitting on a contract of a type that says nothing about it, with
27
+ * nothing on the form to say where it came from. A seeded value belongs to the seed, so it leaves
28
+ * with the type that put it there.
29
+ *
30
+ * Pure and provider-free for the same reason `IsSameContractLevel` and `FindDuplicateProvisionIDs`
31
+ * are: the decision has cases that are easy to get backwards and none of them needs a database.
32
+ * `ContractEntity.SeedRenewalDefaultsFromType()` is the half that does the I/O.
33
+ *
34
+ * @module @mj-biz-apps/contracts-entities
35
+ */
36
+ /**
37
+ * `ContractType` default column → the `Contract` column it seeds, with the coercion each one needs.
38
+ *
39
+ * The coercion is not decoration. Defaults arrive from a `RunView` with `ResultType: 'simple'`, which
40
+ * hands back raw driver values — a `bit` can surface as `0`/`1`, `true`/`false`, or (through some
41
+ * transports) `'0'`/`'1'`. `Boolean('0')` is `true`, so the obvious cast turns "this type does not
42
+ * auto-renew" into "it does" on exactly the transport that stringifies.
43
+ */
44
+ export declare const RENEWAL_SEED_FIELDS: readonly [{
45
+ readonly TypeField: "DefaultAutoRenew";
46
+ readonly ContractField: "AutoRenew";
47
+ readonly Coerce: typeof toBoolean;
48
+ }, {
49
+ readonly TypeField: "DefaultRenewalNoticeDays";
50
+ readonly ContractField: "RenewalNoticeDays";
51
+ readonly Coerce: typeof toNumber;
52
+ }, {
53
+ readonly TypeField: "DefaultCancellationWindowDays";
54
+ readonly ContractField: "CancellationWindowDays";
55
+ readonly Coerce: typeof toNumber;
56
+ }, {
57
+ readonly TypeField: "DefaultAnnualIncreasePercent";
58
+ readonly ContractField: "AnnualIncreasePercent";
59
+ readonly Coerce: typeof toNumber;
60
+ }];
61
+ /** The four `Contract` columns this module writes. */
62
+ export type ContractRenewalField = (typeof RENEWAL_SEED_FIELDS)[number]['ContractField'];
63
+ /** The four `ContractType` columns it reads. Exported so the `RunView` field list cannot drift. */
64
+ export type ContractTypeDefaultField = (typeof RENEWAL_SEED_FIELDS)[number]['TypeField'];
65
+ /** The shape of the type row, as read. Every column is nullable: NULL means "no opinion". */
66
+ export type ContractTypeRenewalDefaults = Partial<Record<ContractTypeDefaultField, unknown>>;
67
+ /** A set of writes to apply to the contract. Empty when there is nothing to change. */
68
+ export type RenewalSeed = Partial<Record<ContractRenewalField, unknown>>;
69
+ /**
70
+ * `bit` → boolean, surviving every representation a driver might use. `null`/`undefined`/`''` stay
71
+ * absent rather than becoming `false`, because "the type says nothing" and "the type says No" are
72
+ * different answers and only the second one writes.
73
+ */
74
+ declare function toBoolean(v: unknown): boolean | null;
75
+ /**
76
+ * A number, where ZERO IS A VALUE. `0` days of notice is something somebody negotiated and `0%` is a
77
+ * cap, so the guard is `== null` / `NaN` rather than falsiness — the same trap the renewal panel's
78
+ * `Days()` and `Percent()` already avoid.
79
+ */
80
+ declare function toNumber(v: unknown): number | null;
81
+ /**
82
+ * Which of the four fields this type change should write, and to what.
83
+ *
84
+ * @param defaults the type's four default columns, or null when no type is selected — the latter
85
+ * restores every unedited field, so clearing the type undoes its seed.
86
+ * @param current the contract's values right now; a field already holding the target is not
87
+ * returned, so an idempotent re-seed produces no writes and no dirty flag.
88
+ * @param pristine what those fields held BEFORE the first seed on this record. Restored wherever the
89
+ * type offers no default.
90
+ * @param userEdited fields the user has typed into on this record. Never written.
91
+ */
92
+ export declare function ComputeRenewalSeed(args: {
93
+ defaults: ContractTypeRenewalDefaults | null | undefined;
94
+ current: Readonly<RenewalSeed>;
95
+ pristine: Readonly<RenewalSeed>;
96
+ userEdited: ReadonlySet<ContractRenewalField> | readonly ContractRenewalField[];
97
+ }): RenewalSeed;
98
+ export {};
99
+ //# sourceMappingURL=renewal-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renewal-defaults.d.ts","sourceRoot":"","sources":["../src/renewal-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;EAKtB,CAAC;AAEX,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;AAEzF,mGAAmG;AACnG,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AAEzF,6FAA6F;AAC7F,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7F,uFAAuF;AACvF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzE;;;;GAIG;AACH,iBAAS,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAQ7C;AAED;;;;GAIG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI3C;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,QAAQ,EAAE,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,SAAS,oBAAoB,EAAE,CAAC;CACnF,GAAG,WAAW,CAcd"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @fileoverview Seeding the four renewal-obligation fields from the Contract Type (golive #217,
3
+ * story C-US1 / #99).
4
+ *
5
+ * THE RULE IN ONE SENTENCE: when an UNSAVED contract picks a type, each renewal field the user has
6
+ * not touched takes that type's default — and when the type changes again, those same untouched
7
+ * fields follow it.
8
+ *
9
+ * WHAT MAKES THIS A SEED AND NOT A RULE. Nothing here runs at save time and nothing validates
10
+ * against it. `ContractType`'s other three columns (`MustBeRoot`, `MustBeChild`, `TemplateRequired`)
11
+ * are rules — `ContractEntityServer` refuses saves that break them. These four are a starting point
12
+ * for a human reading paper, and the paper always wins. v1 shipped fourteen columns of type-level
13
+ * billing defaults that the rebuild deleted *because the system decided things from them*; pre-filling
14
+ * a field somebody then edits decides nothing, which is why this is not that.
15
+ *
16
+ * THREE CASES, AND THE THIRD IS THE ONE THAT GETS WRITTEN WRONG:
17
+ *
18
+ * · **user edited it** → never written. This is tracked EXPLICITLY (`userEdited`) rather than
19
+ * inferred from dirty state, because for `AutoRenew` the two are indistinguishable: a new
20
+ * contract starts at No, and a user who deliberately chose No has a field holding exactly the
21
+ * value it started with. Inferring from "still the default" would silently overwrite a
22
+ * deliberate answer, which is the single failure this feature must not have.
23
+ * · **the type has a default** → written.
24
+ * · **the type has NO default (NULL)** → the field is restored to what it held BEFORE any seeding,
25
+ * not left alone. Leaving it alone looks harmless and is not: the number on screen would be the
26
+ * PREVIOUS type's default, now sitting on a contract of a type that says nothing about it, with
27
+ * nothing on the form to say where it came from. A seeded value belongs to the seed, so it leaves
28
+ * with the type that put it there.
29
+ *
30
+ * Pure and provider-free for the same reason `IsSameContractLevel` and `FindDuplicateProvisionIDs`
31
+ * are: the decision has cases that are easy to get backwards and none of them needs a database.
32
+ * `ContractEntity.SeedRenewalDefaultsFromType()` is the half that does the I/O.
33
+ *
34
+ * @module @mj-biz-apps/contracts-entities
35
+ */
36
+ /**
37
+ * `ContractType` default column → the `Contract` column it seeds, with the coercion each one needs.
38
+ *
39
+ * The coercion is not decoration. Defaults arrive from a `RunView` with `ResultType: 'simple'`, which
40
+ * hands back raw driver values — a `bit` can surface as `0`/`1`, `true`/`false`, or (through some
41
+ * transports) `'0'`/`'1'`. `Boolean('0')` is `true`, so the obvious cast turns "this type does not
42
+ * auto-renew" into "it does" on exactly the transport that stringifies.
43
+ */
44
+ export const RENEWAL_SEED_FIELDS = [
45
+ { TypeField: 'DefaultAutoRenew', ContractField: 'AutoRenew', Coerce: toBoolean },
46
+ { TypeField: 'DefaultRenewalNoticeDays', ContractField: 'RenewalNoticeDays', Coerce: toNumber },
47
+ { TypeField: 'DefaultCancellationWindowDays', ContractField: 'CancellationWindowDays', Coerce: toNumber },
48
+ { TypeField: 'DefaultAnnualIncreasePercent', ContractField: 'AnnualIncreasePercent', Coerce: toNumber },
49
+ ];
50
+ /**
51
+ * `bit` → boolean, surviving every representation a driver might use. `null`/`undefined`/`''` stay
52
+ * absent rather than becoming `false`, because "the type says nothing" and "the type says No" are
53
+ * different answers and only the second one writes.
54
+ */
55
+ function toBoolean(v) {
56
+ if (v === null || v === undefined || v === '')
57
+ return null;
58
+ if (typeof v === 'boolean')
59
+ return v;
60
+ if (typeof v === 'number')
61
+ return v !== 0;
62
+ const s = String(v).trim().toLowerCase();
63
+ if (s === '1' || s === 'true' || s === 'yes')
64
+ return true;
65
+ if (s === '0' || s === 'false' || s === 'no')
66
+ return false;
67
+ return null;
68
+ }
69
+ /**
70
+ * A number, where ZERO IS A VALUE. `0` days of notice is something somebody negotiated and `0%` is a
71
+ * cap, so the guard is `== null` / `NaN` rather than falsiness — the same trap the renewal panel's
72
+ * `Days()` and `Percent()` already avoid.
73
+ */
74
+ function toNumber(v) {
75
+ if (v === null || v === undefined || v === '')
76
+ return null;
77
+ const n = typeof v === 'number' ? v : Number(v);
78
+ return Number.isFinite(n) ? n : null;
79
+ }
80
+ /**
81
+ * Are these two field values the same, for the purpose of deciding whether a write is needed?
82
+ *
83
+ * `undefined` and `null` are both "absent" — MJ hands back either depending on how the row was
84
+ * loaded — and a numeric string from a form input equals the number it parses to. Without the second
85
+ * half, every seed would re-write values that already matched and mark the form dirty for nothing.
86
+ */
87
+ function sameValue(a, b) {
88
+ const norm = (v) => {
89
+ if (v === null || v === undefined || v === '')
90
+ return null;
91
+ if (typeof v === 'boolean')
92
+ return v;
93
+ const n = typeof v === 'number' ? v : Number(v);
94
+ return Number.isFinite(n) && String(v).trim() !== '' ? n : v;
95
+ };
96
+ return Object.is(norm(a), norm(b));
97
+ }
98
+ /**
99
+ * Which of the four fields this type change should write, and to what.
100
+ *
101
+ * @param defaults the type's four default columns, or null when no type is selected — the latter
102
+ * restores every unedited field, so clearing the type undoes its seed.
103
+ * @param current the contract's values right now; a field already holding the target is not
104
+ * returned, so an idempotent re-seed produces no writes and no dirty flag.
105
+ * @param pristine what those fields held BEFORE the first seed on this record. Restored wherever the
106
+ * type offers no default.
107
+ * @param userEdited fields the user has typed into on this record. Never written.
108
+ */
109
+ export function ComputeRenewalSeed(args) {
110
+ const edited = args.userEdited instanceof Set ? args.userEdited : new Set(args.userEdited);
111
+ const seed = {};
112
+ for (const field of RENEWAL_SEED_FIELDS) {
113
+ if (edited.has(field.ContractField))
114
+ continue;
115
+ const offered = field.Coerce(args.defaults?.[field.TypeField]);
116
+ const target = offered === null ? (args.pristine[field.ContractField] ?? null) : offered;
117
+ if (sameValue(target, args.current[field.ContractField]))
118
+ continue;
119
+ seed[field.ContractField] = target;
120
+ }
121
+ return seed;
122
+ }
123
+ //# sourceMappingURL=renewal-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renewal-defaults.js","sourceRoot":"","sources":["../src/renewal-defaults.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mj-biz-apps/contracts-entities",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Generated entity subclasses for the app schema. TODO(template): rename package + description.",
6
6
  "main": "dist/index.js",