@mj-biz-apps/sales-core-entities-server 6.9.2 → 6.10.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.
@@ -281,6 +281,15 @@ export declare class DealEntityServer extends DealEntity {
281
281
  */
282
282
  private readonly _orderStatusWarnings;
283
283
  get OrderStatusWarnings(): readonly string[];
284
+ /**
285
+ * Raised when a caller supplied `OwnerEmployeeID` and the roster overrode it.
286
+ *
287
+ * SEPARATE FROM THE ORDER-STATUS WARNINGS because they are about different things and the close
288
+ * operation renders them against different fields. Same shape and same lifetime: cleared per
289
+ * save, read after it.
290
+ */
291
+ private readonly _ownerStampWarnings;
292
+ get OwnerStampWarnings(): readonly string[];
284
293
  /**
285
294
  * Resolves what this save's stage change asks of the order. Reads only; opens nothing.
286
295
  *
@@ -739,6 +748,23 @@ export declare class DealEntityServer extends DealEntity {
739
748
  * itself. The flag is read off the row, never assumed: `LocksDeal` and `IsLost` stay `false`.
740
749
  */
741
750
  private readStatusLockFlags;
751
+ /**
752
+ * Refuses a customer or primary contact that this save writes and the database no longer holds.
753
+ *
754
+ * Only a value the caller SUPPLIES is checked. One already on disk is guaranteed by
755
+ * `FK_Deal_SalesAccount` and `FK_Deal_PrimaryContact`, so reading it again proves nothing. A
756
+ * supplied value can name a row that does not exist in two measured ways: it was picked from a list
757
+ * read before a data reload re-keyed the customers, or the inline-create slide-in reported an id
758
+ * other than the one it wrote (`DECISIONS-NEEDED.md` DN-19, the "INTERMITTENT" entry).
759
+ *
760
+ * A malformed id is refused without a read, so it never reaches the filter.
761
+ *
762
+ * A read that FAILS does not refuse. The constraints still hold, so the save loses only this
763
+ * clearer message; refusing on a transient read would block every deal edit instead.
764
+ */
765
+ private missingPartyRefusal;
766
+ private missingPartyMessage;
767
+ private suppliedParties;
742
768
  /**
743
769
  * Forces `Deal.CompanyID` to the pipeline's company, ignoring whatever the caller supplied.
744
770
  *
@@ -830,7 +856,35 @@ export declare class DealEntityServer extends DealEntity {
830
856
  * IS part of that save, and the server re-derives the same value from it a moment later. The two
831
857
  * conditions mirror `stampOwnerFromTeam`'s guard exactly, which is what keeps them from disagreeing.
832
858
  */
833
- private ownerStampEditRefusal;
859
+ /**
860
+ * A caller-supplied `OwnerEmployeeID` loses to the roster, and the override is REPORTED.
861
+ *
862
+ * ── THIS USED TO REFUSE THE WHOLE SAVE, AND THAT COST MORE THAN IT PROTECTED ────────────────
863
+ *
864
+ * `SD26` asserted the refusal and its comment said why a correction was rejected: *"A save that
865
+ * quietly fixed the value would produce the same surprise — the owner is not who the caller said
866
+ * — with nothing to notice."* That objection is right, and it is an argument for NOTICING, not
867
+ * for refusing. Hence the warning below.
868
+ *
869
+ * What refusing cost, found in review of sales#147: a deal page open since before someone used
870
+ * the Internal team grid sends back the owner it LOADED. The server sees a value that differs
871
+ * from the row it just read, reads that as a hand-set owner, and refuses — so an unrelated edit
872
+ * to Next Step is lost, and the message tells the user to do the thing they just did. There is no
873
+ * signal in the payload separating a stale value from a deliberate one, so no narrower rule works.
874
+ *
875
+ * ── IT IS ALSO WHAT THE SIBLING FIELD ALREADY DOES ──────────────────────────────────────────
876
+ *
877
+ * `CompanyID` and `OwnerEmployeeID` are both `serverMaintained` in the form's field list, both
878
+ * derived, and both have exactly one right answer obtainable elsewhere. `stampCompanyFromPipeline`
879
+ * OVERWRITES a supplied company for that reason. Nothing principled made the owner refuse instead;
880
+ * the two now behave the same way.
881
+ *
882
+ * Loading the roster is what makes the override happen: `stampOwnerFromTeam()` runs below and is
883
+ * guarded by `RosterDrivesThisSave`, which asks `Team.IsLoaded`. A load failure leaves the roster
884
+ * absent, the derivation declines, and the supplied value stands — so the failure is recorded as a
885
+ * warning too rather than passing silently.
886
+ */
887
+ private overrideSuppliedOwnerStamp;
834
888
  /**
835
889
  * Is the ROSTER driving this save, rather than a caller naming an owner out of thin air?
836
890
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DealEntityServer.d.ts","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DealEntityServer.d.ts","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,OAAO,EAIH,iBAAiB,EAIpB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAGH,UAAU,EAGb,MAAM,6BAA6B,CAAC;AA2JrC;;;;;GAKG;AACH;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAqBpD,qBACa,gBAAiB,SAAQ,UAAU;IAC5C;;;;OAIG;IACH,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACmB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YA0B3D,YAAY;IA2X1B;;;;;;;;;;;;OAYG;YACW,oBAAoB;IA4DlC;;;;;;;;;;;;;;;;OAgBG;YACW,mBAAmB;IAgEjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,cAAc;IAmDtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;YACW,eAAe;IAiK7B;;;;;;OAMG;YACW,gBAAgB;IAqD9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,+BAA+B;IAgBvC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAErD,IAAW,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAElD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IAEpD,IAAW,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;YACW,iBAAiB;IA2F/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;IAmE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;YACW,sBAAsB;YAoBtB,oBAAoB;IAoDlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;YACW,oBAAoB;IA8BlC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;YACW,qBAAqB;IA2DnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;YACW,sBAAsB;IA0HpC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB,CAAS;IAEtC;;;;;;;;;;;;OAYG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACI,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI7E,sFAAsF;IACtF,IAAW,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE3C;IAED,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,aAAa,CAAS;IAC9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAAuB;IAEpD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAG7C;IAEH;;;;;OAKG;IACU,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAS/D;;;;;;;OAOG;IACH;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,UAAU;IA6BlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,OAAO,CAAC,qBAAqB;YAmBf,cAAc;IAkI5B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;YACW,mBAAmB;IAyBjC;;;;;;;;;;;;;OAaG;YACW,mBAAmB;IAqCjC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,eAAe;IAavB;;;;;;;;;;;;;;OAcG;YACW,wBAAwB;IA4BtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;YACW,6BAA6B;IAsD3C;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;YACW,0BAA0B;IAwBxC;;;;;;;;;;;;;OAaG;IACH,OAAO,KAAK,oBAAoB,GAE/B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;YACW,uBAAuB;IAerC;;;;;OAKG;YACW,6BAA6B;IAiC3C,6FAA6F;YAC/E,iBAAiB;YA+BjB,iBAAiB;IAwC/B,+FAA+F;YACjF,sBAAsB;IAiCpC;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;YAMX,kBAAkB;CASnC"}
@@ -62,6 +62,9 @@ import { SALES_SCHEMA, getNextDealNumber } from './SequenceService.js';
62
62
  const DEAL_ENTITY = 'MJ_BizApps_Sales: Deals';
63
63
  const PIPELINE_ENTITY = 'MJ_BizApps_Sales: Pipelines';
64
64
  const DEAL_STATUS_ENTITY = 'MJ_BizApps_Sales: Deal Status Types';
65
+ const SALES_ACCOUNT_ENTITY = 'MJ_BizApps_Sales: Sales Accounts';
66
+ const SALES_CONTACT_ENTITY = 'MJ_BizApps_Sales: Sales Contacts';
67
+ const GUID_SHAPE = /^[0-9a-fA-F-]{36}$/;
65
68
  /**
66
69
  * Accounting's two currency entities — READ, never written, and never assumed present.
67
70
  *
@@ -100,6 +103,14 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
100
103
  * only a server log carries is one a rep never reads.
101
104
  */
102
105
  this._orderStatusWarnings = [];
106
+ /**
107
+ * Raised when a caller supplied `OwnerEmployeeID` and the roster overrode it.
108
+ *
109
+ * SEPARATE FROM THE ORDER-STATUS WARNINGS because they are about different things and the close
110
+ * operation renders them against different fields. Same shape and same lifetime: cleared per
111
+ * save, read after it.
112
+ */
113
+ this._ownerStampWarnings = [];
103
114
  /* ── The close lock (L-17, master plan §7.3) ────────────────────────────── */
104
115
  /**
105
116
  * Set only for the duration of {@link BeginReopen}, which is the ONE audited path through the lock.
@@ -212,6 +223,7 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
212
223
  // Per-save, so a caller reading them after `Save()` sees this save's warnings and not the last
213
224
  // one's. Cleared before the close lock can return early — an abandoned save has no warnings.
214
225
  this._orderStatusWarnings.length = 0;
226
+ this._ownerStampWarnings.length = 0;
215
227
  this._orderJustProvisioned = false;
216
228
  this._lockedAtSave = false;
217
229
  this._lastStageEventID = null;
@@ -320,10 +332,7 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
320
332
  * field, and a rule that only the UI enforces is not a rule. Runs before the stamps below so a
321
333
  * refused save costs nothing.
322
334
  */
323
- const ownerRefusal = this.ownerStampEditRefusal();
324
- if (ownerRefusal) {
325
- return this.refuseSave(ownerRefusal);
326
- }
335
+ await this.overrideSuppliedOwnerStamp();
327
336
  /**
328
337
  * Before the stamps, for the reason the owner refusal is: a refused save should cost nothing.
329
338
  * This one reads, so it is not free -- but one lookup is still cheaper than a transaction that
@@ -357,6 +366,17 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
357
366
  if (stageRefusal) {
358
367
  return this.refuseSave(stageRefusal);
359
368
  }
369
+ /**
370
+ * A CUSTOMER OR CONTACT THAT NO LONGER EXISTS IS REFUSED BY NAME, BEFORE THE ORDER IS BUILT.
371
+ *
372
+ * The embedded order is saved first in the graph and takes its bill-to from this deal, so a
373
+ * missing customer otherwise fails on the ORDER's foreign key, with a SQL error naming
374
+ * `FK_OrderHeader_BillToOrganization` rather than the stale selection that caused it.
375
+ */
376
+ const partyRefusal = await this.missingPartyRefusal();
377
+ if (partyRefusal) {
378
+ return this.refuseSave(partyRefusal);
379
+ }
360
380
  try {
361
381
  await this.stampCompanyFromPipeline();
362
382
  await this.stampOwnerFromTeam();
@@ -1075,6 +1095,9 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
1075
1095
  get OrderStatusWarnings() {
1076
1096
  return this._orderStatusWarnings;
1077
1097
  }
1098
+ get OwnerStampWarnings() {
1099
+ return this._ownerStampWarnings;
1100
+ }
1078
1101
  /**
1079
1102
  * Resolves what this save's stage change asks of the order. Reads only; opens nothing.
1080
1103
  *
@@ -2070,6 +2093,65 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
2070
2093
  const row = (result.Results ?? [])[0];
2071
2094
  return { LocksDeal: row?.LocksDeal === true, IsLost: row?.IsLost === true, Read: !!row, Absent: !row };
2072
2095
  }
2096
+ /* ── Parties ────────────────────────────────────────────────────────────── */
2097
+ /**
2098
+ * Refuses a customer or primary contact that this save writes and the database no longer holds.
2099
+ *
2100
+ * Only a value the caller SUPPLIES is checked. One already on disk is guaranteed by
2101
+ * `FK_Deal_SalesAccount` and `FK_Deal_PrimaryContact`, so reading it again proves nothing. A
2102
+ * supplied value can name a row that does not exist in two measured ways: it was picked from a list
2103
+ * read before a data reload re-keyed the customers, or the inline-create slide-in reported an id
2104
+ * other than the one it wrote (`DECISIONS-NEEDED.md` DN-19, the "INTERMITTENT" entry).
2105
+ *
2106
+ * A malformed id is refused without a read, so it never reaches the filter.
2107
+ *
2108
+ * A read that FAILS does not refuse. The constraints still hold, so the save loses only this
2109
+ * clearer message; refusing on a transient read would block every deal edit instead.
2110
+ */
2111
+ async missingPartyRefusal() {
2112
+ const checks = this.suppliedParties();
2113
+ if (!checks.length) {
2114
+ return null;
2115
+ }
2116
+ const malformed = checks.filter((c) => !GUID_SHAPE.test(c.ID));
2117
+ if (malformed.length) {
2118
+ return this.missingPartyMessage(malformed);
2119
+ }
2120
+ const provider = this.ProviderToUse;
2121
+ const results = await provider.RunViews(checks.map((c) => ({
2122
+ EntityName: c.EntityName,
2123
+ ExtraFilter: `ID = '${c.ID}'`,
2124
+ ResultType: 'simple',
2125
+ Fields: ['ID'],
2126
+ })), this.ContextCurrentUser);
2127
+ const missing = checks.filter((c, i) => {
2128
+ const result = results[i];
2129
+ if (!result?.Success) {
2130
+ LogError(`DealEntityServer.missingPartyRefusal: could not read ${c.Label} ${c.ID}: ${result?.ErrorMessage}`);
2131
+ return false;
2132
+ }
2133
+ return (result.Results ?? []).length === 0;
2134
+ });
2135
+ if (!missing.length) {
2136
+ return null;
2137
+ }
2138
+ return this.missingPartyMessage(missing);
2139
+ }
2140
+ missingPartyMessage(missing) {
2141
+ const named = missing.map((c) => `${c.Label} (${c.ID})`).join(' and ');
2142
+ const verb = missing.length > 1 ? 'do' : 'does';
2143
+ return `The selected ${named} ${verb} not exist, so nothing was saved. Select it again from the list, then save.`;
2144
+ }
2145
+ suppliedParties() {
2146
+ const checks = [];
2147
+ if (this.AccountID && this.callerSuppliedValue('AccountID', this.AccountID)) {
2148
+ checks.push({ EntityName: SALES_ACCOUNT_ENTITY, ID: this.AccountID, Label: 'customer' });
2149
+ }
2150
+ if (this.PrimaryContactID && this.callerSuppliedValue('PrimaryContactID', this.PrimaryContactID)) {
2151
+ checks.push({ EntityName: SALES_CONTACT_ENTITY, ID: this.PrimaryContactID, Label: 'primary contact' });
2152
+ }
2153
+ return checks;
2154
+ }
2073
2155
  /* ── Selling company ────────────────────────────────────────────────────── */
2074
2156
  /**
2075
2157
  * Forces `Deal.CompanyID` to the pipeline's company, ignoring whatever the caller supplied.
@@ -2222,15 +2304,51 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
2222
2304
  * IS part of that save, and the server re-derives the same value from it a moment later. The two
2223
2305
  * conditions mirror `stampOwnerFromTeam`'s guard exactly, which is what keeps them from disagreeing.
2224
2306
  */
2225
- ownerStampEditRefusal() {
2307
+ /**
2308
+ * A caller-supplied `OwnerEmployeeID` loses to the roster, and the override is REPORTED.
2309
+ *
2310
+ * ── THIS USED TO REFUSE THE WHOLE SAVE, AND THAT COST MORE THAN IT PROTECTED ────────────────
2311
+ *
2312
+ * `SD26` asserted the refusal and its comment said why a correction was rejected: *"A save that
2313
+ * quietly fixed the value would produce the same surprise — the owner is not who the caller said
2314
+ * — with nothing to notice."* That objection is right, and it is an argument for NOTICING, not
2315
+ * for refusing. Hence the warning below.
2316
+ *
2317
+ * What refusing cost, found in review of sales#147: a deal page open since before someone used
2318
+ * the Internal team grid sends back the owner it LOADED. The server sees a value that differs
2319
+ * from the row it just read, reads that as a hand-set owner, and refuses — so an unrelated edit
2320
+ * to Next Step is lost, and the message tells the user to do the thing they just did. There is no
2321
+ * signal in the payload separating a stale value from a deliberate one, so no narrower rule works.
2322
+ *
2323
+ * ── IT IS ALSO WHAT THE SIBLING FIELD ALREADY DOES ──────────────────────────────────────────
2324
+ *
2325
+ * `CompanyID` and `OwnerEmployeeID` are both `serverMaintained` in the form's field list, both
2326
+ * derived, and both have exactly one right answer obtainable elsewhere. `stampCompanyFromPipeline`
2327
+ * OVERWRITES a supplied company for that reason. Nothing principled made the owner refuse instead;
2328
+ * the two now behave the same way.
2329
+ *
2330
+ * Loading the roster is what makes the override happen: `stampOwnerFromTeam()` runs below and is
2331
+ * guarded by `RosterDrivesThisSave`, which asks `Team.IsLoaded`. A load failure leaves the roster
2332
+ * absent, the derivation declines, and the supplied value stands — so the failure is recorded as a
2333
+ * warning too rather than passing silently.
2334
+ */
2335
+ async overrideSuppliedOwnerStamp() {
2226
2336
  if (this.RosterDrivesThisSave) {
2227
- return null; // the roster is part of this save; the stamp is derived from it below
2337
+ return; // the roster is already part of this save; the stamp is derived from it below
2228
2338
  }
2229
2339
  if (!this.callerSuppliedValue('OwnerEmployeeID', this.OwnerEmployeeID)) {
2230
- return null; // nobody supplied it. The common case.
2340
+ return; // nobody supplied it. The common case.
2341
+ }
2342
+ try {
2343
+ await this.Team.Load();
2344
+ }
2345
+ catch (err) {
2346
+ this._ownerStampWarnings.push('The owner is set from the deal team, and the team could not be read to check it, so the '
2347
+ + `value supplied was left as it was. ${err instanceof Error ? err.message : String(err)}`);
2348
+ return;
2231
2349
  }
2232
- return ('The owner is set from the deal team. Change the Owner role on the Internal team panel ' +
2233
- 'instead.');
2350
+ this._ownerStampWarnings.push('The owner is set from the deal team, so the value supplied with this save was replaced by '
2351
+ + 'the deal\'s Owner / AE. Change the Owner role on the Internal team panel to change it.');
2234
2352
  }
2235
2353
  /**
2236
2354
  * Is the ROSTER driving this save, rather than a caller naming an owner out of thin air?
@@ -1 +1 @@
1
- {"version":3,"file":"DealEntityServer.js","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DealEntityServer.js","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @fileoverview Keeps `Deal.OwnerEmployeeID` following the roster when the ROSTER is what changed.
3
+ *
4
+ * ── THE GAP ─────────────────────────────────────────────────────────────────────────────────────
5
+ *
6
+ * `DealEntityServer.stampOwnerFromTeam()` derives the stamp from the team, and it is guarded by
7
+ * `RosterDrivesThisSave` — the team must be part of the save. That is true when the deal is saved
8
+ * with its roster, which is how `DealEntity.SetOwner()` and the workspace's owner picker work.
9
+ *
10
+ * It is NOT true when a `DealTeamMember` row is saved on its own, which is exactly what the Deal
11
+ * form's Internal team grid does: `<mj-explorer-entity-data-grid>` saves the child row and nothing
12
+ * else. So adding yourself as Owner / AE there left the grid showing an owner and the deal still
13
+ * reporting "No owner assigned." (bc-aidp-next-golive#291).
14
+ *
15
+ * The sharpest version of that: `DealEntityServer.ownerStampEditRefusal()` refuses a hand-set owner
16
+ * with *"The owner is set from the deal team. Change the Owner role on the Internal team panel
17
+ * instead."* — and the Internal team panel was the one path that did not update it.
18
+ *
19
+ * ── WHY A CHILD SUBCLASS AND NOT A FORM FIX ─────────────────────────────────────────────────────
20
+ *
21
+ * The grid is MJ's generic related-entity grid; there is no panel hook to attach to, and a fix there
22
+ * would cover one caller. An importer, an Action or a direct API write against `DealTeamMember`
23
+ * reaches the same state, and the rule — the stamp follows the roster — is the deal's, not a form's.
24
+ *
25
+ * ── IT RE-DERIVES RATHER THAN ASSIGNING ─────────────────────────────────────────────────────────
26
+ *
27
+ * This does not compute an owner and write it. It loads the deal WITH its team and saves, which makes
28
+ * `RosterDrivesThisSave` true and lets `stampOwnerFromTeam()` do exactly what it already does. One
29
+ * derivation, in one place, reached from both paths — the alternative is a second implementation that
30
+ * agrees with the first until it does not.
31
+ *
32
+ * ── AND IT DOES NOT RECURSE ─────────────────────────────────────────────────────────────────────
33
+ *
34
+ * Saving the parent from a child's save looks circular and is not. `BaseEntity.Save()` on a deal with
35
+ * children builds a save plan and routes to `saveGraph`, which executes every node -- the root
36
+ * included -- through `saveAsGraphNode`, and that calls `_InnerSave` directly. Team rows saved as part
37
+ * of a deal's graph therefore never re-enter the `Save()` override below. `DealEntityServer.Save()`
38
+ * documents the same guarantee for itself, which is what makes its own preparation run exactly once.
39
+ *
40
+ * The override fires for the case it is written for: a team row saved on its OWN, which is what the
41
+ * grid does.
42
+ *
43
+ * That also means a CLOSED deal is handled correctly without a special case. `checkCloseLock` freezes
44
+ * `OwnerEmployeeID`, but it keys on the field being dirty and the stamp is applied after it runs, so
45
+ * a roster-driven change passes — which golive#206 item 2 requires, because reassigning a rep on a
46
+ * closed deal is record-keeping. `checkCloseLock`'s own comment says this path "leav[es] this field
47
+ * clean, so it passed".
48
+ *
49
+ * @module @mj-biz-apps/sales-core-entities-server
50
+ */
51
+ import { EntitySaveOptions, type EntityDeleteOptions } from '@memberjunction/core';
52
+ import { mjBizAppsSalesDealTeamMemberEntity } from '@mj-biz-apps/sales-entities';
53
+ export declare class DealTeamMemberEntityServer extends mjBizAppsSalesDealTeamMemberEntity {
54
+ /**
55
+ * The deal and role this row held BEFORE this save, captured while `OldValue` still describes the
56
+ * persisted row.
57
+ *
58
+ * Both halves matter. A row that STOPS being the owner — its role changed, or it was deactivated —
59
+ * leaves the deal owned by nobody, and asking only about the row's current role would miss it. A
60
+ * row that MOVES to another deal leaves two deals needing a re-derivation, not one.
61
+ */
62
+ private priorSnapshot;
63
+ Save(options?: EntitySaveOptions): Promise<boolean>;
64
+ Delete(options?: EntityDeleteOptions): Promise<boolean>;
65
+ /**
66
+ * Refuses a second holder of a role the data says admits only one.
67
+ *
68
+ * Reads the rule from `DealRole.AllowsMultiplePerDeal` rather than naming Owner, so this is the
69
+ * flag's enforcement and not a special case — the seed already sets it false for Owner / AE and
70
+ * true for the other five roles.
71
+ *
72
+ * NULL means "no objection", and that includes a role row that cannot be read: a role lookup that
73
+ * comes back empty is not evidence of a duplicate, and refusing every team edit because a
74
+ * reference row is missing would be a worse failure than the one being prevented. A failed READ
75
+ * throws instead, and `Save` turns that into a refusal that names the lookup.
76
+ */
77
+ private duplicateRoleRefusal;
78
+ /** Mirrors `DealEntityServer.refuseSave`: log it, register a failed result, return false. */
79
+ private refuseSave;
80
+ /**
81
+ * Re-derives the owner stamp on each deal named, once.
82
+ *
83
+ * ── FAILURE DOES NOT UNDO THE ROSTER EDIT ───────────────────────────────────────────────────
84
+ *
85
+ * The row is already committed by the time this runs, and the roster is the authority — a deal
86
+ * whose stamp is briefly stale still has a correct team, and the next save of either fixes it.
87
+ * Throwing here would report a failure for a write that succeeded, and rolling the row back would
88
+ * discard a correct edit because a derived field could not be refreshed. Logged instead, which is
89
+ * what `seedOwnerOnCreate` does with the same reasoning about a default nobody asked for.
90
+ */
91
+ private restampDeals;
92
+ private restampDeal;
93
+ }
94
+ /**
95
+ * Anti-tree-shake anchor. Importing this module is what fires `@RegisterClass`, and nothing references
96
+ * the class by name — see the note on `LoadSalesCoreEntitiesServer`.
97
+ */
98
+ export declare function LoadDealTeamMemberEntityServer(): void;
99
+ //# sourceMappingURL=DealTeamMemberEntityServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DealTeamMemberEntityServer.d.ts","sourceRoot":"","sources":["../src/DealTeamMemberEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EAGH,iBAAiB,EACjB,KAAK,mBAAmB,EAI3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAC;AAOjF,qBACa,0BAA2B,SAAQ,kCAAkC;IAC9E;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAUC,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkEnD,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7E;;;;;;;;;;;OAWG;YACW,oBAAoB;IAyDlC,6FAA6F;IAC7F,OAAO,CAAC,UAAU;IAalB;;;;;;;;;;OAUG;YACW,YAAY;YAcZ,WAAW;CAmB5B;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
@@ -0,0 +1,274 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /**
8
+ * @fileoverview Keeps `Deal.OwnerEmployeeID` following the roster when the ROSTER is what changed.
9
+ *
10
+ * ── THE GAP ─────────────────────────────────────────────────────────────────────────────────────
11
+ *
12
+ * `DealEntityServer.stampOwnerFromTeam()` derives the stamp from the team, and it is guarded by
13
+ * `RosterDrivesThisSave` — the team must be part of the save. That is true when the deal is saved
14
+ * with its roster, which is how `DealEntity.SetOwner()` and the workspace's owner picker work.
15
+ *
16
+ * It is NOT true when a `DealTeamMember` row is saved on its own, which is exactly what the Deal
17
+ * form's Internal team grid does: `<mj-explorer-entity-data-grid>` saves the child row and nothing
18
+ * else. So adding yourself as Owner / AE there left the grid showing an owner and the deal still
19
+ * reporting "No owner assigned." (bc-aidp-next-golive#291).
20
+ *
21
+ * The sharpest version of that: `DealEntityServer.ownerStampEditRefusal()` refuses a hand-set owner
22
+ * with *"The owner is set from the deal team. Change the Owner role on the Internal team panel
23
+ * instead."* — and the Internal team panel was the one path that did not update it.
24
+ *
25
+ * ── WHY A CHILD SUBCLASS AND NOT A FORM FIX ─────────────────────────────────────────────────────
26
+ *
27
+ * The grid is MJ's generic related-entity grid; there is no panel hook to attach to, and a fix there
28
+ * would cover one caller. An importer, an Action or a direct API write against `DealTeamMember`
29
+ * reaches the same state, and the rule — the stamp follows the roster — is the deal's, not a form's.
30
+ *
31
+ * ── IT RE-DERIVES RATHER THAN ASSIGNING ─────────────────────────────────────────────────────────
32
+ *
33
+ * This does not compute an owner and write it. It loads the deal WITH its team and saves, which makes
34
+ * `RosterDrivesThisSave` true and lets `stampOwnerFromTeam()` do exactly what it already does. One
35
+ * derivation, in one place, reached from both paths — the alternative is a second implementation that
36
+ * agrees with the first until it does not.
37
+ *
38
+ * ── AND IT DOES NOT RECURSE ─────────────────────────────────────────────────────────────────────
39
+ *
40
+ * Saving the parent from a child's save looks circular and is not. `BaseEntity.Save()` on a deal with
41
+ * children builds a save plan and routes to `saveGraph`, which executes every node -- the root
42
+ * included -- through `saveAsGraphNode`, and that calls `_InnerSave` directly. Team rows saved as part
43
+ * of a deal's graph therefore never re-enter the `Save()` override below. `DealEntityServer.Save()`
44
+ * documents the same guarantee for itself, which is what makes its own preparation run exactly once.
45
+ *
46
+ * The override fires for the case it is written for: a team row saved on its OWN, which is what the
47
+ * grid does.
48
+ *
49
+ * That also means a CLOSED deal is handled correctly without a special case. `checkCloseLock` freezes
50
+ * `OwnerEmployeeID`, but it keys on the field being dirty and the stamp is applied after it runs, so
51
+ * a roster-driven change passes — which golive#206 item 2 requires, because reassigning a rep on a
52
+ * closed deal is record-keeping. `checkCloseLock`'s own comment says this path "leav[es] this field
53
+ * clean, so it passed".
54
+ *
55
+ * @module @mj-biz-apps/sales-core-entities-server
56
+ */
57
+ import { BaseEntity, BaseEntityResult, LogError, } from '@memberjunction/core';
58
+ import { RegisterClass } from '@memberjunction/global';
59
+ import { mjBizAppsSalesDealTeamMemberEntity } from '@mj-biz-apps/sales-entities';
60
+ const DEAL_TEAM_MEMBER_ENTITY = 'MJ_BizApps_Sales: Deal Team Members';
61
+ const DEAL_ENTITY = 'MJ_BizApps_Sales: Deals';
62
+ const DEAL_ROLE_ENTITY = 'MJ_BizApps_Sales: Deal Roles';
63
+ let DealTeamMemberEntityServer = class DealTeamMemberEntityServer extends mjBizAppsSalesDealTeamMemberEntity {
64
+ /**
65
+ * The deal and role this row held BEFORE this save, captured while `OldValue` still describes the
66
+ * persisted row.
67
+ *
68
+ * Both halves matter. A row that STOPS being the owner — its role changed, or it was deactivated —
69
+ * leaves the deal owned by nobody, and asking only about the row's current role would miss it. A
70
+ * row that MOVES to another deal leaves two deals needing a re-derivation, not one.
71
+ */
72
+ priorSnapshot() {
73
+ const old = (field, current) => (this.IsSaved ? this.GetFieldByName(field)?.OldValue : current) ?? current;
74
+ return {
75
+ dealID: old('DealID', this.DealID ?? null),
76
+ roleID: old('DealRoleID', this.DealRoleID ?? null),
77
+ isActive: old('IsActive', this.IsActive ?? false),
78
+ };
79
+ }
80
+ async Save(options) {
81
+ /**
82
+ * ONE HOLDER FOR A ROLE THAT SAYS SO (`DealRole.AllowsMultiplePerDeal = 0`).
83
+ *
84
+ * The seed sets this false for Owner / AE and true for every other role, and NOTHING read it.
85
+ * So a rep "taking" a deal added a SECOND Owner / AE row, saw themselves listed as owner, and
86
+ * the deal stayed with the first one — because `stampOwnerFromTeam()` resolves with
87
+ *
88
+ * this.Team.Items.find((m) => m.DealRoleID === ownerRoleID)
89
+ *
90
+ * and `find` returns the OLDEST matching row. Reports, rollups and anything crediting the
91
+ * owner kept pointing at the previous rep while the grid showed the new one. Refusing here is
92
+ * what the flag already means, and it is read from the ROLE rather than keyed on Owner, so a
93
+ * future single-holder role is covered without another change.
94
+ *
95
+ * INACTIVE ROWS COUNT. `stampOwnerFromTeam` never reads `IsActive` — an inactive Owner / AE
96
+ * row still owns the deal — so an inactive row still holds the seat here. Counting it keeps
97
+ * this check and the derivation answering the same question. Whether ownership should respect
98
+ * `IsActive` at all is open and deliberately not decided here.
99
+ */
100
+ let duplicate;
101
+ try {
102
+ duplicate = await this.duplicateRoleRefusal();
103
+ }
104
+ catch (err) {
105
+ // Fail closed on a READ failure, the same way the stage/pipeline check does: a lookup that
106
+ // errored proves nothing, and the message names the lookup rather than the row.
107
+ return this.refuseSave(`could not check this deal's team for a duplicate role: ${err}`);
108
+ }
109
+ if (duplicate) {
110
+ return this.refuseSave(duplicate);
111
+ }
112
+ const before = this.priorSnapshot();
113
+ const saved = await super.Save(options);
114
+ if (!saved) {
115
+ return saved;
116
+ }
117
+ /**
118
+ * UNCONDITIONAL ON PURPOSE — there is no "did anything owner-relevant change" gate here, and
119
+ * one should not be added from the snapshot above.
120
+ *
121
+ * `stampOwnerFromTeam()` derives the owner by finding the row whose `DealRoleID` is the owner
122
+ * role and taking its `EmployeeID`:
123
+ *
124
+ * const owner = this.Team.Items.find((m) => m.DealRoleID === ownerRoleID);
125
+ * this.OwnerEmployeeID = owner?.EmployeeID ?? null;
126
+ *
127
+ * So the fields that can change the answer are `DealID`, `DealRoleID` and `EmployeeID`.
128
+ * `priorSnapshot()` carries the first two and NOT the third, so a gate built from it would
129
+ * miss an employee swap: same deal, same role, different person, no re-stamp, and the deal
130
+ * keeps the old owner — which is the exact defect this class exists to fix, arriving through
131
+ * a different door.
132
+ *
133
+ * Re-deriving every time is therefore the cheap, correct choice: `restampDeal` loads the deal
134
+ * and saves it, so a team-row edit that cannot affect the owner still costs one deal save.
135
+ * That is paid knowingly. Gate it only after the snapshot captures everything the derivation
136
+ * reads — and then by comparing against the derivation, not against a hand-listed set.
137
+ *
138
+ * (`#146`'s stage/pipeline refusal does NOT fire on these saves: it returns early unless
139
+ * `PipelineStageID` or `PipelineID` is dirty, and a re-stamp dirties neither.)
140
+ */
141
+ // Both the deal it was on and the deal it is on now: a row moved between deals changes two.
142
+ await this.restampDeals([before.dealID, this.DealID ?? null]);
143
+ return saved;
144
+ }
145
+ async Delete(options) {
146
+ // Captured before the delete, because afterwards the fields are gone.
147
+ const dealID = this.DealID ?? null;
148
+ const deleted = await super.Delete(options);
149
+ if (deleted) {
150
+ await this.restampDeals([dealID]);
151
+ }
152
+ return deleted;
153
+ }
154
+ /**
155
+ * Refuses a second holder of a role the data says admits only one.
156
+ *
157
+ * Reads the rule from `DealRole.AllowsMultiplePerDeal` rather than naming Owner, so this is the
158
+ * flag's enforcement and not a special case — the seed already sets it false for Owner / AE and
159
+ * true for the other five roles.
160
+ *
161
+ * NULL means "no objection", and that includes a role row that cannot be read: a role lookup that
162
+ * comes back empty is not evidence of a duplicate, and refusing every team edit because a
163
+ * reference row is missing would be a worse failure than the one being prevented. A failed READ
164
+ * throws instead, and `Save` turns that into a refusal that names the lookup.
165
+ */
166
+ async duplicateRoleRefusal() {
167
+ const dealID = this.DealID;
168
+ const roleID = this.DealRoleID;
169
+ if (!dealID || !roleID) {
170
+ return null;
171
+ }
172
+ const view = this.ProviderToUse;
173
+ const roleRead = await view.RunView({
174
+ EntityName: DEAL_ROLE_ENTITY,
175
+ ExtraFilter: `ID = '${roleID}'`,
176
+ ResultType: 'simple',
177
+ Fields: ['Name', 'AllowsMultiplePerDeal'],
178
+ }, this.ContextCurrentUser);
179
+ if (!roleRead.Success) {
180
+ throw new Error(`could not read the deal role: ${roleRead.ErrorMessage}`);
181
+ }
182
+ const role = (roleRead.Results ?? [])[0];
183
+ // Truthy means the role admits several, which is the default for everything but Owner / AE.
184
+ if (!role || role.AllowsMultiplePerDeal) {
185
+ return null;
186
+ }
187
+ /**
188
+ * EXCLUDE SELF, or every later edit to the owner row refuses itself. `IsSaved` is the test
189
+ * rather than `ID`, because an unsaved row has no id to exclude and no row to collide with.
190
+ */
191
+ const notSelf = this.IsSaved && this.ID ? ` AND ID <> '${this.ID}'` : '';
192
+ const held = await view.RunView({
193
+ EntityName: DEAL_TEAM_MEMBER_ENTITY,
194
+ ExtraFilter: `DealID = '${dealID}' AND DealRoleID = '${roleID}'${notSelf}`,
195
+ ResultType: 'simple',
196
+ Fields: ['Employee'],
197
+ }, this.ContextCurrentUser);
198
+ if (!held.Success) {
199
+ throw new Error(`could not check the deal's existing ${role.Name ?? 'role'} rows: ${held.ErrorMessage}`);
200
+ }
201
+ const existing = (held.Results ?? [])[0];
202
+ if (!existing) {
203
+ return null;
204
+ }
205
+ const roleName = role.Name ?? 'that role';
206
+ const who = existing.Employee ? ` (${existing.Employee})` : '';
207
+ return (`This deal already has a ${roleName}${who}. Change that row's employee instead of adding a `
208
+ + `second one.`);
209
+ }
210
+ /** Mirrors `DealEntityServer.refuseSave`: log it, register a failed result, return false. */
211
+ refuseSave(message) {
212
+ LogError(`DealTeamMemberEntityServer.Save refused: ${message}`);
213
+ const failed = new BaseEntityResult();
214
+ failed.Success = false;
215
+ failed.Type = this.IsSaved ? 'update' : 'create';
216
+ failed.Message = message;
217
+ failed.StartedAt = new Date();
218
+ failed.EndedAt = new Date();
219
+ failed.OriginalValues = this.Fields.map((f) => ({ FieldName: f.CodeName, Value: f.OldValue }));
220
+ this.RegisterResultHistoryEntry(failed);
221
+ return false;
222
+ }
223
+ /**
224
+ * Re-derives the owner stamp on each deal named, once.
225
+ *
226
+ * ── FAILURE DOES NOT UNDO THE ROSTER EDIT ───────────────────────────────────────────────────
227
+ *
228
+ * The row is already committed by the time this runs, and the roster is the authority — a deal
229
+ * whose stamp is briefly stale still has a correct team, and the next save of either fixes it.
230
+ * Throwing here would report a failure for a write that succeeded, and rolling the row back would
231
+ * discard a correct edit because a derived field could not be refreshed. Logged instead, which is
232
+ * what `seedOwnerOnCreate` does with the same reasoning about a default nobody asked for.
233
+ */
234
+ async restampDeals(dealIDs) {
235
+ const wanted = [...new Set(dealIDs.filter((id) => Boolean(id)).map((id) => id.toLowerCase()))];
236
+ for (const dealID of wanted) {
237
+ try {
238
+ await this.restampDeal(dealID);
239
+ }
240
+ catch (e) {
241
+ LogError(`DealTeamMemberEntityServer: the team row saved, but deal ${dealID}'s owner stamp could not be `
242
+ + `refreshed from it. ${e instanceof Error ? e.message : String(e)}`);
243
+ }
244
+ }
245
+ }
246
+ async restampDeal(dealID) {
247
+ const provider = this.ProviderToUse;
248
+ const deal = await provider.GetEntityObject(DEAL_ENTITY, this.ContextCurrentUser);
249
+ if (!(await deal.Load(dealID))) {
250
+ throw new Error(`deal ${dealID} could not be loaded`);
251
+ }
252
+ /**
253
+ * LOADING THE TEAM IS THE WHOLE MECHANISM, not a convenience. `RosterDrivesThisSave` asks
254
+ * `Team.IsLoaded`, and `stampOwnerFromTeam()` returns early without it — so a save here that
255
+ * skipped this line would do nothing at all, silently, which is the bug being fixed.
256
+ */
257
+ await deal.Team.Load();
258
+ if (!(await deal.Save())) {
259
+ throw new Error(`deal ${dealID} refused the save that refreshes its owner stamp`);
260
+ }
261
+ }
262
+ };
263
+ DealTeamMemberEntityServer = __decorate([
264
+ RegisterClass(BaseEntity, DEAL_TEAM_MEMBER_ENTITY)
265
+ ], DealTeamMemberEntityServer);
266
+ export { DealTeamMemberEntityServer };
267
+ /**
268
+ * Anti-tree-shake anchor. Importing this module is what fires `@RegisterClass`, and nothing references
269
+ * the class by name — see the note on `LoadSalesCoreEntitiesServer`.
270
+ */
271
+ export function LoadDealTeamMemberEntityServer() {
272
+ void DealTeamMemberEntityServer;
273
+ }
274
+ //# sourceMappingURL=DealTeamMemberEntityServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DealTeamMemberEntityServer.js","sourceRoot":"","sources":["../src/DealTeamMemberEntityServer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -45,6 +45,7 @@
45
45
  * scan this file, which is how the list stayed wrong through the work that settled it.
46
46
  */
47
47
  export * from './DealEntityServer.js';
48
+ export * from './DealTeamMemberEntityServer.js';
48
49
  export * from './CloseDealOperation.js';
49
50
  /**
50
51
  * The REAL orders handoff. Selected automatically when orders' entities are registered; see
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,cAAc,0BAA0B,CAAC;AAEzC,mGAAmG;AACnG,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;GAOG;AACH,cAAc,0BAA0B,CAAC;AAEzC;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,GACjB,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAElD;;;GAGG;AACH,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAO7D;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,cAAc,0BAA0B,CAAC;AAEzC,mGAAmG;AACnG,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;GAOG;AACH,cAAc,0BAA0B,CAAC;AAEzC;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,GACjB,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAElD;;;GAGG;AACH,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAQ7D;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD"}
package/dist/index.js CHANGED
@@ -45,6 +45,7 @@
45
45
  * scan this file, which is how the list stayed wrong through the work that settled it.
46
46
  */
47
47
  export * from './DealEntityServer.js';
48
+ export * from './DealTeamMemberEntityServer.js';
48
49
  export * from './CloseDealOperation.js';
49
50
  /**
50
51
  * The REAL orders handoff. Selected automatically when orders' entities are registered; see
@@ -103,6 +104,7 @@ export * from './finance-exceptions/FinanceExceptionBridge.js';
103
104
  export * from './finance-exceptions/WonDealOrderDetector.js';
104
105
  import { LoadActivitySyncEngine } from '@mj-biz-apps/common-activity-sync';
105
106
  import { DealEntityServer } from './DealEntityServer.js';
107
+ import { DealTeamMemberEntityServer } from './DealTeamMemberEntityServer.js';
106
108
  import { CloseDealOperation, ReopenDealOperation } from './CloseDealOperation.js';
107
109
  import { DealLinkerExtension } from './activities/DealLinkerExtension.js';
108
110
  /**
@@ -117,7 +119,7 @@ import { DealLinkerExtension } from './activities/DealLinkerExtension.js';
117
119
  export function LoadSalesCoreEntitiesServer() {
118
120
  LoadActivitySyncEngine();
119
121
  // Reference each registered class so the imports cannot be elided.
120
- const anchors = [DealEntityServer, CloseDealOperation, ReopenDealOperation, DealLinkerExtension];
122
+ const anchors = [DealEntityServer, DealTeamMemberEntityServer, CloseDealOperation, ReopenDealOperation, DealLinkerExtension];
121
123
  if (anchors.length === 0) {
122
124
  throw new Error('LoadSalesCoreEntitiesServer: registration anchors were tree-shaken away.');
123
125
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,cAAc,0BAA0B,CAAC;AAEzC,mGAAmG;AACnG,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;GAOG;AACH,cAAc,0BAA0B,CAAC;AAEzC;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,mCAAmC,CAAC;AAO3C;;;GAGG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAElD;;;GAGG;AACH,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B;IACvC,sBAAsB,EAAE,CAAC;IACzB,mEAAmE;IACnE,MAAM,OAAO,GAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAC5G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,cAAc,0BAA0B,CAAC;AAEzC,mGAAmG;AACnG,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;GAOG;AACH,cAAc,0BAA0B,CAAC;AAEzC;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,mCAAmC,CAAC;AAO3C;;;GAGG;AACH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAElD;;;GAGG;AACH,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B;IACvC,sBAAsB,EAAE,CAAC;IACzB,mEAAmE;IACnE,MAAM,OAAO,GAAc,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACxI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mj-biz-apps/sales-core-entities-server",
3
3
  "type": "module",
4
- "version": "6.9.2",
4
+ "version": "6.10.0",
5
5
  "description": "Server-side entity subclasses for BizApps Sales — the close lock (L-17), the OwnerEmployeeID denormalized stamp, and deal lifecycle hooks.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "@mj-biz-apps/common-activity-sync": "^5.44.0",
23
23
  "@mj-biz-apps/common-entities": "^5.44.0",
24
24
  "@mj-biz-apps/orders-entities": "^5.18.0",
25
- "@mj-biz-apps/sales-entities": "6.9.2",
25
+ "@mj-biz-apps/sales-entities": "6.10.0",
26
26
  "@mj-biz-apps/tasks-core": "^1.4.1",
27
27
  "@mj-biz-apps/tasks-entities": "^1.4.1"
28
28
  },