Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhance: api/notifications/readは配列でも受け付けるように #7605

Closed
wants to merge 45 commits into from
Closed
Changes from 5 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
c4503aa
api/notifications/readは配列で受け付けるように
tamaina Jul 17, 2021
9f69fb0
互換性でnotificationIdを受け付けるように
tamaina Jul 19, 2021
ceab3fc
fix lint
tamaina Jul 19, 2021
2399c85
Merge branch 'develop' into notification-read-api
tamaina Jul 26, 2021
9bc4609
Merge branch 'develop' into notification-read-api
tamaina Aug 19, 2021
c4d5e92
add changelog
tamaina Aug 20, 2021
5b5b3fd
Merge branch 'misskey-dev:develop' into notification-read-api
tamaina Nov 11, 2021
c71ffa9
Update read.ts
tamaina Nov 11, 2021
da8263a
Merge branch 'develop' into notification-read-api
tamaina Nov 12, 2021
b896a88
Merge branch 'develop' into notification-read-api
tamaina Nov 12, 2021
850784d
Merge branch 'develop' into notification-read-api
tamaina Nov 12, 2021
07d0bad
Merge branch 'develop' into notification-read-api
tamaina Nov 12, 2021
96b78e2
Merge branch 'develop' into notification-read-api
tamaina Nov 12, 2021
c10b5ac
Merge branch 'develop' into notification-read-api
tamaina Nov 12, 2021
a626a5a
Merge branch 'develop' into notification-read-api
tamaina Nov 13, 2021
5d310d5
Merge branch 'develop' into notification-read-api
tamaina Nov 13, 2021
3448927
Merge branch 'develop' into notification-read-api
tamaina Nov 14, 2021
e02bd4b
Merge branch 'develop' into notification-read-api
tamaina Nov 19, 2021
f2ec868
Merge branch 'develop' into notification-read-api
tamaina Nov 20, 2021
557e1fa
Merge branch 'develop' into notification-read-api
tamaina Nov 29, 2021
2685fd1
Merge branch 'develop' into notification-read-api
tamaina Dec 5, 2021
56234f5
Merge branch 'develop' into notification-read-api
tamaina Dec 10, 2021
66c5111
Merge branch 'develop' into notification-read-api
tamaina Dec 17, 2021
c0f5acb
Merge branch 'develop' into notification-read-api
tamaina Dec 19, 2021
0e028f2
Merge branch 'develop' into notification-read-api
tamaina Dec 23, 2021
a456a63
Merge branch 'develop' into notification-read-api
tamaina Dec 24, 2021
a921f60
Merge branch 'develop' into notification-read-api
tamaina Dec 25, 2021
b65506d
Merge branch 'develop' into notification-read-api
tamaina Dec 28, 2021
5c495c0
Merge branch 'develop' into notification-read-api
tamaina Dec 29, 2021
a70d9d2
Merge branch 'develop' into notification-read-api
tamaina Jan 1, 2022
61ea668
Merge branch 'develop' into notification-read-api
tamaina Jan 2, 2022
728878a
Merge branch 'develop' into notification-read-api
tamaina Jan 4, 2022
70fb72b
Merge branch 'develop' into notification-read-api
tamaina Jan 8, 2022
05d6017
Merge branch 'develop' into notification-read-api
tamaina Jan 21, 2022
cbb5858
Merge branch 'develop' into notification-read-api
tamaina Jan 28, 2022
26ed624
Merge branch 'develop' into notification-read-api
tamaina Feb 19, 2022
1cd67da
:v:
tamaina Feb 19, 2022
3d829bc
Merge branch 'develop' into notification-read-api
tamaina Feb 20, 2022
06d7878
Merge branch 'develop' into notification-read-api
tamaina Mar 4, 2022
b8f3eee
fix
tamaina Mar 4, 2022
917cc1d
Merge branch 'develop' into notification-read-api
tamaina Mar 11, 2022
45116b4
Merge branch 'develop' into notification-read-api
tamaina Mar 15, 2022
fccd461
Merge branch 'develop' into notification-read-api
tamaina Mar 23, 2022
d20d190
Merge branch 'develop' into notification-read-api
tamaina Mar 27, 2022
91022ef
Merge branch 'develop' into notification-read-api
tamaina Apr 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 29 additions & 14 deletions src/server/api/endpoints/notifications/read.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import { publishMainStream } from '@/services/stream';
import define from '../../define';
import { Notifications } from '@/models/index';
import { readNotification } from '../../common/read-notification';
import { ApiError } from '../../error';

export const meta = {
desc: {
'ja-JP': '通知を既読にします。',
'en-US': 'Mark a notification as read.'
},

tags: ['notifications', 'account'],

requireCredential: true as const,
Expand All @@ -15,28 +18,40 @@ export const meta = {

params: {
notificationId: {
validator: $.type(ID),
validator: $.optional.type(ID),
desc: {
'ja-JP': '対象の通知のID',
'en-US': 'Target notification ID.'
}
},

notificationIds: {
validator: $.optional.arr($.type(ID)),
desc: {
'ja-JP': '対象の通知のIDの配列',
'en-US': 'Target notification IDs.'
}
}
},

errors: {
noSuchNotification: {
message: 'No such notification.',
code: 'NO_SUCH_NOTIFICATION',
id: 'efa929d5-05b5-47d1-beec-e6a4dbed011e'
noNotificationRequested: {
message: 'You requested no notification.',
code: 'NO_NOTIFICATION_REQUESTED',
id: '1dee2109-b88b-21cf-3935-607dad60f5b0'
},
},
};

export default define(meta, async (ps, user) => {
const notification = await Notifications.findOne({
notifieeId: user.id,
id: ps.notificationId,
});
let notificationIds = [] as string[];

if (ps.notificationId) notificationIds.push(ps.notificationId);
if (ps.notificationIds) notificationIds = notificationIds.concat(ps.notificationIds);

if (notification == null) {
throw new ApiError(meta.errors.noSuchNotification);
if (notificationIds.length === 0) {
throw new ApiError(meta.errors.noNotificationRequested);
}

readNotification(user.id, [notification.id]);
return readNotification(user.id, notificationIds);
});