Merge branch 'notification-read-api' into swn

This commit is contained in:
tamaina
2021-11-13 12:27:54 +09:00
52 changed files with 621 additions and 452 deletions

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import define from '../../define';
import Resolver from '@/remote/activitypub/resolver';
import { ApiError } from '../../error';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
tags: ['federation'],

View File

@@ -11,7 +11,7 @@ import { Note } from '@/models/entities/note';
import { User } from '@/models/entities/user';
import { fetchMeta } from '@/misc/fetch-meta';
import { isActor, isPost, getApId } from '@/remote/activitypub/type';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
tags: ['federation'],

View File

@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
import ms from 'ms';
import create from '@/services/blocking/create';
import define from '../../define';
import { ApiError } from '../../error';

View File

@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
import ms from 'ms';
import deleteBlocking from '@/services/blocking/delete';
import define from '../../define';
import { ApiError } from '../../error';

View File

@@ -1,4 +1,4 @@
import * as ms from 'ms';
import ms from 'ms';
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import create from '@/services/drive/add-file';

View File

@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
import ms from 'ms';
import uploadFromUrl from '@/services/drive/upload-from-url';
import define from '../../../define';
import { DriveFiles } from '@/models/index';

View File

@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
import ms from 'ms';
import create from '@/services/following/create';
import define from '../../define';
import { ApiError } from '../../error';

View File

@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
import ms from 'ms';
import deleteFollowing from '@/services/following/delete';
import define from '../../define';
import { ApiError } from '../../error';

View File

@@ -1,5 +1,5 @@
import $ from 'cafy';
import * as ms from 'ms';
import ms from 'ms';
import define from '../../../define';
import { ID } from '../../../../../misc/cafy-id';
import { DriveFiles, GalleryPosts } from '@/models/index';

View File

@@ -1,5 +1,5 @@
import $ from 'cafy';
import * as ms from 'ms';
import ms from 'ms';
import define from '../../../define';
import { ID } from '../../../../../misc/cafy-id';
import { DriveFiles, GalleryPosts } from '@/models/index';

View File

