@mj-biz-apps/sales-core-entities-server 6.9.1 → 6.9.3

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
  *
@@ -755,6 +764,37 @@ export declare class DealEntityServer extends DealEntity {
755
764
  * second, vaguer complaint here would just bury the specific message the user needs.
756
765
  */
757
766
  private stampCompanyFromPipeline;
767
+ /**
768
+ * Refuses a deal whose stage belongs to a different pipeline (bc-aidp-next-golive#291).
769
+ *
770
+ * ── WHY REFUSE, WHEN THE COMPANY STAMP ABOVE OVERWRITES ─────────────────────────────────────
771
+ *
772
+ * `stampCompanyFromPipeline` can correct a wrong company because there is exactly one right
773
+ * answer and it is derivable: the pipeline owns a company. A wrong STAGE has no such answer.
774
+ * Moving the deal to the pipeline's first stage would be inventing a position in a sales process
775
+ * nobody chose, and keeping the stage while changing the pipeline would be the same invention
776
+ * from the other end. So this one asks the caller instead.
777
+ *
778
+ * ── IT DID NOT SIT INERT ────────────────────────────────────────────────────────────────────
779
+ *
780
+ * A B2B deal saved with a D2C stage was accepted, and `applyStageDefaults` then took that stage's
781
+ * `Probability`, `ForecastCategoryTypeID` and `DealStatusTypeID`. The mismatch rewrote the deal's
782
+ * forecast numbers from a pipeline it does not belong to, which is why this is a refusal on the
783
+ * write path rather than a lint on the form: the form is one of the callers, and imports and
784
+ * Actions reach the same code without passing through it.
785
+ *
786
+ * A CHECK constraint cannot express this — it cannot reach across the foreign key to compare the
787
+ * stage's pipeline with the deal's — which is the same reason the company stamp lives here.
788
+ *
789
+ * ── KEYED ON EITHER HALF MOVING ─────────────────────────────────────────────────────────────
790
+ *
791
+ * An existing deal whose stage and pipeline already disagree is left alone unless this save
792
+ * touches one of them, matching how every other rule in this class is keyed. Converted deals sit
793
+ * in legacy pipelines (#257) and some of them may already be inconsistent; refusing a rename or a
794
+ * note on one of those would be a rule nobody asked for, arriving nowhere near the edit that
795
+ * triggered it. A save that MOVES either half is a caller stating the pair, and that is checked.
796
+ */
797
+ private stageBelongsToPipelineRefusal;
758
798
  /**
759
799
  * Maintains `Deal.OwnerEmployeeID` from whichever team member holds the owner role.
760
800
  *
@@ -799,7 +839,35 @@ export declare class DealEntityServer extends DealEntity {
799
839
  * IS part of that save, and the server re-derives the same value from it a moment later. The two
800
840
  * conditions mirror `stampOwnerFromTeam`'s guard exactly, which is what keeps them from disagreeing.
801
841
  */
802
- private ownerStampEditRefusal;
842
+ /**
843
+ * A caller-supplied `OwnerEmployeeID` loses to the roster, and the override is REPORTED.
844
+ *
845
+ * ── THIS USED TO REFUSE THE WHOLE SAVE, AND THAT COST MORE THAN IT PROTECTED ────────────────
846
+ *
847
+ * `SD26` asserted the refusal and its comment said why a correction was rejected: *"A save that
848
+ * quietly fixed the value would produce the same surprise — the owner is not who the caller said
849
+ * — with nothing to notice."* That objection is right, and it is an argument for NOTICING, not
850
+ * for refusing. Hence the warning below.
851
+ *
852
+ * What refusing cost, found in review of sales#147: a deal page open since before someone used
853
+ * the Internal team grid sends back the owner it LOADED. The server sees a value that differs
854
+ * from the row it just read, reads that as a hand-set owner, and refuses — so an unrelated edit
855
+ * to Next Step is lost, and the message tells the user to do the thing they just did. There is no
856
+ * signal in the payload separating a stale value from a deliberate one, so no narrower rule works.
857
+ *
858
+ * ── IT IS ALSO WHAT THE SIBLING FIELD ALREADY DOES ──────────────────────────────────────────
859
+ *
860
+ * `CompanyID` and `OwnerEmployeeID` are both `serverMaintained` in the form's field list, both
861
+ * derived, and both have exactly one right answer obtainable elsewhere. `stampCompanyFromPipeline`
862
+ * OVERWRITES a supplied company for that reason. Nothing principled made the owner refuse instead;
863
+ * the two now behave the same way.
864
+ *
865
+ * Loading the roster is what makes the override happen: `stampOwnerFromTeam()` runs below and is
866
+ * guarded by `RosterDrivesThisSave`, which asks `Team.IsLoaded`. A load failure leaves the roster
867
+ * absent, the derivation declines, and the supplied value stands — so the failure is recorded as a
868
+ * warning too rather than passing silently.
869
+ */
870
+ private overrideSuppliedOwnerStamp;
803
871
  /**
804
872
  * Is the ROSTER driving this save, rather than a caller naming an owner out of thin air?
805
873
  *
@@ -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":"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"}
@@ -100,6 +100,14 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
100
100
  * only a server log carries is one a rep never reads.
101
101
  */
102
102
  this._orderStatusWarnings = [];
103
+ /**
104
+ * Raised when a caller supplied `OwnerEmployeeID` and the roster overrode it.
105
+ *
106
+ * SEPARATE FROM THE ORDER-STATUS WARNINGS because they are about different things and the close
107
+ * operation renders them against different fields. Same shape and same lifetime: cleared per
108
+ * save, read after it.
109
+ */
110
+ this._ownerStampWarnings = [];
103
111
  /* ── The close lock (L-17, master plan §7.3) ────────────────────────────── */
104
112
  /**
105
113
  * Set only for the duration of {@link BeginReopen}, which is the ONE audited path through the lock.
@@ -212,6 +220,7 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
212
220
  // Per-save, so a caller reading them after `Save()` sees this save's warnings and not the last
213
221
  // one's. Cleared before the close lock can return early — an abandoned save has no warnings.
214
222
  this._orderStatusWarnings.length = 0;
223
+ this._ownerStampWarnings.length = 0;
215
224
  this._orderJustProvisioned = false;
216
225
  this._lockedAtSave = false;
217
226
  this._lastStageEventID = null;
@@ -320,9 +329,39 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
320
329
  * field, and a rule that only the UI enforces is not a rule. Runs before the stamps below so a
321
330
  * refused save costs nothing.
322
331
  */
323
- const ownerRefusal = this.ownerStampEditRefusal();
324
- if (ownerRefusal) {
325
- return this.refuseSave(ownerRefusal);
332
+ await this.overrideSuppliedOwnerStamp();
333
+ /**
334
+ * Before the stamps, for the reason the owner refusal is: a refused save should cost nothing.
335
+ * This one reads, so it is not free -- but one lookup is still cheaper than a transaction that
336
+ * is going to be rolled back, and cheaper than the wrong forecast numbers it prevents.
337
+ */
338
+ /**
339
+ * FAIL CLOSED, AND SAY WHICH FAILURE IT WAS.
340
+ *
341
+ * The check reads, so it can fail for reasons that have nothing to do with the deal — a
342
+ * dropped connection, a provider error. This REFUSES the save when that happens, rather than
343
+ * letting it through on the grounds that nothing was proven wrong.
344
+ *
345
+ * That is the right way round here because the thing being guarded is not cosmetic: a deal
346
+ * saved with a stage from another pipeline has `applyStageDefaults` take that stage's
347
+ * Probability, ForecastCategoryTypeID and DealStatusTypeID, so the forecast numbers come from
348
+ * a pipeline the deal does not belong to. A save refused in error is retried; a forecast
349
+ * quietly rewritten from the wrong pipeline is found a quarter later, if at all.
350
+ *
351
+ * The cost is bounded by the same early return the check uses: it only runs when the save
352
+ * MOVES the stage or the pipeline, so an ordinary edit to a closed or legacy deal cannot be
353
+ * refused by a lookup that failed. And the message names the lookup rather than the deal, so
354
+ * a transient failure reads as a transient failure instead of as "your stage is wrong".
355
+ */
356
+ let stageRefusal;
357
+ try {
358
+ stageRefusal = await this.stageBelongsToPipelineRefusal();
359
+ }
360
+ catch (err) {
361
+ return this.refuseSave(`could not check the stage against the pipeline: ${err}`);
362
+ }
363
+ if (stageRefusal) {
364
+ return this.refuseSave(stageRefusal);
326
365
  }
327
366
  try {
328
367
  await this.stampCompanyFromPipeline();
@@ -1042,6 +1081,9 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
1042
1081
  get OrderStatusWarnings() {
1043
1082
  return this._orderStatusWarnings;
1044
1083
  }
1084
+ get OwnerStampWarnings() {
1085
+ return this._ownerStampWarnings;
1086
+ }
1045
1087
  /**
1046
1088
  * Resolves what this save's stage change asks of the order. Reads only; opens nothing.
1047
1089
  *
@@ -2073,6 +2115,77 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
2073
2115
  }
2074
2116
  this.CompanyID = pipeline.CompanyID;
2075
2117
  }
2118
+ /**
2119
+ * Refuses a deal whose stage belongs to a different pipeline (bc-aidp-next-golive#291).
2120
+ *
2121
+ * ── WHY REFUSE, WHEN THE COMPANY STAMP ABOVE OVERWRITES ─────────────────────────────────────
2122
+ *
2123
+ * `stampCompanyFromPipeline` can correct a wrong company because there is exactly one right
2124
+ * answer and it is derivable: the pipeline owns a company. A wrong STAGE has no such answer.
2125
+ * Moving the deal to the pipeline's first stage would be inventing a position in a sales process
2126
+ * nobody chose, and keeping the stage while changing the pipeline would be the same invention
2127
+ * from the other end. So this one asks the caller instead.
2128
+ *
2129
+ * ── IT DID NOT SIT INERT ────────────────────────────────────────────────────────────────────
2130
+ *
2131
+ * A B2B deal saved with a D2C stage was accepted, and `applyStageDefaults` then took that stage's
2132
+ * `Probability`, `ForecastCategoryTypeID` and `DealStatusTypeID`. The mismatch rewrote the deal's
2133
+ * forecast numbers from a pipeline it does not belong to, which is why this is a refusal on the
2134
+ * write path rather than a lint on the form: the form is one of the callers, and imports and
2135
+ * Actions reach the same code without passing through it.
2136
+ *
2137
+ * A CHECK constraint cannot express this — it cannot reach across the foreign key to compare the
2138
+ * stage's pipeline with the deal's — which is the same reason the company stamp lives here.
2139
+ *
2140
+ * ── KEYED ON EITHER HALF MOVING ─────────────────────────────────────────────────────────────
2141
+ *
2142
+ * An existing deal whose stage and pipeline already disagree is left alone unless this save
2143
+ * touches one of them, matching how every other rule in this class is keyed. Converted deals sit
2144
+ * in legacy pipelines (#257) and some of them may already be inconsistent; refusing a rename or a
2145
+ * note on one of those would be a rule nobody asked for, arriving nowhere near the edit that
2146
+ * triggered it. A save that MOVES either half is a caller stating the pair, and that is checked.
2147
+ */
2148
+ async stageBelongsToPipelineRefusal() {
2149
+ const stageID = this.PipelineStageID;
2150
+ const pipelineID = this.PipelineID;
2151
+ if (!stageID || !pipelineID) {
2152
+ // No pipeline is `Validate()`'s complaint, and no stage is a legitimate state — a deal can
2153
+ // be created before anyone positions it. Neither is this rule's business.
2154
+ return null;
2155
+ }
2156
+ const stageDirty = this.GetFieldByName('PipelineStageID')?.Dirty === true;
2157
+ const pipelineDirty = this.GetFieldByName('PipelineID')?.Dirty === true;
2158
+ if (this.IsSaved && !stageDirty && !pipelineDirty) {
2159
+ return null;
2160
+ }
2161
+ const viewProvider = this.ProviderToUse;
2162
+ const result = await viewProvider.RunView({
2163
+ EntityName: STAGE_ENTITY,
2164
+ ExtraFilter: `ID = '${stageID}'`,
2165
+ ResultType: 'simple',
2166
+ Fields: ['Name', 'PipelineID', 'Pipeline'],
2167
+ }, this.ContextCurrentUser);
2168
+ if (!result.Success) {
2169
+ throw new Error(`DealEntityServer: could not read the stage's pipeline: ${result.ErrorMessage}`);
2170
+ }
2171
+ const stage = (result.Results ?? [])[0];
2172
+ if (!stage) {
2173
+ return `the stage on this deal could not be read, so it cannot be checked against the pipeline.`;
2174
+ }
2175
+ /**
2176
+ * LOWERCASED BEFORE COMPARING, like every other id comparison in this class -- SQL Server hands
2177
+ * back uppercase GUIDs and client code generates lowercase. The stage-event writer carried this
2178
+ * bug once and recorded self-transitions because of it; the comment above `stageMoved` tells
2179
+ * that story.
2180
+ */
2181
+ if (String(stage.PipelineID ?? '').toLowerCase() === String(pipelineID).toLowerCase()) {
2182
+ return null;
2183
+ }
2184
+ const stageName = stage.Name ?? stageID;
2185
+ const owner = stage.Pipeline ?? 'another pipeline';
2186
+ return (`the stage "${stageName}" belongs to ${owner}, not to this deal's pipeline. `
2187
+ + `Pick a stage from the deal's own pipeline, or change the pipeline first.`);
2188
+ }
2076
2189
  /* ── Owner stamp (§5.1) ─────────────────────────────────────────────────── */
2077
2190
  /**
2078
2191
  * Maintains `Deal.OwnerEmployeeID` from whichever team member holds the owner role.
@@ -2118,15 +2231,51 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
2118
2231
  * IS part of that save, and the server re-derives the same value from it a moment later. The two
2119
2232
  * conditions mirror `stampOwnerFromTeam`'s guard exactly, which is what keeps them from disagreeing.
2120
2233
  */
2121
- ownerStampEditRefusal() {
2234
+ /**
2235
+ * A caller-supplied `OwnerEmployeeID` loses to the roster, and the override is REPORTED.
2236
+ *
2237
+ * ── THIS USED TO REFUSE THE WHOLE SAVE, AND THAT COST MORE THAN IT PROTECTED ────────────────
2238
+ *
2239
+ * `SD26` asserted the refusal and its comment said why a correction was rejected: *"A save that
2240
+ * quietly fixed the value would produce the same surprise — the owner is not who the caller said
2241
+ * — with nothing to notice."* That objection is right, and it is an argument for NOTICING, not
2242
+ * for refusing. Hence the warning below.
2243
+ *
2244
+ * What refusing cost, found in review of sales#147: a deal page open since before someone used
2245
+ * the Internal team grid sends back the owner it LOADED. The server sees a value that differs
2246
+ * from the row it just read, reads that as a hand-set owner, and refuses — so an unrelated edit
2247
+ * to Next Step is lost, and the message tells the user to do the thing they just did. There is no
2248
+ * signal in the payload separating a stale value from a deliberate one, so no narrower rule works.
2249
+ *
2250
+ * ── IT IS ALSO WHAT THE SIBLING FIELD ALREADY DOES ──────────────────────────────────────────
2251
+ *
2252
+ * `CompanyID` and `OwnerEmployeeID` are both `serverMaintained` in the form's field list, both
2253
+ * derived, and both have exactly one right answer obtainable elsewhere. `stampCompanyFromPipeline`
2254
+ * OVERWRITES a supplied company for that reason. Nothing principled made the owner refuse instead;
2255
+ * the two now behave the same way.
2256
+ *
2257
+ * Loading the roster is what makes the override happen: `stampOwnerFromTeam()` runs below and is
2258
+ * guarded by `RosterDrivesThisSave`, which asks `Team.IsLoaded`. A load failure leaves the roster
2259
+ * absent, the derivation declines, and the supplied value stands — so the failure is recorded as a
2260
+ * warning too rather than passing silently.
2261
+ */
2262
+ async overrideSuppliedOwnerStamp() {
2122
2263
  if (this.RosterDrivesThisSave) {
2123
- return null; // the roster is part of this save; the stamp is derived from it below
2264
+ return; // the roster is already part of this save; the stamp is derived from it below
2124
2265
  }
2125
2266
  if (!this.callerSuppliedValue('OwnerEmployeeID', this.OwnerEmployeeID)) {
2126
- return null; // nobody supplied it. The common case.
2267
+ return; // nobody supplied it. The common case.
2268
+ }
2269
+ try {
2270
+ await this.Team.Load();
2271
+ }
2272
+ catch (err) {
2273
+ this._ownerStampWarnings.push('The owner is set from the deal team, and the team could not be read to check it, so the '
2274
+ + `value supplied was left as it was. ${err instanceof Error ? err.message : String(err)}`);
2275
+ return;
2127
2276
  }
2128
- return ('The owner is set from the deal team. Change the Owner role on the Internal team panel ' +
2129
- 'instead.');
2277
+ this._ownerStampWarnings.push('The owner is set from the deal team, so the value supplied with this save was replaced by '
2278
+ + 'the deal\'s Owner / AE. Change the Owner role on the Internal team panel to change it.');
2130
2279
  }
2131
2280
  /**
2132
2281
  * 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.1",
4
+ "version": "6.9.3",
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.1",
25
+ "@mj-biz-apps/sales-entities": "6.9.3",
26
26
  "@mj-biz-apps/tasks-core": "^1.4.1",
27
27
  "@mj-biz-apps/tasks-entities": "^1.4.1"
28
28
  },