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:119

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:54

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:87

actionLockThread

actionLockThread: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:86

banDays

banDays: number

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:99

banNote

banNote: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:100

banPermanent

banPermanent: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:98

baseLogTitle

baseLogTitle: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:78

Token-substituted log post title (before {reason} substitution).

data

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:61

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:73

Trimmed flair CSS class accumulated from the selected reasons; empty = no flair.

flairTemplateID

flairTemplateID: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:74

flairText

flairText: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:71

Trimmed flair text accumulated from the selected reasons; empty = no flair.

issueBan

issueBan: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:97

leaveUsernote

leaveUsernote: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:90

logReasonText

logReasonText: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:80

User-entered public log reason, substituted into {reason} in the log title.

reasonAsSub

reasonAsSub: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:83

reasonAutoArchive

reasonAutoArchive: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:84

reasonCommentAsSubreddit

reasonCommentAsSubreddit: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:85

reasonSticky

reasonSticky: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:82

reasonText

reasonText: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:63

Final composed reason text, with header/footer and tokens already applied.

reasonTitle?

optional reasonTitle?: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:69

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:81

spam?

optional spam?: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:89

Remove as spam (trains the spam filter) rather than a plain removal.

subject

subject: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:76

Token-substituted Modmail subject line.

subredditColors

subredditColors: UserNoteColor[] | null

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:96

usernoteIncludeMessage

usernoteIncludeMessage: boolean

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:95

Store the removal modmail conversation link on the usernote.

usernoteText

usernoteText: string

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:91

usernoteType

usernoteType: string | undefined

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:92

Type Aliases

SubmitRemovalResult

SubmitRemovalResult = { ok: true; } | { error: string; errorField?: "buttons" | "logReasonInput"; ok: false; }

Defined in: extension/data/modules/removalreasons/features/submitRemoval.ts:104

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