Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
import { NoteFavorites, NoteThreadMutings, NoteWatchings } from "../../../../models/index.js";
|
||||
import { getNote } from "../../common/getters.js";
|
||||
import define from "../../define.js";
|
||||
export const meta = {
|
||||
tags: [
|
||||
"notes"
|
||||
],
|
||||
requireCredential: true,
|
||||
res: {
|
||||
type: "object",
|
||||
optional: false,
|
||||
nullable: false,
|
||||
properties: {
|
||||
isFavorited: {
|
||||
type: "boolean",
|
||||
optional: false,
|
||||
nullable: false
|
||||
},
|
||||
isWatching: {
|
||||
type: "boolean",
|
||||
optional: false,
|
||||
nullable: false
|
||||
},
|
||||
isMutedThread: {
|
||||
type: "boolean",
|
||||
optional: false,
|
||||
nullable: false
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
export const paramDef = {
|
||||
type: "object",
|
||||
properties: {
|
||||
noteId: {
|
||||
type: "string",
|
||||
format: "misskey:id"
|
||||
}
|
||||
},
|
||||
required: [
|
||||
"noteId"
|
||||
]
|
||||
};
|
||||
export default define(meta, paramDef, async (ps, user)=>{
|
||||
const note = await getNote(ps.noteId, user);
|
||||
const [favorite, watching, threadMuting] = await Promise.all([
|
||||
NoteFavorites.count({
|
||||
where: {
|
||||
userId: user.id,
|
||||
noteId: note.id
|
||||
},
|
||||
take: 1
|
||||
}),
|
||||
NoteWatchings.count({
|
||||
where: {
|
||||
userId: user.id,
|
||||
noteId: note.id
|
||||
},
|
||||
take: 1
|
||||
}),
|
||||
NoteThreadMutings.count({
|
||||
where: {
|
||||
userId: user.id,
|
||||
threadId: note.threadId || note.id
|
||||
},
|
||||
take: 1
|
||||
})
|
||||
]);
|
||||
return {
|
||||
isFavorited: favorite !== 0,
|
||||
isWatching: watching !== 0,
|
||||
isMutedThread: threadMuting !== 0
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user