fix: edit when it comes to quotes

This commit is contained in:
Mar0xy 2023-12-04 15:45:26 +01:00
parent ca06e45299
commit d5b598d696
No known key found for this signature in database
GPG key ID: 56569BBE47D2C828

View file

@ -123,6 +123,18 @@ export const meta = {
code: 'CANNOT_RENOTE_OUTSIDE_OF_CHANNEL',
id: '33510210-8452-094c-6227-4a6c05d99f00',
},
cannotQuoteaQuoteOfCurrentPost: {
message: 'Cannot quote a quote of edited note.',
code: 'CANNOT_QUOTE_A_QUOTE_OF_EDITED_NOTE',
id: '33510210-8452-094c-6227-4a6c05d99f01',
},
cannotQuoteCurrentPost: {
message: 'Cannot quote the current note.',
code: 'CANNOT_QUOTE_THE_CURRENT_NOTE',
id: '33510210-8452-094c-6227-4a6c05d99f02',
},
},
} as const;
@ -268,6 +280,11 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}
let renote: MiNote | null = null;
if (ps.renoteId === ps.editId) {
throw new ApiError(meta.errors.cannotQuoteCurrentPost);
}
if (ps.renoteId != null) {
// Fetch renote to note
renote = await this.notesRepository.findOneBy({ id: ps.renoteId });
@ -278,6 +295,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
throw new ApiError(meta.errors.cannotReRenote);
}
if (renote.renoteId === ps.editId) {
throw new ApiError(meta.errors.cannotQuoteaQuoteOfCurrentPost);
}
// Check blocking
if (renote.userId !== me.id) {
const blockExist = await this.blockingsRepository.exist({