refactor
This commit is contained in:
parent
5e198381d3
commit
435945d09d
7 changed files with 19 additions and 16 deletions
|
@ -1,3 +1,3 @@
|
||||||
export function isDuplicateKeyValueError(e: Error): boolean {
|
export function isDuplicateKeyValueError(e: unknown | Error): boolean {
|
||||||
return e.message.startsWith('duplicate key value');
|
return (e as any).message && (e as Error).message.startsWith('duplicate key value');
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,10 @@ export interface NoteStreamTypes {
|
||||||
};
|
};
|
||||||
reacted: {
|
reacted: {
|
||||||
reaction: string;
|
reaction: string;
|
||||||
emoji?: Emoji;
|
emoji?: {
|
||||||
|
name: string;
|
||||||
|
url: string;
|
||||||
|
} | null;
|
||||||
userId: User['id'];
|
userId: User['id'];
|
||||||
};
|
};
|
||||||
unreacted: {
|
unreacted: {
|
||||||
|
|
|
@ -59,7 +59,7 @@ class NotificationManager {
|
||||||
|
|
||||||
if (exist) {
|
if (exist) {
|
||||||
// 「メンションされているかつ返信されている」場合は、メンションとしての通知ではなく返信としての通知にする
|
// 「メンションされているかつ返信されている」場合は、メンションとしての通知ではなく返信としての通知にする
|
||||||
if (reason != 'mention') {
|
if (reason !== 'mention') {
|
||||||
exist.reason = reason;
|
exist.reason = reason;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -201,7 +201,7 @@ export default async (user: { id: User['id']; username: User['username']; host:
|
||||||
mentionedUsers.push(await Users.findOneOrFail(data.reply.userId));
|
mentionedUsers.push(await Users.findOneOrFail(data.reply.userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.visibility == 'specified') {
|
if (data.visibility === 'specified') {
|
||||||
if (data.visibleUsers == null) throw new Error('invalid param');
|
if (data.visibleUsers == null) throw new Error('invalid param');
|
||||||
|
|
||||||
for (const u of data.visibleUsers) {
|
for (const u of data.visibleUsers) {
|
||||||
|
@ -301,7 +301,7 @@ export default async (user: { id: User['id']; username: User['username']; host:
|
||||||
if (Users.isRemoteUser(user)) activeUsersChart.update(user);
|
if (Users.isRemoteUser(user)) activeUsersChart.update(user);
|
||||||
|
|
||||||
// 未読通知を作成
|
// 未読通知を作成
|
||||||
if (data.visibility == 'specified') {
|
if (data.visibility === 'specified') {
|
||||||
if (data.visibleUsers == null) throw new Error('invalid param');
|
if (data.visibleUsers == null) throw new Error('invalid param');
|
||||||
|
|
||||||
for (const u of data.visibleUsers) {
|
for (const u of data.visibleUsers) {
|
||||||
|
@ -439,7 +439,7 @@ export default async (user: { id: User['id']; username: User['username']; host:
|
||||||
async function renderNoteOrRenoteActivity(data: Option, note: Note) {
|
async function renderNoteOrRenoteActivity(data: Option, note: Note) {
|
||||||
if (data.localOnly) return null;
|
if (data.localOnly) return null;
|
||||||
|
|
||||||
const content = data.renote && data.text == null && data.poll == null && (data.files == null || data.files.length == 0)
|
const content = data.renote && data.text == null && data.poll == null && (data.files == null || data.files.length === 0)
|
||||||
? renderAnnounce(data.renote.uri ? data.renote.uri : `${config.url}/notes/${data.renote.id}`, note)
|
? renderAnnounce(data.renote.uri ? data.renote.uri : `${config.url}/notes/${data.renote.id}`, note)
|
||||||
: renderCreate(await renderNote(note, false), note);
|
: renderCreate(await renderNote(note, false), note);
|
||||||
|
|
||||||
|
@ -478,7 +478,7 @@ async function insertNote(user: { id: User['id']; host: User['host']; }, data: O
|
||||||
userId: user.id,
|
userId: user.id,
|
||||||
localOnly: data.localOnly!,
|
localOnly: data.localOnly!,
|
||||||
visibility: data.visibility as any,
|
visibility: data.visibility as any,
|
||||||
visibleUserIds: data.visibility == 'specified'
|
visibleUserIds: data.visibility === 'specified'
|
||||||
? data.visibleUsers
|
? data.visibleUsers
|
||||||
? data.visibleUsers.map(u => u.id)
|
? data.visibleUsers.map(u => u.id)
|
||||||
: []
|
: []
|
||||||
|
@ -502,7 +502,7 @@ async function insertNote(user: { id: User['id']; host: User['host']; }, data: O
|
||||||
insert.mentions = mentionedUsers.map(u => u.id);
|
insert.mentions = mentionedUsers.map(u => u.id);
|
||||||
const profiles = await UserProfiles.find({ userId: In(insert.mentions) });
|
const profiles = await UserProfiles.find({ userId: In(insert.mentions) });
|
||||||
insert.mentionedRemoteUsers = JSON.stringify(mentionedUsers.filter(u => Users.isRemoteUser(u)).map(u => {
|
insert.mentionedRemoteUsers = JSON.stringify(mentionedUsers.filter(u => Users.isRemoteUser(u)).map(u => {
|
||||||
const profile = profiles.find(p => p.userId == u.id);
|
const profile = profiles.find(p => p.userId === u.id);
|
||||||
const url = profile != null ? profile.url : null;
|
const url = profile != null ? profile.url : null;
|
||||||
return {
|
return {
|
||||||
uri: u.uri,
|
uri: u.uri,
|
||||||
|
|
|
@ -39,7 +39,7 @@ export default async function(user: User, note: Note, quiet = false) {
|
||||||
let renote: Note | undefined;
|
let renote: Note | undefined;
|
||||||
|
|
||||||
// if deletd note is renote
|
// if deletd note is renote
|
||||||
if (note.renoteId && note.text == null && !note.hasPoll && (note.fileIds == null || note.fileIds.length == 0)) {
|
if (note.renoteId && note.text == null && !note.hasPoll && (note.fileIds == null || note.fileIds.length === 0)) {
|
||||||
renote = await Notes.findOne({
|
renote = await Notes.findOne({
|
||||||
id: note.renoteId,
|
id: note.renoteId,
|
||||||
});
|
});
|
||||||
|
|
|
@ -76,7 +76,7 @@ export default async (user: { id: User['id']; host: User['host']; }, note: Note,
|
||||||
// カスタム絵文字リアクションだったら絵文字情報も送る
|
// カスタム絵文字リアクションだったら絵文字情報も送る
|
||||||
const decodedReaction = decodeReaction(reaction);
|
const decodedReaction = decodeReaction(reaction);
|
||||||
|
|
||||||
let emoji = await Emojis.findOne({
|
const emoji = await Emojis.findOne({
|
||||||
where: {
|
where: {
|
||||||
name: decodedReaction.name,
|
name: decodedReaction.name,
|
||||||
host: decodedReaction.host,
|
host: decodedReaction.host,
|
||||||
|
|
|
@ -52,7 +52,7 @@ export default async function(
|
||||||
|
|
||||||
if (note.user != null) { // たぶんnullになることは無いはずだけど一応
|
if (note.user != null) { // たぶんnullになることは無いはずだけど一応
|
||||||
for (const antenna of myAntennas) {
|
for (const antenna of myAntennas) {
|
||||||
if (await checkHitAntenna(antenna, note, note.user as any, undefined, Array.from(following))) {
|
if (await checkHitAntenna(antenna, note, note.user, undefined, Array.from(following))) {
|
||||||
readAntennaNotes.push(note);
|
readAntennaNotes.push(note);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,9 +114,9 @@ export async function sendEmail(to: string, subject: string, html: string, text:
|
||||||
</html>`,
|
</html>`,
|
||||||
});
|
});
|
||||||
|
|
||||||
logger.info('Message sent: %s', info.messageId);
|
logger.info(`Message sent: ${info.messageId}`);
|
||||||
} catch (e) {
|
} catch (err) {
|
||||||
logger.error(e);
|
logger.error(err as Error);
|
||||||
throw e;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue