Skip to content

Commit

Permalink
Fix broken user_created flag in backup database
Browse files Browse the repository at this point in the history
Due to some bad design decisions, by the time we get to #recordOp to
record a marker being added, the passed in marker doesn't know that
it's user created. Ensure the MarkerEditCache operations happen before
query's parameters are set so we correctly mark the item as user created
  • Loading branch information
danrahn committed Feb 3, 2024
1 parent 098194b commit f37b2fd
Showing 1 changed file with 26 additions and 26 deletions.
52 changes: 26 additions & 26 deletions Server/MarkerBackupManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -664,32 +664,6 @@ $extraData, $sectionUUID, $restoresId, $parentGuid, $markerType, $final, $userCr
throw new ServerError(`Unknown marker backup operation (${markerOp}), cannot back up action.`, 500);
}

/** @type {DbDictParameters} */
const parameters = {
$op : markerOp,
$id : marker.id,
$pid : marker.parentId,
$seasonId : marker.seasonId,
$showId : marker.showId,
$sectionId : marker.sectionId,
$start : marker.start,
$end : marker.end,
$oldStart : oldTimings.start,
$oldEnd : oldTimings.end,
$modifiedAt : modifiedAt,
$createdAt : createdAt,
$extraData : ExtraData.get(marker.markerType, marker.isFinal),
$sectionUUID : this.#uuids[marker.sectionId],
$restoresId : restoresAction?.marker_id ?? null,
$parentGuid : marker.parentGuid,
$markerType : marker.markerType,
$final : marker.isFinal ? 1 : 0,
$userCreated : marker.createdByUser,
_asRaw : asRaw,
};

transaction.addStatement(query, parameters);

// Update our timestamp cache
switch (markerOp) {
case MarkerOp.Add:
Expand Down Expand Up @@ -717,6 +691,32 @@ $extraData, $sectionUUID, $restoresId, $parentGuid, $markerType, $final, $userCr
break;
}
}

/** @type {DbDictParameters} */
const parameters = {
$op : markerOp,
$id : marker.id,
$pid : marker.parentId,
$seasonId : marker.seasonId,
$showId : marker.showId,
$sectionId : marker.sectionId,
$start : marker.start,
$end : marker.end,
$oldStart : oldTimings.start,
$oldEnd : oldTimings.end,
$modifiedAt : modifiedAt,
$createdAt : createdAt,
$extraData : ExtraData.get(marker.markerType, marker.isFinal),
$sectionUUID : this.#uuids[marker.sectionId],
$restoresId : restoresAction?.marker_id ?? null,
$parentGuid : marker.parentGuid,
$markerType : marker.markerType,
$final : marker.isFinal ? 1 : 0,
$userCreated : marker.createdByUser,
_asRaw : asRaw,
};

transaction.addStatement(query, parameters);
}

/**
Expand Down

0 comments on commit f37b2fd

Please sign in to comment.