riddle_move_check
Checks, without changing anything, whether a set of Riddles can be moved and which projects they can be moved to - the same check riddle_move runs before it moves anything. Pass exactly the UUID/UUIDs you intend to hand to riddle_move, because the answer depends on the whole set: a Riddle that is connected to another one (a Form embedded into another Riddle as a form select, a Quiz reporting into a Leaderboard) can only be moved when everything it is connected to moves with it, so the same Riddle can be blocked on its own and movable as part of a larger call. Returns {canMoveAll, movable, blocked, addUUIDs, canMoveToPersonal, projects}: "blocked" names, per Riddle, "missingRiddles" (the exact connected Riddles that are not part of the set, each with uuid, title, type and relation: "dependent" for a Riddle reporting into it, "embedded" for a Riddle it embeds), "missingUUIDs" as the bare UUIDs to add, "connectedRiddles" as the unfiltered picture of everything it is connected to, "inaccessibleConnections" as the number of connected Riddles in projects you cannot access, "blockedByRiddlesInThisCall" as the Riddles of this very call that hold it back because they are blocked themselves, "resolveByAddingUUIDs" as what to add so THIS Riddle can move, and "resolvable" telling you whether adding UUIDs can fix it at all. Blocking travels along connections, so act on "resolveByAddingUUIDs" (or simply on the top-level "addUUIDs"), never on an empty "missingUUIDs": a Riddle whose connections are all in the set already has nothing of its own to add and is still blocked while the Riddle it is tied to is - "resolvable" is therefore shared by all Riddles that can only move together, and false only when one of them is connected to a Riddle you cannot reach at all. "addUUIDs" is the deduplicated union of every missingUUIDs - add it to UUIDs and check again, repeating until canMoveAll is true, because connections chain (a Quiz you add for one Leaderboard can report into a second one) - and "projects" is the intersection of the projects EVERY Riddle of the set can go to - a project you may lack the transfer permission in, or that does not support something one of the Riddles uses, is not in it. Use this before riddle_move whenever the Riddles were not all created by you, or to explain to the user why a move is not possible.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| UUID | No | The UUID of the single Riddle you want to check. Pass either this or UUIDs. | |
| UUIDs | No | All Riddles you intend to move in one riddle_move call, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 100). Pass either this or UUID. |