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

SubmitRemovalParams

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

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?

optional nativeNoteLabel?: 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?

optional nativeReasonIds?: 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?

optional reasonTitle?: 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?

optional spam?: 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

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?

optional errorField?: "buttons" | "logReasonInput"

Form area to highlight for this error, when one applies.

ok

ok: false