summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/notes/create.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2024-10-26 10:04:23 -0400
committerHazelnoot <acomputerdog@gmail.com>2024-10-26 10:04:23 -0400
commit01e98c75abc548bcd674526494cfc8ec0c7912ed (patch)
tree2f2a19373d1724935396404d3397d456085a719d /packages/backend/src/server/api/endpoints/notes/create.ts
parentfix unit tests (diff)
downloadsharkey-01e98c75abc548bcd674526494cfc8ec0c7912ed.tar.gz
sharkey-01e98c75abc548bcd674526494cfc8ec0c7912ed.tar.bz2
sharkey-01e98c75abc548bcd674526494cfc8ec0c7912ed.zip
add separate limits for CW length
Diffstat (limited to 'packages/backend/src/server/api/endpoints/notes/create.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/notes/create.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts
index a66395f25c..d1cf0123dc 100644
--- a/packages/backend/src/server/api/endpoints/notes/create.ts
+++ b/packages/backend/src/server/api/endpoints/notes/create.ts
@@ -90,6 +90,12 @@ export const meta = {
id: '3ac74a84-8fd5-4bb0-870f-01804f82ce16',
},
+ maxCwLength: {
+ message: 'You tried posting a content warning which is too long.',
+ code: 'MAX_CW_LENGTH',
+ id: '7004c478-bda3-4b4f-acb2-4316398c9d52',
+ },
+
cannotReplyToSpecifiedVisibilityNoteWithExtendedVisibility: {
message: 'You cannot reply to a specified visibility note with extended visibility.',
code: 'CANNOT_REPLY_TO_SPECIFIED_VISIBILITY_NOTE_WITH_EXTENDED_VISIBILITY',
@@ -250,10 +256,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
private noteCreateService: NoteCreateService,
) {
super(meta, paramDef, async (ps, me) => {
- const contentLength = (ps.text?.length ?? 0) + (ps.cw?.length ?? 0);
- if (contentLength > this.config.maxNoteLength) {
+ if (ps.text && ps.text.length > this.config.maxNoteLength) {
throw new ApiError(meta.errors.maxLength);
}
+ if (ps.cw && ps.cw.length > this.config.maxCwLength) {
+ throw new ApiError(meta.errors.maxCwLength);
+ }
let visibleUsers: MiUser[] = [];
if (ps.visibleUserIds) {