moderator-toolbox-nxg-for-reddit / modules/removalreasons/features/submitRemoval
modules/removalreasons/features/submitRemoval¶
Functions¶
submitRemoval()¶
submitRemoval(
params,onWarning):Promise<SubmitRemovalResult>
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:156
Runs the full removal pipeline for the composed reason.
Parameters¶
params¶
Form state captured at submit time.
onWarning¶
(message) => void
Reports a non-fatal problem (e.g. flair or distinguish failure) that should be surfaced without aborting the removal.
Returns¶
Promise<SubmitRemovalResult>
Interfaces¶
SubmitRemovalParams¶
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:75
Everything the submission pipeline needs, captured from the overlay’s form state.
Properties¶
actionLockComment¶
actionLockComment:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:108
actionLockThread¶
actionLockThread:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:107
banDays¶
banDays:
number
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:130
banNote¶
banNote:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:131
banPermanent¶
banPermanent:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:129
baseLogTitle¶
baseLogTitle:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:99
Token-substituted log post title (before {reason} substitution).
data¶
data:
RemovalTarget
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:82
The removed thing’s metadata. Narrowed to RemovalTarget (the 9 fields
the pipeline actually reads) so the params double as the serializable frozen
intent for a removal-reason proposal. The overlay passes the full
RemovalReasonsData, which is structurally assignable.
flairCSS¶
flairCSS:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:94
Trimmed flair CSS class accumulated from the selected reasons; empty = no flair.
flairTemplateID¶
flairTemplateID:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:95
flairText¶
flairText:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:92
Trimmed flair text accumulated from the selected reasons; empty = no flair.
issueBan¶
issueBan:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:128
leaveUsernote¶
leaveUsernote:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:111
logReasonText¶
logReasonText:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:101
User-entered public log reason, substituted into {reason} in the log title.
nativeNoteLabel?¶
optionalnativeNoteLabel?:string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:123
Reddit label type (e.g. 'BAN') for a native note; unlabelled when absent.
Ignored for the toolbox destination, which uses usernoteType instead.
nativeReasonIds?¶
optionalnativeReasonIds?:string[]
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:137
Reddit native removal-reason ids to register in the mod log after the item is removed. Present only in native-reasons fallback mode; empty/absent for Toolbox reasons, keeping the standard path a no-op.
noteDestination¶
noteDestination:
NoteDestination
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:116
Where the note goes: the Toolbox wiki or Reddit’s own mod notes. Strictly either/or - a removal writes one note, never both.
reasonAsSub¶
reasonAsSub:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:104
reasonAutoArchive¶
reasonAutoArchive:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:105
reasonCommentAsSubreddit¶
reasonCommentAsSubreddit:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:106
reasonSticky¶
reasonSticky:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:103
reasonText¶
reasonText:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:84
Final composed reason text, with header/footer and tokens already applied.
reasonTitle?¶
optionalreasonTitle?:string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:90
Display title(s) of the selected reason template(s), joined with “, “. Carried only so freezeRemovalParams can record it on a proposal for review; the removal pipeline itself does not read it.
reasonType¶
reasonType:
ReasonType
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:102
spam?¶
optionalspam?:boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:110
Remove as spam (trains the spam filter) rather than a plain removal.
subject¶
subject:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:97
Token-substituted Modmail subject line.
subredditColors¶
subredditColors:
UserNoteColor[] |null
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:127
usernoteIncludeLink¶
usernoteIncludeLink:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:124
usernoteIncludeMessage¶
usernoteIncludeMessage:
boolean
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:126
Store the removal modmail conversation link on the usernote.
usernoteText¶
usernoteText:
string
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:117
usernoteType¶
usernoteType:
string|undefined
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:118
Type Aliases¶
SubmitRemovalResult¶
SubmitRemovalResult = {
ok:true; } | {error:string;errorField?:"buttons"|"logReasonInput";ok:false; }
Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:141
Outcome of the submission pipeline.
Union Members¶
Type Literal¶
{ ok: true; }
Type Literal¶
{ error: string; errorField?: "buttons" | "logReasonInput"; ok: false; }
error¶
error:
string
errorField?¶
optionalerrorField?:"buttons"|"logReasonInput"
Form area to highlight for this error, when one applies.
ok¶
ok:
false