tods-competition-factory 1.8.24 → 1.8.25

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.
@@ -1293,6 +1293,10 @@ var SCHEDULED_MATCHUPS = {
1293
1293
  message: 'Scheduled matchUps',
1294
1294
  code: 'ERR_SCHEDULED_MATCHUPS',
1295
1295
  };
1296
+ var SCORES_PRESENT = {
1297
+ message: 'Scores present',
1298
+ code: 'ERR_SCORES_PRESENT',
1299
+ };
1296
1300
  var errorConditionConstants = {
1297
1301
  ANACHRONISM: ANACHRONISM,
1298
1302
  CANNOT_CHANGE_WINNING_SIDE: CANNOT_CHANGE_WINNING_SIDE,
@@ -1455,6 +1459,7 @@ var errorConditionConstants = {
1455
1459
  POLICY_NOT_FOUND: POLICY_NOT_FOUND,
1456
1460
  SCHEDULE_NOT_CLEARED: SCHEDULE_NOT_CLEARED,
1457
1461
  SCHEDULED_MATCHUPS: SCHEDULED_MATCHUPS,
1462
+ SCORES_PRESENT: SCORES_PRESENT,
1458
1463
  SEEDSCOUNT_GREATER_THAN_DRAW_SIZE: SEEDSCOUNT_GREATER_THAN_DRAW_SIZE,
1459
1464
  STAGE_SEQUENCE_LIMIT: STAGE_SEQUENCE_LIMIT,
1460
1465
  STRUCTURE_NOT_FOUND: STRUCTURE_NOT_FOUND,
@@ -2905,7 +2910,7 @@ var matchUpFormatCode = {
2905
2910
  };
2906
2911
 
2907
2912
  function factoryVersion() {
2908
- return '1.8.24';
2913
+ return '1.8.25';
2909
2914
  }
2910
2915
 
2911
2916
  function getObjectTieFormat(obj) {
@@ -47197,9 +47202,34 @@ function generateQualifyingStructure$1(params) {
47197
47202
  return __assign(__assign({ qualifyingDrawPositionsCount: drawSize, qualifiersCount: qualifiersCount }, SUCCESS), { structure: structure, link: link });
47198
47203
  }
47199
47204
 
47200
- function attachQualifyingStructure$1(_a) {
47205
+ function resequenceStructures(_a) {
47201
47206
  var e_1, _b;
47202
- var _c;
47207
+ var drawDefinition = _a.drawDefinition;
47208
+ var _c = getStructureGroups({
47209
+ drawDefinition: drawDefinition,
47210
+ }), maxQualifyingDepth = _c.maxQualifyingDepth, structureProfiles = _c.structureProfiles;
47211
+ try {
47212
+ for (var _d = __values(drawDefinition.structures), _e = _d.next(); !_e.done; _e = _d.next()) {
47213
+ var structure = _e.value;
47214
+ var profile = structureProfiles[structure.structureId];
47215
+ if (profile.distanceFromMain) {
47216
+ structure.stageSequence =
47217
+ maxQualifyingDepth + 1 - profile.distanceFromMain;
47218
+ }
47219
+ }
47220
+ }
47221
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
47222
+ finally {
47223
+ try {
47224
+ if (_e && !_e.done && (_b = _d.return)) _b.call(_d);
47225
+ }
47226
+ finally { if (e_1) throw e_1.error; }
47227
+ }
47228
+ return __assign({}, SUCCESS);
47229
+ }
47230
+
47231
+ function attachQualifyingStructure$1(_a) {
47232
+ var _b;
47203
47233
  var drawDefinition = _a.drawDefinition, tournamentId = _a.tournamentId, structure = _a.structure, eventId = _a.eventId, link = _a.link;
47204
47234
  if (!drawDefinition)
47205
47235
  return { error: MISSING_DRAW_DEFINITION };
@@ -47224,27 +47254,8 @@ function attachQualifyingStructure$1(_a) {
47224
47254
  drawDefinition.links = [];
47225
47255
  drawDefinition.structures.push(structure);
47226
47256
  drawDefinition.links.push(link);
47227
- var _d = getStructureGroups({
47228
- drawDefinition: drawDefinition,
47229
- }), maxQualifyingDepth = _d.maxQualifyingDepth, structureProfiles = _d.structureProfiles;
47230
- try {
47231
- for (var _e = __values(drawDefinition.structures), _f = _e.next(); !_f.done; _f = _e.next()) {
47232
- var structure_1 = _f.value;
47233
- var profile = structureProfiles[structure_1.structureId];
47234
- if (profile.distanceFromMain) {
47235
- structure_1.stageSequence =
47236
- maxQualifyingDepth + 1 - profile.distanceFromMain;
47237
- }
47238
- }
47239
- }
47240
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
47241
- finally {
47242
- try {
47243
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
47244
- }
47245
- finally { if (e_1) throw e_1.error; }
47246
- }
47247
- var matchUps = ((_c = getAllStructureMatchUps({ structure: structure })) === null || _c === void 0 ? void 0 : _c.matchUps) || [];
47257
+ resequenceStructures({ drawDefinition: drawDefinition });
47258
+ var matchUps = ((_b = getAllStructureMatchUps({ structure: structure })) === null || _b === void 0 ? void 0 : _b.matchUps) || [];
47248
47259
  addMatchUpsNotice({
47249
47260
  drawDefinition: drawDefinition,
47250
47261
  tournamentId: tournamentId,
@@ -47791,7 +47802,7 @@ function renameStructures$1(_a) {
47791
47802
 
47792
47803
  function removeStructure(_a) {
47793
47804
  var _b, _c, _d;
47794
- var tournamentRecord = _a.tournamentRecord, drawDefinition = _a.drawDefinition, structureId = _a.structureId, event = _a.event;
47805
+ var tournamentRecord = _a.tournamentRecord, drawDefinition = _a.drawDefinition, structureId = _a.structureId, event = _a.event, force = _a.force;
47795
47806
  if (typeof structureId !== 'string')
47796
47807
  return { error: INVALID_VALUES };
47797
47808
  if (!drawDefinition)
@@ -47800,11 +47811,21 @@ function removeStructure(_a) {
47800
47811
  return { error: MISSING_STRUCTURE_ID };
47801
47812
  var structures = drawDefinition.structures || [];
47802
47813
  var removedStructureIds = [];
47814
+ var structure = structures.find(function (structure) { return structure.structureId === structureId; });
47815
+ if (!structure)
47816
+ return { error: STRUCTURE_NOT_FOUND };
47817
+ var structureMatchUps = getAllStructureMatchUps({ structure: structure }).matchUps;
47818
+ var scoresPresent = structureMatchUps.some(function (_a) {
47819
+ var score = _a.score;
47820
+ return scoreHasValue({ score: score });
47821
+ });
47822
+ if (scoresPresent && !force)
47823
+ return { error: SCORES_PRESENT };
47803
47824
  var mainStageSequence1 = structures.find(function (_a) {
47804
47825
  var stage = _a.stage, stageSequence = _a.stageSequence;
47805
47826
  return stage === MAIN && stageSequence === 1;
47806
47827
  });
47807
- var isMainStageSequence1 = structureId === mainStageSequence1.structureId;
47828
+ var isMainStageSequence1 = structureId === (mainStageSequence1 === null || mainStageSequence1 === void 0 ? void 0 : mainStageSequence1.structureId);
47808
47829
  var qualifyingStructureIds = structures
47809
47830
  .filter(function (_a) {
47810
47831
  var stage = _a.stage;
@@ -47818,20 +47839,20 @@ function removeStructure(_a) {
47818
47839
  var removedMatchUpIds = [];
47819
47840
  var idsToRemove = [structureId];
47820
47841
  var getTargetedStructureIds = function (structureId) {
47821
- var _a;
47822
- return (_a = drawDefinition.links) === null || _a === void 0 ? void 0 : _a.map(function (link) {
47842
+ var _a, _b;
47843
+ return (_b = (_a = drawDefinition.links) === null || _a === void 0 ? void 0 : _a.map(function (link) {
47823
47844
  return link.source.structureId === structureId &&
47824
- link.target.structureId !== mainStageSequence1.structureId &&
47845
+ link.target.structureId !== (mainStageSequence1 === null || mainStageSequence1 === void 0 ? void 0 : mainStageSequence1.structureId) &&
47825
47846
  link.target.structureId;
47826
- }).filter(Boolean);
47847
+ }).filter(Boolean)) !== null && _b !== void 0 ? _b : [];
47827
47848
  };
47828
47849
  var getQualifyingSourceStructureIds = function (structureId) {
47829
- var _a;
47830
- return (_a = drawDefinition.links) === null || _a === void 0 ? void 0 : _a.map(function (link) {
47850
+ var _a, _b;
47851
+ return (_b = (_a = drawDefinition.links) === null || _a === void 0 ? void 0 : _a.map(function (link) {
47831
47852
  return qualifyingStructureIds.includes(link.source.structureId) &&
47832
47853
  link.target.structureId === structureId &&
47833
47854
  link.source.structureId;
47834
- }).filter(Boolean);
47855
+ }).filter(Boolean)) !== null && _b !== void 0 ? _b : [];
47835
47856
  };
47836
47857
  var isQualifyingStructure = qualifyingStructureIds.includes(structureId);
47837
47858
  var relatedStructureIdsMap = new Map();
@@ -47842,11 +47863,11 @@ function removeStructure(_a) {
47842
47863
  });
47843
47864
  var _loop_1 = function () {
47844
47865
  var idBeingRemoved = idsToRemove.pop();
47845
- var structure = findStructure({
47866
+ var structure_1 = findStructure({
47846
47867
  structureId: idBeingRemoved,
47847
47868
  drawDefinition: drawDefinition,
47848
47869
  }).structure;
47849
- var matchUps_1 = getAllStructureMatchUps({ structure: structure }).matchUps;
47870
+ var matchUps_1 = getAllStructureMatchUps({ structure: structure_1 }).matchUps;
47850
47871
  var matchUpIds = getMatchUpIds(matchUps_1);
47851
47872
  removedMatchUpIds.push.apply(removedMatchUpIds, __spreadArray([], __read(matchUpIds), false));
47852
47873
  drawDefinition.links =
@@ -47866,7 +47887,7 @@ function removeStructure(_a) {
47866
47887
  // targetedStructureIdsMap[idBeingRemoved].filter(
47867
47888
  (_d = relatedStructureIdsMap.get(idBeingRemoved)) === null || _d === void 0 ? void 0 : _d.filter(function (id) {
47868
47889
  // IMPORTANT: only delete MAIN stageSequence: 1 if specified to protect against DOUBLE_ELIMINATION scenario
47869
- return id !== mainStageSequence1.structureId ||
47890
+ return id !== (mainStageSequence1 === null || mainStageSequence1 === void 0 ? void 0 : mainStageSequence1.structureId) ||
47870
47891
  structureId === mainStageSequence1.structureId;
47871
47892
  }));
47872
47893
  if (targetedStructureIds === null || targetedStructureIds === void 0 ? void 0 : targetedStructureIds.length)
@@ -47896,6 +47917,7 @@ function removeStructure(_a) {
47896
47917
  mainStageSequence1.extensions = [];
47897
47918
  }
47898
47919
  }
47920
+ isQualifyingStructure && resequenceStructures({ drawDefinition: drawDefinition });
47899
47921
  deleteMatchUpsNotice({
47900
47922
  tournamentId: tournamentRecord === null || tournamentRecord === void 0 ? void 0 : tournamentRecord.tournamentId,
47901
47923
  matchUpIds: removedMatchUpIds,