@@ -1,6 +1,6 @@
import define from '../../define';
import { createExportBlockingJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
secure: true,

View File

@@ -1,6 +1,6 @@
import define from '../../define';
import { createExportFollowingJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
secure: true,

View File

@@ -1,6 +1,6 @@
import define from '../../define';
import { createExportMuteJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
secure: true,

View File

@@ -1,6 +1,6 @@
import define from '../../define';
import { createExportNotesJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
secure: true,

View File

@@ -1,6 +1,6 @@
import define from '../../define';
import { createExportUserListsJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
export const meta = {
secure: true,

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { createImportBlockingJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
import { ApiError } from '../../error';
import { DriveFiles } from '@/models/index';

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { createImportFollowingJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
import { ApiError } from '../../error';
import { DriveFiles } from '@/models/index';

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { createImportMutingJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
import { ApiError } from '../../error';
import { DriveFiles } from '@/models/index';

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { createImportUserListsJob } from '@/queue/index';
import * as ms from 'ms';
import ms from 'ms';
import { ApiError } from '../../error';
import { DriveFiles } from '@/models/index';

View File

@@ -3,7 +3,7 @@ import { publishMainStream } from '@/services/stream';
import define from '../../define';
import rndstr from 'rndstr';
import config from '@/config/index';
import * as ms from 'ms';
import ms from 'ms';
import * as bcrypt from 'bcryptjs';
import { Users, UserProfiles } from '@/models/index';
import { sendEmail } from '@/services/send-email';

View File

@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import * as ms from 'ms';
import ms from 'ms';
import { ApiError } from '../../../error';
import { MessagingMessages } from '@/models/index';
import { deleteMessage } from '@/services/messages/delete';

View File

@@ -1,5 +1,5 @@
import $ from 'cafy';
import * as ms from 'ms';
import ms from 'ms';
import { length } from 'stringz';
import create from '@/services/note/create';
import define from '../../define';

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import deleteNote from '@/services/note/delete';
import define from '../../define';
import * as ms from 'ms';
import ms from 'ms';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
import { Users } from '@/models/index';

View File

@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import * as ms from 'ms';
import ms from 'ms';
import deleteReaction from '@/services/note/reaction/delete';
import { getNote } from '../../../common/getters';
import { ApiError } from '../../../error';

View File

@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import deleteNote from '@/services/note/delete';
import define from '../../define';
import * as ms from 'ms';
import ms from 'ms';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
import { Notes, Users } from '@/models/index';

View File

@@ -1,5 +1,5 @@
import $ from 'cafy';
import * as ms from 'ms';
import ms from 'ms';
import define from '../../define';
import { ID } from '@/misc/cafy-id';
import { Pages, DriveFiles } from '@/models/index';

View File

@@ -1,5 +1,5 @@
import $ from 'cafy';
import * as ms from 'ms';
import ms from 'ms';
import define from '../../define';
import { ApiError } from '../../error';
import { Pages, DriveFiles } from '@/models/index';

View File

@@ -3,7 +3,7 @@ import { publishMainStream } from '@/services/stream';
import define from '../define';
import rndstr from 'rndstr';
import config from '@/config/index';
import * as ms from 'ms';
import ms from 'ms';
import { Users, UserProfiles, PasswordResetRequests } from '@/models/index';
import { sendEmail } from '@/services/send-email';
import { ApiError } from '../error';

View File

@@ -1,4 +1,4 @@
import * as ms from 'ms';
import ms from 'ms';
import $ from 'cafy';
import define from '../../define';
import { Users, Followings } from '@/models/index';

View File

@@ -1,4 +1,5 @@
import $ from 'cafy';
import * as sanitizeHtml from 'sanitize-html';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { publishAdminStream } from '@/services/stream';
@@ -6,6 +7,8 @@ import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
import { AbuseUserReports, Users } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { sendEmail } from '@/services/send-email';
import { fetchMeta } from '@/misc/fetch-meta';
export const meta = {
tags: ['users'],
@@ -26,23 +29,24 @@ export const meta = {
noSuchUser: {
message: 'No such user.',
code: 'NO_SUCH_USER',
id: '1acefcb5-0959-43fd-9685-b48305736cb5'
id: '1acefcb5-0959-43fd-9685-b48305736cb5',
},
cannotReportYourself: {
message: 'Cannot report yourself.',
code: 'CANNOT_REPORT_YOURSELF',
id: '1e13149e-b1e8-43cf-902e-c01dbfcb202f'
id: '1e13149e-b1e8-43cf-902e-c01dbfcb202f',
},
cannotReportAdmin: {
message: 'Cannot report the admin.',
code: 'CANNOT_REPORT_THE_ADMIN',
id: '35e166f5-05fb-4f87-a2d5-adb42676d48f'
}
}
id: '35e166f5-05fb-4f87-a2d5-adb42676d48f',
},
},
};
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps, me) => {
// Lookup user
const user = await getUser(ps.userId).catch(e => {
@@ -72,10 +76,10 @@ export default define(meta, async (ps, me) => {
setTimeout(async () => {
const moderators = await Users.find({
where: [{
isAdmin: true
isAdmin: true,
}, {
isModerator: true
}]
isModerator: true,
}],
});
for (const moderator of moderators) {
@@ -83,8 +87,15 @@ export default define(meta, async (ps, me) => {
id: report.id,
targetUserId: report.targetUserId,
reporterId: report.reporterId,
comment: report.comment
comment: report.comment,
});
}
const meta = await fetchMeta();
if (meta.email) {
sendEmail(meta.email, 'New abuse report',
sanitizeHtml(ps.comment),
sanitizeHtml(ps.comment));
}
}, 1);
});

View File

@@ -3,7 +3,7 @@
*/
import { dirname } from 'path';
import * as ms from 'ms';
import ms from 'ms';
import * as Koa from 'koa';
import * as Router from '@koa/router';
import * as send from 'koa-send';